summaryrefslogtreecommitdiff
path: root/rules.js
diff options
context:
space:
mode:
Diffstat (limited to 'rules.js')
-rw-r--r--rules.js18
1 files changed, 16 insertions, 2 deletions
diff --git a/rules.js b/rules.js
index 66c01ef..7cd1d5d 100644
--- a/rules.js
+++ b/rules.js
@@ -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.":