From 295d729f92179fd2f402c63451292cdb5e3705e1 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Sat, 9 Dec 2023 23:23:50 +0100 Subject: Tewkesbury. --- rules.js | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/rules.js b/rules.js index 33b87d8..2b7ade6 100644 --- a/rules.js +++ b/rules.js @@ -213,6 +213,11 @@ const S3201_LONGSTREET = find_card(3201, "Longstreet") const S12_TOWTON = find_scenario(12) const S13_EDGECOTE_MOOR = find_scenario(13) +const S15_TEWKESBURY = find_scenario(15) +const S15_A_PLUMP_OF_SPEARS = find_card(15, "A Plump of Spears") +const S15_SOMERSET = find_card(15, "Somerset") +const S15_WENLOCK = find_card(15, "Wenlock") + // === SETUP === exports.setup = function (seed, scenario, options) { @@ -443,6 +448,10 @@ function is_card_in_play(c) { ) } +function is_routed(c) { + return !is_card_in_play(c) +} + function is_card_attack_with_target_in_play(c) { for (let a of data.cards[c].actions) { if (a.type === "Attack") { @@ -697,9 +706,9 @@ function can_place_dice(c) { if (game.scenario === S8_BROOKLYN_HEIGHTS) { if (c === S8_CLINTON) { - if (!is_card_in_play(S8_GRANT)) + if (is_routed(S8_GRANT)) return false - if (!is_card_in_play(S8_HESSIANS)) + if (is_routed(S8_HESSIANS)) return false } } @@ -1298,7 +1307,7 @@ states.action = { goto_fizzle(c) }, roll() { - push_undo() + clear_undo() goto_roll_phase() roll_dice_in_pool() }, @@ -1412,6 +1421,13 @@ function goto_attack() { } } + if (game.scenario === S15_TEWKESBURY) { + if (game.target === S15_SOMERSET) { + if (has_any_dice_on_card(S15_A_PLUMP_OF_SPEARS)) + game.hits += 1 + } + } + if (card_has_rule(game.target, "suffer_1_less_1_max")) game.hits = Math.max(0, Math.min(1, game.hits - 1)) if (card_has_rule(game.target, "suffer_1_less")) @@ -1570,6 +1586,13 @@ function can_take_reaction(c, a) { } } + if (game.scenario === S15_TEWKESBURY) { + if (c === S15_WENLOCK) { + if (is_routed(S15_SOMERSET)) + return false + } + } + if (data.cards[c].special) return check_cube_requirement(c, a.requirement) else -- cgit v1.2.3