summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules.js13
-rw-r--r--rules.ts16
2 files changed, 16 insertions, 13 deletions
diff --git a/rules.js b/rules.js
index 397e8ed..2e052ec 100644
--- a/rules.js
+++ b/rules.js
@@ -6482,15 +6482,15 @@ function end_attacker_assign_hits() {
}
function prompt_hit_forces() {
let done = true;
+ // Note: Must take hit from Final Charge on Richard III's Retinue.
+ if (game.battle.final_charge && game.active === YORK) {
+ gen_action_retinue(LORD_RICHARD_III);
+ return false;
+ }
for (let pos of game.battle.engagements[0]) {
let lord = game.battle.array[pos];
if (!is_friendly_lord(lord))
continue;
- // Note: Must take hit from Final Charge on Retinue.
- if (lord === LORD_RICHARD_III && game.battle.final_charge) {
- gen_action_retinue(lord);
- return false;
- }
if (get_lord_forces(lord, RETINUE) > 0) {
gen_action_retinue(lord);
done = false;
@@ -6579,7 +6579,8 @@ states.assign_hits = {
action_assign_hits(get_vassal_lord(vassal), VASSAL, vassal);
},
retinue(lord) {
- game.battle.final_charge = 0;
+ if (lord === LORD_RICHARD_III && game.battle.final_charge)
+ game.battle.final_charge = 0;
action_assign_hits(lord, RETINUE);
},
men_at_arms(lord) {
diff --git a/rules.ts b/rules.ts
index bcdce10..fdcd472 100644
--- a/rules.ts
+++ b/rules.ts
@@ -7644,17 +7644,18 @@ function end_attacker_assign_hits() {
function prompt_hit_forces() {
let done = true
+
+ // Note: Must take hit from Final Charge on Richard III's Retinue.
+ if (game.battle.final_charge && game.active === YORK) {
+ gen_action_retinue(LORD_RICHARD_III)
+ return false
+ }
+
for (let pos of game.battle.engagements[0]) {
let lord = game.battle.array[pos]
if (!is_friendly_lord(lord))
continue
- // Note: Must take hit from Final Charge on Retinue.
- if (lord === LORD_RICHARD_III && game.battle.final_charge) {
- gen_action_retinue(lord)
- return false
- }
-
if (get_lord_forces(lord, RETINUE) > 0) {
gen_action_retinue(lord)
done = false
@@ -7736,7 +7737,8 @@ states.assign_hits = {
},
retinue(lord) {
- game.battle.final_charge = 0
+ if (lord === LORD_RICHARD_III && game.battle.final_charge)
+ game.battle.final_charge = 0
action_assign_hits(lord, RETINUE)
},
men_at_arms(lord) {