Files
EscapistsReintroduced/docs/evidence/integration-check-2026-11-05/radio-review.json
T
jakub 9caed3f12d
continuous-integration/drone/push Build is passing
Embed RHS 1.9 compatibility; record Workshop 0.0.141
2026-11-05 16:39:35 +01:00

19 lines
2.4 KiB
JSON

{
"conclusion": "No concrete radio-defence eligibility/reset defect demonstrated in bounded current-source audit. No patch proposed.",
"findings": [
"Each server Tick clears and rebuilds defender count from native currently controlled living player entities; CanDefend additionally requires canonical CurrentActor account/connection/body identity, player faction and conscious CanFight. Dead, unconscious, disconnected, replaced or nonparticipant actors cannot sustain a sampled interval.",
"Zero defenders resets Since to -1 before DefenceComplete. Remaining eligible teammate preserves continuity; restored coverage begins a fresh interval. Backwards clock resets, strict radius is less than60m. Completion requires current positive coverage and latches before callbacks.",
"With empty restart disabled/not due, ServerTick still executes radio Tick before its later empty tactical-work return; ConnectedPlayers==0 resets progress. If empty restart triggers first, it requests native round end and blocks further ordinary ticks; native end calls StopServices and registered radio Stop.",
"RadioStarted stops service if transition refuses; terminal phase change stops active service. RadioCompleted requires exact registered service location and completed state in RADIO_DEFENCE."
],
"validation": "Reviewed existing test_radio_defence_policy.py, test_radio_feedback_policy.py and test_empty_server_restart.py coverage. Did not rerun tests during parent full suite; no native or source edits.",
"limits": "Coverage is sampled at repeating1000ms ordinary server tick. No claim about sub-tick event continuity or unobserved native scheduling/replication; no concrete reachable missed event established.",
"source_sha256": {
"addons/core/Scripts/Game/ERR/00_Core/ERR_RadioDefenceService.c": "f5f0bf1352141f933d0edb5630e30541e001dc07e1d2c8529b29cc159c126b13",
"addons/core/Scripts/Game/ERR/00_Core/ERR_Actors.c": "7258b838f8365e4fa575c4f2ccc8532e22a33946405ebb490120534d5ca65607",
"addons/core/Scripts/Game/ERR/00_Core/ERR_PlayerRoster.c": "dc785a8a1d78a285fe55ce76f87b78a9f522eeb9f7d9655dfe9b5c4348a26a18",
"addons/core/Scripts/Game/ERR/00_Core/ERR_GameMode.c": "d26e665cf5b9c0e1dc6c5e2da200a99711ef9272718d330f5aa66b09cede40d1",
"addons/core/Scripts/Game/ERR/00_Core/ERR_MissionRules.c": "17d1f48878b02a457eebbe5ff87c4267488d68d2a9b3121dda77a8bc8e69c8c6"
}
}