diff options
author | Tor Andersson <tor@ccxvii.net> | 2023-12-15 14:00:05 +0100 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2024-01-08 16:36:48 +0100 |
commit | 0659b78aa31e23c8feb6d4ff57a1cd349021b28f (patch) | |
tree | da1bba07a9c82e1336939a1c1e0802a5a20be333 /rules.js | |
parent | 9b856bb5d402aa5f97e1c9c133dddbc6251e889d (diff) | |
download | table-battles-0659b78aa31e23c8feb6d4ff57a1cd349021b28f.tar.gz |
x
Diffstat (limited to 'rules.js')
-rw-r--r-- | rules.js | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -329,6 +329,10 @@ const S44_LEOPOLDS_R = find_card(44, "Leopold's Right") const S44_DU_MOULIN = find_card(44, "Du Moulin") const S44_SAXON_HORSE = find_card(44, "Saxon Horse") +const S45_SOOR = find_scenario(45) +const S45_AUSTRIAN_GUNS = find_card(45, "Austrian Guns") +const S45_CUIRASSIERS = find_card(45, "Cuirassiers") + // === SETUP === exports.setup = function (seed, scenario, options) { @@ -1748,6 +1752,16 @@ function can_take_action(c, a, ix) { } } + if (game.scenario === S45_SOOR) { + if (c === S45_AUSTRIAN_GUNS) { + // May only attack Buddenbrock if Cuirassiers still in play + if (ix === 0) { + if (is_removed_from_play(S45_CUIRASSIERS)) + return false + } + } + } + if (a.type === "Bombard" || a.type === "Attack" || a.type === "Command") { if (data.cards[c].special) return check_cube_requirement(c, a.requirement) @@ -3030,6 +3044,7 @@ function get_attack_hits(c, a) { case "1 hit per pair.": case "1 hit per pair. 1 self per action.": return count_dice_on_card(c) >> 1 + case "1 hit plus 1 hit per die.": case "1 hit, PLUS 1 hit per die. 1 self per action.": case "1 hit, PLUS 1 hit per die. 1 self per action. Fightin' Irish!": return 1 + count_dice_on_card(c) @@ -3055,6 +3070,7 @@ function get_attack_self(c, a) { case "1 hit per die. Ignore first target until it comes out of Reserve.": case "1 hit per die (plus dice from E. Phalanx).": case "1 hit per pair.": + case "1 hit plus 1 hit per die.": case "Two hits per die.": case "2 hits.": case "5 hits.": |