Integrate faction and random settings menus, generated objectives, scouts, convoys, air support, mortar stations and body-intel recovery. Add identified-body aggression, finite hunter UAZ deployment, dedicated objective defence and maximum AI skill with separate reduced aim accuracy. Include policy tests, native probes, evidence and documentation.
81 lines
5.2 KiB
Markdown
81 lines
5.2 KiB
Markdown
# Hill scouts
|
||
|
||
Everon's `ScoutCount 10` creates ten independent, finite observation posts before
|
||
player admission. `ScoutCount` is a scenario-definition field (0–32; default zero
|
||
for existing authored/test scenarios). It does not depend on convoy settings.
|
||
|
||
The server samples island elevation, then surveys random dry standing points on
|
||
local crests. Posts must be at least 900 m apart, 600 m from the prison and 150 m
|
||
from other mission sites. Minimum elevation is 35 m or 18% of sampled island
|
||
maximum, whichever is higher. Eight terrain samples 150 m away must show a mean
|
||
drop of at least 6 m, with four at least 5 m lower. At least two of eight physical
|
||
350 m sight traces must be clear for 95% of their length. The character faces the
|
||
best surveyed view. Survey work is limited to 6 ms per preparation tick, 100,000
|
||
candidates and a 45-second real-time deadline. Unsupported terrain fails with a
|
||
specific preparation error instead of silently placing scouts in water/forest
|
||
obstructions or admitting fewer than requested.
|
||
|
||
Each post contains one native AI soldier, an indefinite defend waypoint with an
|
||
8 m radius, binoculars, a scoped sniper rifle, and a custom radio backpack with
|
||
real BaseRadioComponent/SCR_RadioComponent manpack capability. The pack uses the
|
||
Kolobok model, weighs 10 kg empty, and reserves 6 litres for ammunition. Compatible
|
||
full magazines are inserted into this exact pack until native capacity refuses
|
||
another. One operation per post can be outstanding. The deadline, callback
|
||
success, physical radio, binoculars and sniper rifle are checked before admission.
|
||
The tested SVD loadout fits 40 full spare magazines in the pack, in addition to
|
||
its native loadout ammunition. No ammunition is periodically granted afterward.
|
||
|
||
US and RHS_USAF use the native M21 sniper base; other enemy selections use the
|
||
native SVD sharpshooter base. Both the group and character receive the selected
|
||
enemy faction. The separate ScoutEast, ScoutWest and ScoutRadioPack prefabs are
|
||
intended extension points for additional faction-specific scout equipment. The
|
||
radio pack is a field-radio loadout, not a deployable player respawn point.
|
||
|
||
Scouts inherit the prison's initial AI freeze. On release they use native
|
||
RETURN_FIRE: hold fire while observing, engage when native group perception
|
||
considers them threatened, and return to holding fire when that threat ends.
|
||
They remain registered HQ observers but permanently reserved against tactical
|
||
reassignment, courier/resupply work, and assault/search orders. Generic startup
|
||
launcher, optic and radio fitting does not overwrite their specialist equipment.
|
||
The finite force ledger records one original soldier per post. Killed scouts are
|
||
never replaced; the mission owns and cleans up their groups and waypoints.
|
||
|
||
Reporting uses the existing clear-visual-contact capture and physical radio
|
||
uplink. Reports include observed coordinates, visible travel mode, weapon
|
||
categories (drawn weapons only, within the existing identification limits), and
|
||
nearby visible escapist count. Road status comes from the captured coordinate
|
||
against actual road width, segments and height, not the target's later position.
|
||
A scout retains at most 64 recent identity/observation snapshots. Two credible
|
||
same-target/same-source sightings 2–30 seconds apart supply an average horizontal
|
||
velocity, km/h speed and compass/azimuth direction. Changed travel modes,
|
||
implausible speed and stale/replayed observations cannot produce a motion
|
||
estimate. All data is frozen before the existing originating call/transmission
|
||
delays; removing the physical radio or losing the carrier interrupts that route.
|
||
No target inventories, hidden occupants or live player physics are inspected.
|
||
|
||
Validation: `tests/test_scouts.py` executes production terrain/road geometry,
|
||
observed-motion estimation and the finite admission state machine, including
|
||
pending inventory, timeout, client/stop guards and no replacement/refill after
|
||
completion. The full repository suite passed. The production `airfield-markers`
|
||
Workbench fixture additionally validates all ten physical bodies, complete
|
||
magazine counts and full native capacity, faction identity, manpack capability,
|
||
return-fire mode, permanent HQ reservation and inter-post separation. Native
|
||
results are recorded below. Dedicated multiplayer observation
|
||
and combat acceptance remain separate from these local Workbench checks.
|
||
|
||
|
||
The final native run on 22 September 2026 used
|
||
`/tmp/erri-scout-final/logs/logs_2026-09-22_17-04-55`. It completed 52 gameplay
|
||
assertions and 11 scout-specific checks, with zero script errors. Ten independently
|
||
randomized posts had full 40-magazine SVD packs, matching the preceding successful
|
||
layout in `/tmp/erri-scout-native3`. The full regression suite completed in
|
||
`/tmp/erri-scout-check2.log`; the final movement addition and affected HQ/intel
|
||
regressions were checked again afterward.
|
||
|
||
The runner's strict result was `cleanup-failed`, with `smoke-completed` recorded
|
||
before cleanup: it could not classify an exiting `enfMain` with an empty command
|
||
line. A subsequent escalated host-visible `assert_prefix_idle` passed. Existing
|
||
vanilla GUI/resource and external RHS/WCS localization errors also remain in the
|
||
logs. This is not a clean strict runner result or dedicated multiplayer acceptance.
|
||
No server deployment, Workshop publication or Git push was performed.
|