diff options
Diffstat (limited to 'rules.js')
-rw-r--r-- | rules.js | 34 |
1 files changed, 26 insertions, 8 deletions
@@ -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 |