Files
EscapistsReintroduced/docs/field-sites.md
T
jakub 6a667d8deb Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
2026-10-13 22:52:53 +02:00

52 lines
8.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Random field hospitals and camps
Ordinary rounds request **six field hospitals and twelve field camps** by default,
on Everon and added terrains. Together with the eight other mission sites this
requests 26 locations, subject to safe-placement omissions. Admins can change
**Forces → Configure sites**: camps 1–16 and hospitals 1–8, for the next round.
The original 16-site catalog remains the authored template; new sites are fresh
instances with unique IDs, finite stock and permanent/mobile roles. Above eight field sites, the original budget of 32 fixed
defenders and 16 mobile soldiers is distributed across them instead of creating
six additional AI per location.
Required prison/radio/extraction identities and the two independent radio-clue
sources stay intact. Historical explicit Workbench smoke fixtures retain their
authored 5-camp/3-hospital setup. Background generation continues after admission.
Mortar resupply prefers Field camp 1, then another surviving camp/depot with an owned cache and a mobile team. If none survives, resupply stays unavailable for that round and mission preparation continues; batteries retain their initial ammunition. Permanent defenders are never borrowed. The historical `everon-supply-2` test fixture retains priority when present.
On 28 September 2026, RKS #2 skipped `everon-outpost-1` at 12:27:12 UTC after its terrain search and fallback failed. All remaining sites became ready, but at 12:27:50 UTC the old fixed mortar-depot lookup aborted preparation with `Scenario or additional force preparation failed.` The fallback above removes that dependency on an optional camp. The [native regression](evidence/native-2026-09-28-optional-mortar-depot/report.json) forces both that camp and camp 5 to be skipped and verifies the chosen surviving depot, required objectives, prison phase and real player admission. All three assertions passed with no script/runtime failures and confirmed cleanup; the strict report retains thirteen existing localization/asset-schema errors. This is local Workbench evidence, not deployment or a dedicated multiplayer test.
With eight or fewer field sites, each retains four permanent defenders and a two-person mobile team. Higher counts share 32 permanent defenders and 16 mobile soldiers across the sites; some sites have no mobile team. All soldiers are drawn from the selected enemy faction. Their groups are created once, registered with the force ledger, and receive the existing AI skill, equipment, intel and reporting systems. HQ reserves the defenders against hunting, support, courier and logistics assignments. The mobile team is eligible for delivered HQ hunting orders and otherwise defends its home assembly area. Its standing home waypoint remains available after a temporary HQ assignment ends. Losing mobile soldiers does not turn the permanent guards into replacements. Guards still fight locally and can be killed; the existing objective-defence system permits one finite relief squad after a garrison is lost.
Hospitals have a vanilla medical tent with red-cross markings, a table, sandbags, and a finite cache of dressings, saline, morphine and radio documents. The first camp also retains the existing finite twelve-shell mortar depot, with courier duty assigned to its mobile team. The loose supplies can be carried away and used for treatment; no endless item replenishment was added. Camps have two tents, sandbag cover, a table and finite rifles, magazines, binoculars and dressings. New scenery requests a native navigation rebuild.
The original medical clue route remains marked after prison escape. The other field sites are hidden until seen nearby or revealed through existing intel. Partial clues use an approximate question mark; identified hospitals use the medical icon and camps use the outpost icon. Intel carried by AI can refer to these sites, and corpse inspection therefore feeds their compromise into the existing HQ security response.
## Placement and authoring
Edit `addons/core/Configs/ERR/EveronSites.conf`. `GuardCount` selects the permanent roster size (1–8, or zero for the full faction group). `ResponseCount` selects a separate mobile roster (0–8). `GuardOffset` and `ResponseOffset` are rotated with the composition. Do not put a roaming `Patrol` on a permanent garrison; use its separate response team instead. The selected profile must provide usable infantry members.
`RandomClear` supports hospitals, outposts and depots as well as the existing generated objectives. Each new field site is at least 600 metres from other committed locations; unresolved fallback seeds do not reserve ground. The survey checks water, terrain variation, physical obstacles, the composition footprint, and both squad assembly areas. Each site has a bounded 12,000-candidate/30-second search and a validated authored fallback. Invalid terrain is never accepted just to satisfy a requested count. If both search and fallback fail, a dispensable site is removed before spawning and logged under `[site skipped]`; preparation continues. A site providing indispensable accessible radio intel cannot be skipped. Custom scenery still needs to fit the surveyed footprint (ten metres either side of its centre).
Scenario bounds are 32 sites, 64 initial groups including mobile teams, 1024 stock items and 128 scenery props. The default field sites total 32 fixed defenders and 16 mobile soldiers, in addition to other mission forces. These finite limits are not performance measurements.
## Original investigation
The installed original was inspected read-only. Its location preparer chooses weighted types at random-location holders, randomly enables static hospitals, and attaches existing static buildings as compositions. Its location character manager creates local defenders independently of its patrol manager. The successor uses newly authored vanilla-resource layouts and its existing terrain sampler and HQ rather than importing the original's compositions or lifecycle code. This is a field-hospital/camp implementation, not full parity with every original city, checkpoint, depot or hideout.
Reference SHA-256 values:
- `ESCT_LocationPreparer.c`: `71b32259306b4a5794283d31485a5c4533a3e95364218fcb0e3e46998df89df6`
- `ESCT_LocationCharacterManagerComponent.c`: `15090d0a7a5a1f972db4a46d9dc027d6fd45b3f4e1f00b6620a05419c7918694`
- `ESCT_LocationPatrolManagerComponent.c`: `5da0ed5d50ec7bee4496d8e9007255c400c059cb54ff7efd6a2428aebaa4ddcd`
The medical tent's GUID was verified through the installed vanilla foundation variant referencing `Prefabs/Structures/Military/Camps/TentUS_01/TentUSMedical_01.et`. No additional Workshop dependency is introduced.
## Validation
`tests/test_field_sites.py` executes actual roster selection and placement-separation code. The HQ registration regression checks that groups sharing a home receive different permanent/mobile eligibility. The `site-garrisons` Workbench scenario uses the production randomized configuration and checks physical squads, finite inventories, marker discovery, generated spacing and role separation before/after prison escape. It does not fabricate enemy reports or claim a dedicated multiplayer hunting test.
The final local Workbench run on 24 September completed with **106 passing assertions and no script/runtime failures**. It verified all eight randomized sites, exact direct stock (including the separate mortar shells and excluding nested rifle attachments), 32 permanent defenders, 16 eligible mobile soldiers, map discovery and role separation across live HQ ticks after unlocking the prison. The complete repository checks also passed.
Local evidence is retained in `.local/analysis/field-sites-2026-09-24/`. The runner reported a transient process-classification failure during immediate shutdown verification; a separate follow-up confirmed the disposable prefix was idle and the addon source hash unchanged. The original runner result is preserved. Existing RHS/WCS resource/keyword engine errors remain in the native report. This is not dedicated multiplayer, manual interaction, sustained hunting/navigation or performance qualification. No Workshop publication or live-server update was performed.