diff options
author | Tor Andersson <tor@ccxvii.net> | 2025-03-01 19:27:37 +0100 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2025-03-01 19:28:10 +0100 |
commit | 8ea2481d40d05dbdb07a2b787d016d51f9b89959 (patch) | |
tree | 51242240a5707ebf82c4d647e4d14863d52556f5 | |
parent | 99de6e4bca3ec62d717ae255cf303dace1cb70e0 (diff) | |
download | land-and-freedom-8ea2481d40d05dbdb07a2b787d016d51f9b89959.tar.gz |
Fix intermittent bug with undo.
-rw-r--r-- | rules.js | 6 | ||||
-rw-r--r-- | rules.ts | 7 |
2 files changed, 7 insertions, 6 deletions
@@ -79,10 +79,10 @@ function gen_spend_hero_points() { } } function action(state, player, action, arg) { - if (action !== 'undo' && state.state !== 'choose_card') { - state.undo = push_undo(); - } game = state; + if (action !== 'undo' && game.state !== 'choose_card') { + push_undo(); + } let S = states[game.state]; if (action in S) S[action](arg, player); @@ -172,11 +172,12 @@ export function action( action: string, arg: unknown ) { - if (action !== 'undo' && state.state !== 'choose_card') { - state.undo = push_undo(); + game = state; + + if (action !== 'undo' && game.state !== 'choose_card') { + push_undo(); } - game = state; let S = states[game.state]; if (action in S) S[action](arg, player); else if (action === 'undo' && game.undo && game.undo.length > 0) pop_undo(); |