Combine Workshop addon and fix prison startup

Merge owned systems into one addon while preserving resource identities. Gate player admission on the replicated prison scene, restore the original framed door, and hold enemy AI until escape. Correct scenario branding and author metadata, include publishing assets, and retain regression and native verification evidence.
This commit is contained in:
2026-09-20 16:42:52 +02:00
parent 7d94953b53
commit cab998fb64
513 changed files with 18940 additions and 862 deletions
+21 -21
View File
@@ -102,7 +102,7 @@ Original: [EAI_AIConfig.c](/home/jakub/devel/escapists/escapists-ai/Scripts/Game
Behavior: Unified config/defaults/backups/migration; bounded validation; runtime HQ settings; next-round frozen convoy/start/simulation choices.
Successor: [ERR_Settings.c](../addons/core/Scripts/Game/ERR/ERR_Settings.c), [ERR_HQAdminProvider.c](../addons/ai/Scripts/Game/ERR/ERR_HQAdminProvider.c).
Successor: [ERR_Settings.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_Settings.c), [ERR_HQAdminProvider.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQAdminProvider.c).
Evidence boundary: latest packaged startup + native admin fixture. Asset scope: vanilla.
@@ -122,7 +122,7 @@ Original: [EAI_HQ.c](/home/jakub/devel/escapists/escapists-ai/Scripts/Game/Escap
Behavior: Real basic/manpack inventory; 500m short links/up to3 hops; 2s per leg; interrupted sender/receiver rules; 100m local observation handoff; 3s originating call; one-time basic/manpack fitting; aircraft uplink; broadcast-only awareness.
Successor: [ERR_HQ.c](../addons/ai/Scripts/Game/ERR/ERR_HQ.c), [ERR_HQNetwork.c](../addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c), [ERR_HQReport.c](../addons/ai/Scripts/Game/ERR/ERR_HQReport.c).
Successor: [ERR_HQ.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c), [ERR_HQNetwork.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQNetwork.c), [ERR_HQReport.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQReport.c).
Evidence boundary: native real-sighting HQ response + network regression. Asset scope: vanilla.
@@ -132,7 +132,7 @@ Original: [EAI_HQObservation.c](/home/jakub/devel/escapists/escapists-ai/Scripts
Behavior: Current native LOS; observed count/travel/drawn weapons; timestamped immutable snapshots; velocity from sightings; per-squad fair multi-contact reporting.
Successor: [ERR_HQObservation.c](../addons/ai/Scripts/Game/ERR/ERR_HQObservation.c), [ERR_HQReport.c](../addons/ai/Scripts/Game/ERR/ERR_HQReport.c), [ERR_HQ.c](../addons/ai/Scripts/Game/ERR/ERR_HQ.c).
Successor: [ERR_HQObservation.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQObservation.c), [ERR_HQReport.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQReport.c), [ERR_HQ.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c).
Evidence boundary: native HQ response; 186-assertion owned AI/Intel integration. Asset scope: vanilla.
@@ -142,7 +142,7 @@ Original: [EAI_GroupTactics.c](/home/jakub/devel/escapists/escapists-ai/Scripts/
Behavior: Approach/flank-left/flank-right/intercept roles; growing45–110m search; 120s freshness expiry; native combat preemption; restore original patrol; fair nearest squad allocation.
Successor: [ERR_HQ.c](../addons/ai/Scripts/Game/ERR/ERR_HQ.c).
Successor: [ERR_HQ.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c).
Evidence boundary: native original-squad movement + patrol/HQ fixture. Asset scope: vanilla.
@@ -152,7 +152,7 @@ Original: [EAI_HQStatus.c](/home/jakub/devel/escapists/escapists-ai/Scripts/Game
Behavior: Three-minute roster/position/status check-ins; early low-ammo reports; snapshot casualties; in-flight evidence preservation; disconnected/overdue diagnostics.
Successor: [ERR_HQ.c](../addons/ai/Scripts/Game/ERR/ERR_HQ.c), [ERR_MortarLogistics.c](../addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c).
Successor: [ERR_HQ.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c), [ERR_MortarLogistics.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarLogistics.c).
Evidence boundary: native mortar courier reports only. Asset scope: vanilla.
@@ -182,7 +182,7 @@ Original: [EAI_HQBodySearch.c](/home/jakub/devel/escapists/escapists-ai/Scripts/
Behavior: Ten-minute ground trail; snapshot ahead guesses300–1200m; road-aware vehicle hypotheses; casualty-location fallback; two-loss wave threshold/three-minute spacing/three living search groups.
Successor: [ERR_HQReport.c](../addons/ai/Scripts/Game/ERR/ERR_HQReport.c), [ERR_HQ.c](../addons/ai/Scripts/Game/ERR/ERR_HQ.c).
Successor: [ERR_HQReport.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQReport.c), [ERR_HQ.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c).
Evidence boundary: projection policy only; persistent belief not implemented. Asset scope: vanilla.
@@ -202,7 +202,7 @@ Original: [EAI_ResponseSafety.c](/home/jakub/devel/escapists/escapists-ai/Script
Behavior: Check nested turret seats/player crew membership; immediate permanent release after capture; retain living vehicles/crews/wrecks; first stop reason; restore detail/locks.
Successor: [ERR_HQ.c](../addons/ai/Scripts/Game/ERR/ERR_HQ.c), [ERR_AircraftService.c](../addons/ai/Scripts/Game/ERR/ERR_AircraftService.c).
Successor: [ERR_HQ.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c), [ERR_AircraftService.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftService.c).
Evidence boundary: code guards; no migrated convoy runtime. Asset scope: vanilla.
@@ -224,7 +224,7 @@ Original: [EAI_AirRecon.c](/home/jakub/devel/escapists/escapists-ai/Scripts/Game
Behavior: Incremental airport discovery; clear pads;15min initial/loss delay; one active armed Mi8; real sightings into HQ;300m orbit/150m minimum horizontal standoff; runway return/landing retry; player takeover release.
Successor: [ERR_AircraftService.c](../addons/ai/Scripts/Game/ERR/ERR_AircraftService.c), [ERR_AircraftFlight.c](../addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c), [ERR_AircraftRouteFlight.c](../addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c).
Successor: [ERR_AircraftService.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftService.c), [ERR_AircraftFlight.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFlight.c), [ERR_AircraftRouteFlight.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftRouteFlight.c).
Evidence boundary: isolated20m flight only; no operational recon. Asset scope: vanilla Mi8 candidate; original recon wrapper must be rebuilt.
@@ -274,7 +274,7 @@ Original: [EAI_HelicopterAvailability.c](/home/jakub/devel/escapists/escapists-a
Behavior: 20s startup grace;60s prolonged grounding; separate damage/pilot/takeover states; stable landing; obstacle/friendly pad holds; temporary active crew detail and lock release.
Successor: [ERR_HelicopterAvailability.c](../addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c), [ERR_AircraftService.c](../addons/ai/Scripts/Game/ERR/ERR_AircraftService.c), [ERR_AircraftFlightEnvelope.c](../addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.c).
Successor: [ERR_HelicopterAvailability.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HelicopterAvailability.c), [ERR_AircraftService.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftService.c), [ERR_AircraftFlightEnvelope.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_AircraftFlightEnvelope.c).
Evidence boundary: native vertical/20m mechanisms; broader airborne operation unqualified. Asset scope: vanilla.
@@ -294,7 +294,7 @@ Original: [EAI_Resupply.c](/home/jakub/devel/escapists/escapists-ai/Scripts/Game
Behavior: One request per group; refresh destination from delivered status; one truck+one transportMi8; rotate4queue entries/30s; prefer air beyond2.5km/no road/stalled truck;15s unloading/60m living recipient range;3min expiry/retry;15min destroyed-carrier replacement; surviving carrier reuse.
Successor: [ERR_MortarLogistics.c](../addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c), [ERR_MortarCourierTransfer.c](../addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c), [ERR_MortarSupplyTransfer.c](../addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.c).
Successor: [ERR_MortarLogistics.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarLogistics.c), [ERR_MortarCourierTransfer.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarCourierTransfer.c), [ERR_MortarSupplyTransfer.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSupplyTransfer.c).
Evidence boundary: native finite courier transfer; not vehicle logistics. Asset scope: vanilla.
@@ -344,7 +344,7 @@ Original: [EAI_MortarSystem.c](/home/jakub/devel/escapists/escapists-ai/Scripts/
Behavior: Four quadrant sites;3crew+RTO;27physicalHE each; incremental16placement candidates/5s; terrain/road/spacing safety;2min quadrant fallback; no loss respawn.
Successor: [ERR_MortarSystem.c](../addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c), [ERR_MortarReadiness.c](../addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c).
Successor: [ERR_MortarSystem.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSystem.c), [ERR_MortarReadiness.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarReadiness.c).
Evidence boundary: native one-battery readiness and transfer. Asset scope: vanilla.
@@ -354,7 +354,7 @@ Original: [EAI_MortarPrediction.c](/home/jakub/devel/escapists/escapists-ai/Scri
Behavior: HQ-delivered<=60s snapshots; native aim/charge/flight solve; road-bounded velocity projection<=90s/1800m;8shot salvo/40m spread; actual projectile accounting; refreshed reports; final-transfer revalidation;120s deadline; stale/no-ammo/capture cancellation.
Successor: [ERR_MortarPrediction.c](../addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c), [ERR_MortarSystem.c](../addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c), [ERR_MortarSalvo.c](../addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c), [ERR_MortarFiring.c](../addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c), [ERR_MortarReportLedger.c](../addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.c).
Successor: [ERR_MortarPrediction.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarPrediction.c), [ERR_MortarSystem.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSystem.c), [ERR_MortarSalvo.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSalvo.c), [ERR_MortarFiring.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarFiring.c), [ERR_MortarReportLedger.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarReportLedger.c).
Evidence boundary: native8actualprojectiles55assertions; stale expiry48assertions. Asset scope: vanilla.
@@ -364,7 +364,7 @@ Original: [EAI_SettlementSafety.c](/home/jakub/devel/escapists/escapists-ai/Scri
Behavior: 200m settlement exclusion;100m predicted friendly-path buffer; per-shell repeated checks; cached identical positions; aircraft/drop600m reservation through flight impact+10s.
Successor: [ERR_SettlementSafety.c](../addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c), [ERR_MortarPrediction.c](../addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c), [ERR_MortarSystem.c](../addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c).
Successor: [ERR_SettlementSafety.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_SettlementSafety.c), [ERR_MortarPrediction.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarPrediction.c), [ERR_MortarSystem.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_MortarSystem.c).
Evidence boundary: native firing safety gates; not full combined-arms qualification. Asset scope: vanilla.
@@ -374,7 +374,7 @@ Original: [EAI_Performance.c](/home/jakub/devel/escapists/escapists-ai/Scripts/G
Behavior: Bounded radio spatial graph; staggered30s ammo scans; system timing; cargo-only sleeping beyond1.5km; drivers/gunners active; reboard/combat wakes; preserve normal detail after stop.
Successor: [ERR_HQNetwork.c](../addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c), [compare_performance.py](../tools/compare_performance.py).
Successor: [ERR_HQNetwork.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQNetwork.c), [compare_performance.py](../tools/compare_performance.py).
Evidence boundary: policy/runtime component bounds; no FPS improvement. Asset scope: vanilla.
@@ -384,7 +384,7 @@ Original: [EAI_DisableAmbientEvents.c](/home/jakub/devel/escapists/escapists-ai/
Behavior: Suppress original random ambient events; no virtual mortar/rocket barrages; HQ coordinates strategic response while native tactical combat continues.
Successor: [ERR_HQ.c](../addons/ai/Scripts/Game/ERR/ERR_HQ.c), [ERR_ScenarioComponent.c](../addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c).
Successor: [ERR_HQ.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c), [ERR_ScenarioComponent.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_ScenarioComponent.c).
Evidence boundary: independent packed Core/Chat startup. Asset scope: vanilla.
@@ -394,7 +394,7 @@ Original: [EAI_FactionRelations.c](/home/jakub/devel/escapists/escapists-ai/Scri
Behavior: Normalize US/UK->NATO and USSR->USSR_NI aliases after every-member checks; exclude players/slaves/mixed unrelated/civilian/selectedside conflicts; late member support.
Successor: [ERR_FactionCatalog.c](../addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c), [ERR_HQ.c](../addons/ai/Scripts/Game/ERR/ERR_HQ.c).
Successor: [ERR_FactionCatalog.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_FactionCatalog.c), [ERR_HQ.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c).
Evidence boundary: vanilla runtime only. Asset scope: RHS/composite-original catalog dependencies not migrated.
@@ -404,7 +404,7 @@ Original: [EAI_ImprovisedPrisons.c](/home/jakub/devel/escapists/escapists-ai/Scr
Behavior: Random clear10x10m concrete camp;<=0.6m terrain variation;3–5guards/16spawnpositions; native metaldoor;5pistols/8sparemagazines finite backpack;>=1500mairfield/12mroad clearance;12000boundedcandidate search/fallback.
Successor: [ERR_PrisonEscapeService.c](../addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c), [ERR_SiteService.c](../addons/core/Scripts/Game/ERR/ERR_SiteService.c), [EveronSites.conf](../addons/core/Configs/ERR/EveronSites.conf).
Successor: [ERR_PrisonEscapeService.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_PrisonEscapeService.c), [ERR_SiteService.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_SiteService.c), [EveronSites.conf](../addons/core/Configs/ERR/EveronSites.conf).
Evidence boundary: native base loop; ordinary full human route still pending. Asset scope: vanilla.
@@ -424,7 +424,7 @@ Original: [EAI_StartingOutfit.c](/home/jakub/devel/escapists/escapists-ai/Script
Behavior: One-time delayed equipped helmet/jacket after spawn; latejoin/respawn; preserve other equipment; no ongoing re-equip.
Successor: [ERR_SpawnLogic.c](../addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c), [ERR_AdminPlayerTools.c](../addons/core/Scripts/Game/ERR/ERR_AdminPlayerTools.c), [Prisoner.et](../addons/core/Prefabs/ERR/Prisoner.et).
Successor: [ERR_SpawnLogic.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c), [ERR_AdminPlayerTools.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_AdminPlayerTools.c), [Prisoner.et](../addons/core/Prefabs/ERR/Prisoner.et).
Evidence boundary: native prisoner kit + admin utilities. Asset scope: owned Escapists-Patch custom skull outfit; vanilla PASGT/BDU available.
@@ -454,7 +454,7 @@ Original: [EAI_DependencyGuards.c](/home/jakub/devel/escapists/escapists-ai/Scri
Behavior: Null-controller delayed spawn guards; stale defend-waypoint guard; tooltip lifetime guard; original civilian random bounds/head collider bounds; arsenal replication startup guard; invalid supportstation setup; enhanced default-magazine probe cleanup.
Successor: [ERR_SpawnLogic.c](../addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c), [ERR_InitialGuardRules.c](../addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c).
Successor: [ERR_SpawnLogic.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c), [ERR_InitialGuardRules.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_InitialGuardRules.c).
Evidence boundary: successor spawn/admission and teardown fixtures. Asset scope: original Escapists/Enhanced hooks intentionally absent.
@@ -474,7 +474,7 @@ Original: [EAI_HQJournal.c](/home/jakub/devel/escapists/escapists-ai/Scripts/Gam
Behavior: Session/message/sequence correlation;300recentlines/4096pending;5MiB rotation;30s file retry; gap notices; chat8entries/2s; menu40entries/1s; pause/latest/scroll state.
Successor: [ERR_HQJournal.c](../addons/ai/Scripts/Game/ERR/ERR_HQJournal.c), [ERR_HQAdminProvider.c](../addons/ai/Scripts/Game/ERR/ERR_HQAdminProvider.c), [ERR_AdminSession.c](../addons/core/Scripts/Game/ERR/ERR_AdminSession.c), [ERR_AdminMenu.c](../addons/core/Scripts/Game/ERR/ERR_AdminMenu.c).
Successor: [ERR_HQJournal.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQJournal.c), [ERR_HQAdminProvider.c](../addons/core/Scripts/Game/ERR/10_AI/ERR_HQAdminProvider.c), [ERR_AdminSession.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_AdminSession.c), [ERR_AdminMenu.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c).
Evidence boundary: native menu/journal fixture + packaged startup. Asset scope: vanilla.
@@ -484,7 +484,7 @@ Original: [EAI_GroupLookup.c](/home/jakub/devel/escapists/escapists-ai/Scripts/G
Behavior: Catalog-backed physical group composition.
Successor: [ERR_FactionCatalog.c](../addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c).
Successor: [ERR_FactionCatalog.c](../addons/core/Scripts/Game/ERR/00_Core/ERR_FactionCatalog.c).
Evidence boundary: vanilla startup only. Asset scope: excluded protected-derived source.