diff --git a/init.lua b/init.lua index 16b47d3..0cddc88 100644 --- a/init.lua +++ b/init.lua @@ -667,7 +667,7 @@ local function cardtable_get_deal_positions(pos) return dealpositions 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)) local below={x=pos.x,y=pos.y-1,z=pos.z} local dp @@ -681,7 +681,11 @@ local function deal_card_to_table(pos,formname,fields,sender) log("out of cards") return false 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 darken_pile(pos) return true @@ -783,7 +787,9 @@ local function draw_card(pos,formname,fields,sender) elseif fields.deal then deal_cards(pos,formname,fields,sender) 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 @@ -997,7 +1003,7 @@ minetest.register_node("deck:stockpile", { local deallabel if table.getn(colors) == 1 then 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 deallabel="label[10,0;Deal to table]" dealmenu="dropdown[10,1;2;deal_to_table;"