Capture current mission, AI, map and administration development

Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
This commit is contained in:
2026-10-13 22:52:53 +02:00
parent a951a96edc
commit 6a667d8deb
8104 changed files with 2124945 additions and 2061 deletions
@@ -0,0 +1,138 @@
---------------------------------------------
Log /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/logs/logs_2026-10-05_19-27-14/console.log started at 2026-10-05 19:27:14 (2026-10-05 17:27:14 UTC)
19:27:14.079 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/logs/logs_2026-10-05_19-27-14' to filesystem under name logs
19:27:14.079 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/profile' to filesystem under name profile
19:27:14.079 ENGINE : FileSystem: Current working directory: '/tmp/runtime/'
19:27:14.080 ENGINE : Initializing engine, version 192142
19:27:14.080 ENGINE : CLI Params: -server {C1E20667DCE324ED}Missions/ERR_Everon.conf -addonsDir /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons -addons 2528466DE220D91C,70C981A53E02B64F -profile /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile -noBackend -noSound -bindIP 127.0.0.1 -bindPort 2001 -maxFPS 30 -logconsole -noSplash -noThrow -disableCrashReporter
19:27:14.083 ENGINE : Addon dirs:
19:27:14.083 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons'
19:27:14.083 ENGINE : dir: './addons'
19:27:14.083 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/addons'
19:27:14.083 ENGINE : Available addons:
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:27:14.083 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
19:27:14.083 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
19:27:14.083 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/gabreta/addons/NogovaReforger' to filesystem under name NogovaReforger
19:27:14.083 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/source' to filesystem under name ERR_Core
19:27:14.084 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_65930CB4CD0237B2/' (pak count: 1) to filesystem under name Parachutes
19:27:14.084 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
19:27:14.084 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
19:27:14.085 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
19:27:14.089 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
19:27:14.089 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
19:27:14.092 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
19:27:14.181 ENGINE : FileSystem: Adding package './addons/data/' (pak count: 14) to filesystem under name ArmaReforger
19:27:14.182 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
19:27:14.182 ENGINE : CPU vendor : AuthenticAMD
19:27:14.182 ENGINE : CPU type : 2
19:27:14.182 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
19:27:14.182 ENGINE : CPU cache info : Unknown cache
19:27:14.182 ENGINE : CPU count logical : 16
19:27:14.182 ENGINE : CPU count physical : 8
19:27:14.182 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
19:27:14.182 RESOURCES : ResourceDB: loading cache (id=0 name=NogovaReforger path=/home/jakub/devel/gabreta/addons/NogovaReforger/resourceDatabase.rdb)
19:27:14.192 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/source/resourceDatabase.rdb)
19:27:14.192 RESOURCES : ResourceDB: loading cache (id=2 name=Parachutes path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_65930CB4CD0237B2/resourceDatabase.rdb)
19:27:14.192 RESOURCES : ResourceDB: loading cache (id=3 name=WCS_BMP-1 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
19:27:14.193 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_SpaceCore path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
19:27:14.193 RESOURCES : ResourceDB: loading cache (id=5 name=WCS_Armaments path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
19:27:14.195 RESOURCES : ResourceDB: loading cache (id=6 name=RHS_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
19:27:14.205 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Content_02 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
19:27:14.206 RESOURCES : ResourceDB: loading cache (id=8 name=RHS_Content_01 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
19:27:14.211 RESOURCES : ResourceDB: loading cache (id=9 name=ArmaReforger path=./addons/data/resourceDatabase.rdb)
19:27:14.335 RESOURCES : ResourceDB: loading cache (id=10 name=core path=./addons/core/resourceDatabase.rdb)
19:27:14.337 RESOURCES : ResourceDB: loading cache (id=11 name=profile path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/profile/resourceDatabase.rdb)
19:27:14.337 RESOURCES : ResourceDB: loading cache (id=12 name=logs path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/logs/logs_2026-10-05_19-27-14/resourceDatabase.rdb)
19:27:14.527 ENGINE : GameProject load
19:27:14.527 ENGINE : Loaded addons:
19:27:14.527 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
19:27:14.527 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:27:14.528 ENGINE : GameProject load
19:27:14.528 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_595F2BF2F44836FB/addon.gproj"
19:27:14.528 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
19:27:14.528 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_629B2BA37EFFD577/addon.gproj"
19:27:14.528 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
19:27:14.528 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
19:27:14.528 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
19:27:14.528 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
19:27:14.528 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
19:27:14.529 ENGINE : Loading custom engine user config '$profile:.save/settings/ReforgerEngineSettings.conf'
19:27:14.529 ENGINE : No Enfusion settings file loaded. Continuing with defaults
19:27:14.529 RENDER : Basic screen setup:
19:27:14.529 RENDER : Back buffer width x height: 0x0
19:27:14.529 RENDER : Back buffer format : TEXFMT_UNKNOWN (0)
19:27:14.529 RENDER : MSAA : none
19:27:14.529 RENDER : GPU_DUMMY (0xFFFF) (Enfusion dummy render) with 1 GPU detected, VRAM 128MB (fast 128MB), shared 128MB, driver version Unknown version
19:27:14.529 RENDER : Detected output devices:
19:27:14.529 RENDER : * 1 device/s connected to Dummy:
19:27:14.529 RENDER : Dummy output (Dummy device for our dummy render.), 1920x1080 (offset 0x0), 60Hz
19:27:14.529 RENDER : Concurrent frames limit 2
19:27:14.529 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=7
19:27:14.542 PROFILING : Settings changed took: 0.021000 ms
19:27:14.544 ENGINE : Initializing inputs.
19:27:14.551 NETWORK : Initializing networking.
19:27:14.551 NETWORK : Using new GameRplScheduler.
19:27:14.551 SCRIPT : SCRIPT : Initializing scripts
19:27:14.551 SCRIPT : SCRIPT : ScriptProjectManager init
19:27:14.552 PROFILING : ScriptProjectManager init took: 0.008000 ms
19:27:14.567 PROFILING : Initializing scripts took: 15.976000 ms
19:27:14.568 BACKEND : Backend Services are disabled.
19:27:14.568 ENGINE : Enfusion engine successfully created.
19:27:14.570 GUI : Using default language (en_us)
19:27:14.570 GUI : Loading 'en_us' localization file.
19:27:14.570 INIT : INIT : Loading StringTable
19:27:14.593 PROFILING : Loading StringTable took: 23.074000 ms
19:27:14.594 SCRIPT : SCRIPT : Compiling GameLib scripts
19:27:14.621 SCRIPT : Module: GameLib; loaded 466x files; 608x classes; used 654K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
19:27:14.622 PROFILING : Compiling GameLib scripts took: 28.048000 ms
19:27:14.622 SCRIPT : SCRIPT : Compiling Game scripts
19:27:15.193 SCRIPT : Compiling Game scripts
19:27:15.193 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables
19:27:15.554 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
19:27:15.554 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
19:27:15.831 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,359": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:27:15.847 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
19:27:15.889 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
19:27:16.043 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
19:27:16.043 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
19:27:16.043 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
19:27:16.043 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
19:27:16.076 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
19:27:16.124 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
19:27:16.134 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
19:27:16.134 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
19:27:16.136 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
19:27:16.189 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:27:16.190 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:27:16.193 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
19:27:16.193 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
19:27:16.266 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
19:27:16.439 SCRIPT : Module: Game; loaded 6730x files; 13503x classes; used 33419K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS,WCS_DEFINES_SPACECORE"; CRC32: 0882e2c2
19:27:16.458 PROFILING : Compiling Game scripts took: 1836.076000 ms
19:27:16.458 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
19:27:16.486 ENGINE : Game successfully created.
19:27:16.552 PLATFORM : Save data from container 'settings' have been loaded
19:27:16.651 PLATFORM : Save data from container 'sessions' have been loaded
19:27:16.651 PLATFORM : System language differs from the saved one - using new language {new: 'en_us'; old: ''}
19:27:16.651 PLATFORM : Save data transaction to 'settings' started.
19:27:16.652 NETWORK : Starting local multiplayer server using command line args.
19:27:16.741 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{C1E20667DCE324ED}Missions/ERR_Everon.conf'.
@@ -0,0 +1,109 @@
modded class SCR_ChimeraAIAgent
{
void ProbeHuntRelease() { ERR_PrisonPhaseChanged(ERR_Phase.PRISON, ERR_Phase.RADIO_SEARCH); SetPermanentLOD(0); ActivateAI(); }
}
modded class ERR_HunterService
{
ERR_HunterVehicle ProbeHuntUnit(vector position, vector angles, int ordinal)
{
ERR_HunterVehicle unit = new ERR_HunterVehicle(); unit.Source = "hunt-probe-" + ordinal.ToString();
unit.TroopTransport = ordinal == 2;
unit.Entity = Vehicle.Cast(ERR_Actors.Spawn(ERR_HunterFleetRules.VehiclePrefab(ordinal), position, angles));
unit.Group = SCR_AIGroup.Cast(ERR_Actors.Spawn(ERR_ConvoyResources.GroupPrefab(), position));
if (!unit.Entity || !unit.Group || !FillCrew(unit)) return null;
unit.Group.SetPermanentLOD(0); unit.Group.ActivateAI();
return unit;
}
}
modded class ERR_HunterTactics
{
bool ProbeHuntBegin(float now)
{
foreach (IEntity member : Unit.Members)
{
AIControlComponent control = AIControlComponent.Cast(member.FindComponent(AIControlComponent));
SCR_ChimeraAIAgent agent = SCR_ChimeraAIAgent.Cast(control.GetControlAIAgent()); if (agent) agent.ProbeHuntRelease();
}
SCR_AIGroupUtilityComponent utility = Unit.Group.GetGroupUtilityComponent();
SCR_AIVehicleUsageComponent usage = SCR_AIVehicleUsageComponent.Cast(Unit.Entity.FindComponent(SCR_AIVehicleUsageComponent));
if (utility && usage) utility.AddUsableVehicle(usage);
if (!Move(Stage, 35)) return false;
Delivered = true; State = 1; Deadline = now + ERR_HunterAttackRules.ManeuverBudget(m_TravelDistance);
m_ApproachStarted = now; m_ApproachProgress = now; m_ApproachPosition = Unit.Entity.GetOrigin();
if (Role == 0) foreach (IEntity crew : Unit.Members) ERR_ConvoyMountedCrew.Hold(crew, Unit.Entity);
return true;
}
}
modded class ArmaReforgerScripted
{
protected ref ERR_HunterOpeningPlan m_HuntPlan;
protected ref ERR_HunterService m_HuntService;
protected ref ERR_HunterAttack m_HuntAttack;
protected ref array<ref ERR_HunterVehicle> m_HuntUnits = {};
protected ref array<vector> m_HuntStarts = {};
protected int m_HuntPhase;
protected float m_HuntNext;
protected float m_HuntStarted;
override void OnUpdate(BaseWorld world, float timeslice)
{
super.OnUpdate(world, timeslice);
ERR_GameMode mode = ERR_GameMode.Get();
if (!mode || mode.Phase() < ERR_Phase.PRISON || m_HuntPhase == 3) return;
float now = world.GetWorldTime(); if (now < m_HuntNext) return; m_HuntNext = now + 1000;
if (m_HuntPhase == 0)
{
if (!m_HuntPlan)
{
vector center, angles;
if (!ERR_SupplyConvoySystem.ApproachDirected("6880 0 3500", center, angles, 500))
{ Print("ERR HUNT FAILED test contact road"); m_HuntPhase = 3; return; }
PrintFormat("ERR HUNT CONTACT: point=%1 water=%2", center, ChimeraWorldUtils.TryGetWaterSurfaceSimple(world, center));
m_HuntPlan = new ERR_HunterOpeningPlan(center, 1000);
}
array<IEntity> players = {}; m_HuntPlan.Step(players); if (!m_HuntPlan.Done()) return;
if (!m_HuntPlan.Ready()) { Print("ERR HUNT FAILED opening"); m_HuntPhase = 3; return; }
m_HuntService = new ERR_HunterService(mode, null);
for (int i = 0; i < 3; i++)
{
ERR_HunterVehicle unit = m_HuntService.ProbeHuntUnit(m_HuntPlan.Positions[i], m_HuntPlan.Angles[i], i);
if (!unit) { Print("ERR HUNT FAILED crew"); m_HuntPhase = 3; return; }
m_HuntUnits.Insert(unit); m_HuntStarts.Insert(unit.Entity.GetOrigin());
}
m_HuntPhase = 1; m_HuntNext = now + 10000; return;
}
if (m_HuntPhase == 1)
{
m_HuntAttack = new ERR_HunterAttack(); m_HuntAttack.ReportPosition = m_HuntPlan.Center; m_HuntAttack.Started = now;
m_HuntAttack.Forward = ERR_MountedCover.Approach(m_HuntUnits[0].Entity.GetOrigin(), m_HuntAttack.ReportPosition, "0 0 1");
array<vector> occupied = {};
for (int n = 0; n < m_HuntUnits.Count(); n++)
{
ERR_HunterTactics team = new ERR_HunterTactics(mode, m_HuntUnits[n], m_HuntAttack, n);
PrintFormat("ERR HUNT READY: role=%1 living=%2 crewValid=%3 members=%4", n, team.Living(), m_HuntUnits[n].CrewValid(mode), m_HuntUnits[n].Members.Count());
vector forward = ERR_MountedCover.Approach(m_HuntStarts[n], m_HuntAttack.ReportPosition, m_HuntAttack.Forward);
vector seed = ERR_Actors.Ground(m_HuntAttack.ReportPosition - forward * 260);
ERR_ConvoyPlacement placement = new ERR_ConvoyPlacement();
bool spawnFlat = placement.Clear(seed, ERR_ForceRules.Heading(seed, m_HuntAttack.ReportPosition, 0));
string spawnReason = placement.Diagnostic();
bool stageClear = placement.Clear(seed, ERR_ForceRules.Heading(seed, m_HuntAttack.ReportPosition, 0), 2.5);
PrintFormat("ERR HUNT SURFACE: role=%1 spawnFlat=%2 stageClear=%3 previous=%4 staging=%5", n, spawnFlat, stageClear, spawnReason, placement.Diagnostic());
bool planned = team.Plan(occupied);
bool ownSide = vector.Dot(team.Stage - m_HuntAttack.ReportPosition, m_HuntStarts[n] - m_HuntAttack.ReportPosition) > 0;
bool lane = ERR_MountedCover.ClearLane(m_HuntUnits[n].Entity, team.Stage, m_HuntAttack.ReportPosition);
PrintFormat("ERR HUNT PLAN: role=%1 planned=%2 ownSide=%3 lane=%4 start=%5 stage=%6", n, planned, ownSide, lane, m_HuntStarts[n], team.Stage);
if (!planned) continue;
occupied.Insert(team.Stage); m_HuntAttack.Teams.Insert(team);
bool began = team.ProbeHuntBegin(now); PrintFormat("ERR HUNT BEGIN: role=%1 began=%2", n, began);
}
m_HuntStarted = now; m_HuntPhase = 2; return;
}
foreach (ERR_HunterTactics active : m_HuntAttack.Teams) active.Tick(ERR_HQ.Cast(mode.Command()), now);
if (now - m_HuntStarted < 120000) return;
foreach (ERR_HunterTactics finalTeam : m_HuntAttack.Teams)
{
PrintFormat("ERR HUNT MOVEMENT: role=%1 moved=%2 state=%3 stopped=%4", finalTeam.Role, vector.DistanceXZ(finalTeam.Unit.Entity.GetOrigin(), m_HuntStarts[finalTeam.Role]), finalTeam.State, finalTeam.Stopped);
finalTeam.Stop();
}
Print("ERR HUNT COMPLETE"); m_HuntPhase = 3;
}
}
@@ -0,0 +1 @@
{"reason": "compiled", "exit": -15}