Knight fortresses: knight towers, patrols, alarm, claimable knight ground and vaults

- fortress.rs: fortress builder (masonry walls with doors, courtyard, corner towers, vault chambers
  full of mixed treasure, shard chamber, gate of the order as the heart, guards, patrols)
- Knight towers shoot the player's units; creatures tear down knight towers within reach
- Patrols walk their round; guards and patrols that spot an enemy alarm the others nearby
- Imps claim knight ground (slower, not next to fighting heroes); vaults hand over their treasure,
  shard chambers give the shard back; claiming alarms the knights
- Knights tear down the player's bridges near their posts
- Fix: units next to a tower could stop at the tile edge just out of melee reach
- Tests for towers, vault looting, patrols/alarm and bridge tearing

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-03 10:57:37 +01:00
1 parent 7e84cae910
commit e15b16cc60
7 files changed
+565 -23

No files matched your search

+9
View File
@@ -414,3 +414,12 @@ treasury.content = Enthält {0} in {1}
hud.payday = Zahltag
msg.payday_soon = Zahltag in {0} Sekunden: Deine Kreaturen wollen {1} Gold.
hint.payday_short = Für den nächsten Zahltag reicht das Gold nicht. Unbezahlte Kreaturen werden wütend!
# knight fortresses
msg.enemy_tower_destroyed = Ein Ritter-{0} ist gefallen!
msg.vault_taken = Ritterschatz erobert: Schätze im Wert von {0} gehören dir.
msg.shard_taken = Ein Splitter deines Seelenkerns ist wieder in deiner Hand!
msg.bridge_torn = Die Ritter haben eine deiner Brücken eingerissen!
job.tear_bridge = Reißt eine Brücke ein
job.patrol = Auf Patrouille
job.guard = Hält Wache
+9
View File
@@ -415,3 +415,12 @@ treasury.content = Holds {0} worth of {1}
hud.payday = Payday
msg.payday_soon = Payday in {0} seconds: your creatures want {1} gold.
hint.payday_short = There is not enough gold for the coming payday. Unpaid creatures get angry!
# knight fortresses
msg.enemy_tower_destroyed = A knight {0} has fallen!
msg.vault_taken = Knight vault taken: {0} worth of treasure is yours.
msg.shard_taken = A shard of your soul core is back in your hands!
msg.bridge_torn = The knights have torn down one of your bridges!
job.tear_bridge = Tearing down a bridge
job.patrol = On patrol
job.guard = On guard