diff options
author | Tor Andersson <tor@ccxvii.net> | 2022-06-17 14:30:50 +0200 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2022-11-17 12:53:18 +0100 |
commit | 208df2953976067757e9477574fda56350b6407a (patch) | |
tree | 0d0de94a40ac12465e18e2d1490e513aaac033d0 /rules.js | |
parent | d51cd110dba312f50dc6bc8227f382d496d540a9 (diff) | |
download | hammer-of-the-scots-208df2953976067757e9477574fda56350b6407a.tar.gz |
Add autohit option for faster async play.
TODO: Pause battle screen at end of battle.
Diffstat (limited to 'rules.js')
-rw-r--r-- | rules.js | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -1797,6 +1797,23 @@ states.battle_round = { function goto_battle_hits() { game.battle_list = list_victims(game.active) + if (game.autohit) { + let n = 0 + while (game.hits >= game.battle_list.length && game.battle_list.length > 0) { + while (game.battle_list.length > 0) { + let who = game.battle_list.pop() + log_battle(block_name(who) + " took a hit.") + reduce_block(who, 'combat') + game.hits-- + ++n + } + if (game.hits > 0) + game.battle_list = list_victims(game.active) + } + if (n > 0) + game.flash += ` Assigned ${n}.` + } + if (game.battle_list.length === 0) resume_battle() else @@ -2941,6 +2958,7 @@ exports.setup = function (seed, scenario, options) { who: null, where: null, } + if (scenario === "The Bruce") setup_the_bruce() else if (scenario === "Braveheart") @@ -2949,6 +2967,10 @@ exports.setup = function (seed, scenario, options) { setup_campaign() else throw new Error("Unknown scenario:", scenario) + + if (options.autohit) + game.autohit = 1 + log(".h1 " + scenario) start_year() return game |