diff options
author | Tor Andersson <tor@ccxvii.net> | 2024-05-28 14:53:47 +0200 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2024-05-30 21:59:25 +0200 |
commit | d37d90c3efb0bd05f1e921bd7f5186954d8e6a7b (patch) | |
tree | 917860146a1e4176c0891449b7a02c5b50e75067 /rules.js | |
parent | f34c5dc29648a49ef1b128fef33e0748c811c991 (diff) | |
download | friedrich-d37d90c3efb0bd05f1e921bd7f5186954d8e6a7b.tar.gz |
show moving/unmoving stack split. detach buttons.
Diffstat (limited to 'rules.js')
-rw-r--r-- | rules.js | 28 |
1 files changed, 22 insertions, 6 deletions
@@ -1639,17 +1639,26 @@ states.move_general = { // two options: leave alone, or leave with chevert // to leave with chevert, detach non-chevert // to leave alone, detach non-chevert, then detach chevert - if (game.selected.length === 3) - for (let p of game.selected) - if (p !== GEN_CHEVERT) + if (game.selected.length === 3) { + for (let p of game.selected) { + if (p !== GEN_CHEVERT) { gen_action_piece(p) - if (game.selected.length === 2) + gen_action_detach(p) + } + } + } + if (game.selected.length === 2) { gen_action_piece(GEN_CHEVERT) + gen_action_detach(GEN_CHEVERT) + } } } else { - if (game.selected.length > 1) - for (let p of game.selected) + if (game.selected.length > 1) { + for (let p of game.selected) { gen_action_piece(p) + gen_action_detach(p) + } + } } let s_take = count_stacked_take() @@ -1692,6 +1701,9 @@ states.move_general = { give() { game.state = "move_give" }, + detach(p) { + set_delete(game.selected, p) + }, piece(p) { if (game.count === 0) { if (set_has(game.selected, p)) @@ -4388,6 +4400,10 @@ function gen_action_card(c) { gen_action("card", c) } +function gen_action_detach(p) { + gen_action("detach", p) +} + function log(msg) { game.log.push(msg) } |