summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules.js28
1 files changed, 27 insertions, 1 deletions
diff --git a/rules.js b/rules.js
index 76f826d..9bf1d77 100644
--- a/rules.js
+++ b/rules.js
@@ -8434,6 +8434,7 @@ function action_battle_events(c) {
game.state = "suspicion"
break;
case EVENT_YORK_CALTROPS:
+ game.state = "caltrops"
break;
case EVENT_YORK_REGROUP:
break;
@@ -8442,6 +8443,26 @@ function action_battle_events(c) {
}
}
+// === EVENT : CALTROPS ===
+
+states.caltrops = {
+ inactive: "Caltrops",
+ prompt() {
+ view.prompt = "Caltrops: Select a friendly lord to Add +2 Hits each Melee phase to his engagement"
+ for (let lord of game.battle.array) {
+ if (is_friendly_lord(lord)) {
+ gen_action_lord(lord)
+ }
+ }
+ },
+ lord(lord) {
+ push_undo()
+ game.battle.caltrops = lord
+ resume_battle_events()
+ logi(`2 Hits added to ${data.lords[lord].name} each Melee round`)
+ logevent(EVENT_YORK_CALTROPS)
+ },
+}
// === EVENT : SUSPICION ===
states.suspicion = {
@@ -8890,6 +8911,10 @@ function count_melee_hits(lord) {
hits += get_lord_forces(lord, MERCENARIES)
hits += get_lord_forces(lord, BURGUNDIANS) << 1
+ if (lord === game.battle.caltrops) {
+ hits += 2
+ }
+
return hits
}
@@ -9129,7 +9154,7 @@ states.culverins_and_falconets = {
card(c) {
let die = roll_die()
let lord = find_lord_with_capability_card(c)
- if (is_event_in_play(EVENT_YORK_PATRICK_DE_LA_MOTE)) {
+ if (is_event_in_play(EVENT_YORK_PATRICK_DE_LA_MOTE) && game.active === YORK) {
let die2 = roll_die()
die += die2
}
@@ -9620,6 +9645,7 @@ function end_battle() {
log_h4(`${game.battle.loser} Lost`)
game.battle.array = 0
+ game.battle.caltrops = -1
goto_battle_influence()
}