summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rules.js34
1 files changed, 26 insertions, 8 deletions
diff --git a/rules.js b/rules.js
index a3e39d9..d4c9fdf 100644
--- a/rules.js
+++ b/rules.js
@@ -792,22 +792,14 @@ function is_marshal(lord) {
return true
case LORD_HENRY_VI:
return true
- case LORD_WARWICK_L:
- return true
- case LORD_SOMERSET_1:
- return true
case LORD_HENRY_TUDOR:
return true
case LORD_EDWARD_IV:
return true
- case LORD_GLOUCESTER_1:
- return true
case LORD_GLOUCESTER_2:
return true
case LORD_RICHARD_III:
return true
- case LORD_WARWICK_Y:
- return true
case LORD_YORK:
return true
default:
@@ -815,6 +807,22 @@ function is_marshal(lord) {
}
}
+
+function is_lieutenant(lord) {
+ switch (lord) {
+ case LORD_WARWICK_L:
+ return true
+ case LORD_SOMERSET_1:
+ return true
+ case LORD_GLOUCESTER_1:
+ return true
+ case LORD_WARWICK_Y:
+ return true
+ default:
+ return false
+ }
+}
+
function is_armored_force(type) {
return type === MEN_AT_ARMS || type === BURGUNDIANS || type === RETINUE || type === VASSAL || type === MERCENARIES
}
@@ -2455,6 +2463,16 @@ states.command = {
gen_action_lord(lord)
}
+ // Lieutenant may not take marshall
+ if (is_lieutenant(game.command)) {
+ for (let lord = first_friendly_lord; lord <= last_friendly_lord; ++lord)
+ if (lord !== game.command)
+ if (get_lord_locale(lord) === here && !is_marshal(lord)) {
+ gen_action_lord(lord)
+ }
+
+ }
+
if (game.actions > 0)
view.actions.pass = 1