diff options
-rw-r--r-- | rules.js | 53 |
1 files changed, 24 insertions, 29 deletions
@@ -4899,37 +4899,25 @@ function goto_extort() { states.extort = { prompt() { - view.prompt = "Extort: Select space with Underground Guerrilla that you control." - for (let s = first_space; s <= last_space; ++s) { - if (set_has(game.sa.spaces, s)) - continue - if (has_underground_guerrilla(s, game.current)) { - if (game.current === FARC && has_farc_control(s)) - gen_action_space(s) - if (game.current === AUC && has_auc_control(s)) - gen_action_space(s) + if (game.sa.where < 0) { + view.prompt = "Extort: Select space with Underground Guerrilla that you control." + for (let s = first_space; s <= last_space; ++s) { + if (set_has(game.sa.spaces, s)) + continue + if (has_underground_guerrilla(s, game.current)) { + if (game.current === FARC && has_farc_control(s)) + gen_action_space(s) + if (game.current === AUC && has_auc_control(s)) + gen_action_space(s) + } } + } else { + view.prompt = `Extort in ${space_name[game.sa.where]}.` + view.where = game.sa.where + gen_underground_guerrillas(game.sa.where, game.current) } view.actions.end_extort = 1 }, - space(s) { - push_undo() - game.sa.where = s - set_add(game.sa.spaces, s) - game.state = "extort_space" - }, - end_extort() { - push_undo() - end_extort() - }, -} - -states.extort_space = { - prompt() { - view.prompt = `Extort in ${space_name[game.sa.where]}.` - view.where = game.sa.where - gen_underground_guerrillas(game.sa.where, game.current) - }, piece(p) { game.sa.count += 1 logi("S" + game.sa.where) @@ -4938,8 +4926,15 @@ states.extort_space = { game.sa.where = -1 if (!can_extort_again()) end_extort() - else - game.state = "extort" + }, + space(s) { + push_undo() + game.sa.where = s + set_add(game.sa.spaces, s) + }, + end_extort() { + push_undo() + end_extort() }, } |