Fix dealing from stockpile to single color table

Was broken by adding drop down color menu for multi colored tables
This commit is contained in:
Mikko Tuumanen 2023-11-04 20:53:23 +02:00
parent cbc1b9470a
commit afcfc423e9

View File

@ -667,7 +667,7 @@ local function cardtable_get_deal_positions(pos)
return dealpositions return dealpositions
end end
local function deal_card_to_table(pos,formname,fields,sender) local function deal_card_to_table(pos,formname,fields,sender,has_color)
log("deal cards at "..minetest.pos_to_string(pos)) log("deal cards at "..minetest.pos_to_string(pos))
local below={x=pos.x,y=pos.y-1,z=pos.z} local below={x=pos.x,y=pos.y-1,z=pos.z}
local dp local dp
@ -681,7 +681,11 @@ local function deal_card_to_table(pos,formname,fields,sender)
log("out of cards") log("out of cards")
return false return false
end end
if cardtable_add_card(below,stack:get_name(),fields.deal_to_table) then local color
if has_color then
color=fields.deal_to_table
end
if cardtable_add_card(below,stack:get_name(),color) then
if pile_peek_first(from_pile_inv) == nil then if pile_peek_first(from_pile_inv) == nil then
darken_pile(pos) darken_pile(pos)
return true return true
@ -783,7 +787,9 @@ local function draw_card(pos,formname,fields,sender)
elseif fields.deal then elseif fields.deal then
deal_cards(pos,formname,fields,sender) deal_cards(pos,formname,fields,sender)
elseif fields.deal_to_table then elseif fields.deal_to_table then
deal_card_to_table(pos,formname,fields,sender) deal_card_to_table(pos,formname,fields,sender,true)
elseif fields.deal_to_table_nocolor then
deal_card_to_table(pos,formname,fields,sender,false)
end end
end end
@ -997,7 +1003,7 @@ minetest.register_node("deck:stockpile", {
local deallabel local deallabel
if table.getn(colors) == 1 then if table.getn(colors) == 1 then
deallabel="" deallabel=""
dealmenu="button[10,0;2,1;deal_to_table;Deal to table]" dealmenu="button[10,0;2,1;deal_to_table_nocolor;Deal to table]"
else else
deallabel="label[10,0;Deal to table]" deallabel="label[10,0;Deal to table]"
dealmenu="dropdown[10,1;2;deal_to_table;" dealmenu="dropdown[10,1;2;deal_to_table;"