diff options
author | Tor Andersson <tor@ccxvii.net> | 2022-12-28 17:36:34 +0100 |
---|---|---|
committer | Tor Andersson <tor@ccxvii.net> | 2023-02-18 13:02:38 +0100 |
commit | 3c8c0e53100ad8abe575b923e5d0f1f5474e40af (patch) | |
tree | 385d8d87da7bf515fea592ac3e44aecdd38d47ec /rules.js | |
parent | 298695de12eac0884e1aa6b416b1300694e0ae70 (diff) | |
download | nevsky-3c8c0e53100ad8abe575b923e5d0f1f5474e40af.tar.gz |
Lift siege after retreat.
Diffstat (limited to 'rules.js')
-rw-r--r-- | rules.js | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -1,6 +1,5 @@ "use strict" -// NEXT: choose left/right when center flanking // NEXT: hit remainders // TODO: SALLY // TODO: STORM @@ -3393,10 +3392,10 @@ function lift_siege(from) { if (has_siege_marker(from)) { log(`Lifted siege at %${from}.`) remove_all_siege_markers(from) - for (let lord = first_lord; lord <= last_lord; ++lord) - if (get_lord_locale(lord) === from && is_lord_besieged(lord)) - set_lord_besieged(lord, 0) } + for (let lord = first_lord; lord <= last_lord; ++lord) + if (get_lord_locale(lord) === from && is_lord_besieged(lord)) + set_lord_besieged(lord, 0) } function group_has_teutonic_converts() { @@ -3574,6 +3573,7 @@ function march_with_group_3() { remove_legate_if_endangered(here) if (is_besieged_friendly_stronghold(here)) { + // TODO if (is_besieged_enemy_stronghold(from) && !has_friendly_lord(from)) lift_siege(here) } @@ -4614,6 +4614,7 @@ states.sail = { game.pieces.legate = to if (is_enemy_stronghold(from)) + // TODO if (is_besieged_enemy_stronghold(from) && !has_friendly_lord(from)) lift_siege(from) remove_legate_if_endangered(from) @@ -6112,6 +6113,10 @@ function goto_retreat() { } function end_retreat() { + let from = game.battle.where + if (is_enemy_stronghold(from) && !has_friendly_lord(from)) + lift_siege(from) + goto_battle_remove() } |