diff options
-rw-r--r-- | rules.js | 18 |
1 files changed, 16 insertions, 2 deletions
@@ -210,6 +210,10 @@ 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") +const S14_BARNET = find_scenario(14) +const S14_TREASON = find_card(14, "\"Treason!\"") +const S14_OXFORD = find_card(14, "Oxford") + const S16_STOKE_FIELD = find_scenario(16) const S22_GABIENE = find_scenario(22) @@ -2722,8 +2726,10 @@ states.attack = { function resume_attack() { pay_for_action(game.selected) - remove_sticks(game.selected, game.self) - remove_sticks(game.target, game.hits) + if (game.self > 0) + remove_sticks(game.selected, game.self) + if (game.hits > 0) + remove_sticks(game.target, game.hits) if (game.target2 >= 0 && game.hits2 > 0) remove_sticks(game.target2, game.hits2) @@ -2825,6 +2831,11 @@ function can_opponent_react() { return false } + if (game.scenario === S14_BARNET) { + if (game.selected === S14_TREASON) + return false + } + let p = 1 - player_index() let wild = side_has_wild_die(p) for (let c of game.front[p]) @@ -3222,6 +3233,8 @@ function get_attack_hits(c, a) { return 2 case "5 hits.": return 5 + case "Oxford immediately Routs. This cannot be Screened.": + return 5 } } @@ -3240,6 +3253,7 @@ function get_attack_self(c, a) { case "Two hits per die.": case "2 hits.": case "5 hits.": + case "Oxford immediately Routs. This cannot be Screened.": return 0 case "1 hit. 1 self per action.": case "1 hit per action. 1 self per action.": |