3.9 KiB
Town garrisons
After the prison opens, approaching within 700 metres horizontally of a native named town, city, village or settlement activates its population attempt. Each settlement rolls 3–10 enemy soldiers once per round, using the selected enemy faction's infantry roster. Duplicate map descriptors within 50 metres share the same entry.
The squad must fit on clear, navigable ground within 200 metres of the settlement's map centre. Every soldier's actual spawn point must be at least 700 metres from every controlled player, including unconscious teammates. Placement leaves a small extra margin. If another player is inside the town, the terrain is unsuitable, navigation is still loading, or the mission force budget is full, the town waits. It never relaxes the distance to fill its quota. A rapid approach can therefore leave a town empty until a safe approach becomes possible.
The owner first plans the whole formation and loads the faction resources, then rechecks player positions immediately before each synchronous character creation. The group has no queued native roster slots, so a delayed expansion cannot create additional soldiers beside an approaching player. A native creation/admission failure cancels that attempt rather than repeatedly replenishing part of a squad.
All members enter the existing force ledger, intel, equipment and VirtualHQ systems. Each squad requests a physical HQ manpack through the existing equipment service. Initially it guards its assembly area; all members are available for delivered HQ hunting/investigation orders. Town proximity itself does not reveal player positions to HQ: normal AI observations and radio delivery still apply. These squads are distinct from the permanently reserved hospital/camp guards.
Town soldiers are not replaced after casualties and are not despawned/recreated as players cross the activation boundary. One squad at most is admitted per two-second update, with round-robin attempts for towns approached by separated teammates. The existing finite force budget applies. The owner and its pending work are stopped with HQ at round teardown.
The 700-metre rule here applies to these new town formations. Existing mission preparation and other reinforcement systems retain their separate lifecycle rules.
Diagnostics and validation
Look for TOWN GARRISON in the HQ log. Admission records include the settlement name/identifier, map position, squad size, minimum player distance measured during creation, and HQ role. Deferred attempts explain why they cannot spawn; repeated waiting messages are limited to one per minute per town. The usual SPAWN GROUP/SPAWN MEMBER events retain individual identities.
tests/test_town_garrisons.py executes the actual distance/activation policy with exact boundaries, split players, empty/invalid observations and a player crossing the exclusion distance. tests/test_intel_registration.py checks the actual HQ registration method's town radio selection and unrestricted order eligibility. The isolated town-garrisons Workbench fixture exercises native map descriptors, navigation, three- and ten-member physical squads, blocked placement with a second observer in town, HQ binding and no replacement after elimination. It is not a live dedicated-server playtest.
The 24 September 2026 local Workbench test completed with 12 passing assertions and no script/runtime failures. Minimum player distances at creation were 718 m for the three-man squad and 720 m for the ten-man squad. Repository checks passed. Existing RHS/WCS localization and vanilla resource keyword errors remain in the native log. The runner hit a transient exiting-process classification error during cleanup; a separate read-only follow-up confirmed that its private prefix was idle and addon sources were unchanged. Original runner results are preserved alongside the follow-up in .local/analysis/town-garrisons-2026-09-24.