Enable finite automatic convoy startup and scoped gunner skill

This commit is contained in:
2026-09-20 08:23:19 +02:00
parent 782c163c68
commit 5bd66d76ca
44 changed files with 3694 additions and 48 deletions
@@ -0,0 +1,42 @@
// A one-shot policy driven by the existing HQ tick, never a spawn/replacement clock.
class ERR_ConvoyStartup
{
protected bool m_Enabled;
protected bool m_Finished;
protected float m_Began = -1;
protected float m_Last = -1;
protected float m_Next;
protected string m_State;
void ERR_ConvoyStartup(bool enabled)
{
m_Enabled = enabled;
m_Finished = !enabled;
m_State = "waiting for active round";
if (!enabled) m_State = "disabled for this round";
}
bool Enabled() { return m_Enabled; }
string Status() { return m_State; }
bool Finished() { return m_Finished; }
bool Decide(float now, bool existingTask, bool admitted)
{
if (m_Finished || !ERR_ForceRules.Finite(now) || now < 0 || now < m_Last) return false;
m_Last = now;
if (existingTask) { m_Finished = true; m_State = "existing canonical convoy retained"; return false; }
if (m_Began < 0) { m_Began = now; m_Next = now + 30000; m_State = "startup grace"; }
if (now < m_Next) return false;
m_Next = now + 5000;
if (now - m_Began >= 120000)
{ m_Finished = true; m_State = "startup admission deadline expired"; return false; }
if (!admitted) { m_State = "waiting for existing force admission"; return false; }
// Latch before native road survey/dispatch: refusals and losses never retry.
m_Finished = true; m_State = "single dispatch attempt";
return true;
}
void Complete(bool accepted)
{
if (m_State != "single dispatch attempt") return;
m_State = "dispatch refused; no automatic retry";
if (accepted) m_State = "canonical convoy dispatched";
}
void Stop() { m_Finished = true; m_State = "round stopped"; }
}
@@ -7,7 +7,7 @@ class ERR_EnemyEquipmentRules
if (!Replication.IsServer() || SCR_Global.IsEditMode() || !mode || mode != ERR_GameMode.Get() || !mode.Active()) return false;
if (!group || !actor || !ERR_Actors.CanFight(actor) || ERR_Actors.Player(actor) || ERR_Actors.Group(actor) != group) return false;
SCR_AIGroupUtilityComponent utility = group.GetGroupUtilityComponent();
return utility && utility.IsMilitary() && group.GetPlayerCount(true) == 0 && group.GetFaction() == mode.EnemyFaction();
return utility && utility.IsMilitary() && group.GetPlayerCount(true) == 0 && group.GetFaction() == mode.EnemyFaction() && !ERR_EnemyGunnerSkill.CapturedGroup(mode, group);
}
static EAISkill Floor(EAISkill skill)
{
@@ -22,12 +22,19 @@ modded class SCR_AICombatComponent
protected ERR_GameMode m_ERRSkillMode;
protected SCR_AIGroup m_ERRSkillGroup;
protected EAISkill m_ERRPreviousSkill;
protected EAISkill m_ERRRequestedSkill;
void ERR_BindEnemySkill(ERR_GameMode mode, SCR_AIGroup group)
{
if (!ERR_EnemyEquipmentRules.Eligible(mode, group, GetOwner())) return;
if (!m_ERRSkillMode) m_ERRPreviousSkill = GetAISkill();
if (!m_ERRSkillMode) { m_ERRPreviousSkill = GetAISkill(); m_ERRRequestedSkill = GetAISkill(); }
m_ERRSkillMode = mode; m_ERRSkillGroup = group;
SetAISkill(GetAISkill());
ERR_RefreshEnemySkill();
}
void ERR_RefreshEnemySkill()
{
if (!m_ERRSkillMode || !ERR_EnemyEquipmentRules.Eligible(m_ERRSkillMode, m_ERRSkillGroup, GetOwner())) return;
EAISkill skill = ERR_EnemyGunnerSkill.Profile(m_ERRRequestedSkill, ERR_EnemyGunnerSkill.OriginalGunner(m_ERRSkillMode, m_ERRSkillGroup, GetOwner()));
if (GetAISkill() != skill) super.SetAISkill(skill);
}
void ERR_ReleaseEnemySkill(ERR_GameMode mode)
{
@@ -37,7 +44,11 @@ modded class SCR_AICombatComponent
}
override void SetAISkill(EAISkill skill)
{
if (m_ERRSkillMode && ERR_EnemyEquipmentRules.Eligible(m_ERRSkillMode, m_ERRSkillGroup, GetOwner())) skill = ERR_EnemyEquipmentRules.Floor(skill);
if (m_ERRSkillMode && ERR_EnemyEquipmentRules.Eligible(m_ERRSkillMode, m_ERRSkillGroup, GetOwner()))
{
m_ERRRequestedSkill = skill;
skill = ERR_EnemyGunnerSkill.Profile(skill, ERR_EnemyGunnerSkill.OriginalGunner(m_ERRSkillMode, m_ERRSkillGroup, GetOwner()));
}
super.SetAISkill(skill);
}
override void ResetAISkill()
@@ -203,6 +214,7 @@ class ERR_EnemyEquipment
entry.Combat = SCR_AICombatComponent.Cast(entry.Actor.FindComponent(SCR_AICombatComponent));
if (entry.Combat) entry.Combat.ERR_BindEnemySkill(m_Mode, entry.Group);
}
if (entry.Combat) entry.Combat.ERR_RefreshEnemySkill();
entry.Check(m_Mode);
if (entry.Optics) entry.Optics.Check(m_Mode);
}
@@ -0,0 +1,48 @@
// Scoped skill specialization for original physical convoy turret occupants.
// Owned extension and inspected vanilla API provenance: docs/ai-equipment-migration.md.
class ERR_EnemyGunnerSkill
{
static bool CapturedGroup(ERR_GameMode mode, SCR_AIGroup group)
{
if (!mode || !group) return false;
ERR_HQ hq = ERR_HQ.Cast(mode.Command());
if (!hq) return false;
ERR_ConvoyTask task = hq.ConvoyTask();
if (!task || task.Vehicles.Count() > 6) return false;
foreach (ERR_ConvoyVehicle unit : task.Vehicles)
if (unit && unit.Group == group && ERR_ConvoyRules.Captured(unit.Entity, group)) return true;
return false;
}
static bool OriginalGunner(ERR_GameMode mode, SCR_AIGroup group, IEntity actor)
{
if (!ERR_EnemyEquipmentRules.Eligible(mode, group, actor)) return false;
ERR_HQ hq = ERR_HQ.Cast(mode.Command());
if (!hq) return false;
ERR_ConvoyTask task = hq.ConvoyTask();
if (!task || !task.Ready || task.Stopped || !task.Receipt || !task.Receipt.Consumed || task.Vehicles.Count() > 6 || !mode.Forces()) return false;
foreach (ERR_ConvoyVehicle unit : task.Vehicles)
{
if (!unit || unit.Group != group || !unit.Registered || unit.Released || !unit.Entity || !ERR_Actors.Alive(unit.Entity)) continue;
if (unit.Index < 0 || unit.Index >= task.Receipt.Records.Count() || unit.Members.Count() > 16 || unit.Members.Count() != unit.Seats.Count()) return false;
ERR_ForceRecord record = mode.Forces().FindGroup(group);
if (!record || !record.Physical || record.Eliminated || record.Kind != ERR_ForceKind.CONVOY || record.Id != task.Receipt.Records[unit.Index]) return false;
if (ERR_ConvoyRules.Captured(unit.Entity, group)) return false;
for (int i = 0; i < unit.Members.Count(); i++)
{
if (unit.Members[i] != actor) continue;
BaseCompartmentSlot slot = unit.Seats[i];
return slot && TurretCompartmentSlot.Cast(slot) && slot.GetType() == ECompartmentType.TURRET
&& slot.GetOccupant() == actor && slot.GetVehicle() == unit.Entity
&& ERR_ConvoyRules.PartOf(CompartmentAccessComponent.GetVehicleIn(actor), unit.Entity);
}
return false;
}
return false;
}
static EAISkill Profile(EAISkill requested, bool originalGunner)
{
EAISkill skill = ERR_EnemyEquipmentRules.Floor(requested);
if (originalGunner && skill < EAISkill.CYLON) return EAISkill.CYLON;
return skill;
}
}
+26 -1
View File
@@ -98,6 +98,7 @@ class ERR_HQ : ERR_CommandService
protected ref ERR_HQWatch m_Watch = new ERR_HQWatch();
protected ref ERR_MortarLogistics m_Logistics;
protected ref ERR_InfantryResupply m_Resupply;
protected ref ERR_ConvoyStartup m_ConvoyStartup;
protected ref array<ref ERR_HQUnit> m_Units = {};
protected ref array<ref ERR_HQReport> m_Contacts = {};
protected ref ERR_HQMemory m_Memory = new ERR_HQMemory();
@@ -111,7 +112,7 @@ class ERR_HQ : ERR_CommandService
protected float m_NextNetwork;
protected float m_NextAssignment;
void ERR_HQ(ERR_GameMode mode) { m_Mode = mode; m_Equipment = new ERR_EnemyEquipment(mode); m_ConvoyPool = new ERR_ConvoyPool(mode, 1); m_Convoys = new ERR_ConvoyService(mode, m_ConvoyPool); m_Mortars = new ERR_MortarSystem(this); m_Logistics = new ERR_MortarLogistics(this, mode); m_Resupply = new ERR_InfantryResupply(this, mode); }
void ERR_HQ(ERR_GameMode mode) { m_Mode = mode; m_Equipment = new ERR_EnemyEquipment(mode); m_ConvoyPool = new ERR_ConvoyPool(mode, 1); m_Convoys = new ERR_ConvoyService(mode, m_ConvoyPool); m_Mortars = new ERR_MortarSystem(this); m_Logistics = new ERR_MortarLogistics(this, mode); m_Resupply = new ERR_InfantryResupply(this, mode); m_ConvoyStartup = new ERR_ConvoyStartup(mode.Settings().Get("automaticConvoyEnabled") == 1); }
static ERR_HQ Get()
{
ERR_GameMode mode = ERR_GameMode.Get();
@@ -128,6 +129,7 @@ class ERR_HQ : ERR_CommandService
ERR_HQ hq = Get();
if (hq) hq.Journal().Write(kind, message, messageId);
}
ERR_ConvoyStartup ConvoyStartup() { return m_ConvoyStartup; }
ERR_ConvoyPool ConvoyPool() { return m_ConvoyPool; }
ERR_ConvoyService Convoys() { return m_Convoys; }
ERR_ConvoyTask ConvoyTask() { return m_ConvoyTask; }
@@ -172,6 +174,26 @@ class ERR_HQ : ERR_CommandService
m_ConvoyFailure = "";
return !m_ConvoyTask.Stopped;
}
protected bool ConvoyAdmissionReady()
{
if (m_Units.IsEmpty() || !m_Mode.Forces()) return false;
foreach (ERR_HQUnit unit : m_Units)
if (unit.Group && !m_Mode.Forces().FindGroup(unit.Group)) return false;
array<ref ERR_MortarBattery> batteries = {}; m_Mortars.Batteries(batteries);
foreach (ERR_MortarBattery battery : batteries)
if (battery && !battery.Stopped() && !battery.StartupActivated) return false;
return true;
}
protected void AutomaticConvoy(float now)
{
if (!Replication.IsServer() || !m_Mode || m_Mode != ERR_GameMode.Get() || !m_Mode.Active()) return;
if (!m_ConvoyStartup || m_ConvoyStartup.Finished()) return;
string previous = m_ConvoyStartup.Status();
if (m_ConvoyStartup.Decide(now, m_ConvoyTask != null, ConvoyAdmissionReady()))
m_ConvoyStartup.Complete(StartScenarioConvoy());
if (previous != m_ConvoyStartup.Status())
m_Journal.Write("CONVOY STARTUP", m_ConvoyStartup.Status() + "; " + m_ConvoyFailure);
}
bool StartScenarioConvoy()
{
if (!m_Mode || !m_Mode.Sites()) return false;
@@ -182,6 +204,7 @@ class ERR_HQ : ERR_CommandService
string ConvoyStatus()
{
string detail = m_Convoys.Status();
if (m_ConvoyStartup) detail += "; automatic startup: " + m_ConvoyStartup.Status();
if (!m_ConvoyFailure.IsEmpty()) detail += "; " + m_ConvoyFailure;
return detail;
}
@@ -979,6 +1002,7 @@ class ERR_HQ : ERR_CommandService
m_Memory.Tick(now);
m_Equipment.Tick(now);
m_Convoys.Tick(now);
AutomaticConvoy(now);
m_Bodies.TickBudget(now);
if (now >= m_NextNetwork) { IndexRadios(); m_NextNetwork = now + 5000; }
for (int i = m_Contacts.Count() - 1; i >= 0; i--)
@@ -1022,6 +1046,7 @@ class ERR_HQ : ERR_CommandService
override void Stop()
{
m_ConvoyStartup.Stop();
m_Resupply.Stop();
m_Convoys.Stop();
m_Equipment.Stop();
@@ -40,8 +40,29 @@ class ERR_HQAdminProvider : ERR_AdminProvider
else if (parts.Count() == 3 && parts[2] == "help") replies.Insert(range + ". " + effect);
else replies.Insert("Invalid value or settings could not be saved; previous setting retained. " + range + ". " + effect);
}
// HQ snapshots this saved switch at round creation. Admin changes never
// dispatch, cancel, refund or retry the current round's canonical convoy.
protected void ConvoyAutoSetting(ERR_GameMode mode, array<string> parts, array<string> replies)
{
string key = "automaticConvoyEnabled";
string effect = "Applies next round only; current startup and manual convoy start unchanged. At most one finite initial convoy; losses are not replaced.";
string range = "0 disabled, 1 enabled (default)";
if (parts.Count() == 4 && parts[3] == "show")
{ replies.Insert(key + "=" + mode.Settings().Get(key).ToString() + " saved for next round. " + effect); return; }
int value;
if (parts.Count() == 5 && parts[3] == "set" && ERR_CommandArguments.Integer(parts[4], value) && mode.Settings().Set(key, value))
replies.Insert(key + "=" + value.ToString() + " saved for next round. " + effect);
else if (parts.Count() == 4 && parts[3] == "help") replies.Insert(range + ". " + effect);
else replies.Insert("Invalid value or settings could not be saved; previous setting retained. " + range + ". " + effect);
}
override bool Execute(ERR_GameMode mode, string arguments, array<string> replies)
{
if (arguments == "hq convoy auto" || arguments.IndexOf("hq convoy auto ") == 0)
{
if (!m_HQ) { replies.Insert("HQ unavailable."); return true; }
array<string> parts = {}; arguments.Split(" ", parts, true);
ConvoyAutoSetting(mode, parts, replies); return true;
}
if (arguments.IndexOf("hq stinger ") == 0)
{
if (!m_HQ) { replies.Insert("HQ unavailable."); return true; }
@@ -71,9 +92,9 @@ class ERR_HQAdminProvider : ERR_AdminProvider
{
if (topic != "hq") return false;
replies.Insert("/esc hq show | hq memory | hq log show|next|set on|off | hq convoy show|start");
replies.Insert("/esc hq interval|squads|radius|stinger show|set N");
replies.Insert("/esc hq interval|squads|radius|stinger show|set N | hq convoy auto show|set 0|1|help");
replies.Insert("Stinger: 0 off, 1 every eligible soldier, 2..10000 one in N; applies only before each actor rolls.");
replies.Insert("HQ assigns available physical squads through delivered reports. Convoy start uses the single finite initial deployment; losses are not replaced.");
replies.Insert("Convoy auto defaults to 1; saves apply next round only. Auto and manual start share one finite initial deployment; losses are not replaced.");
return true;
}
}
@@ -1,4 +1,14 @@
#ifdef WORKBENCH
// The explicit manual-dispatch fixture freezes automatic startup off. Other
// fixtures and ordinary Workbench/game sessions keep the saved/default value.
modded class ERR_Settings
{
override int Get(string key)
{
if (key == "automaticConvoyEnabled" && ERR_NativeConvoyProbe.Enabled()) return 0;
return super.Get(key);
}
}
// Failure diagnostics only. Every query is read-only and uses the production seed/volume rules.
class ERR_NativeConvoyRoadSurvey
{
@@ -87,6 +87,8 @@ class ERR_NativeHQMemoryProbe
protected float m_Deadline;
protected bool m_Failed;
protected bool m_ValueChecked;
protected bool m_AutoChecked;
protected float m_AutoReadyAt = -1;
protected int m_RouteRetries;
static bool Enabled()
@@ -167,14 +169,66 @@ class ERR_NativeHQMemoryProbe
}
return removed > 0;
}
protected int AutomaticConvoy(ERR_HQ hq)
{
if (m_AutoChecked) return 1;
if (!hq.ConvoyStartup() || !hq.ConvoyStartup().Enabled())
{ Check(false, "automatic convoy fixture requires enabled round snapshot"); return -1; }
ERR_ConvoyTask task = hq.ConvoyTask();
if (!task)
{
if (hq.ConvoyStartup().Finished()) { Check(false, "automatic convoy refused: " + hq.ConvoyStatus()); return -1; }
return 0;
}
if (task.Stopped) { Check(false, "automatic convoy stopped: " + task.Reason); return -1; }
if (!task.Ready) return 0;
float now = GetGame().GetWorld().GetWorldTime();
if (m_AutoReadyAt < 0) m_AutoReadyAt = now;
if (now - m_AutoReadyAt < 6000) return 0;
if (!Check(hq.ConvoyStartup().Status() == "canonical convoy dispatched" && task.Receipt && task.Receipt.Consumed
&& task.Vehicles.Count() == 6 && hq.Convoys().Count() == 1, "automatic startup owns one canonical six-vehicle task")) return -1;
int crew;
int gunners;
foreach (ERR_ConvoyVehicle vehicle : task.Vehicles)
{
if (!Check(vehicle.Registered && !vehicle.Released && vehicle.CrewValid(m_Mode)
&& vehicle.Members.Count() == ERR_ConvoyPool.CrewCount(vehicle.Index), "automatic convoy exact original seated crew " + vehicle.Index.ToString())) return -1;
crew += vehicle.Members.Count();
for (int member = 0; member < vehicle.Members.Count(); member++)
{
IEntity actor = vehicle.Members[member];
SCR_AICombatComponent combat = SCR_AICombatComponent.Cast(actor.FindComponent(SCR_AICombatComponent));
if (!Check(combat && combat.GetAISkill() >= EAISkill.EXPERT, "original automatic crew has scoped expert floor")) return -1;
BaseCompartmentSlot slot = vehicle.Seats[member];
if (slot && slot.GetType() == ECompartmentType.TURRET)
{
if (!Check(ERR_EnemyGunnerSkill.OriginalGunner(m_Mode, vehicle.Group, actor) && combat.GetAISkill() >= EAISkill.CYLON,
"original native turret gunner has scoped skill100")) return -1;
gunners++;
}
}
}
if (!Check(gunners > 0, "automatic convoy includes confirmed native turret gunners")) return -1;
if (!Check(crew == 19 && task.Receipt.OutstandingBodies == 0 && task.Receipt.OutstandingGroups == 0
&& hq.ConvoyPool().CommittedBodies() <= 60, "automatic nineteen-body convoy respects shared physical budget")) return -1;
if (!Check(!hq.StartScenarioConvoy() && hq.ConvoyTask() == task && hq.Convoys().Count() == 1,
"manual request after automatic startup cannot duplicate the convoy")) return -1;
m_AutoChecked = true; return 1;
}
int Tick(ERR_HQ hq, float now)
{
if (!Enabled() || !hq || !m_Mode || m_Failed) return -1;
if (m_Deadline == 0) m_Deadline = now + 120000;
if (m_Deadline == 0) m_Deadline = now + 150000;
if (now > m_Deadline) { Check(false, "fixture deadline"); return -1; }
if (m_Step == 0)
{
if (!hq.ERR_ProbeSquadsReady()) return 0;
bool automaticWasChecked = m_AutoChecked;
int automatic = AutomaticConvoy(hq);
if (automatic <= 0) return automatic;
// Startup admission and native crew readiness have their own bounded wait.
// Start the original memory/radio deadline once, after automatic proof.
if (!automaticWasChecked) m_Deadline = now + 120000;
if (!m_ValueChecked)
{
if (!Check(hq.ERR_MemoryFixtureRegisteredForces() == 6,
@@ -79,7 +79,8 @@ modded class ERR_GameMode
m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 150000;
if (m_ERRTestConvoy) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 540000;
if (ERR_NativeConvoyCoverProbe.Enabled()) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 840000;
if (m_ERRTestHQMemory || m_ERRTestHQBody) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 240000;
if (m_ERRTestHQMemory) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 360000;
if (m_ERRTestHQBody) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 240000;
if (m_ERRTestAircraftControl || m_ERRTestAircraftRoute || m_ERRTestAircraftField) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;
if (m_ERRTestMortarCourier) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 450000;
if (m_ERRTestMortarTransfer) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;
@@ -176,7 +176,12 @@ class ERR_AdminService
if (!mode.Settings()) { replies.Insert("Mission settings are not ready."); return; }
if (arguments == "settings")
{
foreach (string key : ERR_Settings.Keys()) replies.Insert(key + "=" + mode.Settings().Get(key).ToString());
foreach (string key : ERR_Settings.Keys())
{
string line = key + "=" + mode.Settings().Get(key).ToString();
if (key == "automaticConvoyEnabled") line += " (saved for next round; current startup unchanged)";
replies.Insert(line);
}
return;
}
if (Extension(mode, arguments, replies)) return;
@@ -33,10 +33,19 @@ class ERR_EscapeGameOverScreenInfo : SCR_BaseGameOverScreenInfo
modded class SCR_GameOverScreenContentUIComponent
{
protected bool m_ERREscapeContent;
protected ERR_GameMode m_ERRFailureMode;
override void InitContent(SCR_GameOverScreenUIContentData endScreenUIContent)
{
SCR_PlayerController.ERR_OnEscapeResultChanged().Remove(ERR_RefreshEscapeContent);
if (m_ERRFailureMode) m_ERRFailureMode.OnEndReasonChanged().Remove(ERR_RefreshFailureContent);
m_ERRFailureMode = null;
super.InitContent(endScreenUIContent);
if (ERR_FailureGameOverScreenInfo.Cast(endScreenUIContent.m_GameOverInfo))
{
m_ERRFailureMode = ERR_GameMode.Get();
if (m_ERRFailureMode) m_ERRFailureMode.OnEndReasonChanged().Insert(ERR_RefreshFailureContent);
ERR_RefreshFailureContent();
}
m_ERREscapeContent = ERR_EscapeGameOverScreenInfo.Cast(endScreenUIContent.m_GameOverInfo) != null;
if (!m_ERREscapeContent) return;
SCR_PlayerController.ERR_OnEscapeResultChanged().Insert(ERR_RefreshEscapeContent);
@@ -54,10 +63,20 @@ modded class SCR_GameOverScreenContentUIComponent
if (title) title.SetText(info.GetTitle(playerId, null));
if (debrief) debrief.SetText(info.GetDebriefing(playerId, null));
}
// Native end data can open the defeat screen before the mission reason arrives.
protected void ERR_RefreshFailureContent()
{
if (!m_ERRFailureMode || m_ERRFailureMode != ERR_GameMode.Get() || !m_wRoot) return;
ERR_FailureGameOverScreenInfo info = new ERR_FailureGameOverScreenInfo();
TextWidget debrief = TextWidget.Cast(m_wRoot.FindAnyWidget(m_sDebriefingName));
if (debrief) debrief.SetText(info.GetDebriefing(-1, null));
}
override void HandlerDeattached(Widget w)
{
SCR_PlayerController.ERR_OnEscapeResultChanged().Remove(ERR_RefreshEscapeContent);
m_ERREscapeContent = false;
if (m_ERRFailureMode) m_ERRFailureMode.OnEndReasonChanged().Remove(ERR_RefreshFailureContent);
m_ERRFailureMode = null;
super.HandlerDeattached(w);
}
}
+4 -1
View File
@@ -30,7 +30,7 @@ class ERR_GameMode : SCR_BaseGameMode
protected ref array<ERR_LocationComponent> m_Locations = {};
protected ref array<IEntity> m_OwnedEntities = {};
protected ref ERR_ExtractionService m_Extraction;
[RplProp()]
[RplProp(onRplName: "ERR_OnEndReasonReplicated")]
protected string m_EndReason;
protected ref ERR_RadioDefenceService m_RadioDefence;
[RplProp()]
@@ -44,6 +44,7 @@ class ERR_GameMode : SCR_BaseGameMode
protected bool m_Stopped;
protected bool m_NativeEndHandled;
protected float m_NoSurvivorsSince = -1;
protected ref ScriptInvoker m_OnEndReasonChanged = new ScriptInvoker();
protected ref ScriptInvoker m_OnPhaseChanged = new ScriptInvoker();
protected ref ScriptInvoker m_OnTick = new ScriptInvoker();
protected ref ScriptInvoker m_OnStop = new ScriptInvoker();
@@ -71,6 +72,8 @@ class ERR_GameMode : SCR_BaseGameMode
ERR_Objectives Objectives() { return m_Objectives; }
ERR_ExtractionService Extraction() { return m_Extraction; }
string EndReason() { return m_EndReason; }
ScriptInvoker OnEndReasonChanged() { return m_OnEndReasonChanged; }
protected void ERR_OnEndReasonReplicated() { m_OnEndReasonChanged.Invoke(); }
Vehicle ExtractionVehicle()
{
if (!m_Extraction) return null;
+4 -1
View File
@@ -8,11 +8,12 @@ class ERR_Settings
static array<string> Keys()
{
return {"reportIntervalSeconds", "supportSquadLimit", "responseRadiusMetres", "aiIntelChancePercent", "intelRevealChancePercent", "radioDefenceSeconds", "startTimeMinutes", "timeMultiplier", "startDateCode", "weatherProfile", "stingerChanceOneIn"};
return {"reportIntervalSeconds", "supportSquadLimit", "responseRadiusMetres", "aiIntelChancePercent", "intelRevealChancePercent", "radioDefenceSeconds", "startTimeMinutes", "timeMultiplier", "startDateCode", "weatherProfile", "stingerChanceOneIn", "automaticConvoyEnabled"};
}
static bool Valid(string key, int value)
{
if (key == "automaticConvoyEnabled") return value == 0 || value == 1;
if (key == "stingerChanceOneIn") return value >= 0 && value <= 10000;
if (key == "reportIntervalSeconds") return value >= 5 && value <= 60;
if (key == "supportSquadLimit") return value >= 0 && value <= 8;
@@ -45,6 +46,7 @@ class ERR_Settings
static int AddedDefault(string key)
{
if (key == "automaticConvoyEnabled") return 1;
if (key == "stingerChanceOneIn") return 15;
if (key == "startTimeMinutes") return 840;
if (key == "timeMultiplier") return 1;
@@ -66,6 +68,7 @@ class ERR_Settings
m_Values.Set("startDateCode", AddedDefault("startDateCode"));
m_Values.Set("weatherProfile", AddedDefault("weatherProfile"));
m_Values.Set("stingerChanceOneIn", AddedDefault("stingerChanceOneIn"));
m_Values.Set("automaticConvoyEnabled", AddedDefault("automaticConvoyEnabled"));
if (!Replication.IsServer()) { m_ReadOnly = true; return; }
map<string, int> loaded;
if (Read(m_Path, loaded) || Read(m_Path + ".bak", loaded)) m_Values = loaded;
+20
View File
@@ -52,3 +52,23 @@ An accepted pending request blocks all other group radio requests. Explicit fail
Mortar groups explicitly opt out when HQ registers them: their existing readiness service owns gunner handsets and requires a dedicated physical RTO manpack. This prevents competing startup grants. Normal authored site/convoy radios are preserved by actual inventory inspection. HQ networking continues to derive capability solely from living physical carriers and inventories; fitting never declares a delivered report or invents a route.
Journal outcomes distinguish an already equipped group with zero requests, recorded native callback completion, physical capability observed after a request without proven insertion provenance, and unresolved pending timeout. `tests/test_enemy_radio.py` executes the actual radio service and equipment coordinator against native API doubles, including cross-group pending-carrier transfer, no selection reroll, existing equipment/loss, malformed inventory/roster, explicit failure, success after removal, callback ordering, deadline and mortar opt-out. `tests/test_enemy_equipment.py` retains its separate equipment lifecycle regressions. The [native call/memory run](evidence/native-2026-09-20-062203-radio-call-memory/report.json) compiles this service and completes 59 assertions, with all six site groups reporting existing radios and zero new requests. Actual physical routes and interruption are exercised. New compatible insertion and ordinary/multiplayer loss/capture behavior remain pending. Four external localization errors remain; there are no script/runtime failures in this run.
### Scoped convoy gunner skill
The existing mission-local combat binding already applies the owned extension's Expert (80) minimum to explicitly registered original military enemy actors, preserves higher settings, handles native reset and restores the pre-binding setting on release. The missing specialization now requests Cylon (100) only for a living original convoy turret occupant whose canonical task, consumed receipt, physical CONVOY ledger record, original member/seat pair and current native turret occupancy all agree. Driver and cargo occupants keep the ordinary minimum. Captured convoy groups are ineligible for equipment updates; cleanup restores our previous binding through the existing release path.
The owned original forces a sticky convoy-gunner flag to exactly 100. This adaptation deliberately checks present physical ownership instead: leaving that original turret returns the actor to their underlying requested skill (with the ordinary 80 minimum); re-entering the same original turret restores 100. Higher underlying settings survive both transitions. Replacement actors, replacement seats, released or stopped tasks, transferred actors and player occupants cannot gain this specialization. The original server-wide mutation hook is not imported.
Integration uses the existing equipment tick every three seconds, with no new scheduler. Native SetAISkill/ResetAISkill revalidate immediately. Native vehicle/capture state can therefore change between ticks; no continuous-frame guarantee is claimed. Existing release behavior removes the mission's previous contribution. No perception, aiming dispersion, target selection, force creation or equipment resources change.
Policy tests execute the actual helper, scoped combat binding and equipment coordinator against native doubles: 25 individual authority/identity/seat failures, capture, floor/reset, 90/100 preservation, dismount/reboard, restoration and tick cadence. The [current native automatic-convoy run](evidence/native-2026-09-20-081658-automatic-convoy/report.json) compiles all changes, observes all nineteen original seated crew at Expert or higher and five actual turret occupants at Cylon, and completes93 assertions/one round. Zero script/runtime failures; four external localization errors remain. Native dismount/reset/capture transitions and multiplayer remain untested.
Provenance (SHA-256; original inputs read-only):
- Owner `EAI_AIResponseSystem.c`, skill setters/reset/init only: `b3e1263e986837744a70fbaedaa6e57afae7f2981a21211d3a2066e2c63ac84d`.
- Owner `EAI_SupplyConvoys.c`, original turret designation in FillSeats only: `a896fdacfd9c0f2db52e588642623545a3a5d6e8041fb72000a68e720fc2b7a5`.
- Vanilla `scripts/Game/AI/Components/SCR_AICombatComponent.c`, Expert=80/Cylon=100 and native setter/reset semantics: `79919aaf106d2d79caa83c948586cf6c3d284bd4a1f8db2e92179a1921f25cee`.
- Vanilla `scripts/GameCode/Vehicle/BaseCompartmentSlot.c`, native slot-to-root-vehicle lookup: `c08cca13bb083a211c3a04019bb9a05a7f07ef4d4ce1dbd7112fcce6e8924f4c`.
- Vanilla `scripts/Game/generated/Vehicle/TurretCompartmentSlot.c`, exact native turret type: `f6916f771f4ba51c677093fc5e4d91fec42bbb2ec28947985670b57617b96543`.
No protected group lookup, original Escapists or ScrtCore implementation was read or reused.
+14 -5
View File
@@ -2412,9 +2412,9 @@
"id": "convoys",
"updated_on": "2026-09-20",
"status": "partial",
"implementation": "Finite six-vehicle/19-body shared-budget service with one opt-in canonical HQ dispatch, actual native road driving, exact initial seat membership and finite eight-rifle/48-magazine truck cargo. Delivered-report HQ HOLD/RESUME preserves each original crew, route index and owned waypoint; native mounted-combat registration is enabled.",
"evidence": "native-2026-09-20-025035-convoy-driving: 181 assertions, all six original vehicles at least20m and lead over100m, duplicate dispatch rejected; zero script/runtime failures. Four external localization errors keep strict qualification failed. Current-source native-2026-09-20-041150-convoy-cover-driving repeats181 assertions after the cover integration; radio command transitions have executable-method tests, not native combat proof.",
"remaining": "Direct native HOLD/RESUME and mounted firing; automatic startup count/scheduling; dismount/flank/reboard tactics, delivery/unloading, full-route reliability, multiplayer and FPS qualification.",
"implementation": "Finite six-vehicle/19-body shared-budget service with one opt-in canonical HQ dispatch, actual native road driving, exact initial seat membership and finite eight-rifle/48-magazine truck cargo. Delivered-report HQ HOLD/RESUME preserves each original crew, route index and owned waypoint; native mounted-combat registration is enabled. Automatic initial startup now defaults enabled, snapshots its saved setting per round, waits for existing admission and makes one bounded canonical attempt. Manual and automatic share the same receipt; no replacement after losses.",
"evidence": "native-2026-09-20-025035-convoy-driving: 181 assertions, all six original vehicles at least20m and lead over100m, duplicate dispatch rejected; zero script/runtime failures. Four external localization errors keep strict qualification failed. Current-source native-2026-09-20-041150-convoy-cover-driving repeats181 assertions after the cover integration; radio command transitions have executable-method tests, not native combat proof. native-2026-09-20-081658-automatic-convoy:93 assertions/one round, automatic six vehicles/19 original seated crew, duplicate dispatch rejected, zero script/runtime failures; four external localization errors remain.",
"remaining": "Direct native HOLD/RESUME and mounted firing; dismount/flank/reboard tactics, delivery/unloading, full-route reliability, multiplayer and FPS qualification. Capacity stays one initial convoy, not predecessor3/20.",
"detail": "docs/convoy-migration.md"
},
{
@@ -2457,10 +2457,19 @@
"id": "resupply",
"updated_on": "2026-09-20",
"status": "partial",
"implementation": "HQ-owned nearby infantry rendezvous with the original manually dispatched convoy ammo truck, planned from fresh delivered shortage and position reports. Separate truck stop and infantry radio downlinks; new delivered stopped position required. Up to48 captured physical magazine identities, max6 moves per trip/one per soldier, exact native callback and destination ownership proof, no stock regeneration. Original roster release is permanent.",
"implementation": "HQ-owned nearby infantry rendezvous with the original finite convoy ammo truck (automatic startup or canonical manual dispatch), planned from fresh delivered shortage and position reports. Separate truck stop and infantry radio downlinks; new delivered stopped position required. Up to48 captured physical magazine identities, max6 moves per trip/one per soldier, exact native callback and destination ownership proof, no stock regeneration. Original roster release is permanent.",
"evidence": "Executable-method reporting, coordinator, permanent roster ownership, native-operation boundary and convoy-hold regressions pass. native-2026-09-20-072839-infantry-resupply compiles current integration and completes one HQ-memory round/59 assertions with zero script/runtime failures and confirmed cleanup. Four installed external localization errors retain failed strict qualification. This fixture does not demonstrate native rendezvous or transfer.",
"remaining": "Successful native rendezvous and transfer, obstruction/reach qualification, automatic dispatch, broad catalogs, launcher/vehicle ammunition, air/depot logistics, multiplayer and performance evidence.",
"remaining": "Successful native rendezvous and transfer, obstruction/reach qualification, demand-triggered supply dispatch, broad catalogs, launcher/vehicle ammunition, air/depot logistics, multiplayer and performance evidence.",
"detail": "docs/infantry-resupply.md"
},
{
"id": "skill",
"updated_on": "2026-09-20",
"status": "partial",
"implementation": "Existing scoped military enemy Expert80 minimum now adds Cylon100 for exact original physical convoy turret occupants. Canonical receipt/ledger, original actor/seat, native turret occupancy and capture guards required. Preserves underlying higher skill; dismount returns to ordinary floor; existing3-second cadence and native reset integration, no global original hook.",
"evidence": "Actual-method identity, capture, reset, dismount/reboard and restoration tests pass. native-2026-09-20-081658-automatic-convoy: all19 original seated crew>=80; five original native turret occupants>=100;93 total assertions/one round, zero script/runtime failures. Four external localization errors retain strict qualification failure.",
"remaining": "Native reset/dismount/reboard/capture transitions and multiplayer qualification; other future gunner capabilities need explicit ownership integration.",
"detail": "docs/ai-equipment-migration.md"
}
]
}
+5 -2
View File
@@ -18,13 +18,14 @@ The controller adapter retains only ownership-sensitive transport state. Mission
## Commands and menu
`/esc menu` opens settings, HQ/status and journal pages. All ten implemented settings are represented; absent companion controls are disabled. Saved values refresh independently of drafts. Actions disable after six seconds without a server snapshot. Escape leaves native text editing before navigating back or closing. The journal retains up to 300 received records, supports pause/resume/latest, follows new entries only at the bottom, and receives explicit server history-gap notices.
`/esc menu` opens settings, HQ/status and journal pages. The ten menu fields are represented; Stinger and automatic convoy startup use chat commands. Absent companion controls are disabled. Saved values refresh independently of drafts. Actions disable after six seconds without a server snapshot. Escape leaves native text editing before navigating back or closing. The journal retains up to 300 received records, supports pause/resume/latest, follows new entries only at the bottom, and receives explicit server history-gap notices.
- `/esc status`, `/esc settings`, `/esc help [topic]`
- `/esc mission radio show|set N`, date/weather/time/speed controls, and `/esc mission abandon`
- `/esc time show|set HH:MM` compatibility alias; successor time/date/weather changes apply next round
- `/esc intel show`, carrying/chance/reveal settings, `/esc intel reroll [show]` when Intel is loaded
- `/esc hq show`, interval/squads/radius settings when AI is loaded
- `/esc hq stinger show|set N`; `/esc hq convoy show|start`; `/esc hq convoy auto show|set 0|1|help` (automatic startup changes apply next round)
- `/esc hq log show|next`, `/esc hq log set on|off`; menu and chat-feed cursors are independent
- `/esc god show|set on|off`, `/esc god`, `/esc ungod`
- `/esc cheat map|helmet|uniform`: vanilla paper map, PASGT helmet or BDU jacket, deposited into the requesting admin's inventory
@@ -32,7 +33,7 @@ The controller adapter retains only ownership-sensitive transport state. Mission
God mode prevents subsequent damage to the current body; it does not import the old periodic healing loop. Turning it off restores the prior native damage-handling flag. Item grants await native completion, reject overlapping requests, and stop further grants for that body if an accepted operation times out. Pending and timed-out insertions remain guarded if admin access is revoked and restored on the same body. They never replace worn equipment or target another player.
Original helicopter timer/test, convoy, Stinger and alternate-start commands describe systems not yet implemented in this successor. They return explicit unavailable responses and do not expose ineffective menu controls. Patched clothing, simulation diagnostics and original-mod hooks are not imported. This is integration of applicable administration, not a claim that those deferred gameplay systems now exist.
Original helicopter timer/test and alternate-start commands describe systems not yet implemented in this successor. They return explicit unavailable responses and do not expose ineffective menu controls. Patched clothing, simulation diagnostics and original-mod hooks are not imported. This is integration of applicable administration, not a claim that those deferred gameplay systems now exist.
## Resources and validation
@@ -45,3 +46,5 @@ The existing frozen `.build/playtest-2026-09-19` packages have not been rebuilt
Final validation: [native full-scenario regression](evidence/native-2026-09-19-234618-chat-complete/report.json) passes 101 assertions and one escape round with no captured errors, unchanged source and confirmed cleanup. The journal has visible wrapped text exceeding its viewport and reaches the native scrollbar end after layout resolves. [Private display screenshots](evidence/admin-ui-2026-09-19-234224/review.json) show settings, HQ and journal pages at the preceding rendering checkpoint. Complete repository checks pass, including the final menu regression.
The subsequent [20 September playtest refresh](playtest-build.md) packages this implementation and passes Core/full ordinary packaged startup. The earlier September19 handoff remains unchanged.
The 20 September result-feedback correction subscribes an open defeat screen to the current mission's replicated end reason and detaches that listener on close or content replacement. A late admin-abandon explanation now replaces the initial generic fallback. Actual callback/lifecycle regressions and the full-addon native compile pass; remote-client arrival ordering remains a multiplayer test.
+4
View File
@@ -170,3 +170,7 @@ The [20 September 05:15:05 convoy cover run](evidence/native-2026-09-20-051505-c
## Nearby infantry supply follow-up
The [infantry resupply service](infantry-resupply.md) can reserve the existing ammunition truck for a reported nearby patrol. A reservation leaves driving active until the stop command arrives by radio. Delivery pauses its owned route waypoint, and cleanup resumes the same route index. This remains the one manually dispatched convoy; general cargo unloading, automatic supply dispatch and native resupply qualification remain unfinished.
## Automatic initial deployment
[Automatic convoy startup](convoy-startup.md) now starts the same canonical finite convoy by default after existing force admission. The saved on/off switch takes effect next round. The earlier manual native evidence above remains historical; current native evidence is linked from current-status.
+29
View File
@@ -0,0 +1,29 @@
# Automatic finite convoy startup
The full AI scenario now enables one automatic initial convoy by default. Core-only scenarios remain unchanged. HQ freezes `automaticConvoyEnabled` when the round creates its command service; saving a different value affects the next round only.
Commands use the existing authenticated mission administration:
- `/esc hq convoy auto show|set 0|1|help`: inspect or save the next-round switch.
- `/esc hq convoy show`: inspect the current startup and convoy state.
- `/esc hq convoy start`: manually request the same canonical convoy, including when automatic startup is disabled.
There is one shared deployment allowance. Manual dispatch before the automatic attempt consumes it; a later request cannot create a duplicate. Destruction, capture, route refusal or partial deployment never replenish the automatic allowance.
## Startup and ownership
The existing HQ tick starts a 30-second grace period when tactical processing first becomes active. Afterward the policy checks admission every five seconds, for at most 120 seconds from its first active tick. All existing registered groups must already have force records; a non-stopped mortar must complete startup. The policy latches its sole attempt before calling the existing authored supply-site road survey and dispatch service. A failed road survey or unavailable force budget is terminal for automatic startup. Administrators can still inspect the reason and explicitly request the canonical manual path where its original admission rules permit it.
This is the existing six-vehicle, nineteen-person convoy. Shared physical force limits, consumed receipts, original crews, cargo and native driving remain authoritative. There is no independent timer, periodic spawn, replacement unit or increased body cap. The infantry resupply service can use this convoy's existing finite magazine stock; full truck/air/depot logistics remains unfinished.
## Settings migration
Missing `automaticConvoyEnabled` in an otherwise valid older successor settings file defaults to 1. Explicit 0 remains disabled; fractional and out-of-range values are invalid. `/esc settings` labels the saved next-round value. The fixed ten-row administration menu remains unchanged; this and Stinger are command-only settings.
The explicit settings importer maps owned predecessor `convoyCount=0` to disabled and `1..20` to enabled. Counts above one produce a visible capped-capacity notice. This preserves the old disabled choice without claiming the predecessor's default-three or maximum-twenty convoy capacity. Ambiguous simultaneous old/new keys are rejected. Import never overwrites source or an existing destination.
## Validation boundary
Actual-method tests cover one-shot timing, disabled/manual states, admission waits, deadline expiry, backward/invalid clocks, server/current-mode authority and stop. Settings tests cover migration, authenticated read/write commands, failed saves and unchanged current deployment. The [current native run](evidence/native-2026-09-20-081658-automatic-convoy/report.json) completes one round and 93 assertions with zero script/runtime failures: one automatic six-vehicle task, nineteen original seated crew, five native turret gunners at skill100, and duplicate manual dispatch refused. Exact sources/external inputs remain unchanged and private cleanup is confirmed. Four installed external localization errors retain failed strict qualification; full-route reliability, resupply gameplay, remote clients and FPS remain separate requirements.
The native HQ-memory fixture observes automatic creation and original seated crew through the production startup path, then performs its existing radio-memory checks. Startup has a bounded 150-second fixture window, followed once by the original 120-second memory window. The explicit manual-convoy fixture alone reads automatic startup as disabled in its WORKBENCH-only settings adapter; ordinary sessions and other fixtures use the real saved/default value. No native evidence from the earlier manual fixture is relabeled as automatic startup.
+2
View File
@@ -1,5 +1,7 @@
# Current development status
**20 September 2026 — automatic convoy and result feedback:** The full AI scenario now defaults to one automatic initial convoy after a 30-second startup grace and existing-force admission. Automatic and manual requests share the same finite receipt, with no automatic retry or replacement. `/esc hq convoy auto set 0|1` saves the next-round choice; old disabled convoy settings migrate correctly. [Startup details](convoy-startup.md). Original physical turret occupants receive scoped skill100, while other enemy crew retain at least80. The [native checkpoint](evidence/native-2026-09-20-081658-automatic-convoy/report.json) completes 93 assertions and one round, proving six automatic vehicles, 19 original seated crew, five turret specializations and duplicate-dispatch rejection, plus the existing HQ radio-memory tests. Zero script/runtime failures; four external localization errors remain. All repository checks pass, and 533 tracked reference sources remain unchanged. Hidden/muted cleanup and unchanged input fingerprints are confirmed. Defeat screens now refresh a late replicated end reason; callback/lifecycle tests pass, but real remote-client timing remains untested. Existing packaged handoffs remain older snapshots; native logistics, multiplayer and FPS qualification remain unfinished.
**20 September 2026 — finite nearby infantry resupply:** HQ now uses delivered low-ammunition reports to reserve an existing patrol and the manually dispatched convoy's original ammo truck. Separate radio orders stop the truck, request its stopped-position report and send infantry to a nearby rendezvous. Existing captured magazine identities transfer at most once; no replacement stock is created. Low-stock reporting uses 30-second local scans and a 60-second urgent-call cooldown. [Scope and limits](infantry-resupply.md). The [current native run](evidence/native-2026-09-20-072839-infantry-resupply/report.json) compiles the complete integration and completes 59 HQ-memory assertions/one round with zero script/runtime failures and verified hidden/muted cleanup; four external localization errors remain. The first native compile failure is retained and corrected. Direct native resupply/navigation, automatic dispatch, broad logistics parity and multiplayer remain unfinished. All repository checks pass and all 533 tracked reference sources remain unchanged. The existing packaged handoff remains the older `915476f` snapshot.
**20 September 2026 — radio and finite maintenance:** Enemy groups now use bounded one-time radio fitting, preserving existing radios and excluding mortar-owned allocations. Uplinks hold their original caller for three seconds before network hops and fail on live consciousness/ownership loss. The [native radio/HQ-memory checkpoint](evidence/native-2026-09-20-062203-radio-call-memory/report.json) completes 59 assertions and one round, with zero script/runtime failures; four installed external localization errors remain. All six tested groups were already equipped, so native insertion remains unproved. The western supply cache now holds one finite repair kit and two fuel cans. Its [native stock/transport checkpoint](evidence/native-2026-09-20-062011-maintenance-stock/report.json) passes 131 assertions with zero captured errors, confirming 20 supply units and two five-litre cans plus prior lock/vehicle-loss behavior. Ordinary repair/refuel consumption remains untested. Both runs preserve exact sources and confirm hidden/muted cleanup. Current external packaging has a separate [explicit v3 development workflow](packed-external-development.md); the matching separate handoff is `.build/playtest-2026-09-20-radio-maintenance`. All five PAKs match their authored payloads; [Core ordinary startup](evidence/packed-core-2026-09-20-radio-maintenance/report.json) passes without captured errors. Full packed Chat verifies the exact thirteen-addon closure but remains failed on installed localization errors and did not establish participant readiness before its diagnostic ended. Native build shutdown failures remain; older handoffs are unchanged. All repository checks pass and 533 tracked reference files remain unchanged.
@@ -0,0 +1,718 @@
---------------------------------------------
Log Z:\tmp\erri-workbench-external-profile\logs\logs_2026-09-20_08-16-58\console.log started at 2026-09-20 08:16:58 (2026-09-20 06:16:58 UTC)
08:16:58.848 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-external-profile\logs\logs_2026-09-20_08-16-58' to filesystem under name logs
08:16:58.848 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-external-profile\profile' to filesystem under name profile
08:16:58.848 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\'
08:16:58.849 PROFILING : Workbench Create Engine took: 9.803000 ms
08:16:59.879 INIT : INIT : Workbench Init Engine
08:16:59.879 ENGINE : Initializing engine, version 192142
08:16:59.879 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-external-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateWorldPlugin -errPlay 1 -errSmoke 1 -errSmokeOutcome hq-memory -noThrow -disableCrashReporter
08:16:59.890 ENGINE : Addon dirs:
08:16:59.890 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/'
08:16:59.890 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons'
08:16:59.890 ENGINE : dir: './addons'
08:16:59.890 ENGINE : dir: 'Z:/tmp/erri-workbench-external-profile/addons'
08:16:59.890 ENGINE : Available addons:
08:16:59.890 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6'
08:16:59.890 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911'
08:16:59.890 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C'
08:16:59.890 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A'
08:16:59.890 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E'
08:16:59.890 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
08:16:59.890 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
08:16:59.890 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
08:16:59.890 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
08:16:59.890 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
08:16:59.890 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
08:16:59.890 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
08:16:59.890 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
08:16:59.890 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\chat' to filesystem under name ERR_Chat
08:16:59.890 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\map' to filesystem under name ERR_Map
08:16:59.890 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\intel' to filesystem under name ERR_Intel
08:16:59.890 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\ai' to filesystem under name ERR_Ai
08:16:59.891 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
08:16:59.892 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
08:16:59.894 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
08:16:59.898 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
08:16:59.899 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
08:16:59.904 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
08:16:59.904 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core
08:17:00.007 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-external-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger
08:17:00.010 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
08:17:00.010 ENGINE : CPU vendor : AuthenticAMD
08:17:00.010 ENGINE : CPU type : 2
08:17:00.010 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
08:17:00.010 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB]
08:17:00.010 ENGINE : CPU count logical : 16
08:17:00.010 ENGINE : CPU count physical : 8
08:17:00.010 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
08:17:00.010 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb)
08:17:00.010 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb)
08:17:00.011 RESOURCES : ResourceDB: loading cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb)
08:17:00.011 RESOURCES : ResourceDB: loading cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb)
08:17:00.011 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_BMP-1 path=Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
08:17:00.012 RESOURCES : ResourceDB: loading cache (id=5 name=WCS_SpaceCore path=Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
08:17:00.013 RESOURCES : ResourceDB: loading cache (id=6 name=WCS_Armaments path=Z:/tmp/erri-workbench-external-profile/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
08:17:00.014 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Core path=Z:/tmp/erri-workbench-external-profile/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
08:17:00.024 RESOURCES : ResourceDB: loading cache (id=8 name=RHS_Content_02 path=Z:/tmp/erri-workbench-external-profile/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
08:17:00.026 RESOURCES : ResourceDB: loading cache (id=9 name=RHS_Content_01 path=Z:/tmp/erri-workbench-external-profile/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
08:17:00.032 RESOURCES : ResourceDB: loading cache (id=10 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb)
08:17:00.032 RESOURCES : ResourceDB: loading cache (id=11 name=ArmaReforger path=Z:/tmp/erri-workbench-external-profile/addons/ArmaReforger/resourceDatabase.rdb)
08:17:00.160 RESOURCES : ResourceDB: loading cache (id=12 name=core path=./addons/core/resourceDatabase.rdb)
08:17:00.161 RESOURCES : ResourceDB: loading cache (id=13 name=profile path=Z:\tmp\erri-workbench-external-profile\profile/resourceDatabase.rdb)
08:17:00.162 RESOURCES : ResourceDB: loading cache (id=14 name=logs path=Z:\tmp\erri-workbench-external-profile\logs\logs_2026-09-20_08-16-58/resourceDatabase.rdb)
08:17:00.307 RESOURCES : RESOURCES : ResourceDB: full scan
08:17:00.312 RESOURCES : RESOURCES : scanning...
08:17:00.312 RESOURCES : RESOURCES : scanning @"ERR_Chat"
08:17:00.320 RESOURCES : RESOURCES : scanning @"ERR_Map"
08:17:00.321 RESOURCES : RESOURCES : scanning @"ERR_Intel"
08:17:00.322 RESOURCES : RESOURCES : scanning @"ERR_Ai"
08:17:00.323 RESOURCES : RESOURCES : scanning @"WCS_BMP-1"
08:17:00.326 RESOURCES : RESOURCES : scanning @"WCS_SpaceCore"
08:17:00.329 RESOURCES : RESOURCES : scanning @"WCS_Armaments"
08:17:00.333 RESOURCES : RESOURCES : scanning @"RHS_Core"
08:17:00.344 RESOURCES : RESOURCES : scanning @"RHS_Content_02"
08:17:00.348 RESOURCES : RESOURCES : scanning @"RHS_Content_01"
08:17:00.355 RESOURCES : RESOURCES : scanning @"ERR_Core"
08:17:00.359 RESOURCES : RESOURCES : scanning @"ArmaReforger"
08:17:00.571 RESOURCES : RESOURCES : scanning @"core"
08:17:00.574 RESOURCES : RESOURCES : scanning @"profile"
08:17:00.575 RESOURCES : RESOURCES : scanning @"logs"
08:17:00.575 RESOURCES : RESOURCES : processing meta-files...
08:17:00.639 RESOURCES : RESOURCES : processing files...
08:17:00.640 INIT : Workbench startup
08:17:00.640 INIT : Workbench Init Engine
08:17:00.640 RESOURCES : ResourceDB: full scan
08:17:00.640 RESOURCES : processing files...
08:17:00.640 RESOURCES (W): resource not registered: @"$RHS_Core:system/thermal/thermalProfileTreeCrownDefault.conf". Setting null GUID
08:17:00.652 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID
08:17:00.652 RESOURCES (W): resource not registered: @"$logs:external-addons-inputs.json". Setting null GUID
08:17:00.652 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID
08:17:00.652 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID
08:17:00.652 RESOURCES : RESOURCES : processing folders...
08:17:00.660 RESOURCES : RESOURCES : creating GUID-item mapping...
08:17:00.675 RESOURCES : RESOURCES : building tree...
08:17:00.742 PROFILING : ResourceDB: full scan took: 435.254500 ms
08:17:00.743 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb)
08:17:00.745 RESOURCES : ResourceDB: written 1047/1047 bytes
08:17:00.745 RESOURCES : ResourceDB: cache successfully saved
08:17:00.745 RESOURCES : ResourceDB: saving cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb)
08:17:00.747 RESOURCES : ResourceDB: written 819/819 bytes
08:17:00.747 RESOURCES : ResourceDB: cache successfully saved
08:17:00.747 RESOURCES : ResourceDB: saving cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb)
08:17:00.748 RESOURCES : ResourceDB: written 404/404 bytes
08:17:00.748 RESOURCES : ResourceDB: cache successfully saved
08:17:00.748 RESOURCES : ResourceDB: saving cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb)
08:17:00.750 RESOURCES : ResourceDB: written 3838/3838 bytes
08:17:00.750 RESOURCES : ResourceDB: cache successfully saved
08:17:00.750 RESOURCES : ResourceDB: saving cache (id=10 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb)
08:17:00.752 RESOURCES : ResourceDB: written 8563/8563 bytes
08:17:00.752 RESOURCES : ResourceDB: cache successfully saved
08:17:00.752 RESOURCES : ResourceDB: saving cache (id=13 name=profile path=Z:\tmp\erri-workbench-external-profile\profile/resourceDatabase.rdb)
08:17:00.753 RESOURCES : ResourceDB: written 206/206 bytes
08:17:00.753 RESOURCES : ResourceDB: cache successfully saved
08:17:00.753 RESOURCES : ResourceDB: saving cache (id=14 name=logs path=Z:\tmp\erri-workbench-external-profile\logs\logs_2026-09-20_08-16-58/resourceDatabase.rdb)
08:17:00.755 RESOURCES : ResourceDB: written 208/208 bytes
08:17:00.755 RESOURCES : ResourceDB: cache successfully saved
08:17:00.755 ENGINE : GameProject load
08:17:00.755 ENGINE : Loaded addons:
08:17:00.755 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
08:17:00.755 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
08:17:00.755 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C'
08:17:00.755 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
08:17:00.755 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
08:17:00.755 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
08:17:00.755 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
08:17:00.755 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
08:17:00.755 ENGINE : gproj: 'Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
08:17:00.755 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911'
08:17:00.755 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A'
08:17:00.755 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E'
08:17:00.755 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6'
08:17:00.757 ENGINE : GameProject load
08:17:00.757 INIT : GameProject load project data @"Z:/tmp/erri-workbench-external-profile/addons/ERRI_595F2BF2F44836FB/addon.gproj"
08:17:00.757 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
08:17:00.757 INIT : GameProject load project data @"Z:/tmp/erri-workbench-external-profile/addons/ERRI_629B2BA37EFFD577/addon.gproj"
08:17:00.757 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
08:17:00.758 INIT : GameProject load project data @"Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
08:17:00.758 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
08:17:00.758 INIT : GameProject load project data @"Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
08:17:00.758 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
08:17:00.759 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf'
08:17:00.759 ENGINE : No Enfusion settings file loaded. Continuing with defaults
08:17:00.855 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0
08:17:00.856 RENDER : Basic screen setup:
08:17:00.856 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29)
08:17:00.856 RENDER : MSAA : none
08:17:00.868 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0
08:17:00.868 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device)
08:17:00.868 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs
08:17:00.868 RENDER : * core clocks 2720 MHz, memory 1124 MHz
08:17:00.868 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s)
08:17:00.868 RENDER : AMD AGS correctly initialized
08:17:00.868 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition
08:17:00.868 RENDER : Detected output devices:
08:17:00.868 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21):
08:17:00.868 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz
08:17:00.868 RENDER : Concurrent frames limit 2
08:17:00.941 RENDER : DX12 device successfully created by AMD AGS library
08:17:00.941 RENDER : * user markers not supported in this version AMD SW
08:17:00.941 RENDER : Graphics device features
08:17:00.941 RENDER : Needed:
08:17:00.941 RENDER : * Highest supported shader model: 6.8 (6.0 needed)
08:17:00.941 RENDER : Optional:
08:17:00.941 RENDER : * Allow tearing (VSYNC) : 1
08:17:00.941 RENDER : * 16 bits : 1
08:17:00.941 RENDER : * Resource heap tier : 3
08:17:00.941 RENDER : * Persistent heaps (DRED) : 1
08:17:00.941 RENDER : * DRED 1.2 is supported by compiler
08:17:00.961 RENDER : Main RT format setup.
08:17:00.961 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26)
08:17:00.961 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10)
08:17:00.963 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16
08:17:00.994 PROFILING : Settings changed took: 0.014100 ms
08:17:01.994 AUDIO : Endpoint: Speakers (PulseAudio Output)
08:17:01.994 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B
08:17:01.994 AUDIO : Audio client:
08:17:01.994 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512
08:17:01.997 RENDER : RENDER : Reload shaders
08:17:01.997 RENDER : Enfusion shader version 13
08:17:01.997 INIT : INIT : ShaderListReload
08:17:01.997 PROFILING : ShaderListReload took: 0.000400 ms
08:17:02.132 AUDIO : Endpoint: Speakers (PulseAudio Output)
08:17:02.132 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B
08:17:02.133 AUDIO : Audio client:
08:17:02.133 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512
08:17:02.267 RENDER : Loaded 3752 newer shader binaries
08:17:02.267 PROFILING : Reload shaders took: 270.265700 ms
08:17:02.267 ENGINE : Initializing inputs.
08:17:02.279 NETWORK : Initializing networking.
08:17:02.279 NETWORK : Using new GameRplScheduler.
08:17:02.279 SCRIPT : SCRIPT : Initializing scripts
08:17:02.279 SCRIPT : SCRIPT : ScriptProjectManager init
08:17:06.733 PROFILING : ScriptProjectManager init took: 4453.431600 ms
08:17:06.820 PROFILING : Initializing scripts took: 4540.138700 ms
08:17:06.837 ENGINE : Enfusion engine successfully created.
08:17:06.837 PROFILING : Workbench Init Engine took: 6958.105500 ms
08:17:06.837 INIT : INIT : Workbench Create Game
08:17:06.849 GUI : Using default language (en_us)
08:17:06.849 GUI : Loading 'en_us' localization file.
08:17:06.849 INIT : INIT : Loading StringTable
08:17:06.875 PROFILING : Loading StringTable took: 26.293400 ms
08:17:06.875 SCRIPT : SCRIPT : Compiling GameLib scripts
08:17:06.934 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460
08:17:06.934 SCRIPT : Module: GameLib; loaded 466x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
08:17:06.935 PROFILING : Compiling GameLib scripts took: 60.002300 ms
08:17:06.935 SCRIPT : SCRIPT : Compiling Game scripts
08:17:08.265 INIT : Workbench Create Game
08:17:08.265 SCRIPT : Compiling Game scripts
08:17:08.265 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
08:17:08.265 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
08:17:08.457 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,201": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.554 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
08:17:08.590 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
08:17:08.713 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeVehicleSecurityProbe.c,77": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.722 SCRIPT (W): @"Scripts/Game/ERR/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
08:17:08.778 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
08:17:08.778 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
08:17:08.780 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
08:17:08.808 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeVehicleSecurityProbe.c,171": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.824 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.824 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.826 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
08:17:08.826 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
08:17:08.850 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,138": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.874 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
08:17:09.258 SCRIPT : Module: WorkbenchGame; loaded 185x files; 657x classes; used 2755K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90c87bba
08:17:09.266 SCRIPT : Module: Game; loaded 6501x files; 13180x classes; used 39184K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS"; CRC32: fe610d24
08:17:09.319 PROFILING : Compiling Game scripts took: 2384.085600 ms
08:17:09.325 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
08:17:09.373 ENGINE : Game successfully created.
08:17:09.374 PROFILING : Workbench Create Game took: 2537.170900 ms
08:17:09.382 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/thumbnails
08:17:10.180 INIT : INIT : Workbench Reload Game
08:17:10.182 ENGINE : Game destroyed.
08:17:10.187 GUI : Using default language (en_us)
08:17:10.188 GUI : Loading 'en_us' localization file.
08:17:10.188 INIT : INIT : Loading StringTable
08:17:10.198 PROFILING : Loading StringTable took: 10.584000 ms
08:17:10.198 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
08:17:10.205 SCRIPT : Unable to register a script command due keyword duplicity: ban
08:17:10.206 SCRIPT : Unable to register a script command due keyword duplicity: kick
08:17:10.206 ENGINE : Game successfully created.
08:17:10.206 ENGINE : Game successfully initialized.
08:17:10.206 PROFILING : Workbench Reload Game took: 25.194300 ms
08:17:10.849 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent'
08:17:11.827 PROFILING : Entities load took: 978.149400 ms
08:17:11.836 WORLD : WORLD : CreateEntities
08:17:11.840 WORLD : WORLD : NotifyBeforeEntitiesCreated
08:17:11.841 PROFILING : NotifyBeforeEntitiesCreated took: 0.002800 ms
08:17:11.841 WORLD : WORLD : Wait for preloading data
08:17:11.841 PROFILING : Wait for preloading data took: 0.007400 ms
08:17:11.948 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et"
08:17:11.948 PROFILING : PROFILING : Terrain load
08:17:13.878 PROFILING : Terrain load took: 1929.027200 ms
08:17:17.666 WORLD : CreateEntities
08:17:17.667 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
08:17:17.667 ENTITY : CreateComponent 'ScriptedRadioComponent'
08:17:17.667 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
08:17:27.493 WORLD : WORLD : NotifyBeforeEntitiesInitialized
08:17:27.493 PROFILING : NotifyBeforeEntitiesInitialized took: 0.006800 ms
08:17:27.898 WORLD : WORLD : NotifyEntitiesInitialized
08:17:27.898 TERRAIN : TERRAIN : Initializing road networks...
08:17:27.900 PROFILING : Initializing road networks... took: 2.130800 ms
08:17:27.900 PROFILING : NotifyEntitiesInitialized took: 2.379200 ms
08:17:27.900 PROFILING : CreateEntities took: 16063.800600 ms
08:17:28.097 PROFILING : * WorldEditor: LoadWorld: 17252.221400 ms
08:17:29.561 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf)
08:17:29.562 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf)
08:17:29.563 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'...
08:17:29.564 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping...
08:17:29.648 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562
08:17:29.648 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531
08:17:29.648 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516
08:17:29.648 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5
08:17:29.648 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453
08:17:29.648 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406
08:17:29.648 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438
08:17:29.648 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438
08:17:29.648 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422
08:17:29.649 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391
08:17:29.649 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344
08:17:29.649 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344
08:17:29.649 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344
08:17:29.649 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344
08:17:29.649 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328
08:17:29.649 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281
08:17:29.649 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25
08:17:29.649 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281
08:17:29.650 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25
08:17:29.650 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234
08:17:29.650 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188
08:17:29.650 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156
08:17:29.650 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172
08:17:29.650 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156
08:17:29.651 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141
08:17:29.651 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094
08:17:29.674 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625
08:17:29.696 BACKEND : Attempting online Game Config instead.
08:17:32.253 INIT : INIT : Workbench Reload Game
08:17:32.256 ENGINE : Game destroyed.
08:17:32.261 GUI : Using default language (en_us)
08:17:32.261 GUI : Loading 'en_us' localization file.
08:17:32.262 INIT : INIT : Loading StringTable
08:17:32.283 PROFILING : Loading StringTable took: 21.111100 ms
08:17:32.283 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
08:17:32.291 SCRIPT : Unable to register a script command due keyword duplicity: ban
08:17:32.291 SCRIPT : Unable to register a script command due keyword duplicity: kick
08:17:32.291 ENGINE : Game successfully created.
08:17:32.291 ENGINE : Game successfully initialized.
08:17:32.291 PROFILING : Workbench Reload Game took: 37.989600 ms
08:17:32.293 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected)
08:17:32.336 PLATFORM : Save data from container 'settings' have been loaded
08:17:32.427 PLATFORM : Save data from container 'sessions' have been loaded
08:17:32.525 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'.
08:17:32.532 WORLD : WORLD : Game::LoadEntities
08:17:32.532 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf"
08:17:32.533 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits.
08:17:32.533 WORLD : WORLD : CreateEntities
08:17:32.533 WORLD : WORLD : CreateEntities
08:17:32.533 WORLD : WORLD : NotifyBeforeEntitiesCreated
08:17:32.547 RESOURCES : Loaded mission headers from 13 addon(s)!
08:17:32.547 PROFILING : NotifyBeforeEntitiesCreated took: 13.793900 ms
08:17:32.547 WORLD : WORLD : Wait for preloading data
08:17:32.547 PROFILING : Wait for preloading data took: 0.000300 ms
08:17:36.136 WORLD : Game::LoadEntities
08:17:36.136 WORLD : CreateEntities
08:17:36.136 WORLD : CreateEntities
08:17:36.136 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
08:17:36.136 ENTITY : CreateComponent 'ScriptedRadioComponent'
08:17:36.136 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
08:17:37.491 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>
08:17:37.491 ENTITY : CreateComponent 'Hierarchy'
08:17:37.491 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>')
08:17:37.491 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>
08:17:37.491 ENTITY : CreateComponent 'Hierarchy'
08:17:37.491 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>')
08:17:37.491 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>
08:17:37.491 ENTITY : CreateComponent 'Hierarchy'
08:17:37.491 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>')
08:17:37.496 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>
08:17:37.496 ENTITY : CreateComponent 'Hierarchy'
08:17:37.496 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>')
08:17:37.496 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>
08:17:37.496 ENTITY : CreateComponent 'Hierarchy'
08:17:37.496 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>')
08:17:37.496 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>
08:17:37.496 ENTITY : CreateComponent 'Hierarchy'
08:17:37.496 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>')
08:17:37.500 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>
08:17:37.500 ENTITY : CreateComponent 'Hierarchy'
08:17:37.500 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>')
08:17:37.500 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>
08:17:37.500 ENTITY : CreateComponent 'Hierarchy'
08:17:37.500 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>')
08:17:37.500 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>
08:17:37.500 ENTITY : CreateComponent 'Hierarchy'
08:17:37.500 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>')
08:17:42.731 WORLD : WORLD : NotifyBeforeEntitiesInitialized
08:17:42.731 PROFILING : NotifyBeforeEntitiesInitialized took: 0.054000 ms
08:17:44.636 WORLD : InitEntities 'world'
08:17:44.636 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <60.452000 1.000000 213.136002> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
08:17:44.636 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead.
08:17:44.664 WORLD : InitEntities 'world'
08:17:44.664 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <60.452000 1.000000 213.136002> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
08:17:44.664 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate
08:17:44.665 WORLD : WORLD : NotifyEntitiesInitialized
08:17:44.665 TERRAIN : TERRAIN : Initializing road networks...
08:17:44.667 PROFILING : Initializing road networks... took: 2.232200 ms
08:17:44.667 DEFAULT : DEFAULT : WorldVolumesCollection
08:17:44.720 PROFILING : WorldVolumesCollection took: 53.089900 ms
08:17:44.721 INIT : INIT : SoundWorldInit
08:17:44.734 PROFILING : SoundWorldInit took: 13.413800 ms
08:17:44.734 PROFILING : NotifyEntitiesInitialized took: 68.953900 ms
08:17:44.734 PROFILING : CreateEntities took: 12200.665600 ms
08:17:44.734 PROFILING : CreateEntities took: 12200.831200 ms
08:17:44.735 WORLD : WORLD : Wait for preloading data around camera
08:17:44.735 PROFILING : Wait for preloading data around camera took: 0.000900 ms
08:17:44.735 WORLD : WORLD : EOnActivate
08:17:44.765 PROFILING : EOnActivate took: 30.484400 ms
08:17:44.765 PROFILING : Game::LoadEntities took: 12233.009500 ms
08:17:45.065 DEFAULT : Entered offline game state.
08:17:48.660 SCRIPT : Map load time: 2148ms
08:17:48.660 NETWORK : Player connected: connectionID=2147483646
08:17:48.660 NETWORK : ### Connecting player: connectionID=2147483646, Name=
08:17:48.661 NETWORK : ### Creating player: PlayerId=1, Name=jakub
08:17:48.666 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
08:17:48.666 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000>
08:17:48.666 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
08:17:48.666 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key!
08:17:48.666 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key!
08:17:48.668 SCRIPT (W): Can't open config file ""
08:17:48.673 WORLD : InitEntities 'world'
08:17:48.674 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
08:17:48.674 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout"
08:17:48.674 SCRIPT (W): Slot_WeaponInfo Has no Content!
08:17:48.674 SCRIPT (W): Slot_Chat Has no Content!
08:17:48.674 SCRIPT (W): Slot_VON Has no Content!
08:17:48.674 SCRIPT (W): Slot_AvailableActions Has no Content!
08:17:48.674 SCRIPT (W): Slot_Vehicle Has no Content!
08:17:48.674 SCRIPT (W): Slot_GameVersion Has no Content!
08:17:48.674 SCRIPT (W): Slot_Notifications Has no Content!
08:17:48.675 SCRIPT (W): Slot_Hints Has no Content!
08:17:48.685 ENTITY : SpawnEntityPrefab @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
08:17:48.686 ENTITY : Create entity @"ENTITY:4611686018427388384" ('SCR_EditorModeEntity') at <0.000000 0.000000 0.000000>
08:17:48.686 ENTITY : EntityPrefabUse @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
08:17:48.686 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
08:17:48.686 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
08:17:48.689 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000
08:17:48.690 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config
08:17:48.690 NETWORK : Players connecting: 0
08:17:48.690 NETWORK : Players connected: 1 / 1
08:17:48.718 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/autosaves
08:17:48.719 PROFILING : Workbench startup took: 49926.907900 ms
08:17:48.746 WORLD : Frame start
08:17:48.746 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated.
08:17:48.760 WORLD : UpdateEntities
08:17:48.760 WORLD : Frame
08:17:48.761 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME
08:17:48.961 WORLD : UpdateEntities
08:17:48.961 WORLD : PostFrame
08:17:48.962 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout"
08:17:48.962 SCRIPT (W): EditBoxFilterComponent used on invalid widget type.
08:17:49.018 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
08:17:49.018 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
08:17:49.018 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout"
08:17:49.018 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab
08:17:49.178 RENDER : RENDER : ObjectsHeightMap::Build
08:17:49.178 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld
08:17:49.306 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 127.334700 ms
08:17:49.312 PROFILING : ObjectsHeightMap::Build took: 134.147300 ms
08:17:50.442 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1
08:17:50.459 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160>
08:17:50.460 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1
08:17:50.483 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050>
08:17:50.485 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200>
08:17:50.528 ENTITY : SpawnEntityPrefab @"{DF5CCB7C0FF049F4}Prefabs/Vehicles/Helicopters/Mi8MT/Mi8MT_unarmed_transport.et"
08:17:50.528 WORLD : InitEntities 'world'
08:17:50.528 ENTITY : Init entity @"ENTITY:4611686018427388492" ('Vehicle','Assets/Vehicles/Helicopters/Mi8/Mi8MT_base.xob') at <7012.000000 63.724998 7500.000000> @"{DF5CCB7C0FF049F4}Prefabs/Vehicles/Helicopters/Mi8MT/Mi8MT_unarmed_transport.et"
08:17:50.528 DEFAULT (W): No weapon slot index corresponds to the default index on BaseWeaponManagerComponent(0). Either set the default index to -1 or change index value on a slot to be the same as the default one.(@"ENTITY:4611686018427388492" ('Vehicle','Assets/Vehicles/Helicopters/Mi8/Mi8MT_base.xob') at <7012.000000 63.724998 7500.000000> @"{DF5CCB7C0FF049F4}Prefabs/Vehicles/Helicopters/Mi8MT/Mi8MT_unarmed_transport.et")
08:17:50.530 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500>
08:17:50.530 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1
08:17:50.537 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1
08:17:50.577 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220>
08:17:50.577 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1
08:17:50.579 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400>
08:17:50.579 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1
08:17:50.582 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1
08:17:50.583 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1
08:17:50.583 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1
08:17:50.584 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300>
08:17:50.584 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<7012,63.725,7500> up=1
08:17:50.584 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0 angularSpeed=0
08:17:50.584 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=0 engine=0 origin=<0,0,0> up=1 entityDifference=10267.5
08:17:50.585 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012,64.0216,7502.25>
08:17:50.585 SCRIPT : ERR GEAR TERRAIN: bottom=<7012,63.7216,7502.25> terrainY=63.2926 tireTerrainGap=0.428944
08:17:50.585 SCRIPT : ERR GEAR SUPPORT: center=<7012,64.0216,7502.25> radius=0.3 bottom=<7012,63.7216,7502.25> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
08:17:50.585 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.72,64.4897,7497.97>
08:17:50.585 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.72,64.0397,7497.97> terrainY=64.1655 tireTerrainGap=-0.125717
08:17:50.585 SCRIPT : ERR GEAR SUPPORT: center=<7009.72,64.4897,7497.97> radius=0.45 bottom=<7009.72,64.0397,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
08:17:50.586 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.28,64.4898,7497.97>
08:17:50.586 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.28,64.0398,7497.97> terrainY=63.8096 tireTerrainGap=0.230156
08:17:50.586 SCRIPT : ERR GEAR SUPPORT: center=<7014.28,64.4898,7497.97> radius=0.45 bottom=<7014.28,64.0398,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
08:17:50.586 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:50.586 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:50.586 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:50.586 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:50.587 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:50.587 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:51.375 WORLD : UpdateEntities
08:17:51.375 WORLD : AfterPostSimulate
08:17:51.375 DEFAULT (W): Collider UCS_FG_DriveShaft_01 not found
08:17:51.452 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:51.453 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:51.453 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:51.453 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:51.706 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.08,63.5191,7499.71> up=0.9956
08:17:51.706 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.209733 angularSpeed=0.0529618
08:17:51.706 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
08:17:51.706 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.06,63.6124,7501.98>
08:17:51.707 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.06,63.3124,7501.98> terrainY=63.3156 tireTerrainGap=-0.00321198
08:17:51.707 SCRIPT : ERR GEAR SUPPORT: center=<7012.06,63.6124,7501.98> radius=0.3 bottom=<7012.06,63.3124,7501.98> fraction=0.440336 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=-0.00312424
08:17:51.707 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.89,64.6018,7497.71>
08:17:51.707 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.89,64.1518,7497.71> terrainY=64.154 tireTerrainGap=-0.00212097
08:17:51.707 SCRIPT : ERR GEAR SUPPORT: center=<7009.89,64.6018,7497.71> radius=0.45 bottom=<7009.89,64.1518,7497.71> fraction=0.445067 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=-0.00208282
08:17:51.707 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.43,64.2619,7497.76>
08:17:51.707 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.43,63.8119,7497.76> terrainY=63.8169 tireTerrainGap=-0.00498581
08:17:51.708 SCRIPT : ERR GEAR SUPPORT: center=<7014.43,64.2619,7497.76> radius=0.45 bottom=<7014.43,63.8119,7497.76> fraction=0.431667 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00503159
08:17:51.708 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
08:17:51.958 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:51.958 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:51.958 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:51.959 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:52.466 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:52.466 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:52.467 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:52.719 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.11,63.5371,7499.72> up=0.994393
08:17:52.719 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0957685 angularSpeed=0.0250633
08:17:52.720 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
08:17:52.720 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.07,63.6185,7502>
08:17:52.720 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.07,63.3185,7502> terrainY=63.3132 tireTerrainGap=0.00532913
08:17:52.720 SCRIPT : ERR GEAR SUPPORT: center=<7012.07,63.6185,7502> radius=0.3 bottom=<7012.07,63.3185,7502> fraction=0.4787 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=0.00531387
08:17:52.720 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.94,64.6009,7497.71>
08:17:52.720 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.94,64.1509,7497.71> terrainY=64.1469 tireTerrainGap=0.00400543
08:17:52.721 SCRIPT : ERR GEAR SUPPORT: center=<7009.94,64.6009,7497.71> radius=0.45 bottom=<7009.94,64.1509,7497.71> fraction=0.473064 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.0040741
08:17:52.721 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.48,64.2642,7497.79>
08:17:52.721 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.48,63.8142,7497.79> terrainY=63.8146 tireTerrainGap=-0.000423431
08:17:52.721 SCRIPT : ERR GEAR SUPPORT: center=<7014.48,64.2642,7497.79> radius=0.45 bottom=<7014.48,63.8142,7497.79> fraction=0.452778 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.000389099
08:17:52.721 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
08:17:52.722 SCRIPT : Rereintroduced [extraction placement]: native supported aircraft stable for one second, fuel present, exactly one initial wake
08:17:52.973 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:52.973 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:52.973 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:52.973 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:53.479 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:53.480 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:53.480 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:53.731 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.14,63.5302,7499.75> up=0.994307
08:17:53.732 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0539594 angularSpeed=0.0390638
08:17:53.732 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
08:17:53.732 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.09,63.6121,7502.03>
08:17:53.732 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.09,63.3121,7502.03> terrainY=63.3104 tireTerrainGap=0.00172424
08:17:53.732 SCRIPT : ERR GEAR SUPPORT: center=<7012.09,63.6121,7502.03> radius=0.3 bottom=<7012.09,63.3121,7502.03> fraction=0.462288 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00170517
08:17:53.733 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.98,64.5918,7497.73>
08:17:53.733 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.98,64.1418,7497.73> terrainY=64.1403 tireTerrainGap=0.00154877
08:17:53.733 SCRIPT : ERR GEAR SUPPORT: center=<7009.98,64.5918,7497.73> radius=0.45 bottom=<7009.98,64.1418,7497.73> fraction=0.461582 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00154877
08:17:53.733 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.52,64.2597,7497.84>
08:17:53.733 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.52,63.8097,7497.84> terrainY=63.812 tireTerrainGap=-0.00233841
08:17:53.734 SCRIPT : ERR GEAR SUPPORT: center=<7014.52,64.2597,7497.84> radius=0.45 bottom=<7014.52,63.8097,7497.84> fraction=0.443889 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00234222
08:17:53.734 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
08:17:53.983 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:53.983 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:53.984 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:53.984 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:54.488 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:54.489 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:54.489 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:54.489 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:54.740 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.14,63.5277,7499.77> up=0.99433
08:17:54.740 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
08:17:54.740 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.5
08:17:54.740 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.09,63.6104,7502.04>
08:17:54.740 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.09,63.3104,7502.04> terrainY=63.3095 tireTerrainGap=0.000873566
08:17:54.741 SCRIPT : ERR GEAR SUPPORT: center=<7012.09,63.6104,7502.04> radius=0.3 bottom=<7012.09,63.3104,7502.04> fraction=0.458391 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.000846863
08:17:54.741 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.99,64.5915,7497.74>
08:17:54.741 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.99,64.1415,7497.74> terrainY=64.1387 tireTerrainGap=0.00273132
08:17:54.741 SCRIPT : ERR GEAR SUPPORT: center=<7009.99,64.5915,7497.74> radius=0.45 bottom=<7009.99,64.1415,7497.74> fraction=0.46719 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00278473
08:17:54.741 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.53,64.2594,7497.85>
08:17:54.741 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.53,63.8094,7497.85> terrainY=63.8111 tireTerrainGap=-0.00170517
08:17:54.742 SCRIPT : ERR GEAR SUPPORT: center=<7014.53,64.2594,7497.85> radius=0.45 bottom=<7014.53,63.8094,7497.85> fraction=0.446667 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00173187
08:17:54.742 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
08:17:54.994 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:54.994 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:54.994 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:54.995 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:55.503 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:55.503 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:55.503 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:55.504 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:55.755 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.14,63.5277,7499.77> up=0.99433
08:17:55.755 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
08:17:55.755 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.5
08:17:55.755 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.09,63.6104,7502.04>
08:17:55.756 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.09,63.3104,7502.04> terrainY=63.3095 tireTerrainGap=0.000873566
08:17:55.756 SCRIPT : ERR GEAR SUPPORT: center=<7012.09,63.6104,7502.04> radius=0.3 bottom=<7012.09,63.3104,7502.04> fraction=0.458391 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.000846863
08:17:55.756 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.99,64.5915,7497.74>
08:17:55.756 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.99,64.1415,7497.74> terrainY=64.1387 tireTerrainGap=0.00273132
08:17:55.756 SCRIPT : ERR GEAR SUPPORT: center=<7009.99,64.5915,7497.74> radius=0.45 bottom=<7009.99,64.1415,7497.74> fraction=0.46719 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00278473
08:17:55.756 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.53,64.2594,7497.85>
08:17:55.757 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.53,63.8094,7497.85> terrainY=63.8111 tireTerrainGap=-0.00170517
08:17:55.757 SCRIPT : ERR GEAR SUPPORT: center=<7014.53,64.2594,7497.85> radius=0.45 bottom=<7014.53,63.8094,7497.85> fraction=0.446667 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00173187
08:17:55.757 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
08:17:56.009 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:56.009 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:56.009 SCRIPT : Rereintroduced [sites]: 7 sites and 122 physical stock items ready
08:17:56.021 SCRIPT : Rereintroduced [environment]: date=authored weather=authored
08:17:56.022 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression
08:17:56.022 SCRIPT : Rereintroduced [mission]: phase 0 -> 1
08:17:56.023 SCRIPT : Rereintroduced [prison]: owned composition raw={BE6B8D56349038A6}Prefabs/ERR/Prison.et resolved={BE6B8D56349038A6}Prefabs/ERR/Prison.et position=<6090,211.444,7160>
08:17:56.023 SCRIPT : Rereintroduced [prison]: gate candidate raw= resolved={C3FDC4DBCD58C2F5}Prefabs/ERR/PrisonDoor.et lock=1 door=1 position=<6090,211.344,7154>
08:17:56.023 SCRIPT : Rereintroduced [prison]: destruction health=1000 destroyed=0 queued=0
08:17:56.023 SCRIPT : Rereintroduced [prison]: one intact successor lock in owned prison
08:17:56.951 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US)
08:17:56.987 SCRIPT : Rereintroduced [spawn]: player 1 at <6088.5,211.491,7158.5>
08:17:57.165 SCRIPT : ERR SMOKE PASS: new identity may enter prison
08:17:57.165 SCRIPT : ERR SMOKE PASS: spawn consumes identity life
08:17:57.165 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection
08:17:57.165 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life
08:17:57.165 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected
08:17:57.165 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy
08:17:57.165 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation
08:17:57.167 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation
08:17:57.169 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration
08:17:57.169 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration
08:17:57.169 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available
08:17:57.170 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions
08:17:57.172 SCRIPT : ERR SMOKE PASS: base contracts test setting restored
08:17:57.172 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show
08:17:57.172 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show
08:17:57.172 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show
08:17:57.172 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show
08:17:57.172 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show
08:17:57.173 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization
08:17:57.173 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service
08:18:27.227 ENTITY : SpawnEntityPrefab @"{3336BE330C4F355B}Prefabs/Vehicles/Wheeled/Ural4320/Ural4320_ammo.et"
08:18:27.227 ENTITY : Create entity @"ENTITY:4611686018427391322" ('Vehicle') at <6119.622559 200.287506 6973.364258> @"{3336BE330C4F355B}Prefabs/Vehicles/Wheeled/Ural4320/Ural4320_ammo.et"
08:18:27.227 ENTITY : CreateComponent 'BaseRadioComponent'
08:18:27.228 DEFAULT (W): BaseRadioComponent does not have any transceiver. (Entity: @"ENTITY:4611686018427391322" ('Vehicle') at <6119.622559 200.287506 6973.364258> @"{3336BE330C4F355B}Prefabs/Vehicles/Wheeled/Ural4320/Ural4320_ammo.et"). Only printing this message once. There're possibly more nodes with this requirement.
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory automatic startup owns one canonical six-vehicle task
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 0
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory original native turret gunner has scoped skill100
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 1
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 2
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 3
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original native turret gunner has scoped skill100
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 4
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original native turret gunner has scoped skill100
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory original native turret gunner has scoped skill100
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 5
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory original native turret gunner has scoped skill100
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy includes confirmed native turret gunners
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory automatic nineteen-body convoy respects shared physical budget
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory manual request after automatic startup cannot duplicate the convoy
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory actual six site groups are registered once in the Core force ledger
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory detached native Core ledger registers one arithmetic fixture without spawning
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory detached native ledger records elimination
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory eliminated source re-registration cannot restore strength or spawn
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory injected value fixture begins with a detached report
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory stored snapshot ignores later input mutation
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory newer delivered-value fixture advances trajectory
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory native vector arithmetic infers six metres per second from snapshots
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory ten-minute value-clock advance retains a weaker wider belief
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory old trajectory prediction remains capped in time and distance
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory negative revision is idempotent
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory clear removes detached value history
08:18:34.783 SCRIPT : ERR SMOKE PASS: HQ memory queued synthetic sighting has no belief while actual transmitter starts
08:18:34.783 SCRIPT : ERR SMOKE PASS: HQ memory uplink holds original caller for three seconds before its first network hop
08:18:34.783 SCRIPT : ERR SMOKE PASS: HQ memory fixture removes actual transmitting equipment mid-uplink
08:18:36.788 SCRIPT : ERR SMOKE PASS: HQ memory original caller radio loss interrupts call before any hop
08:18:36.788 SCRIPT : ERR SMOKE PASS: HQ memory physical uplink loss prevents production Accept
08:18:42.861 SCRIPT : ERR SMOKE PASS: HQ memory delivered uplink includes originating call and physical hop latency
08:18:42.861 SCRIPT : ERR SMOKE PASS: HQ memory actual uplink delivery reaches production intake exactly once
08:18:50.972 SCRIPT : ERR SMOKE PASS: HQ memory second physical delivery extends one stable credible trajectory
08:18:50.973 SCRIPT : ERR SMOKE PASS: HQ memory synthetic completed sweep is not knowledge before radio delivery
08:18:58.571 SCRIPT : ERR SMOKE PASS: HQ memory delivered negative sweep lowers confidence without inventing a sighting
08:18:58.571 SCRIPT : ERR SMOKE PASS: HQ memory replayed completed-sweep payload cannot multiply confidence loss
08:19:06.672 SCRIPT : ERR SMOKE PASS: HQ memory fresh delivered sighting supersedes prior negative evidence
08:19:14.760 SCRIPT : ERR SMOKE PASS: HQ memory delivered old-revision sweep cannot weaken a newer sighting
08:19:14.760 SCRIPT : ERR SMOKE PASS: native HQ memory delivery and search lineage
08:19:14.761 SCRIPT : INFO: KILL SUICIDE: jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) from US faction at <6088.5, 211.39, 7158.5> killed himself!
08:19:18.800 SCRIPT : ERR SMOKE PASS: native damage kills prisoner
08:19:18.801 SCRIPT : ERR SMOKE PASS: death selects spectator without another life
08:19:18.801 SCRIPT : ERR SMOKE PASS: spectator camera activates after native death
08:19:45.872 SCRIPT : Rereintroduced [mission]: phase 1 -> 6
08:19:45.873 SCRIPT : ERR SMOKE PASS: death exhausts round life and reaches defeat after spectator grace
08:19:45.873 SCRIPT : ERR SMOKE COMPLETE: terminal=6 lostHelicopterCase=0 playerDeathCase=1
08:19:45.874 SCRIPT : ERR SMOKE PASS: HQ memory actual command stop clears all belief history
08:19:46.005 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME
08:19:46.007 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout"
08:19:46.007 SCRIPT (W): Slot_Chat Has no Content!
08:19:46.007 SCRIPT (W): Slot_VON Has no Content!
08:19:46.007 SCRIPT (W): Slot_GameVersion Has no Content!
08:19:46.007 SCRIPT (W): Slot_Notifications Has no Content!
08:19:48.082 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back
08:19:48.083 SCRIPT : -- Stack trace --
08:19:48.083 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43
08:19:48.083 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214
08:19:48.083 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15
08:19:48.083 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447
08:19:48.083 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177
08:19:48.084 SCRIPT : OnUpdate() Scripts/Game/game.c : 885
08:19:48.084 SCRIPT : -----------------
08:19:48.084 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton
08:19:48.084 SCRIPT : -- Stack trace --
08:19:48.084 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43
08:19:48.084 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214
08:19:48.084 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21
08:19:48.085 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447
08:19:48.085 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177
08:19:48.085 SCRIPT : OnUpdate() Scripts/Game/game.c : 885
08:19:48.085 SCRIPT : -----------------
08:19:48.087 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout"
08:19:48.087 SCRIPT (W): Slot_Chat Has no Content!
08:19:48.087 SCRIPT (W): Slot_VON Has no Content!
08:19:48.087 SCRIPT (W): Slot_GameVersion Has no Content!
08:19:48.087 SCRIPT (W): Slot_Notifications Has no Content!
08:19:49.967 RESOURCES : Screenshot saved to $logs:err-result.png
Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

@@ -0,0 +1,139 @@
---------------------------------------------
Log Z:\tmp\erri-workbench-external-profile\logs\logs_2026-09-20_08-16-58\error.log started at 2026-09-20 08:17:00 (2026-09-20 06:17:00 UTC)
08:17:00.640 INIT : Workbench startup
08:17:00.640 INIT : Workbench Init Engine
08:17:00.640 RESOURCES : ResourceDB: full scan
08:17:00.640 RESOURCES : processing files...
08:17:00.640 RESOURCES (W): resource not registered: @"$RHS_Core:system/thermal/thermalProfileTreeCrownDefault.conf". Setting null GUID
08:17:00.652 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID
08:17:00.652 RESOURCES (W): resource not registered: @"$logs:external-addons-inputs.json". Setting null GUID
08:17:00.652 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID
08:17:00.652 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID
08:17:00.757 ENGINE : GameProject load
08:17:00.757 INIT : GameProject load project data @"Z:/tmp/erri-workbench-external-profile/addons/ERRI_595F2BF2F44836FB/addon.gproj"
08:17:00.757 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
08:17:00.757 INIT : GameProject load project data @"Z:/tmp/erri-workbench-external-profile/addons/ERRI_629B2BA37EFFD577/addon.gproj"
08:17:00.757 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
08:17:00.758 INIT : GameProject load project data @"Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
08:17:00.758 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
08:17:00.758 INIT : GameProject load project data @"Z:/tmp/erri-workbench-external-profile/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
08:17:00.758 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
08:17:08.265 INIT : Workbench Create Game
08:17:08.265 SCRIPT : Compiling Game scripts
08:17:08.265 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
08:17:08.265 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
08:17:08.457 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,201": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.554 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
08:17:08.590 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
08:17:08.713 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeVehicleSecurityProbe.c,77": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.722 SCRIPT (W): @"Scripts/Game/ERR/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
08:17:08.778 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
08:17:08.778 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
08:17:08.780 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
08:17:08.808 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeVehicleSecurityProbe.c,171": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.824 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.824 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.826 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
08:17:08.826 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
08:17:08.850 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,138": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.874 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
08:17:17.666 WORLD : CreateEntities
08:17:17.667 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
08:17:17.667 ENTITY : CreateComponent 'ScriptedRadioComponent'
08:17:17.667 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
08:17:32.293 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected)
08:17:36.136 WORLD : Game::LoadEntities
08:17:36.136 WORLD : CreateEntities
08:17:36.136 WORLD : CreateEntities
08:17:36.136 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
08:17:36.136 ENTITY : CreateComponent 'ScriptedRadioComponent'
08:17:36.136 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
08:17:37.491 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>
08:17:37.491 ENTITY : CreateComponent 'Hierarchy'
08:17:37.491 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>')
08:17:37.491 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>
08:17:37.491 ENTITY : CreateComponent 'Hierarchy'
08:17:37.491 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>')
08:17:37.491 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>
08:17:37.491 ENTITY : CreateComponent 'Hierarchy'
08:17:37.491 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>')
08:17:37.496 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>
08:17:37.496 ENTITY : CreateComponent 'Hierarchy'
08:17:37.496 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>')
08:17:37.496 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>
08:17:37.496 ENTITY : CreateComponent 'Hierarchy'
08:17:37.496 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>')
08:17:37.496 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>
08:17:37.496 ENTITY : CreateComponent 'Hierarchy'
08:17:37.496 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>')
08:17:37.500 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>
08:17:37.500 ENTITY : CreateComponent 'Hierarchy'
08:17:37.500 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>')
08:17:37.500 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>
08:17:37.500 ENTITY : CreateComponent 'Hierarchy'
08:17:37.500 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>')
08:17:37.500 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>
08:17:37.500 ENTITY : CreateComponent 'Hierarchy'
08:17:37.500 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>')
08:17:44.636 WORLD : InitEntities 'world'
08:17:44.636 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <60.452000 1.000000 213.136002> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
08:17:44.636 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead.
08:17:48.666 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
08:17:48.666 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000>
08:17:48.666 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
08:17:48.666 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key!
08:17:48.666 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key!
08:17:48.668 SCRIPT (W): Can't open config file ""
08:17:48.673 WORLD : InitEntities 'world'
08:17:48.674 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
08:17:48.674 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout"
08:17:48.674 SCRIPT (W): Slot_WeaponInfo Has no Content!
08:17:48.674 SCRIPT (W): Slot_Chat Has no Content!
08:17:48.674 SCRIPT (W): Slot_VON Has no Content!
08:17:48.674 SCRIPT (W): Slot_AvailableActions Has no Content!
08:17:48.674 SCRIPT (W): Slot_Vehicle Has no Content!
08:17:48.674 SCRIPT (W): Slot_GameVersion Has no Content!
08:17:48.674 SCRIPT (W): Slot_Notifications Has no Content!
08:17:48.675 SCRIPT (W): Slot_Hints Has no Content!
08:17:48.685 ENTITY : SpawnEntityPrefab @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
08:17:48.686 ENTITY : Create entity @"ENTITY:4611686018427388384" ('SCR_EditorModeEntity') at <0.000000 0.000000 0.000000>
08:17:48.686 ENTITY : EntityPrefabUse @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
08:17:48.686 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
08:17:48.686 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
08:17:48.690 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config
08:17:48.961 WORLD : UpdateEntities
08:17:48.961 WORLD : PostFrame
08:17:48.962 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout"
08:17:48.962 SCRIPT (W): EditBoxFilterComponent used on invalid widget type.
08:17:49.018 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
08:17:49.018 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
08:17:49.018 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout"
08:17:49.018 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab
08:17:50.528 ENTITY : SpawnEntityPrefab @"{DF5CCB7C0FF049F4}Prefabs/Vehicles/Helicopters/Mi8MT/Mi8MT_unarmed_transport.et"
08:17:50.528 WORLD : InitEntities 'world'
08:17:50.528 ENTITY : Init entity @"ENTITY:4611686018427388492" ('Vehicle','Assets/Vehicles/Helicopters/Mi8/Mi8MT_base.xob') at <7012.000000 63.724998 7500.000000> @"{DF5CCB7C0FF049F4}Prefabs/Vehicles/Helicopters/Mi8MT/Mi8MT_unarmed_transport.et"
08:17:50.528 DEFAULT (W): No weapon slot index corresponds to the default index on BaseWeaponManagerComponent(0). Either set the default index to -1 or change index value on a slot to be the same as the default one.(@"ENTITY:4611686018427388492" ('Vehicle','Assets/Vehicles/Helicopters/Mi8/Mi8MT_base.xob') at <7012.000000 63.724998 7500.000000> @"{DF5CCB7C0FF049F4}Prefabs/Vehicles/Helicopters/Mi8MT/Mi8MT_unarmed_transport.et")
08:17:51.375 WORLD : UpdateEntities
08:17:51.375 WORLD : AfterPostSimulate
08:17:51.375 DEFAULT (W): Collider UCS_FG_DriveShaft_01 not found
08:18:27.227 ENTITY : SpawnEntityPrefab @"{3336BE330C4F355B}Prefabs/Vehicles/Wheeled/Ural4320/Ural4320_ammo.et"
08:18:27.227 ENTITY : Create entity @"ENTITY:4611686018427391322" ('Vehicle') at <6119.622559 200.287506 6973.364258> @"{3336BE330C4F355B}Prefabs/Vehicles/Wheeled/Ural4320/Ural4320_ammo.et"
08:18:27.227 ENTITY : CreateComponent 'BaseRadioComponent'
08:18:27.228 DEFAULT (W): BaseRadioComponent does not have any transceiver. (Entity: @"ENTITY:4611686018427391322" ('Vehicle') at <6119.622559 200.287506 6973.364258> @"{3336BE330C4F355B}Prefabs/Vehicles/Wheeled/Ural4320/Ural4320_ammo.et"). Only printing this message once. There're possibly more nodes with this requirement.
08:19:46.007 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout"
08:19:46.007 SCRIPT (W): Slot_Chat Has no Content!
08:19:46.007 SCRIPT (W): Slot_VON Has no Content!
08:19:46.007 SCRIPT (W): Slot_GameVersion Has no Content!
08:19:46.007 SCRIPT (W): Slot_Notifications Has no Content!
08:19:48.082 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back
08:19:48.084 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton
08:19:48.087 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout"
08:19:48.087 SCRIPT (W): Slot_Chat Has no Content!
08:19:48.087 SCRIPT (W): Slot_VON Has no Content!
08:19:48.087 SCRIPT (W): Slot_GameVersion Has no Content!
08:19:48.087 SCRIPT (W): Slot_Notifications Has no Content!
@@ -0,0 +1,744 @@
{
"1337C0DE5DABBEEF": {
"path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack01_1337C0DE5DABBEEF",
"title": "RHS: Status Quo - Content Pack 01",
"version": "0.16.5208",
"files": {
"ServerData.json": {
"stat": [
47,
916830,
209,
1789670354123815627,
1789670354123815627
],
"sha256": "c5d88d82138bc80c95f364075c3a0fc2228f9c15c6230398f3728a13d25b418c"
},
"addon.gproj": {
"stat": [
47,
26917910,
335,
1789670330884205142,
1789670353823807747
],
"sha256": "65197c50ff6e906a5732564e8b440d80ef1cdbcffead9eb388e1e2b56c1322bc"
},
"addon.gproj_0.16.5208_manifest.json": {
"stat": [
47,
26917892,
362,
1789670307618593786,
1789670307618593786
],
"sha256": "17b87e0976ac2da1032f1661a884f6d59b56c00823b2fcfdc2a698ea8bcc92cc"
},
"data.pak": {
"stat": [
47,
26917928,
1992582478,
1789670344310557863,
1789670353824807774
],
"sha256": "e5db31f571782997640a67601ebd3bd6e6615c1548274c71b6ab0cdd794f8bf5"
},
"data.pak_0.16.5208_manifest.json": {
"stat": [
47,
26917893,
232459,
1789670307954602617,
1789670307954602617
],
"sha256": "855813254cd72dc87515f4c395e7c7defe4b145ac809a740f81c85ca546b36fe"
},
"data001.pak": {
"stat": [
47,
26917986,
1993657251,
1789670345496589019,
1789670354029813158
],
"sha256": "2bda9c533834dfa2b8e29f4a2a905c30639dabe250554e1346cf1f5dae3f2db3"
},
"data001.pak_0.16.5208_manifest.json": {
"stat": [
47,
26917900,
349870,
1789670308754623642,
1789670308754623642
],
"sha256": "d4ec79f2a5cf03dd44bcc4513199056195dfda3c7a5c6bbfd17b2c709b746cdc"
},
"data002.pak": {
"stat": [
47,
26917956,
1992567795,
1789670345532589964,
1789670353970811608
],
"sha256": "dfbd716c2a0849910a8058b1f008b8403b8c506fe18c3168d2844383ac02988c"
},
"data002.pak_0.16.5208_manifest.json": {
"stat": [
47,
26917897,
332016,
1789670308247610318,
1789670308247610318
],
"sha256": "3de05138d1d635f1ba5bcbd74a0f91028bfd59082f45c740051381bd054404b5"
},
"data003.pak": {
"stat": [
47,
26917964,
364877149,
1789670333444272402,
1789670354017812842
],
"sha256": "6225936ebc266825bbd1c79e4e0020c9f2fb55c3d3501ed66e72d87436ccd015"
},
"data003.pak_0.16.5208_manifest.json": {
"stat": [
47,
26917898,
96448,
1789670308423614944,
1789670308423614944
],
"sha256": "8ca2504191def96715ddd6ee98a8df1e3f0951e5755592801eab662657289dd0"
},
"meta": {
"stat": [
47,
911092,
8188,
1789670354121815574,
1789670354121815574
],
"sha256": "cb4f4296d087ea5fe2e849b0fc960748bfede7ea3071eeb545bd7bd309be6bfb"
},
"resourceDatabase.rdb": {
"stat": [
47,
26917967,
566987,
1789670331096210712,
1789670354028813131
],
"sha256": "e8706d6b9bb2474b65f7c588de9fcfad4516bd26dc12e7b6b687e7973a41e7a6"
},
"resourceDatabase.rdb_0.16.5208_manifest.json": {
"stat": [
47,
26917899,
368,
1789670308546618176,
1789670308546618176
],
"sha256": "336f9160ad955caa88d286915195699d3ac36f3363391967a178be0fd2ccd914"
},
"thumbnail.png": {
"stat": [
47,
26917907,
18180,
1789670330627887201,
1789670353823807747
],
"sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3"
},
"thumbnail.png_0.16.5208_manifest.json": {
"stat": [
47,
26917891,
366,
1789670307490590423,
1789670307490590423
],
"sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255"
}
}
},
"595F2BF2F44836FB": {
"path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-StatusQuo_595F2BF2F44836FB",
"title": "RHS: Status Quo",
"version": "0.16.5208",
"files": {
"ServerData.json": {
"stat": [
47,
910012,
2789,
1789670389999757705,
1789670389999757705
],
"sha256": "0432a068d8d77e34afd10432d1459df1334238e1ec416c896f13b84bae5a3ac5"
},
"addon.gproj": {
"stat": [
47,
26919135,
1100,
1789670379744488450,
1789670389873754397
],
"sha256": "1b83e9df126db639cfcdb6d5119e65a1581c028becd6c09998143ed527ad0721"
},
"addon.gproj_0.16.5208_manifest.json": {
"stat": [
47,
26919120,
364,
1789670378419453659,
1789670378419453659
],
"sha256": "d232c4cfc959267482bbf261eb2e5121c76b6bf7d8893c58c520a763df5ca5f8"
},
"data.pak": {
"stat": [
47,
26919141,
203378761,
1789670389138735100,
1789670389946756313
],
"sha256": "985d0cde7b09ee860086cb386cf624fcfd94b5e82b26af0b33bab83f21d06988"
},
"data.pak_0.16.5208_manifest.json": {
"stat": [
47,
26919122,
1409173,
1789670378781463164,
1789670378781463164
],
"sha256": "041c8ebdf035c69aed7c04bb55be839fbdbd7bc8501862dd4939c1d71cdfe8c5"
},
"meta": {
"stat": [
47,
902077,
12209,
1789670389989757443,
1789670389989757443
],
"sha256": "1b62c97002078af393f23508c3b03cfe22f590130345ac44926b06940f27f269"
},
"resourceDatabase.rdb": {
"stat": [
47,
26919132,
823768,
1789670379822490498,
1789670389872754371
],
"sha256": "25f6405084fd228ff400868b21f033c4c43d44162ce73de562e06d8003b94a49"
},
"resourceDatabase.rdb_0.16.5208_manifest.json": {
"stat": [
47,
26919119,
368,
1789670378283450088,
1789670378283450088
],
"sha256": "986f0280a79b0e4ff6d9a3ad60570bebd86ce68869c9f3d5954141f7d5060cb1"
},
"thumbnail.png": {
"stat": [
47,
26919138,
18180,
1789670379618193709,
1789670389873754397
],
"sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3"
},
"thumbnail.png_0.16.5208_manifest.json": {
"stat": [
47,
26919121,
366,
1789670378550457099,
1789670378550457099
],
"sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255"
}
}
},
"5E389BB9F58B79A6": {
"path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/SpaceCore_5E389BB9F58B79A6",
"title": "WCS_SpaceCore",
"version": "8.2.1",
"files": {
"ServerData.json": {
"stat": [
47,
919166,
197,
1789670369327462097,
1789670369327462097
],
"sha256": "4bcd7610056ed1d366e9b6d0600e80c622a1af35caecf5c9ecf2c7b9e2b626f7"
},
"addon.gproj": {
"stat": [
47,
26918585,
2957,
1789670367793432952,
1789670369299906650
],
"sha256": "2db2e318e6f45bede0d1173d77af03314f888aedfb31bc767d569ccfb6e70a34"
},
"addon.gproj_8.2.1_manifest.json": {
"stat": [
47,
26918576,
364,
1789670367178158473,
1789670367178158473
],
"sha256": "67d15a8e8623130546332c6d6433314cbdf38e034a66330b9c7a739a94731e21"
},
"data.pak": {
"stat": [
47,
26918592,
43626712,
1789670369105209079,
1789670369315214594
],
"sha256": "80e9810c9b7c873187660d0ddf002a63d1a382e81fc3611baa0ae8fdfff29d3d"
},
"data.pak_8.2.1_manifest.json": {
"stat": [
47,
26918578,
66352,
1789670367560168505,
1789670367560168505
],
"sha256": "6635291a1f1aa9cffdb844e241c36cdc04114574279bab66e21613410f5e5686"
},
"meta": {
"stat": [
47,
918678,
2338,
1789670369325214856,
1789670369325214856
],
"sha256": "dd1c683c086efb292e6cc927bd6522a1ea97ebd454e8148356f66554ebcdd4dc"
},
"resourceDatabase.rdb": {
"stat": [
47,
26918588,
44111,
1789670367937178405,
1789670369300214199
],
"sha256": "c4293fef30948a3538751533cc52c9ce449ffada931b47a8fdf1ca48c1618e75"
},
"resourceDatabase.rdb_8.2.1_manifest.json": {
"stat": [
47,
26918577,
366,
1789670367326162360,
1789670367326162360
],
"sha256": "df8cd07ff81263e4108688883b9f20568041f067dbad74402464ec2f88432b69"
},
"thumbnail.png": {
"stat": [
47,
26918582,
689401,
1789670367794174651,
1789670369299906650
],
"sha256": "8da2e133303f21bb16a2abd25d5bd6c2a4a6f5eccedae74a98358db485a170d1"
},
"thumbnail.png_8.2.1_manifest.json": {
"stat": [
47,
26918574,
368,
1789670367051155138,
1789670367051155138
],
"sha256": "5aaa5989b5f44b48ff03082a0d4004ae71420db6eebeb56282af7d98f36c7000"
}
}
},
"5E524E4FEECCA92B": {
"path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/BMP-1IFV_5E524E4FEECCA92B",
"title": "WCS_BMP-1",
"version": "8.2.0",
"files": {
"ServerData.json": {
"stat": [
47,
918673,
193,
1789670366131482045,
1789670366131482045
],
"sha256": "92ff4ae6fec8afc679726186f424bb31c9918d182f321afca4696654844e39c7"
},
"addon.gproj": {
"stat": [
47,
26918544,
2900,
1789670364825147789,
1789670366119130662
],
"sha256": "ad44151140adf62e99eaa639984c2b9c400be17481e934186d61c307b5221259"
},
"addon.gproj_8.2.0_manifest.json": {
"stat": [
47,
26918530,
364,
1789670364263081920,
1789670364263081920
],
"sha256": "3065c7c353cb7623ee85f83d462d4dac37c92efad1a0255f2661470e6cedfd0f"
},
"data.pak": {
"stat": [
47,
26918541,
119808197,
1789670365649118318,
1789670366115130557
],
"sha256": "f715ad5fa3de788061a66a3ccd933feead5cc1631507ca63e9061049c538fab6"
},
"data.pak_8.2.0_manifest.json": {
"stat": [
47,
26918528,
25795,
1789670364132078479,
1789670364132078479
],
"sha256": "24a7f735e55ccfacc5cdacbb39fb76a6fac294f4cdc47dca0fcb6e3f1919f1e6"
},
"gallery0_776x436.jpg": {
"stat": [
47,
23106914,
64588,
1788720671481676966,
1788720671481676966
],
"sha256": "63649f5239059dd12234250b8c8e313b14ca134e30e4309fbd1eb45f92e77097"
},
"gallery1_776x436.jpg": {
"stat": [
47,
23106915,
47808,
1788720671495639547,
1788720671495639547
],
"sha256": "81f89b026a1bf341f8cd3bb19facd67e8d0f56073c924e026983836fee6bfb4c"
},
"meta": {
"stat": [
47,
918496,
2928,
1789670366129130924,
1789670366129130924
],
"sha256": "ad0f9baa154a250712c94b50c5edcb25200002bdc186d35453b5e8c32c0b6ee5"
},
"resourceDatabase.rdb": {
"stat": [
47,
26918535,
16514,
1789670364934099542,
1789670366080129638
],
"sha256": "c65677e8767d92c96c6f35b482350d56e3dccfa026a3c5470b332120990f047c"
},
"resourceDatabase.rdb_8.2.0_manifest.json": {
"stat": [
47,
26918527,
366,
1789670364004075117,
1789670364004075117
],
"sha256": "fdc44be4e1523db5965b015a7ea511623399a5fb3548aaaf8b2a4807fc6ade7d"
},
"thumbnail.png": {
"stat": [
47,
26918547,
708338,
1789670364826600016,
1789670366119130662
],
"sha256": "103a98bf476d510ab3081abb371170ae6cf65aea65b9095636d651170a5b0038"
},
"thumbnail.png_8.2.0_manifest.json": {
"stat": [
47,
26918531,
368,
1789670364388085202,
1789670364388085202
],
"sha256": "5bf1e0f8794a4e2e862658a10071360df63ed6a440ee2ca5514afbc2e97e375e"
}
}
},
"629B2BA37EFFD577": {
"path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/WCS_Armaments_629B2BA37EFFD577",
"title": "WCS_Armaments",
"version": "8.2.1",
"files": {
"ServerData.json": {
"stat": [
47,
920134,
197,
1789670377639162612,
1789670377639162612
],
"sha256": "8e5e6b2fe4099ca90bb4498c9479924e775ca0eac411c8230114143ff1a8297a"
},
"addon.gproj": {
"stat": [
47,
26918715,
2926,
1789670371305266851,
1789670377499241577
],
"sha256": "e6ffcf559a2e7898848349c090300ea8eca8cb2e13ecef456a108bcc82efc8b1"
},
"addon.gproj_8.2.1_manifest.json": {
"stat": [
47,
26918707,
364,
1789670369590221815,
1789670369590221815
],
"sha256": "ba8f2b36575408f11b2107fc4b0f9449c9dc057629ebf894c7bdbc77f53cbc1f"
},
"data.pak": {
"stat": [
47,
26918730,
395962643,
1789670376182394919,
1789670377620432679
],
"sha256": "84a2cf01e2d17a06f8d775ca542a0cc98739f9f4b75b79826017e1387faedb18"
},
"data.pak_8.2.1_manifest.json": {
"stat": [
47,
26918711,
214221,
1789670370007232766,
1789670370007232766
],
"sha256": "dc3ff832bce708121c61a5dfe09be8504352556c50341f9878f4b457e165ade2"
},
"meta": {
"stat": [
47,
919170,
2504,
1789670377637433125,
1789670377637433125
],
"sha256": "2863bb2bdb586286f8aedc34d5dfb6adbdaafd5fca0f8f21136c7a5351d1ce88"
},
"resourceDatabase.rdb": {
"stat": [
47,
26918718,
141469,
1789670371389269057,
1789670377499429501
],
"sha256": "7f38b7ed578b0b47864648a7b70288fe49dae4cc2556d5754377a1c28b2b6532"
},
"resourceDatabase.rdb_8.2.1_manifest.json": {
"stat": [
47,
26918708,
368,
1789670369714225072,
1789670369714225072
],
"sha256": "2ffa1cf6f8c07600147ae779ee3be1ccec8da23cb1c10d8c73e0c5c5d3dc6d06"
},
"thumbnail.png": {
"stat": [
47,
26918721,
689544,
1789670371307273812,
1789670377500429528
],
"sha256": "ccd771dba7f3f222e9733e688e6dd9e4c5edae2accdd80a6876241094e23f3dd"
},
"thumbnail.png_8.2.1_manifest.json": {
"stat": [
47,
26918710,
368,
1789670369835228249,
1789670369835228249
],
"sha256": "e58ef73e4a794e56ecd04bfd84940ec539e5ca481d6b69ffb20f9fedcd3c2e77"
}
}
},
"BADC0DEDABBEDA5E": {
"path": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack02_BADC0DEDABBEDA5E",
"title": "RHS: Status Quo - Content Pack 02",
"version": "0.16.5208",
"files": {
"ServerData.json": {
"stat": [
47,
911088,
209,
1789670428409812415,
1789670428409812415
],
"sha256": "90353d1b4ab072f7844bf24d8066031efd69feb76ddcbf66dea34b52ddfe0a1c"
},
"addon.gproj": {
"stat": [
47,
26919414,
336,
1789670399470006320,
1789670428369764835
],
"sha256": "6ebd73d663ed6dbf981cd8bc7d19cfd5bcd3c9dec3b9a706fa331d992ef200b4"
},
"addon.gproj_0.16.5208_manifest.json": {
"stat": [
47,
26919383,
362,
1789670390797778656,
1789670390797778656
],
"sha256": "72d988d5881efdf7d8781b2dc978a0243e1a3d587ced56563299855724137232"
},
"data.pak": {
"stat": [
47,
26919411,
1992445813,
1789670421137575039,
1789670428335763943
],
"sha256": "5b28362571e396c008eb2286dc5a76b4ccf869c0a279916209fb0ef20d6b145e"
},
"data.pak_0.16.5208_manifest.json": {
"stat": [
47,
26919381,
170934,
1789670390675775453,
1789670390675775453
],
"sha256": "7cde302270a1e5c3a88517ff8b08a5b50bbe63e7392434d8245542f81b0bfdf8"
},
"data001.pak": {
"stat": [
47,
26919421,
238642257,
1789670400589035695,
1789670428370764861
],
"sha256": "fb2aecbde5668c4d431ea74d64f6d15f7a9f608fefe01838d7c85fb0c818499f"
},
"data001.pak_0.16.5208_manifest.json": {
"stat": [
47,
26919384,
29970,
1789670390937782332,
1789670390937782332
],
"sha256": "e6fb290c2f9d8dcd0c0ac95c3dee054377a525e00129abc766defa079385d6ea"
},
"meta": {
"stat": [
47,
910016,
7720,
1789670428407765832,
1789670428407765832
],
"sha256": "e9ba58307cb931026c5c59654f3b4b7f92ac6e0682a1e94fd2eb1d5b75c214cf"
},
"resourceDatabase.rdb": {
"stat": [
47,
26919388,
111601,
1789670399484558966,
1789670428260761974
],
"sha256": "736bcd2e60177e5af99d93c6b5f07ad79a950899aaca23000f33ad405cd1b74e"
},
"resourceDatabase.rdb_0.16.5208_manifest.json": {
"stat": [
47,
26919379,
368,
1789670390384767813,
1789670390384767813
],
"sha256": "9a4f54837a83d2acc2bdc62288b62fe7f24876a374f1270d5a5d2a497bb5de8f"
},
"thumbnail.png": {
"stat": [
47,
26919391,
18180,
1789670398997629625,
1789670428260761974
],
"sha256": "4c70bf384375f069cab9ed719f3865441fd363a010495e7b465f3ae83ed887c3"
},
"thumbnail.png_0.16.5208_manifest.json": {
"stat": [
47,
26919380,
366,
1789670390509771095,
1789670390509771095
],
"sha256": "d0e233b32d3d41ac44ea127ea5eb028b97a63555f7867278a7a6f5e8e1df7255"
}
}
}
}
@@ -0,0 +1,150 @@
[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1)
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts'
[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope'
[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common'
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0)
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1)
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2)
[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays'
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3)
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4)
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5)
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6)
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7)
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8)
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9)
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10)
[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11)
[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts'
[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist
[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts'
[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist
[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0)
[gamescope] [Info] vulkan: physical device supports DRM format modifiers
[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend
[gamescope] [Info] vulkan: supported DRM formats for sampling usage:
[gamescope] [Info] vulkan: AR24 (0x34325241)
[gamescope] [Info] vulkan: XR24 (0x34325258)
[gamescope] [Info] vulkan: AB24 (0x34324241)
[gamescope] [Info] vulkan: XB24 (0x34324258)
[gamescope] [Info] vulkan: RG16 (0x36314752)
[gamescope] [Info] vulkan: NV12 (0x3231564E)
[gamescope] [Info] vulkan: AB4H (0x48344241)
[gamescope] [Info] vulkan: XB4H (0x48344258)
[gamescope] [Info] vulkan: AB48 (0x38344241)
[gamescope] [Info] vulkan: XB48 (0x38344258)
[gamescope] [Info] vulkan: AB30 (0x30334241)
[gamescope] [Info] vulkan: XB30 (0x30334258)
[gamescope] [Info] vulkan: AR30 (0x30335241)
[gamescope] [Info] vulkan: XR30 (0x30335258)
[gamescope] [Info] wlserver: Using explicit sync when available
[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0'
[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend
[gamescope] [Info] wlserver: Successfully initialized libei for input emulation!
[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use
[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Multiple symbols for level 1/group 1 on key <FK23>
> Using F23, ignoring XF86TouchpadOff
> Warning: Symbol map for key <FK23> redefined
> Using last definition for conflicting fields
> Warning: Symbol map for key <FK24> redefined
> Using last definition for conflicting fields
> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn
> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff
> Warning: Could not resolve keysym XF86ActionOnSelection
> Warning: Could not resolve keysym XF86ContextualInsert
> Warning: Could not resolve keysym XF86ContextualQuery
Errors from xkbcomp are not fatal to the X server
[gamescope] [Info] pipewire: stream state changed: connecting
[gamescope] [Info] pipewire: stream state changed: paused
[gamescope] [Info] pipewire: stream available on node ID: 157
[gamescope] [Info] vblank: Using timerfd.
fsync: up and running.
[Gamescope WSI] No application info given.
[Gamescope WSI] Executable name: explorer.exe
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
[Gamescope WSI] Application info:
pApplicationName: xalia.exe
applicationVersion: 0
pEngineName: DXVK
engineVersion: 12587008
apiVersion: 4206592
[Gamescope WSI] Executable name: xalia.exe
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
[Gamescope WSI] No application info given.
[Gamescope WSI] Application info:
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
applicationVersion: 1
pEngineName: DXVK
engineVersion: 12587008
apiVersion: 4206592
[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
[Gamescope WSI] No application info given.
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Unsupported maximum keycode 709, clipping.
> X11 cannot support keycodes above 255.
> Warning: Virtual modifier Hyper multiply defined
> Using 0, ignoring 0
> Warning: Virtual modifier ScrollLock multiply defined
> Using 0, ignoring 0
Errors from xkbcomp are not fatal to the X server
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
[Gamescope WSI] Application info:
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
applicationVersion: 0
pEngineName: DXVK
engineVersion: 12587008
apiVersion: 4206592
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
[Gamescope WSI] Application info:
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
applicationVersion: 0
pEngineName: vkd3d
engineVersion: 12587008
apiVersion: 4206592
[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1.
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
[Gamescope WSI] No application info given.
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
[Gamescope WSI] Application info:
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
applicationVersion: 0
pEngineName: vkd3d
engineVersion: 12587008
apiVersion: 4206592
[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1.
[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4
[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL.
[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4
[Gamescope WSI] Surface state:
steam app id: 1874910
window xid: 0x1a001a4
wayland surface res id: 5
layer client flags: 0x4
server hdr output enabled: false
hdr formats exposed to client: false
[Gamescope WSI] Creating Gamescope surface: xid: 0x1a0039a
[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL.
[Gamescope WSI] Made gamescope surface for xid: 0x1a0039a
[Gamescope WSI] Surface state:
steam app id: 1874910
window xid: 0x1a0039a
wayland surface res id: 10
layer client flags: 0x4
server hdr output enabled: false
hdr formats exposed to client: false
[Gamescope WSI] Creating swapchain for xid: 0x1a0039a - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false
[Gamescope WSI] Created swapchain for xid: 0x1a0039a swapchain: 0x55555f704a80 - imageCount: 4
[Gamescope WSI] Destroying swapchain: 0x55555f704a80
[Gamescope WSI] Destroyed swapchain: 0x55555f704a80
[Gamescope WSI] Creating swapchain for xid: 0x1a0039a - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false
[Gamescope WSI] Created swapchain for xid: 0x1a0039a swapchain: 0x55555f704a80 - imageCount: 4
[Gamescope WSI] Destroying swapchain: 0x55555f704a80
[Gamescope WSI] Destroyed swapchain: 0x55555f704a80
[Gamescope WSI] Creating swapchain for xid: 0x1a0039a - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false
[Gamescope WSI] Created swapchain for xid: 0x1a0039a swapchain: 0x55555f688040 - imageCount: 4
[gamescope] [Info] launch: Primary child shut down!
@@ -0,0 +1,258 @@
{
"addons/ai/Prefabs/ERR/ConvoyCrew.et": "434d9bef9a9fcf0376604a9fbd547204cc544f5ed1a5b75228245151f02323ab",
"addons/ai/Prefabs/ERR/ConvoyCrew.et.meta": "0a909a15b7dcca34202ded136b3bdbbe8898153c9589e1cce1388433d362da02",
"addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce",
"addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc",
"addons/ai/Scripts/Game/ERR/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldEnvelope.c": "0f53c7d9ab167a804eb904d63725decebb53fd5796fdf27864a75abed5679838",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldFlight.c": "c04e264cff9963821852094c451502d31bf9c96d4deae2e8ff8a2373b53b5665",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c": "30be68f4ca2db7e169f6f0432815821179cddf9159f7b150341dc8eb479bbd17",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3",
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511",
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9",
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c": "3f05209227986b5c6bfb193f8f53783cfd4ef083bce898e22257c3e63daed913",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyBudget.c": "fc1f77fd773194e3f4d591b299e4c5eae4fa9564aad32b8cec0bbb4011425c0c",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyCombat.c": "73c54fa5c6fa098798ca6adf573a113d7a9a9fa79eac88d364976638da50d4b3",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyPlacement.c": "4d0e8b6e147486fb65db82a1060f0c5641c1319ba9e418bdec99cb5a422a7fbe",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyRoadPlan.c": "ffab8d55d4120c7405b0061d005f24e81cf6fcdfa95b91febcf4994ce4412140",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyService.c": "5b6e31a6072dc35af916b4897e417d53196d7fff4e1bc54ae239c3bbf5f6089b",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyStartup.c": "360228fd45aa6ecd9426e36120b5e637d2feee1e3a4a89aac8207526b871c87e",
"addons/ai/Scripts/Game/ERR/ERR_EnemyEquipment.c": "b16a8b31be20271c37c4d68c169f08b28d88993d296308b80de00715ea2b4dfe",
"addons/ai/Scripts/Game/ERR/ERR_EnemyGunnerSkill.c": "0c8ce2f3d2642999a7158000e60d8c491ed3e4b6d9c0d3d18b3e3ecc3e557196",
"addons/ai/Scripts/Game/ERR/ERR_EnemyOptics.c": "41571a57fbedc9f100518e6cc8f4fcd15ae669aeab2c050d1eb3e173fc6f3868",
"addons/ai/Scripts/Game/ERR/ERR_EnemyRadio.c": "d583b025275fb06419b132e93ead6a29f86389a97e8f7ae24cf62e89aef06130",
"addons/ai/Scripts/Game/ERR/ERR_HQ.c": "1a63c4a434a0a678a099f5f55e618af08589ba9c232fafb057a5aef6306aa06a",
"addons/ai/Scripts/Game/ERR/ERR_HQAdminProvider.c": "298ae30d1db1191d680a5a8f60253f9344e0e19fe9c17242c757382042364341",
"addons/ai/Scripts/Game/ERR/ERR_HQAmmoReporting.c": "7ceb17a7e619aee699a1b61ea7a4e029f07560f68b3b89dbd3b7b286fcc7d799",
"addons/ai/Scripts/Game/ERR/ERR_HQAmmoSampler.c": "f2b50ec6c6dd3bfb4e7c636e02b94893b41a2c13753b00e6b0ea2ed7686413ca",
"addons/ai/Scripts/Game/ERR/ERR_HQBodyObserver.c": "fb2067f671ad954e957e722ef1e74786eca77760fb4f3af4d23e02e74e1bb6a5",
"addons/ai/Scripts/Game/ERR/ERR_HQCoverage.c": "1efb5e604704b3d86a4adaf30fa43d776eb0c612977e1c43ee083700562c6a0d",
"addons/ai/Scripts/Game/ERR/ERR_HQDeliveredCasualties.c": "1f738127e55e843ee2705007cedb5c08741f52f63c75eca7c80242177af82273",
"addons/ai/Scripts/Game/ERR/ERR_HQDoctrine.c": "6335728e89ed40ce11b811f00b61bfea76e94dd3379e4357cbfc438b05522bb0",
"addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1",
"addons/ai/Scripts/Game/ERR/ERR_HQMemory.c": "add41a17c5bbdda19ff139b4ad949740432be17e4ead8bc22833d775fc8bc857",
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "cae87b2d397042c597415e4b99796f99c2f8dca0da4316da5e38afceadf377ff",
"addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "ee7d4fab38dd13644524420f20424bfe96153c20b6a5807ddbe41ecd46d7e666",
"addons/ai/Scripts/Game/ERR/ERR_HQPursuit.c": "ab6ca0e1a7f36c104e664db06a74c80a528cbfd1de599af42e2194ef0a4f4ca3",
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "244e2b9b9262a5208b6d376ade5ac6f6e702a915be832df5992f742f40898b71",
"addons/ai/Scripts/Game/ERR/ERR_HQStatusSampler.c": "f5e01515b81c8793328933425e117ef4ccb52888dec464a19d041b49fb61c261",
"addons/ai/Scripts/Game/ERR/ERR_HQTask.c": "9852bf0ccdc9d3a29597dff4b6ec68af2b7c04b29f2b74f126028da2d1e58e5e",
"addons/ai/Scripts/Game/ERR/ERR_HQWatch.c": "5084254ebb006b923b296de0b8eff9769f0774a80faeb1f90cc2cda916a3782e",
"addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762",
"addons/ai/Scripts/Game/ERR/ERR_InfantryAmmoTransfer.c": "1a66153413934a7f538d4a6c594dc3cf1e8534908f4d02fdd22e3ef2b137bbb6",
"addons/ai/Scripts/Game/ERR/ERR_InfantryResupply.c": "764fb7d6bb23861bd8586d018dd9e14384ea17679f2fd9e6e688cac2aa7b4742",
"addons/ai/Scripts/Game/ERR/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649",
"addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "a4eed96d17f239cbf353863ebe40d2282aeacd7a4d63a7b2f0ecfb3d93a2e2b2",
"addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7",
"addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "7aec51c83972610d1bcbca58b84b14f16f59952d402b12c3d88e7192a3e2ee90",
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c": "e1ffb25fba384b449de576a5502a93d875c3f52e8da1941bbf590ad9845f9730",
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "05863b2b4f9f70cdb288f91c722cbea163c13f2a2927dc485482e5bd4fa7d57f",
"addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c": "2fabe8f812fd333cea7199d1eb722c807fcc5adb285c618956bd54d31fa27ce3",
"addons/ai/Scripts/Game/ERR/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4",
"addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae",
"addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b",
"addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.c": "34f7eaa01dc68e97aae8c1177b7f8fd6c15d5a41c6dc86de377f00b3613a8e77",
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "4edefc8530cc6eec7a5e1df1d0b7d56e6801186f23c61331ce0e8075b8281efb",
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205",
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftFieldProbe.c": "b64907c7566a894ca2f3c49ede5d972d4087a938da1a0ca87bcbd7c2203b2c52",
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftRouteProbe.c": "8d0dca97e5106d1c84b64992c789e1af0689514beefc027e713ca6ab901fc470",
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f",
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2",
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarSalvoProbe.c": "5fd7bb8953f6850ad79e646c0c286153108a10ee2d5ef397ccb65a07f8d2ed7c",
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c",
"addons/ai/Scripts/Game/ERR/ERR_NativePatrolHQProbe.c": "92efadb7a5bd9cd9f6865c764f901ae01e3776224d8b57abed648983df487b81",
"addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b",
"addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03",
"addons/ai/addon.gproj": "eba68a3e343deb205b01ba2b0e473deacb2b5ba21d982c601a0cdd4db78778b2",
"addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b",
"addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f",
"addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "282fe1463add7af8771aa58507b254e69d2d06f50274d4c77321db073f8394f0",
"addons/chat/Scripts/Game/ERR/ERR_NativeConvoyCoverProbe.c": "d2450140cf9bdf09210473234605b4c0d818ea5b91f9532209166a35c5d13701",
"addons/chat/Scripts/Game/ERR/ERR_NativeConvoyProbe.c": "9f8f0844862ef98b0878290238a410d501ea99622cd5e517fcacd9a9187f889a",
"addons/chat/Scripts/Game/ERR/ERR_NativeHQBodyProbe.c": "811244cc8297817efbfc3ee4edf01c868eae23c88127ba0c72e98ee7422da72f",
"addons/chat/Scripts/Game/ERR/ERR_NativeHQMemoryProbe.c": "e6ebee3ddba27fb23f6ee88f1b8a06c5f85ec85e15c78e08196dbfe2925fa257",
"addons/chat/Scripts/Game/ERR/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3",
"addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a",
"addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1",
"addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "17ea1c803ce9b7fabfc06e52c17492c85c3fba0ac3d9a264ef82d578e5bdd337",
"addons/chat/Scripts/Game/ERRChat/ERR_OrdinaryScenarioLaunchChat.c": "dda715c9691d366e35fa2ad5e390dee1971651f137a5a9f9aeb23dcbe53ec87e",
"addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94",
"addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e",
"addons/core/Configs/ERR/AdminMenus.conf": "a7f889f260e43656136fc159342129e5f48748d28c426f65f9faac37b624cf94",
"addons/core/Configs/ERR/AdminMenus.conf.meta": "5faf5ddc0a51c1d0f82d60af00d91edc22fe9c39aac50d8d04b772a2c9271be1",
"addons/core/Configs/ERR/EveronSites.conf": "3e04698421ce989c996097ecf24214e7d926d2998918d60573aa403c4012b079",
"addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56",
"addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb",
"addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035",
"addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b",
"addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b",
"addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30",
"addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611",
"addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236",
"addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e",
"addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1",
"addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd",
"addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd",
"addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317",
"addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e",
"addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853",
"addons/core/Prefabs/ERR/FactionManager.et": "425f916b890019c537f6b2f72b1af9e7be54b0a476320da969e1f313a7ac5ea5",
"addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d",
"addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3",
"addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9",
"addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029",
"addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c",
"addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et": "a6e4ddb7f583c3bf82b5583d890bfbbd559e6b0e7176d36ba0ab3a0a2879915c",
"addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et.meta": "da6f065cb2414b5a4cbe9ef0f0b1295b2466f26ad406c0bddb83845d4598efb3",
"addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0",
"addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e",
"addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce",
"addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69",
"addons/core/Prefabs/ERR/Prison.et": "dcd3f4dfd453303d026e68b64f7de6125bd3390822d8432dd95a3710a5b3df89",
"addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb",
"addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40",
"addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2",
"addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed",
"addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6",
"addons/core/Prefabs/ERR/Prisoner.et": "198b5badabb12f218f86df7eb4dc268fd830769dc3de7eef6362cfaee4d6fc8d",
"addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022",
"addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165",
"addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f",
"addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812",
"addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad",
"addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7",
"addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb",
"addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4",
"addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630",
"addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et": "ea177fff89ec82bfebce0fdb26699e5c3af4999cdb50bf7cc7771a6d2e70d684",
"addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et.meta": "544c94cf1c26757a10654de7856cd6cc48b821ce3bdc02add13cfe6514269915",
"addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et": "7f7dfcd3460d0100fd893dabe930baf1032ce6879f1e8bfccb4d086a8234e80a",
"addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et.meta": "123955da03462befb90e293b3bb856d49cc761166611b38ff47cb48ec2fbe95c",
"addons/core/Scripts/Game/ERR/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
"addons/core/Scripts/Game/ERR/ERR_Actors.c": "a1ee932c9c0d8dda29a030e45b4ecd3ca4509bcd8500ee6e8d09a2e61341715d",
"addons/core/Scripts/Game/ERR/ERR_AdminMenu.c": "2b79df9536ceacd49d06c776300372eda4d7fda7c529a560bd8078b6660d5360",
"addons/core/Scripts/Game/ERR/ERR_AdminPlayerTools.c": "91e25c336a9e6e52a700157826f5deaf7ca39e67933a6ef6af0f5fdf81c0016e",
"addons/core/Scripts/Game/ERR/ERR_AdminProvider.c": "62e05aceb49da07fed7aa89fb6b2f8eb3efc373ac09eff286fba983c3ad570eb",
"addons/core/Scripts/Game/ERR/ERR_AdminService.c": "8a5ccf1fff1442dfe7ab4cb3cc858ee16adb073119144187155ade558b8c4c5f",
"addons/core/Scripts/Game/ERR/ERR_AdminSession.c": "c9d7421a0e6f6f7301751f6c5ac70874022140bce2a83ff3ae1d50df86955c84",
"addons/core/Scripts/Game/ERR/ERR_CasualtyGroundSupport.c": "26f0c7ebe8563bb022f7c383674e7d8997b0cc35c7ea321d39d74f2493c1ed9d",
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingFeedback.c": "e46988b92243df19a5400eca7406d6969b8b1174d8e3efad48fa0a936cbfdd07",
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingGameMode.c": "f4cf19440583ac24346831a2d5f1d7f734c031e46dc266c499972329dd0533cf",
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingOwner.c": "6346a05ddda030f7d9b6f026f977d5f018ee16002fa519e8c49dcd700c323dc7",
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingService.c": "0d0fbb091c451db509edf44db6fc7e2a15c36999166ad026a9af55aef61322e6",
"addons/core/Scripts/Game/ERR/ERR_ChatClient.c": "ae856e9fa0e19fc35d5c839fc5001bb28ce633eab59710911e7e56057dd452f0",
"addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "7553c8cc1388cca3404994e36f96946c6abd1fefb08cef2fbb3ea1a62b22861b",
"addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "2597ca110391558f35433cb11033574308e241134ce9a8cc209fe892fd26efbd",
"addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2",
"addons/core/Scripts/Game/ERR/ERR_EnvironmentService.c": "867e9f47adfb7a9819a8b58498688ff86127282cb89cf2529ae81f73e529e1c5",
"addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "6cfb7de35bbbc18bd6d35c63da01284ffb08b8641527d49283d9b9b0cb94f8c2",
"addons/core/Scripts/Game/ERR/ERR_ExtractionPlacement.c": "c30222ca25cc0e91dec4077e6b82b37a9edafcf2cbebd0be5b6bd8656b53adfe",
"addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9",
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e",
"addons/core/Scripts/Game/ERR/ERR_ForceLedger.c": "3858629f7fccf75c282cec725a7c0d9dd1c1095675348bb584abc947103a2872",
"addons/core/Scripts/Game/ERR/ERR_ForceSimulation.c": "2bbb8888c752a3ffc042f3059937526d25ae288af5b4db024cc683025a2605ce",
"addons/core/Scripts/Game/ERR/ERR_GameMode.c": "e17bd68f82012bff7c1953cf1adc86fe1cdefbc01d3b5eb88fa96f956bb4f135",
"addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558",
"addons/core/Scripts/Game/ERR/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6",
"addons/core/Scripts/Game/ERR/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8",
"addons/core/Scripts/Game/ERR/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e",
"addons/core/Scripts/Game/ERR/ERR_LoadCasualtyAction.c": "1521af55a34110ce1c971b5226a618a9c6d931622abaae4946d9c0d27c05a273",
"addons/core/Scripts/Game/ERR/ERR_LocalAdmission.c": "b0e824c6880cbf9b1f368dc7ada9907bde78b22b948d419b6c861323f32258be",
"addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24",
"addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41",
"addons/core/Scripts/Game/ERR/ERR_NativeAdminMenuProbe.c": "f30f9fa3a613923b6da2f3fcc521e5b077523042b3accbd80e4fa033be5b83ab",
"addons/core/Scripts/Game/ERR/ERR_NativeAdminSettingsProbe.c": "6a4df33a2b0e6b6aeed944c6895961e658d4f0db9aed9b8433a43a451fa35cae",
"addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "52ba1798d8593588bca80ac722e41357627cc2070c569591f60a31ca23e2f501",
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3",
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b",
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36",
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea",
"addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0",
"addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "c451b6b1f9ba2b693607307ef6ad9f0c991448d4c572c2a14b5204ad1fdc267b",
"addons/core/Scripts/Game/ERR/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f",
"addons/core/Scripts/Game/ERR/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f",
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentProbe.c": "8b1d110717aa5f07bfb8fe633847eab519109e3a8a4100970a487be05c053418",
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507",
"addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972",
"addons/core/Scripts/Game/ERR/ERR_NativeFactionCatalogProbe.c": "c04219086e58f6bf431335f1f2c45fb607f97f9429941c0223d046a8a72da3f1",
"addons/core/Scripts/Game/ERR/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d",
"addons/core/Scripts/Game/ERR/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4",
"addons/core/Scripts/Game/ERR/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514",
"addons/core/Scripts/Game/ERR/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9",
"addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115",
"addons/core/Scripts/Game/ERR/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09",
"addons/core/Scripts/Game/ERR/ERR_NativeMedicalProbe.c": "43fa51ffbcf9dd0cd8e905a1135bcf0756651da3af34677f3c92e7d264ed70b6",
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b",
"addons/core/Scripts/Game/ERR/ERR_NativePatrolProbe.c": "02bd9fdf5454db7dd4c82240efe0d947bf8d6488ace42809c3aef6505cb6266d",
"addons/core/Scripts/Game/ERR/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f",
"addons/core/Scripts/Game/ERR/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5",
"addons/core/Scripts/Game/ERR/ERR_NativePrisonBreachProbe.c": "22d0923cd69ba591e783011d424c97c86520272b70da9aa6a6d15558464c264c",
"addons/core/Scripts/Game/ERR/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86",
"addons/core/Scripts/Game/ERR/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560",
"addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c",
"addons/core/Scripts/Game/ERR/ERR_NativeRecoveryProbe.c": "4de6868cd3e76afb80cf0ae5dac1e35d2c417838f640c2f18aa3343217eea2f2",
"addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "db239385dc705840240d02448eabc77fa41162cfade6f21a275a3404339e8a31",
"addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f",
"addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c",
"addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae",
"addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "0dbc545a6062854add8d0fbd68f4e59beacfad4f525818cc09627c3d0fc721ab",
"addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5",
"addons/core/Scripts/Game/ERR/ERR_NativeVehicleSecurityProbe.c": "59bbbe6ba22bd6c80c3a05e7b7b006639b192fb4b752663dde9e9211d77182a7",
"addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf",
"addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "b1f3df17250e6ec0a476c7d795ffb2916a946408dc4f3f2ee7397564ca0ef6a8",
"addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f",
"addons/core/Scripts/Game/ERR/ERR_Observer.c": "16ab78acede9b0cab86c6a74f47ffd5b8a7c50f131f44d64a8826eac6896a279",
"addons/core/Scripts/Game/ERR/ERR_OrdinaryGateObserver.c": "1e376ca83c0005cf532539e14d7f47363c47b7c5b03fe3d55405a59208705fd7",
"addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c": "808a46cc1e4b31b65dbbbcdd55493f594ebb3974bbec38b4a2402334c653c0ef",
"addons/core/Scripts/Game/ERR/ERR_OrdinaryLookObserver.c": "d5a1b636938d65e9d11c78b31487f2924400c34d98e2ec812954a2a224da7dc0",
"addons/core/Scripts/Game/ERR/ERR_OrdinaryScenarioLaunch.c": "a4e7e56d174ebd15b4730202dae4c8ed06144f3f27c23ed49c99e2d297dc421a",
"addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "eca9baa3b07da48a740851583540840f8bf5f65f7be854902a3778f76967faad",
"addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
"addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "4b3605522d732c8542a2c1ad5f3f59b3e8e5dc9f4aace71608ec9f259eea8069",
"addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "c038dac0f749bd29ebc35a4e952904b41a34417ba738904d5efcd1833a263e0b",
"addons/core/Scripts/Game/ERR/ERR_PreparationStatus.c": "1d8987d2dcc1db2a030e095b33d50f07877181037d339624156291d8317bfa5d",
"addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c": "ed6286342ed12cc9a3df618474f5647c7ac36bc65336be7a5bec908dee04421d",
"addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "5d347cf1a3b021074d560aad8db774828b797e685b63ddff3d28f55781e33ea8",
"addons/core/Scripts/Game/ERR/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db",
"addons/core/Scripts/Game/ERR/ERR_RecoveryService.c": "ba9ffb93679012c20a665636ef6b201cbe7d8d14fdf53e8cd3eb12ac7248943f",
"addons/core/Scripts/Game/ERR/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
"addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89",
"addons/core/Scripts/Game/ERR/ERR_Settings.c": "41a35f806d925d025534247b0705d7eb47f134d181e5b819a149be7909ba4cc1",
"addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "b422feeaca90084ea2bee5cde94dc9c6fcae542749b55d95f7226f922a6a68ac",
"addons/core/Scripts/Game/ERR/ERR_SiteDiscoveryRules.c": "50f7b3ff4f32bde37ce5ae2be7f598fc4dd8cc08f45914f6e3260d31c84baef2",
"addons/core/Scripts/Game/ERR/ERR_SiteService.c": "a47a1ee3a62d170a06b54cce3c42fac7c3645cf6a89c827a1dfe51ae0a99ce12",
"addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9",
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "b59764a8584221324995ab50b148eac1812084d79f81685edbdc24495b884760",
"addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "55323dcb330c23d49dc8fa3fde86a3ae3958c0b6563d6c3cd0960da88333f93d",
"addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713",
"addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453",
"addons/core/Scripts/Game/ERR/ERR_VehicleSecurityActions.c": "bd7d0aeb4abcc9d8044e4888f9a92f9e5fc97c098bdfa3bbad57e1a29697a779",
"addons/core/Scripts/Game/ERR/ERR_VehicleSecurityComponent.c": "513467ab4b46d49b204cd1fb90f6d394ab92b497c64ce379ea4746906723b173",
"addons/core/Scripts/GameLib/ERR/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5",
"addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6",
"addons/core/UI/layouts/ERR/AdminMenu.layout": "26db9780c0afffa8429602c27ee347a4e665a19a6872b15f4178d684de7e23b6",
"addons/core/UI/layouts/ERR/AdminMenu.layout.meta": "9deeece996f43b1f1fed6b5ec89279645c7b6424250200a42580cc088142e9bf",
"addons/core/UI/layouts/ERR/PreparationStatus.layout": "bd269cf8dc6f27735423743dd5b78242550518414448a0256e5e12fa6b92c459",
"addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc",
"addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87",
"addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83",
"addons/core/Worlds/ERR_Everon_Layers/default.layer": "17105538007199bfc419aa04a64debaf2da0a7b77a1dc3ba983e92bf747c862e",
"addons/core/addon.gproj": "4dc4e72cd2ba5fef5a35d697b911be4755e37208d539f1d1984bcbb6a9699e96",
"addons/intel/Scripts/Game/ERR/ERR_IntelAdminProvider.c": "d63ab5c547021aeb61d398b8a773afeedee4662d3ce15d9fd9d0e9e37262f8b7",
"addons/intel/Scripts/Game/ERR/ERR_IntelDiscoveryFeedback.c": "92d0a828a0fd23b41facc10daab3c4578f31733911f860b2212135462b9dd84d",
"addons/intel/Scripts/Game/ERR/ERR_IntelReroll.c": "44bd5414f9ba5e5c34fe9fb75ade36004f689cda2584a2db8b641743789c14fb",
"addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "8c3244a65d8c365390900975d0a62748bc3c0d68b0b715c1093a0e33937942db",
"addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe",
"addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc",
"addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0",
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581",
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d",
"addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3",
"addons/map/Scripts/Game/ERRMap/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254",
"addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "3a10f6ea25bf88a400bc3e6c339823433845c5db4f2f423835ccf99a1b1a843f",
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2",
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54",
"addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a"
}
@@ -0,0 +1,45 @@
{
"schema_version": 1,
"launch_id": "aed7406b-eb6a-4cd6-ac56-96955ea52f67",
"captured_unix": 1789885017.2753458,
"source_root": "/home/jakub/devel/escapistsrereintroduced",
"command": [
"gamescope",
"--backend",
"headless",
"-W",
"1280",
"-H",
"720",
"-w",
"1280",
"-h",
"720",
"-r",
"30",
"--",
"/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton",
"run",
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe",
"-gproj",
"Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj",
"-addonsDir",
"Z:/home/jakub/devel/escapistsrereintroduced/addons",
"-profile",
"Z:/tmp/erri-workbench-external-profile",
"-logconsole",
"-wbModule=WorldEditor",
"-load",
"Worlds/ERR_Everon.ent",
"-plugin=ERR_ValidateWorldPlugin",
"-errPlay",
"1",
"-errSmoke",
"1",
"-errSmokeOutcome",
"hq-memory",
"-noThrow",
"-disableCrashReporter"
],
"manifest_sha256": "a97b10e13516cb66f74662d3a013da813d5322460029227e0bf6cfd76a7fb003"
}
@@ -0,0 +1,14 @@
{
"log": "docs/evidence/native-2026-09-20-081658-automatic-convoy/console.log.txt",
"smoke_completions": 1,
"assertions_passed": 93,
"script_or_runtime_failures": [],
"engine_errors": [
"08:17:00.757 RESOURCES (E): Wrong GUID/name for resource @\"{0AFDD005CD669892}Language/rhs_localization.st\" in property \"StringTableSource\"",
"08:17:00.757 RESOURCES (E): Wrong GUID/name for resource @\"{41FA2A08B6971D4C}Language/wcs_armament_localization.st\" in property \"StringTableSource\"",
"08:17:00.758 RESOURCES (E): Wrong GUID/name for resource @\"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st\" in property \"StringTableSource\"",
"08:17:00.758 RESOURCES (E): Wrong GUID/name for resource @\"{E50E557B468C7073}Language/wcs_bmp1_localization.st\" in property \"StringTableSource\""
],
"missing_end_screen": [],
"scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim"
}
@@ -0,0 +1,252 @@
#1 t=6.8s M0 REGISTER group 1 [session=1789885064-1]
#2 t=6.8s M0 MORTAR DEPLOY site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; authored gun and four-person crew; finite ammunition initialization pending [session=1789885064-1]
#3 t=7.7s M0 CONVOY STARTUP startup grace; [session=1789885064-1]
#4 t=7.7s M0 COURIER READY trip=0 state=1 delivered=0; 12 distinct original HE shells physically confirmed in existing western cache [session=1789885064-1]
#5 t=8.8s M0 REGISTER group 2 [session=1789885064-1]
#6 t=8.8s M0 REGISTER group 3 [session=1789885064-1]
#7 t=8.8s M0 REGISTER group 4 [session=1789885064-1]
#8 t=8.8s M0 REGISTER group 5 [session=1789885064-1]
#9 t=8.8s M0 REGISTER group 6 [session=1789885064-1]
#10 t=8.8s M0 REGISTER group 7 [session=1789885064-1]
#11 t=13.7s M0 OPTICS physical magnified optic preserved/confirmed [session=1789885064-1]
#12 t=13.7s M0 OPTICS physical magnified optic preserved/confirmed [session=1789885064-1]
#13 t=13.7s M0 OPTICS physical magnified optic preserved/confirmed [session=1789885064-1]
#14 t=13.7s M0 OPTICS physical magnified optic preserved/confirmed [session=1789885064-1]
#15 t=13.7s M0 OPTICS physical magnified optic preserved/confirmed [session=1789885064-1]
#16 t=13.7s M0 OPTICS physical magnified optic preserved/confirmed [session=1789885064-1]
#17 t=13.7s M0 RADIO EQUIPMENT original group already equipped; no native radio request submitted [session=1789885064-1]
#18 t=13.7s M0 RADIO EQUIPMENT original group already equipped; no native radio request submitted [session=1789885064-1]
#19 t=13.7s M0 RADIO EQUIPMENT original group already equipped; no native radio request submitted [session=1789885064-1]
#20 t=13.7s M0 RADIO EQUIPMENT original group already equipped; no native radio request submitted [session=1789885064-1]
#21 t=13.7s M0 RADIO EQUIPMENT original group already equipped; no native radio request submitted [session=1789885064-1]
#22 t=13.7s M0 RADIO EQUIPMENT original group already equipped; no native radio request submitted [session=1789885064-1]
#23 t=16.8s M0 STINGER physical FIM-92 observed in weapon slot; no replacement will be issued [session=1789885064-1]
#24 t=18.8s M0 MORTAR CREW READY site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; four original physical members, one manpack, 27 confirmed HE; new shell requests=27; allocation permanently closed [session=1789885064-1]
#25 t=19.8s M5 STATUS REPORT status everon-supply-2: 6 living, 6 fit, 0 confirmed losses; sampled=19768; small-arms ammunition=1329 magazine rounds, 6 chambered [session=1789885064-1]
#26 t=19.8s M6 STATUS REPORT status everon-extraction-1: 6 living, 6 fit, 0 confirmed losses; sampled=19768; small-arms ammunition=1329 magazine rounds, 6 chambered [session=1789885064-1]
#27 t=19.8s M8 STATUS REPORT status formation-1: 4 living, 4 fit, 0 confirmed losses; sampled=19768; small-arms ammunition=596 magazine rounds, 4 chambered [session=1789885064-1]
#28 t=20.8s M9 STATUS REPORT status everon-outpost-1: 6 living, 6 fit, 0 confirmed losses; sampled=20775.9; small-arms ammunition=1329 magazine rounds, 6 chambered [session=1789885064-1]
#29 t=20.8s M5 CALL unit 6 originating report; three seconds before transmission [session=1789885064-1]
#30 t=20.8s M6 CALL unit 5 originating report; three seconds before transmission [session=1789885064-1]
#31 t=20.8s M10 STATUS REPORT status everon-prison-1: 6 living, 6 fit, 0 confirmed losses; sampled=20775.9; small-arms ammunition=1329 magazine rounds, 6 chambered [session=1789885064-1]
#32 t=20.8s M8 CALL unit 1 originating report; three seconds before transmission [session=1789885064-1]
#33 t=21.8s M9 CALL unit 7 originating report; three seconds before transmission [session=1789885064-1]
#34 t=21.8s M11 STATUS REPORT status everon-supply-1: 6 living, 6 fit, 0 confirmed losses; sampled=21785.4; small-arms ammunition=1329 magazine rounds, 6 chambered [session=1789885064-1]
#35 t=21.8s M10 CALL unit 2 originating report; three seconds before transmission [session=1789885064-1]
#36 t=22.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#37 t=22.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#38 t=22.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#39 t=22.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#40 t=22.8s M12 STATUS REPORT status everon-radio-1: 6 living, 6 fit, 0 confirmed losses; sampled=22792.5; small-arms ammunition=1329 magazine rounds, 6 chambered [session=1789885064-1]
#41 t=22.8s M11 CALL unit 3 originating report; three seconds before transmission [session=1789885064-1]
#42 t=23.8s M5 CALL COMPLETE unit 6 completed originating report [session=1789885064-1]
#43 t=23.8s M5 TRANSMIT unit 6 -> HQ (long-range) [session=1789885064-1]
#44 t=23.8s M6 CALL COMPLETE unit 5 completed originating report [session=1789885064-1]
#45 t=23.8s M6 TRANSMIT unit 5 -> HQ (long-range) [session=1789885064-1]
#46 t=23.8s M12 CALL unit 4 originating report; three seconds before transmission [session=1789885064-1]
#47 t=23.8s M8 CALL COMPLETE unit 1 completed originating report [session=1789885064-1]
#48 t=23.8s M8 TRANSMIT unit 1 -> HQ (long-range) [session=1789885064-1]
#49 t=24.8s M9 CALL COMPLETE unit 7 completed originating report [session=1789885064-1]
#50 t=24.8s M9 TRANSMIT unit 7 -> HQ (long-range) [session=1789885064-1]
#51 t=24.8s M10 CALL COMPLETE unit 2 completed originating report [session=1789885064-1]
#52 t=24.8s M10 TRANSMIT unit 2 -> HQ (long-range) [session=1789885064-1]
#53 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#54 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#55 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#56 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#57 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#58 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#59 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#60 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#61 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#62 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#63 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#64 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#65 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#66 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#67 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#68 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#69 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#70 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#71 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#72 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#73 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#74 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#75 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#76 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#77 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#78 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#79 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#80 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#81 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#82 t=25.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#83 t=25.8s M5 RECEIVE HQ received from unit 6 [session=1789885064-1]
#84 t=25.8s M6 RECEIVE HQ received from unit 5 [session=1789885064-1]
#85 t=25.8s M11 CALL COMPLETE unit 3 completed originating report [session=1789885064-1]
#86 t=25.8s M11 TRANSMIT unit 3 -> HQ (long-range) [session=1789885064-1]
#87 t=25.8s M8 RECEIVE HQ received from unit 1 [session=1789885064-1]
#88 t=26.8s M9 RECEIVE HQ received from unit 7 [session=1789885064-1]
#89 t=26.8s M12 CALL COMPLETE unit 4 completed originating report [session=1789885064-1]
#90 t=26.8s M12 TRANSMIT unit 4 -> HQ (long-range) [session=1789885064-1]
#91 t=26.8s M10 RECEIVE HQ received from unit 2 [session=1789885064-1]
#92 t=27.8s M11 RECEIVE HQ received from unit 3 [session=1789885064-1]
#93 t=28.8s M12 RECEIVE HQ received from unit 4 [session=1789885064-1]
#94 t=37.9s M0 CONVOY CREATED six physical vehicles and 19 finite crew; native readiness and ledger admission pending [session=1789885064-1]
#95 t=37.9s M0 CONVOY STARTUP canonical convoy dispatched; [session=1789885064-1]
#96 t=38.8s M0 CONVOY READINESS vehicle=0 reason=readiness guards satisfied; awaiting admission members=2 agents=2 activeAgents=2 activeGroup=1 seats=2 registered=0 [session=1789885064-1]
#97 t=38.8s M0 CONVOY READINESS vehicle=1 reason=readiness guards satisfied; awaiting admission members=1 agents=1 activeAgents=1 activeGroup=1 seats=1 registered=0 [session=1789885064-1]
#98 t=38.8s M0 CONVOY READINESS vehicle=2 reason=readiness guards satisfied; awaiting admission members=9 agents=9 activeAgents=9 activeGroup=1 seats=9 registered=0 [session=1789885064-1]
#99 t=38.8s M0 CONVOY READINESS vehicle=3 reason=readiness guards satisfied; awaiting admission members=2 agents=2 activeAgents=2 activeGroup=1 seats=2 registered=0 [session=1789885064-1]
#100 t=38.8s M0 CONVOY READINESS vehicle=4 reason=readiness guards satisfied; awaiting admission members=3 agents=3 activeAgents=3 activeGroup=1 seats=3 registered=0 [session=1789885064-1]
#101 t=38.8s M0 CONVOY READINESS vehicle=5 reason=readiness guards satisfied; awaiting admission members=2 agents=2 activeAgents=2 activeGroup=1 seats=2 registered=0 [session=1789885064-1]
#102 t=38.8s M0 REGISTER group 8 [session=1789885064-1]
#103 t=38.8s M0 REGISTER group 9 [session=1789885064-1]
#104 t=38.8s M0 REGISTER group 10 [session=1789885064-1]
#105 t=38.8s M0 REGISTER group 11 [session=1789885064-1]
#106 t=38.8s M0 REGISTER group 12 [session=1789885064-1]
#107 t=38.8s M0 REGISTER group 13 [session=1789885064-1]
#108 t=38.8s M0 CONVOY CARGO finite target submitted once: eight AK74 and 48 magazines; native capacity/completion may reduce actual stock [session=1789885064-1]
#109 t=39.8s M0 INFANTRY SUPPLY trip=0 state=1 moved=0 spent=0/48; truck magazine identities captured once after startup; absent/looted stock is never replaced [session=1789885064-1]
#110 t=41.8s M0 RADIO EQUIPMENT original group already equipped; no native radio request submitted [session=1789885064-1]
#111 t=41.8s M0 RADIO EQUIPMENT original group already equipped; no native radio request submitted [session=1789885064-1]
#112 t=41.8s M0 RADIO EQUIPMENT original group already equipped; no native radio request submitted [session=1789885064-1]
#113 t=41.8s M0 RADIO EQUIPMENT original group already equipped; no native radio request submitted [session=1789885064-1]
#114 t=44.8s M0 STINGER physical FIM-92 observed in weapon slot; no replacement will be issued [session=1789885064-1]
#115 t=44.8s M0 STINGER physical FIM-92 observed in weapon slot; no replacement will be issued [session=1789885064-1]
#116 t=44.8s M0 STINGER physical FIM-92 observed in weapon slot; no replacement will be issued [session=1789885064-1]
#117 t=44.8s M0 RADIO EQUIPMENT native radio completion recorded; original group allocation terminal, no replenishment [session=1789885064-1]
#118 t=44.8s M0 RADIO EQUIPMENT native radio completion recorded; original group allocation terminal, no replenishment [session=1789885064-1]
#119 t=45.2s M15 CALL unit 2 originating report; three seconds before transmission [session=1789885064-1]
#120 t=46.8s M15 LOST originating call lost its living owned radio carrier; FIXTURE synthetic observed position; X=6390 Z=7460: count unknown; on foot; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (0s ago) [session=1789885064-1]
#121 t=47.8s M16 CALL unit 3 originating report; three seconds before transmission [session=1789885064-1]
#122 t=48.8s M17 STATUS REPORT status everon-supply-convoy-1-vehicle-2: 9 living, 9 fit, 0 confirmed losses; sampled=48817.7; small-arms ammunition=1881 magazine rounds, 9 chambered [session=1789885064-1]
#123 t=49.8s M19 STATUS REPORT status everon-supply-convoy-1-vehicle-3: 2 living, 2 fit, 0 confirmed losses; sampled=49822; small-arms ammunition=418 magazine rounds, 2 chambered [session=1789885064-1]
#124 t=49.8s M17 CALL unit 10 originating report; three seconds before transmission [session=1789885064-1]
#125 t=50.8s M23 STATUS REPORT status everon-supply-convoy-1-vehicle-4: 3 living, 3 fit, 0 confirmed losses; sampled=50823; small-arms ammunition=627 magazine rounds, 3 chambered [session=1789885064-1]
#126 t=50.8s M19 CALL unit 11 originating report; three seconds before transmission [session=1789885064-1]
#127 t=50.8s M16 CALL COMPLETE unit 3 completed originating report [session=1789885064-1]
#128 t=50.8s M16 TRANSMIT unit 3 -> HQ (long-range) [session=1789885064-1]
#129 t=51.8s M26 STATUS REPORT status everon-supply-convoy-1-vehicle-5: 2 living, 2 fit, 0 confirmed losses; sampled=51830.9; small-arms ammunition=418 magazine rounds, 2 chambered [session=1789885064-1]
#130 t=51.8s M23 CALL unit 12 originating report; three seconds before transmission [session=1789885064-1]
#131 t=51.8s M27 STATUS REPORT status everon-supply-convoy-1-vehicle-0: 2 living, 2 fit, 0 confirmed losses; sampled=51830.9; small-arms ammunition=418 magazine rounds, 2 chambered [session=1789885064-1]
#132 t=52.8s M26 CALL unit 13 originating report; three seconds before transmission [session=1789885064-1]
#133 t=52.8s M17 CALL COMPLETE unit 10 completed originating report [session=1789885064-1]
#134 t=52.8s M17 TRANSMIT unit 10 -> unit 1 (123m short-range) [session=1789885064-1]
#135 t=52.8s M28 STATUS REPORT status everon-supply-convoy-1-vehicle-1: 1 living, 1 fit, 0 confirmed losses; sampled=52843.3; small-arms ammunition=209 magazine rounds, 1 chambered [session=1789885064-1]
#136 t=52.8s M27 CALL unit 8 originating report; three seconds before transmission [session=1789885064-1]
#137 t=52.8s M16 RECEIVE HQ received from unit 3 [session=1789885064-1]
#138 t=52.8s M16 BELIEF delivered report M16 retained; tracks=1 [session=1789885064-1]
#139 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#140 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#141 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#142 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#143 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#144 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#145 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#146 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#147 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#148 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#149 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#150 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#151 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#152 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#153 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#154 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#155 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#156 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#157 t=53.8s M0 OPTICS startup optics deadline; compatible magnified optic not confirmed [session=1789885064-1]
#158 t=53.8s M19 CALL COMPLETE unit 11 completed originating report [session=1789885064-1]
#159 t=53.8s M19 TRANSMIT unit 11 -> unit 1 (132m short-range) [session=1789885064-1]
#160 t=53.8s M28 CALL unit 9 originating report; three seconds before transmission [session=1789885064-1]
#161 t=53.8s M31 CALL unit 2 originating report; three seconds before transmission [session=1789885064-1]
#162 t=53.8s M32 ORDER QUEUED group 7 search; belief=1 from report M16; destination=<6390,211.444,7460> [session=1789885064-1]
#163 t=54.9s M23 CALL COMPLETE unit 12 completed originating report [session=1789885064-1]
#164 t=54.9s M23 TRANSMIT unit 12 -> unit 1 (182m short-range) [session=1789885064-1]
#165 t=54.9s M17 RECEIVE unit 1 received from unit 10 [session=1789885064-1]
#166 t=54.9s M17 TRANSMIT unit 1 -> HQ (long-range) [session=1789885064-1]
#167 t=54.9s M32 TRANSMIT HQ -> unit 7 (long-range) [session=1789885064-1]
#168 t=55.9s M26 CALL COMPLETE unit 13 completed originating report [session=1789885064-1]
#169 t=55.9s M26 TRANSMIT unit 13 -> HQ (long-range) [session=1789885064-1]
#170 t=55.9s M19 RECEIVE unit 1 received from unit 11 [session=1789885064-1]
#171 t=55.9s M19 TRANSMIT unit 1 -> HQ (long-range) [session=1789885064-1]
#172 t=55.9s M27 CALL COMPLETE unit 8 completed originating report [session=1789885064-1]
#173 t=55.9s M27 TRANSMIT unit 8 -> unit 1 (67m short-range) [session=1789885064-1]
#174 t=56.9s M23 RECEIVE unit 1 received from unit 12 [session=1789885064-1]
#175 t=56.9s M23 TRANSMIT unit 1 -> HQ (long-range) [session=1789885064-1]
#176 t=56.9s M17 RECEIVE HQ received from unit 1 [session=1789885064-1]
#177 t=56.9s M28 CALL COMPLETE unit 9 completed originating report [session=1789885064-1]
#178 t=56.9s M28 TRANSMIT unit 9 -> HQ (long-range) [session=1789885064-1]
#179 t=56.9s M32 RECEIVE unit 7 received from HQ [session=1789885064-1]
#180 t=56.9s M32 ORDER DELIVERED group 7 search from report M16; belief=1 destination=<6390,211.444,7460> [session=1789885064-1]
#181 t=56.9s M31 CALL COMPLETE unit 2 completed originating report [session=1789885064-1]
#182 t=56.9s M31 TRANSMIT unit 2 -> unit 1 (209m short-range) [session=1789885064-1]
#183 t=57.9s M26 RECEIVE HQ received from unit 13 [session=1789885064-1]
#184 t=57.9s M19 RECEIVE HQ received from unit 1 [session=1789885064-1]
#185 t=57.9s M27 RECEIVE unit 1 received from unit 8 [session=1789885064-1]
#186 t=57.9s M27 TRANSMIT unit 1 -> HQ (long-range) [session=1789885064-1]
#187 t=58.9s M23 RECEIVE HQ received from unit 1 [session=1789885064-1]
#188 t=58.9s M28 RECEIVE HQ received from unit 9 [session=1789885064-1]
#189 t=58.9s M31 RECEIVE unit 1 received from unit 2 [session=1789885064-1]
#190 t=58.9s M31 TRANSMIT unit 1 -> HQ (long-range) [session=1789885064-1]
#191 t=58.9s M33 ORDER QUEUED MORTAR ORDER from report M16; X=6390 Z=7460: count unknown; on foot; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (12s ago) [session=1789885064-1]
#192 t=58.9s M0 MORTAR COMMAND site=1 order=1 radio=M0 source=M16 position=<6000,202.788,7000>; requested rounds=8 HE radius=40m; X=6390 Z=7460: count unknown; on foot; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (12s ago) [session=1789885064-1]
#193 t=59.9s M27 RECEIVE HQ received from unit 1 [session=1789885064-1]
#194 t=59.9s M33 TRANSMIT HQ -> unit 1 (long-range) [session=1789885064-1]
#195 t=60.9s M31 RECEIVE HQ received from unit 1 [session=1789885064-1]
#196 t=60.9s M31 BELIEF delivered report M31 retained; tracks=1 [session=1789885064-1]
#197 t=61.9s M34 CALL unit 2 originating report; three seconds before transmission [session=1789885064-1]
#198 t=61.9s M33 RECEIVE unit 1 received from HQ [session=1789885064-1]
#199 t=61.9s M33 MORTAR AIM site=1 order=1 radio=M33 source=M16 position=<6000,202.788,7000>; native activity created; latest source=M16 observed=X=6390 Z=7460: count unknown; on foot; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (15s ago) [session=1789885064-1]
#200 t=62.9s M33 MORTAR ACTIVITY site=1 order=1 radio=M33 source=M16 position=<6000,202.788,7000>; reason=native state=1; age=1.00162s aim age=62.9067s committed=0 shots=0; previous= repeated polls omitted=0 [session=1789885064-1]
#201 t=63.9s M35 ORDER QUEUED MORTAR UPDATE from report M31; X=6414 Z=7460: count unknown; on foot; 13 km/h, azimuth 90 degrees (E); seen weapons: unknown; vector X/Z=[3.6,0] m/s (10s ago) [session=1789885064-1]
#202 t=63.9s M33 MORTAR UPDATE QUEUED site=1 order=1 radio=M33 source=M16 position=<6000,202.788,7000>; same order; update radio=M35 newer observation=M31 observed=53768.9 [session=1789885064-1]
#203 t=64.9s M34 CALL COMPLETE unit 2 completed originating report [session=1789885064-1]
#204 t=64.9s M34 TRANSMIT unit 2 -> unit 1 (209m short-range) [session=1789885064-1]
#205 t=64.9s M35 TRANSMIT HQ -> unit 1 (long-range) [session=1789885064-1]
#206 t=65s M33 MORTAR AIM START site=1 order=1 radio=M33 source=M16 position=<6000,202.788,7000>; reason=solving moving intercept; latest source=M16; X=6390 Z=7460: count unknown; on foot; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (18s ago); previous= repeated polls omitted=0 [session=1789885064-1]
#207 t=65s M33 MORTAR AIM SOLUTION site=1 order=1 radio=M33 source=M16 position=<6000,202.788,7000>; reason=ready; predicted impact=<6397.07,175.092,7447.75> flight=18.5667s charge index=1 aim target=<6397.07,1766.22,7447.75> latest source=M16; previous= repeated polls omitted=0 [session=1789885064-1]
#208 t=66.9s M34 RECEIVE unit 1 received from unit 2 [session=1789885064-1]
#209 t=66.9s M34 TRANSMIT unit 1 -> HQ (long-range) [session=1789885064-1]
#210 t=66.9s M35 RECEIVE unit 1 received from HQ [session=1789885064-1]
#211 t=66.9s M33 MORTAR WITHHELD site=1 order=1 radio=M33 source=M16 position=<6000,202.788,7000>; reason=target update requires a different native aim command; ; previous= repeated polls omitted=0 [session=1789885064-1]
#212 t=66.9s M33 MORTAR UPDATE REJECTED site=1 order=1 radio=M33 source=M16 position=<6000,202.788,7000>; delivered update cannot preserve the original native aim command [session=1789885064-1]
#213 t=67.9s M33 MORTAR REPEATS site=1 order=1 radio=M33 source=M16 position=<6000,202.788,7000>; phase=ACTIVITY reason=native state=1 repeated polls omitted=4 [session=1789885064-1]
#214 t=67.9s M33 MORTAR ORDER END site=1 order=1 radio=M33 source=M16 position=<6000,202.788,7000>; reason=native aim or firing authorization rejected observed shots=0 shell committed=0 elapsed=6.03441s last failure=delivered update cannot preserve the original native aim command [session=1789885064-1]
#215 t=68.9s M34 RECEIVE HQ received from unit 1 [session=1789885064-1]
#216 t=68.9s M34 AREA SWEPT group 2 reported no contact at <6414,211.444,7460>; belief=1 [session=1789885064-1]
#217 t=70s M36 CALL unit 2 originating report; three seconds before transmission [session=1789885064-1]
#218 t=73s M36 CALL COMPLETE unit 2 completed originating report [session=1789885064-1]
#219 t=73s M36 TRANSMIT unit 2 -> unit 1 (216m short-range) [session=1789885064-1]
#220 t=75s M36 RECEIVE unit 1 received from unit 2 [session=1789885064-1]
#221 t=75s M36 TRANSMIT unit 1 -> HQ (long-range) [session=1789885064-1]
#222 t=77s M36 RECEIVE HQ received from unit 1 [session=1789885064-1]
#223 t=77s M36 BELIEF delivered report M36 retained; tracks=1 [session=1789885064-1]
#224 t=78s M37 CALL unit 2 originating report; three seconds before transmission [session=1789885064-1]
#225 t=79s M39 ORDER QUEUED MORTAR ORDER from report M36; X=6414 Z=7460: count unknown; on foot; 0 km/h, azimuth 0 degrees (stationary); seen weapons: unknown; vector X/Z=[0,0] m/s (10s ago) [session=1789885064-1]
#226 t=79s M0 MORTAR COMMAND site=1 order=2 radio=M0 source=M36 position=<6000,202.788,7000>; requested rounds=8 HE radius=40m; X=6414 Z=7460: count unknown; on foot; 0 km/h, azimuth 0 degrees (stationary); seen weapons: unknown; vector X/Z=[0,0] m/s (10s ago) [session=1789885064-1]
#227 t=80s M39 TRANSMIT HQ -> unit 1 (long-range) [session=1789885064-1]
#228 t=81s M37 CALL COMPLETE unit 2 completed originating report [session=1789885064-1]
#229 t=81s M37 TRANSMIT unit 2 -> unit 1 (216m short-range) [session=1789885064-1]
#230 t=82s M39 RECEIVE unit 1 received from HQ [session=1789885064-1]
#231 t=82s M39 MORTAR AIM site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; native activity created; latest source=M36 observed=X=6414 Z=7460: count unknown; on foot; 0 km/h, azimuth 0 degrees (stationary); seen weapons: unknown; vector X/Z=[0,0] m/s (13s ago) [session=1789885064-1]
#232 t=82.8s M39 MORTAR AIM START site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; reason=solving moving intercept; latest source=M36; X=6414 Z=7460: count unknown; on foot; 0 km/h, azimuth 0 degrees (stationary); seen weapons: unknown; vector X/Z=[0,0] m/s (13s ago); previous= repeated polls omitted=0 [session=1789885064-1]
#233 t=82.8s M39 MORTAR AIM SOLUTION site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; reason=ready; predicted impact=<6400.98,175.568,7454.47> flight=18.5001s charge index=1 aim target=<6400.98,1759.39,7454.47> latest source=M36; previous= repeated polls omitted=0 [session=1789885064-1]
#234 t=83s M37 RECEIVE unit 1 received from unit 2 [session=1789885064-1]
#235 t=83s M37 TRANSMIT unit 1 -> HQ (long-range) [session=1789885064-1]
#236 t=83s M39 MORTAR ACTIVITY site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; reason=native state=1; age=1.00279s aim age=0.274125s committed=0 shots=0; previous= repeated polls omitted=0 [session=1789885064-1]
#237 t=85.1s M37 RECEIVE HQ received from unit 1 [session=1789885064-1]
#238 t=95.9s M39 MORTAR AIM REVALIDATED site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; reason=same native command; fresh ballistic solve matched original; source=M36 observed age=26.3818s; previous= repeated polls omitted=0 [session=1789885064-1]
#239 t=95.9s M39 MORTAR SHOOT NODE site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; reason=native result=2; authorization passed; node result does not confirm a physical shot; previous= repeated polls omitted=0 [session=1789885064-1]
#240 t=96.7s M39 MORTAR SHELL COMMIT site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; final safety passed; gunner=SCR_ChimeraCharacter<0x0000000086694B00> @"ENTITY:4611686018427390840" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6000.877441 202.694351 7000.016602> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" predicted impact=<6400.98,175.568,7454.47> flight=18.5001s; invoking native transfer, awaiting projectile event [session=1789885064-1]
#241 t=97.8s M39 MORTAR FIRED site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; physical projectile=Projectile<0x00000001A99EBE60> @"ENTITY:4611686018427391077" ('Projectile','Assets/Weapons/Ammo/Shells/82mm_Mortar_2B14/Shell_82mm_HE_O832DU.xob') at <6000.330078 204.006302 7000.380371> @"{98EC9C526AFBA282}Prefabs/Weapons/Ammo/Ammo_Shell_82mm_HE_O832DU.et" origin=<6000.33,204.006,7000.38> order shots=1 total shots=1 predicted impact=<6400.98,175.568,7454.47> predicted flight=18.5001s gunner=SCR_ChimeraCharacter<0x0000000086694B00> @"ENTITY:4611686018427390840" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6000.877441 202.691833 7000.016602> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" (impact not observed) [session=1789885064-1]
#242 t=105.4s M39 MORTAR SHELL COMMIT site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; final safety passed; gunner=SCR_ChimeraCharacter<0x0000000086694B00> @"ENTITY:4611686018427390840" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6000.901855 202.696671 7000.042969> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" predicted impact=<6422.29,177.023,7478.2> flight=18.3001s; invoking native transfer, awaiting projectile event [session=1789885064-1]
#243 t=106.4s M39 MORTAR FIRED site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; physical projectile=Projectile<0x00000001A99EBF70> @"ENTITY:4611686018427391082" ('Projectile','Assets/Weapons/Ammo/Shells/82mm_Mortar_2B14/Shell_82mm_HE_O832DU.xob') at <6000.351074 203.993790 7000.402832> @"{98EC9C526AFBA282}Prefabs/Weapons/Ammo/Ammo_Shell_82mm_HE_O832DU.et" origin=<6000.35,203.994,7000.4> order shots=2 total shots=2 predicted impact=<6422.29,177.023,7478.2> predicted flight=18.3001s gunner=SCR_ChimeraCharacter<0x0000000086694B00> @"ENTITY:4611686018427390840" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6000.901855 202.695969 7000.042969> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" (impact not observed) [session=1789885064-1]
#244 t=113.2s M39 MORTAR ACTIVITY site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; reason=native state=1; age=31.1921s aim age=3.01305s committed=0 shots=2; previous=native state=1 repeated polls omitted=29 [session=1789885064-1]
#245 t=116.3s M0 INFANTRY SUPPLY trip=0 state=1 moved=0 spent=0/48; service stopped; original forces and all remaining cargo retained [session=1789885064-1]
#246 t=116.3s M0 CONVOY STOP HQ ended convoy task service; surviving entities and cargo preserved [session=1789885064-1]
#247 t=116.3s M39 MORTAR REPEATS site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; phase=SHOOT NODE reason=native result=2 repeated polls omitted=2 [session=1789885064-1]
#248 t=116.3s M39 MORTAR REPEATS site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; phase=AIM SOLUTION reason=ready repeated polls omitted=2 [session=1789885064-1]
#249 t=116.3s M39 MORTAR REPEATS site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; phase=ACTIVITY reason=native state=1 repeated polls omitted=2 [session=1789885064-1]
#250 t=116.3s M39 MORTAR REPEATS site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; phase=AIM START reason=solving moving intercept repeated polls omitted=2 [session=1789885064-1]
#251 t=116.3s M39 MORTAR ORDER END site=1 order=2 radio=M39 source=M36 position=<6000,202.788,7000>; reason=HQ stopped observed shots=2 shell committed=0 elapsed=34.2211s last failure= [session=1789885064-1]
#252 t=116.3s M0 STOP HQ stopped; tactical orders released [session=1789885064-1]
@@ -0,0 +1,40 @@
{
"stopped_unix": 1789885193.0537345,
"console_sha256": "994f7d688079bddea714bf6f1b472d062d8175403c0f0364033226afcf3a5318",
"end_source_sha256": "a97b10e13516cb66f74662d3a013da813d5322460029227e0bf6cfd76a7fb003",
"source_unchanged_after_run": true,
"source_provenance": "launch_snapshot",
"launch_id": "aed7406b-eb6a-4cd6-ac56-96955ea52f67",
"launch_source_manifest": "launch-source-sha256.json",
"launch_source_metadata": "launch-source.json",
"launch_source_sha256": "a97b10e13516cb66f74662d3a013da813d5322460029227e0bf6cfd76a7fb003",
"external_addons_unchanged_after_run": true,
"external_addon_count": 6,
"external_addon_inputs": "external-addons-inputs.json",
"started_unix": 1789885017.2754147,
"result": "smoke-completed",
"result_before_cleanup": "smoke-completed",
"cleanup_confirmed": true,
"cleanup_report": {
"cleanup_confirmed": true,
"idle_verified": true,
"errors": [],
"orphan_cleanup": {
"attempted": true,
"report": {
"scope": "/tmp/erri-headless-compat/pfx",
"candidates": [],
"term_sent": [],
"kill_sent": [],
"cleared": true
}
}
},
"runner_error": null,
"session": "/tmp/erri-workbench-external-profile/logs/logs_2026-09-20_08-16-58",
"rounds_required": 1,
"project": "chat",
"display": "headless Gamescope 1280x720/30Hz",
"dedicated_server": false,
"audio": "silent sink and per-test-stream mute"
}
@@ -0,0 +1,353 @@
---------------------------------------------
Log Z:\tmp\erri-workbench-external-profile\logs\logs_2026-09-20_08-16-58\script.log started at 2026-09-20 08:17:02 (2026-09-20 06:17:02 UTC)
08:17:02.279 SCRIPT : SCRIPT : Initializing scripts
08:17:02.279 SCRIPT : SCRIPT : ScriptProjectManager init
08:17:06.875 SCRIPT : SCRIPT : Compiling GameLib scripts
08:17:06.934 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460
08:17:06.934 SCRIPT : Module: GameLib; loaded 466x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
08:17:06.935 SCRIPT : SCRIPT : Compiling Game scripts
08:17:08.265 SCRIPT : Compiling Game scripts
08:17:08.265 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
08:17:08.265 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
08:17:08.457 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,201": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.554 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
08:17:08.590 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
08:17:08.692 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
08:17:08.713 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeVehicleSecurityProbe.c,77": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.722 SCRIPT (W): @"Scripts/Game/ERR/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
08:17:08.778 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
08:17:08.778 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
08:17:08.780 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
08:17:08.808 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeVehicleSecurityProbe.c,171": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.824 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.824 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.826 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
08:17:08.826 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
08:17:08.850 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,138": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
08:17:08.874 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
08:17:09.258 SCRIPT : Module: WorkbenchGame; loaded 185x files; 657x classes; used 2755K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90c87bba
08:17:09.266 SCRIPT : Module: Game; loaded 6501x files; 13180x classes; used 39184K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS"; CRC32: fe610d24
08:17:10.205 SCRIPT : Unable to register a script command due keyword duplicity: ban
08:17:10.206 SCRIPT : Unable to register a script command due keyword duplicity: kick
08:17:29.648 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562
08:17:29.648 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531
08:17:29.648 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516
08:17:29.648 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5
08:17:29.648 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453
08:17:29.648 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406
08:17:29.648 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438
08:17:29.648 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438
08:17:29.648 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422
08:17:29.649 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391
08:17:29.649 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344
08:17:29.649 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344
08:17:29.649 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344
08:17:29.649 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344
08:17:29.649 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328
08:17:29.649 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281
08:17:29.649 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25
08:17:29.649 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281
08:17:29.650 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25
08:17:29.650 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234
08:17:29.650 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188
08:17:29.650 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156
08:17:29.650 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172
08:17:29.650 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156
08:17:29.651 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141
08:17:29.651 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094
08:17:29.674 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625
08:17:32.291 SCRIPT : Unable to register a script command due keyword duplicity: ban
08:17:32.291 SCRIPT : Unable to register a script command due keyword duplicity: kick
08:17:44.636 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead.
08:17:44.664 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate
08:17:48.660 SCRIPT : Map load time: 2148ms
08:17:48.666 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key!
08:17:48.666 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key!
08:17:48.668 SCRIPT (W): Can't open config file ""
08:17:48.674 SCRIPT (W): Slot_WeaponInfo Has no Content!
08:17:48.674 SCRIPT (W): Slot_Chat Has no Content!
08:17:48.674 SCRIPT (W): Slot_VON Has no Content!
08:17:48.674 SCRIPT (W): Slot_AvailableActions Has no Content!
08:17:48.674 SCRIPT (W): Slot_Vehicle Has no Content!
08:17:48.674 SCRIPT (W): Slot_GameVersion Has no Content!
08:17:48.674 SCRIPT (W): Slot_Notifications Has no Content!
08:17:48.675 SCRIPT (W): Slot_Hints Has no Content!
08:17:48.686 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
08:17:48.686 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
08:17:48.690 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config
08:17:48.746 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated.
08:17:48.761 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME
08:17:48.962 SCRIPT (W): EditBoxFilterComponent used on invalid widget type.
08:17:50.442 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1
08:17:50.459 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160>
08:17:50.460 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1
08:17:50.483 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050>
08:17:50.485 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200>
08:17:50.530 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500>
08:17:50.530 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1
08:17:50.537 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1
08:17:50.577 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220>
08:17:50.577 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1
08:17:50.579 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400>
08:17:50.579 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1
08:17:50.582 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1
08:17:50.583 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1
08:17:50.583 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1
08:17:50.584 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300>
08:17:50.584 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<7012,63.725,7500> up=1
08:17:50.584 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0 angularSpeed=0
08:17:50.584 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=0 engine=0 origin=<0,0,0> up=1 entityDifference=10267.5
08:17:50.585 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012,64.0216,7502.25>
08:17:50.585 SCRIPT : ERR GEAR TERRAIN: bottom=<7012,63.7216,7502.25> terrainY=63.2926 tireTerrainGap=0.428944
08:17:50.585 SCRIPT : ERR GEAR SUPPORT: center=<7012,64.0216,7502.25> radius=0.3 bottom=<7012,63.7216,7502.25> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
08:17:50.585 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.72,64.4897,7497.97>
08:17:50.585 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.72,64.0397,7497.97> terrainY=64.1655 tireTerrainGap=-0.125717
08:17:50.585 SCRIPT : ERR GEAR SUPPORT: center=<7009.72,64.4897,7497.97> radius=0.45 bottom=<7009.72,64.0397,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
08:17:50.586 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.28,64.4898,7497.97>
08:17:50.586 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.28,64.0398,7497.97> terrainY=63.8096 tireTerrainGap=0.230156
08:17:50.586 SCRIPT : ERR GEAR SUPPORT: center=<7014.28,64.4898,7497.97> radius=0.45 bottom=<7014.28,64.0398,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
08:17:50.586 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:50.586 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:50.586 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:50.586 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:50.587 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:50.587 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=0 conscious=0 nativeComplete=0
08:17:51.452 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:51.453 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:51.453 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:51.453 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:51.706 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.08,63.5191,7499.71> up=0.9956
08:17:51.706 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.209733 angularSpeed=0.0529618
08:17:51.706 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
08:17:51.706 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.06,63.6124,7501.98>
08:17:51.707 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.06,63.3124,7501.98> terrainY=63.3156 tireTerrainGap=-0.00321198
08:17:51.707 SCRIPT : ERR GEAR SUPPORT: center=<7012.06,63.6124,7501.98> radius=0.3 bottom=<7012.06,63.3124,7501.98> fraction=0.440336 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=-0.00312424
08:17:51.707 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.89,64.6018,7497.71>
08:17:51.707 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.89,64.1518,7497.71> terrainY=64.154 tireTerrainGap=-0.00212097
08:17:51.707 SCRIPT : ERR GEAR SUPPORT: center=<7009.89,64.6018,7497.71> radius=0.45 bottom=<7009.89,64.1518,7497.71> fraction=0.445067 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=-0.00208282
08:17:51.707 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.43,64.2619,7497.76>
08:17:51.708 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.43,63.8119,7497.76> terrainY=63.8169 tireTerrainGap=-0.00498581
08:17:51.708 SCRIPT : ERR GEAR SUPPORT: center=<7014.43,64.2619,7497.76> radius=0.45 bottom=<7014.43,63.8119,7497.76> fraction=0.431667 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00503159
08:17:51.708 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
08:17:51.958 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:51.958 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:51.958 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:51.959 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=1 conscious=1 nativeComplete=0
08:17:52.466 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:52.466 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:52.467 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:52.719 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.11,63.5371,7499.72> up=0.994393
08:17:52.719 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0957685 angularSpeed=0.0250633
08:17:52.720 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
08:17:52.720 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.07,63.6185,7502>
08:17:52.720 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.07,63.3185,7502> terrainY=63.3132 tireTerrainGap=0.00532913
08:17:52.720 SCRIPT : ERR GEAR SUPPORT: center=<7012.07,63.6185,7502> radius=0.3 bottom=<7012.07,63.3185,7502> fraction=0.4787 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=0.00531387
08:17:52.720 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.94,64.6009,7497.71>
08:17:52.720 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.94,64.1509,7497.71> terrainY=64.1469 tireTerrainGap=0.00400543
08:17:52.721 SCRIPT : ERR GEAR SUPPORT: center=<7009.94,64.6009,7497.71> radius=0.45 bottom=<7009.94,64.1509,7497.71> fraction=0.473064 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.0040741
08:17:52.721 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.48,64.2642,7497.79>
08:17:52.721 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.48,63.8142,7497.79> terrainY=63.8146 tireTerrainGap=-0.000423431
08:17:52.721 SCRIPT : ERR GEAR SUPPORT: center=<7014.48,64.2642,7497.79> radius=0.45 bottom=<7014.48,63.8142,7497.79> fraction=0.452778 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.000389099
08:17:52.721 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
08:17:52.722 SCRIPT : Rereintroduced [extraction placement]: native supported aircraft stable for one second, fuel present, exactly one initial wake
08:17:52.973 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:52.973 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:52.973 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=2 conscious=2 nativeComplete=0
08:17:52.973 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:53.479 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:53.480 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:53.480 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:53.731 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.14,63.5302,7499.75> up=0.994307
08:17:53.732 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0539594 angularSpeed=0.0390638
08:17:53.732 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
08:17:53.732 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.09,63.6121,7502.03>
08:17:53.732 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.09,63.3121,7502.03> terrainY=63.3104 tireTerrainGap=0.00172424
08:17:53.732 SCRIPT : ERR GEAR SUPPORT: center=<7012.09,63.6121,7502.03> radius=0.3 bottom=<7012.09,63.3121,7502.03> fraction=0.462288 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00170517
08:17:53.733 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.98,64.5918,7497.73>
08:17:53.733 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.98,64.1418,7497.73> terrainY=64.1403 tireTerrainGap=0.00154877
08:17:53.733 SCRIPT : ERR GEAR SUPPORT: center=<7009.98,64.5918,7497.73> radius=0.45 bottom=<7009.98,64.1418,7497.73> fraction=0.461582 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00154877
08:17:53.733 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.52,64.2597,7497.84>
08:17:53.733 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.52,63.8097,7497.84> terrainY=63.812 tireTerrainGap=-0.00233841
08:17:53.734 SCRIPT : ERR GEAR SUPPORT: center=<7014.52,64.2597,7497.84> radius=0.45 bottom=<7014.52,63.8097,7497.84> fraction=0.443889 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00234222
08:17:53.734 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
08:17:53.983 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:53.983 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=3 conscious=3 nativeComplete=0
08:17:53.984 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:53.984 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:54.488 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:54.489 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:54.489 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:54.489 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=4 conscious=4 nativeComplete=0
08:17:54.740 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.14,63.5277,7499.77> up=0.99433
08:17:54.740 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
08:17:54.740 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.5
08:17:54.740 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.09,63.6104,7502.04>
08:17:54.741 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.09,63.3104,7502.04> terrainY=63.3095 tireTerrainGap=0.000873566
08:17:54.741 SCRIPT : ERR GEAR SUPPORT: center=<7012.09,63.6104,7502.04> radius=0.3 bottom=<7012.09,63.3104,7502.04> fraction=0.458391 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.000846863
08:17:54.741 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.99,64.5915,7497.74>
08:17:54.741 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.99,64.1415,7497.74> terrainY=64.1387 tireTerrainGap=0.00273132
08:17:54.741 SCRIPT : ERR GEAR SUPPORT: center=<7009.99,64.5915,7497.74> radius=0.45 bottom=<7009.99,64.1415,7497.74> fraction=0.46719 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00278473
08:17:54.741 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.53,64.2594,7497.85>
08:17:54.741 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.53,63.8094,7497.85> terrainY=63.8111 tireTerrainGap=-0.00170517
08:17:54.742 SCRIPT : ERR GEAR SUPPORT: center=<7014.53,64.2594,7497.85> radius=0.45 bottom=<7014.53,63.8094,7497.85> fraction=0.446667 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00173187
08:17:54.742 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
08:17:54.994 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:54.994 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:54.994 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:54.995 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:55.503 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=5 conscious=5 nativeComplete=0
08:17:55.503 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:55.503 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:55.504 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:55.755 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.14,63.5277,7499.77> up=0.99433
08:17:55.755 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
08:17:55.755 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.5
08:17:55.755 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.09,63.6104,7502.04>
08:17:55.756 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.09,63.3104,7502.04> terrainY=63.3095 tireTerrainGap=0.000873566
08:17:55.756 SCRIPT : ERR GEAR SUPPORT: center=<7012.09,63.6104,7502.04> radius=0.3 bottom=<7012.09,63.3104,7502.04> fraction=0.458391 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.000846863
08:17:55.756 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.99,64.5915,7497.74>
08:17:55.756 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.99,64.1415,7497.74> terrainY=64.1387 tireTerrainGap=0.00273132
08:17:55.756 SCRIPT : ERR GEAR SUPPORT: center=<7009.99,64.5915,7497.74> radius=0.45 bottom=<7009.99,64.1415,7497.74> fraction=0.46719 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00278473
08:17:55.756 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.53,64.2594,7497.85>
08:17:55.757 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.53,63.8094,7497.85> terrainY=63.8111 tireTerrainGap=-0.00170517
08:17:55.757 SCRIPT : ERR GEAR SUPPORT: center=<7014.53,64.2594,7497.85> radius=0.45 bottom=<7014.53,63.8094,7497.85> fraction=0.446667 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00173187
08:17:55.757 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
08:17:56.009 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:56.009 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=6 conscious=6 nativeComplete=1
08:17:56.009 SCRIPT : Rereintroduced [sites]: 7 sites and 122 physical stock items ready
08:17:56.021 SCRIPT : Rereintroduced [environment]: date=authored weather=authored
08:17:56.022 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression
08:17:56.022 SCRIPT : Rereintroduced [mission]: phase 0 -> 1
08:17:56.023 SCRIPT : Rereintroduced [prison]: owned composition raw={BE6B8D56349038A6}Prefabs/ERR/Prison.et resolved={BE6B8D56349038A6}Prefabs/ERR/Prison.et position=<6090,211.444,7160>
08:17:56.023 SCRIPT : Rereintroduced [prison]: gate candidate raw= resolved={C3FDC4DBCD58C2F5}Prefabs/ERR/PrisonDoor.et lock=1 door=1 position=<6090,211.344,7154>
08:17:56.023 SCRIPT : Rereintroduced [prison]: destruction health=1000 destroyed=0 queued=0
08:17:56.023 SCRIPT : Rereintroduced [prison]: one intact successor lock in owned prison
08:17:56.952 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US)
08:17:56.987 SCRIPT : Rereintroduced [spawn]: player 1 at <6088.5,211.491,7158.5>
08:17:57.165 SCRIPT : ERR SMOKE PASS: new identity may enter prison
08:17:57.165 SCRIPT : ERR SMOKE PASS: spawn consumes identity life
08:17:57.165 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection
08:17:57.165 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life
08:17:57.165 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected
08:17:57.165 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy
08:17:57.165 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected
08:17:57.166 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation
08:17:57.167 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation
08:17:57.169 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration
08:17:57.169 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration
08:17:57.169 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available
08:17:57.170 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions
08:17:57.172 SCRIPT : ERR SMOKE PASS: base contracts test setting restored
08:17:57.172 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show
08:17:57.172 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show
08:17:57.172 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show
08:17:57.172 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show
08:17:57.172 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show
08:17:57.173 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization
08:17:57.173 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory automatic startup owns one canonical six-vehicle task
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 0
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory original native turret gunner has scoped skill100
08:18:34.776 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 1
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 2
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.777 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 3
08:18:34.778 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original native turret gunner has scoped skill100
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 4
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original native turret gunner has scoped skill100
08:18:34.779 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory original native turret gunner has scoped skill100
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy exact original seated crew 5
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory original automatic crew has scoped expert floor
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory original native turret gunner has scoped skill100
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory automatic convoy includes confirmed native turret gunners
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory automatic nineteen-body convoy respects shared physical budget
08:18:34.780 SCRIPT : ERR SMOKE PASS: HQ memory manual request after automatic startup cannot duplicate the convoy
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory actual six site groups are registered once in the Core force ledger
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory detached native Core ledger registers one arithmetic fixture without spawning
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory detached native ledger records elimination
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory eliminated source re-registration cannot restore strength or spawn
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory injected value fixture begins with a detached report
08:18:34.781 SCRIPT : ERR SMOKE PASS: HQ memory stored snapshot ignores later input mutation
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory newer delivered-value fixture advances trajectory
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory native vector arithmetic infers six metres per second from snapshots
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory ten-minute value-clock advance retains a weaker wider belief
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory old trajectory prediction remains capped in time and distance
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory negative revision is idempotent
08:18:34.782 SCRIPT : ERR SMOKE PASS: HQ memory clear removes detached value history
08:18:34.783 SCRIPT : ERR SMOKE PASS: HQ memory queued synthetic sighting has no belief while actual transmitter starts
08:18:34.783 SCRIPT : ERR SMOKE PASS: HQ memory uplink holds original caller for three seconds before its first network hop
08:18:34.783 SCRIPT : ERR SMOKE PASS: HQ memory fixture removes actual transmitting equipment mid-uplink
08:18:36.788 SCRIPT : ERR SMOKE PASS: HQ memory original caller radio loss interrupts call before any hop
08:18:36.788 SCRIPT : ERR SMOKE PASS: HQ memory physical uplink loss prevents production Accept
08:18:42.861 SCRIPT : ERR SMOKE PASS: HQ memory delivered uplink includes originating call and physical hop latency
08:18:42.861 SCRIPT : ERR SMOKE PASS: HQ memory actual uplink delivery reaches production intake exactly once
08:18:50.972 SCRIPT : ERR SMOKE PASS: HQ memory second physical delivery extends one stable credible trajectory
08:18:50.973 SCRIPT : ERR SMOKE PASS: HQ memory synthetic completed sweep is not knowledge before radio delivery
08:18:58.571 SCRIPT : ERR SMOKE PASS: HQ memory delivered negative sweep lowers confidence without inventing a sighting
08:18:58.571 SCRIPT : ERR SMOKE PASS: HQ memory replayed completed-sweep payload cannot multiply confidence loss
08:19:06.672 SCRIPT : ERR SMOKE PASS: HQ memory fresh delivered sighting supersedes prior negative evidence
08:19:14.760 SCRIPT : ERR SMOKE PASS: HQ memory delivered old-revision sweep cannot weaken a newer sighting
08:19:14.760 SCRIPT : ERR SMOKE PASS: native HQ memory delivery and search lineage
08:19:14.761 SCRIPT : INFO: KILL SUICIDE: jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) from US faction at <6088.5, 211.39, 7158.5> killed himself!
08:19:18.800 SCRIPT : ERR SMOKE PASS: native damage kills prisoner
08:19:18.801 SCRIPT : ERR SMOKE PASS: death selects spectator without another life
08:19:18.801 SCRIPT : ERR SMOKE PASS: spectator camera activates after native death
08:19:45.872 SCRIPT : Rereintroduced [mission]: phase 1 -> 6
08:19:45.873 SCRIPT : ERR SMOKE PASS: death exhausts round life and reaches defeat after spectator grace
08:19:45.873 SCRIPT : ERR SMOKE COMPLETE: terminal=6 lostHelicopterCase=0 playerDeathCase=1
08:19:45.874 SCRIPT : ERR SMOKE PASS: HQ memory actual command stop clears all belief history
08:19:46.005 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME
08:19:46.007 SCRIPT (W): Slot_Chat Has no Content!
08:19:46.007 SCRIPT (W): Slot_VON Has no Content!
08:19:46.007 SCRIPT (W): Slot_GameVersion Has no Content!
08:19:46.007 SCRIPT (W): Slot_Notifications Has no Content!
08:19:48.082 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back
08:19:48.083 SCRIPT : -- Stack trace --
08:19:48.083 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43
08:19:48.083 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214
08:19:48.083 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15
08:19:48.083 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447
08:19:48.083 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177
08:19:48.084 SCRIPT : OnUpdate() Scripts/Game/game.c : 885
08:19:48.084 SCRIPT : -----------------
08:19:48.084 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton
08:19:48.084 SCRIPT : -- Stack trace --
08:19:48.084 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43
08:19:48.084 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214
08:19:48.084 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21
08:19:48.085 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447
08:19:48.085 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177
08:19:48.085 SCRIPT : OnUpdate() Scripts/Game/game.c : 885
08:19:48.085 SCRIPT : -----------------
08:19:48.087 SCRIPT (W): Slot_Chat Has no Content!
08:19:48.087 SCRIPT (W): Slot_VON Has no Content!
08:19:48.087 SCRIPT (W): Slot_GameVersion Has no Content!
08:19:48.087 SCRIPT (W): Slot_Notifications Has no Content!
@@ -0,0 +1,4 @@
{
"schema_version": 1,
"kind": "launch_snapshot"
}
@@ -0,0 +1,258 @@
{
"addons/ai/Prefabs/ERR/ConvoyCrew.et": "434d9bef9a9fcf0376604a9fbd547204cc544f5ed1a5b75228245151f02323ab",
"addons/ai/Prefabs/ERR/ConvoyCrew.et.meta": "0a909a15b7dcca34202ded136b3bdbbe8898153c9589e1cce1388433d362da02",
"addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce",
"addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc",
"addons/ai/Scripts/Game/ERR/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldEnvelope.c": "0f53c7d9ab167a804eb904d63725decebb53fd5796fdf27864a75abed5679838",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldFlight.c": "c04e264cff9963821852094c451502d31bf9c96d4deae2e8ff8a2373b53b5665",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c": "30be68f4ca2db7e169f6f0432815821179cddf9159f7b150341dc8eb479bbd17",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7",
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3",
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511",
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9",
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c": "3f05209227986b5c6bfb193f8f53783cfd4ef083bce898e22257c3e63daed913",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyBudget.c": "fc1f77fd773194e3f4d591b299e4c5eae4fa9564aad32b8cec0bbb4011425c0c",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyCombat.c": "73c54fa5c6fa098798ca6adf573a113d7a9a9fa79eac88d364976638da50d4b3",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyPlacement.c": "4d0e8b6e147486fb65db82a1060f0c5641c1319ba9e418bdec99cb5a422a7fbe",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyRoadPlan.c": "ffab8d55d4120c7405b0061d005f24e81cf6fcdfa95b91febcf4994ce4412140",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyService.c": "5b6e31a6072dc35af916b4897e417d53196d7fff4e1bc54ae239c3bbf5f6089b",
"addons/ai/Scripts/Game/ERR/ERR_ConvoyStartup.c": "360228fd45aa6ecd9426e36120b5e637d2feee1e3a4a89aac8207526b871c87e",
"addons/ai/Scripts/Game/ERR/ERR_EnemyEquipment.c": "b16a8b31be20271c37c4d68c169f08b28d88993d296308b80de00715ea2b4dfe",
"addons/ai/Scripts/Game/ERR/ERR_EnemyGunnerSkill.c": "0c8ce2f3d2642999a7158000e60d8c491ed3e4b6d9c0d3d18b3e3ecc3e557196",
"addons/ai/Scripts/Game/ERR/ERR_EnemyOptics.c": "41571a57fbedc9f100518e6cc8f4fcd15ae669aeab2c050d1eb3e173fc6f3868",
"addons/ai/Scripts/Game/ERR/ERR_EnemyRadio.c": "d583b025275fb06419b132e93ead6a29f86389a97e8f7ae24cf62e89aef06130",
"addons/ai/Scripts/Game/ERR/ERR_HQ.c": "1a63c4a434a0a678a099f5f55e618af08589ba9c232fafb057a5aef6306aa06a",
"addons/ai/Scripts/Game/ERR/ERR_HQAdminProvider.c": "298ae30d1db1191d680a5a8f60253f9344e0e19fe9c17242c757382042364341",
"addons/ai/Scripts/Game/ERR/ERR_HQAmmoReporting.c": "7ceb17a7e619aee699a1b61ea7a4e029f07560f68b3b89dbd3b7b286fcc7d799",
"addons/ai/Scripts/Game/ERR/ERR_HQAmmoSampler.c": "f2b50ec6c6dd3bfb4e7c636e02b94893b41a2c13753b00e6b0ea2ed7686413ca",
"addons/ai/Scripts/Game/ERR/ERR_HQBodyObserver.c": "fb2067f671ad954e957e722ef1e74786eca77760fb4f3af4d23e02e74e1bb6a5",
"addons/ai/Scripts/Game/ERR/ERR_HQCoverage.c": "1efb5e604704b3d86a4adaf30fa43d776eb0c612977e1c43ee083700562c6a0d",
"addons/ai/Scripts/Game/ERR/ERR_HQDeliveredCasualties.c": "1f738127e55e843ee2705007cedb5c08741f52f63c75eca7c80242177af82273",
"addons/ai/Scripts/Game/ERR/ERR_HQDoctrine.c": "6335728e89ed40ce11b811f00b61bfea76e94dd3379e4357cbfc438b05522bb0",
"addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1",
"addons/ai/Scripts/Game/ERR/ERR_HQMemory.c": "add41a17c5bbdda19ff139b4ad949740432be17e4ead8bc22833d775fc8bc857",
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "cae87b2d397042c597415e4b99796f99c2f8dca0da4316da5e38afceadf377ff",
"addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "ee7d4fab38dd13644524420f20424bfe96153c20b6a5807ddbe41ecd46d7e666",
"addons/ai/Scripts/Game/ERR/ERR_HQPursuit.c": "ab6ca0e1a7f36c104e664db06a74c80a528cbfd1de599af42e2194ef0a4f4ca3",
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "244e2b9b9262a5208b6d376ade5ac6f6e702a915be832df5992f742f40898b71",
"addons/ai/Scripts/Game/ERR/ERR_HQStatusSampler.c": "f5e01515b81c8793328933425e117ef4ccb52888dec464a19d041b49fb61c261",
"addons/ai/Scripts/Game/ERR/ERR_HQTask.c": "9852bf0ccdc9d3a29597dff4b6ec68af2b7c04b29f2b74f126028da2d1e58e5e",
"addons/ai/Scripts/Game/ERR/ERR_HQWatch.c": "5084254ebb006b923b296de0b8eff9769f0774a80faeb1f90cc2cda916a3782e",
"addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762",
"addons/ai/Scripts/Game/ERR/ERR_InfantryAmmoTransfer.c": "1a66153413934a7f538d4a6c594dc3cf1e8534908f4d02fdd22e3ef2b137bbb6",
"addons/ai/Scripts/Game/ERR/ERR_InfantryResupply.c": "764fb7d6bb23861bd8586d018dd9e14384ea17679f2fd9e6e688cac2aa7b4742",
"addons/ai/Scripts/Game/ERR/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649",
"addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "a4eed96d17f239cbf353863ebe40d2282aeacd7a4d63a7b2f0ecfb3d93a2e2b2",
"addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7",
"addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "7aec51c83972610d1bcbca58b84b14f16f59952d402b12c3d88e7192a3e2ee90",
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c": "e1ffb25fba384b449de576a5502a93d875c3f52e8da1941bbf590ad9845f9730",
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "05863b2b4f9f70cdb288f91c722cbea163c13f2a2927dc485482e5bd4fa7d57f",
"addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c": "2fabe8f812fd333cea7199d1eb722c807fcc5adb285c618956bd54d31fa27ce3",
"addons/ai/Scripts/Game/ERR/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4",
"addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae",
"addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b",
"addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.c": "34f7eaa01dc68e97aae8c1177b7f8fd6c15d5a41c6dc86de377f00b3613a8e77",
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "4edefc8530cc6eec7a5e1df1d0b7d56e6801186f23c61331ce0e8075b8281efb",
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205",
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftFieldProbe.c": "b64907c7566a894ca2f3c49ede5d972d4087a938da1a0ca87bcbd7c2203b2c52",
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftRouteProbe.c": "8d0dca97e5106d1c84b64992c789e1af0689514beefc027e713ca6ab901fc470",
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f",
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2",
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarSalvoProbe.c": "5fd7bb8953f6850ad79e646c0c286153108a10ee2d5ef397ccb65a07f8d2ed7c",
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c",
"addons/ai/Scripts/Game/ERR/ERR_NativePatrolHQProbe.c": "92efadb7a5bd9cd9f6865c764f901ae01e3776224d8b57abed648983df487b81",
"addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b",
"addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03",
"addons/ai/addon.gproj": "eba68a3e343deb205b01ba2b0e473deacb2b5ba21d982c601a0cdd4db78778b2",
"addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b",
"addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f",
"addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "282fe1463add7af8771aa58507b254e69d2d06f50274d4c77321db073f8394f0",
"addons/chat/Scripts/Game/ERR/ERR_NativeConvoyCoverProbe.c": "d2450140cf9bdf09210473234605b4c0d818ea5b91f9532209166a35c5d13701",
"addons/chat/Scripts/Game/ERR/ERR_NativeConvoyProbe.c": "9f8f0844862ef98b0878290238a410d501ea99622cd5e517fcacd9a9187f889a",
"addons/chat/Scripts/Game/ERR/ERR_NativeHQBodyProbe.c": "811244cc8297817efbfc3ee4edf01c868eae23c88127ba0c72e98ee7422da72f",
"addons/chat/Scripts/Game/ERR/ERR_NativeHQMemoryProbe.c": "e6ebee3ddba27fb23f6ee88f1b8a06c5f85ec85e15c78e08196dbfe2925fa257",
"addons/chat/Scripts/Game/ERR/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3",
"addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a",
"addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1",
"addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "17ea1c803ce9b7fabfc06e52c17492c85c3fba0ac3d9a264ef82d578e5bdd337",
"addons/chat/Scripts/Game/ERRChat/ERR_OrdinaryScenarioLaunchChat.c": "dda715c9691d366e35fa2ad5e390dee1971651f137a5a9f9aeb23dcbe53ec87e",
"addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94",
"addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e",
"addons/core/Configs/ERR/AdminMenus.conf": "a7f889f260e43656136fc159342129e5f48748d28c426f65f9faac37b624cf94",
"addons/core/Configs/ERR/AdminMenus.conf.meta": "5faf5ddc0a51c1d0f82d60af00d91edc22fe9c39aac50d8d04b772a2c9271be1",
"addons/core/Configs/ERR/EveronSites.conf": "3e04698421ce989c996097ecf24214e7d926d2998918d60573aa403c4012b079",
"addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56",
"addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb",
"addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035",
"addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b",
"addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b",
"addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30",
"addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611",
"addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236",
"addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e",
"addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1",
"addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd",
"addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd",
"addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317",
"addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e",
"addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853",
"addons/core/Prefabs/ERR/FactionManager.et": "425f916b890019c537f6b2f72b1af9e7be54b0a476320da969e1f313a7ac5ea5",
"addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d",
"addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3",
"addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9",
"addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029",
"addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c",
"addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et": "a6e4ddb7f583c3bf82b5583d890bfbbd559e6b0e7176d36ba0ab3a0a2879915c",
"addons/core/Prefabs/ERR/Items/EmergencyRepairKit.et.meta": "da6f065cb2414b5a4cbe9ef0f0b1295b2466f26ad406c0bddb83845d4598efb3",
"addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0",
"addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e",
"addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce",
"addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69",
"addons/core/Prefabs/ERR/Prison.et": "dcd3f4dfd453303d026e68b64f7de6125bd3390822d8432dd95a3710a5b3df89",
"addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb",
"addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40",
"addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2",
"addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed",
"addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6",
"addons/core/Prefabs/ERR/Prisoner.et": "198b5badabb12f218f86df7eb4dc268fd830769dc3de7eef6362cfaee4d6fc8d",
"addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022",
"addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165",
"addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f",
"addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812",
"addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad",
"addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7",
"addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb",
"addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4",
"addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630",
"addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et": "ea177fff89ec82bfebce0fdb26699e5c3af4999cdb50bf7cc7771a6d2e70d684",
"addons/core/Prefabs/ERR/Vehicles/SupplyUAZ.et.meta": "544c94cf1c26757a10654de7856cd6cc48b821ce3bdc02add13cfe6514269915",
"addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et": "7f7dfcd3460d0100fd893dabe930baf1032ce6879f1e8bfccb4d086a8234e80a",
"addons/core/Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et.meta": "123955da03462befb90e293b3bb856d49cc761166611b38ff47cb48ec2fbe95c",
"addons/core/Scripts/Game/ERR/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
"addons/core/Scripts/Game/ERR/ERR_Actors.c": "a1ee932c9c0d8dda29a030e45b4ecd3ca4509bcd8500ee6e8d09a2e61341715d",
"addons/core/Scripts/Game/ERR/ERR_AdminMenu.c": "2b79df9536ceacd49d06c776300372eda4d7fda7c529a560bd8078b6660d5360",
"addons/core/Scripts/Game/ERR/ERR_AdminPlayerTools.c": "91e25c336a9e6e52a700157826f5deaf7ca39e67933a6ef6af0f5fdf81c0016e",
"addons/core/Scripts/Game/ERR/ERR_AdminProvider.c": "62e05aceb49da07fed7aa89fb6b2f8eb3efc373ac09eff286fba983c3ad570eb",
"addons/core/Scripts/Game/ERR/ERR_AdminService.c": "8a5ccf1fff1442dfe7ab4cb3cc858ee16adb073119144187155ade558b8c4c5f",
"addons/core/Scripts/Game/ERR/ERR_AdminSession.c": "c9d7421a0e6f6f7301751f6c5ac70874022140bce2a83ff3ae1d50df86955c84",
"addons/core/Scripts/Game/ERR/ERR_CasualtyGroundSupport.c": "26f0c7ebe8563bb022f7c383674e7d8997b0cc35c7ea321d39d74f2493c1ed9d",
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingFeedback.c": "e46988b92243df19a5400eca7406d6969b8b1174d8e3efad48fa0a936cbfdd07",
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingGameMode.c": "f4cf19440583ac24346831a2d5f1d7f734c031e46dc266c499972329dd0533cf",
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingOwner.c": "6346a05ddda030f7d9b6f026f977d5f018ee16002fa519e8c49dcd700c323dc7",
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingService.c": "0d0fbb091c451db509edf44db6fc7e2a15c36999166ad026a9af55aef61322e6",
"addons/core/Scripts/Game/ERR/ERR_ChatClient.c": "ae856e9fa0e19fc35d5c839fc5001bb28ce633eab59710911e7e56057dd452f0",
"addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "7553c8cc1388cca3404994e36f96946c6abd1fefb08cef2fbb3ea1a62b22861b",
"addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "2597ca110391558f35433cb11033574308e241134ce9a8cc209fe892fd26efbd",
"addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2",
"addons/core/Scripts/Game/ERR/ERR_EnvironmentService.c": "867e9f47adfb7a9819a8b58498688ff86127282cb89cf2529ae81f73e529e1c5",
"addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "6cfb7de35bbbc18bd6d35c63da01284ffb08b8641527d49283d9b9b0cb94f8c2",
"addons/core/Scripts/Game/ERR/ERR_ExtractionPlacement.c": "c30222ca25cc0e91dec4077e6b82b37a9edafcf2cbebd0be5b6bd8656b53adfe",
"addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9",
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e",
"addons/core/Scripts/Game/ERR/ERR_ForceLedger.c": "3858629f7fccf75c282cec725a7c0d9dd1c1095675348bb584abc947103a2872",
"addons/core/Scripts/Game/ERR/ERR_ForceSimulation.c": "2bbb8888c752a3ffc042f3059937526d25ae288af5b4db024cc683025a2605ce",
"addons/core/Scripts/Game/ERR/ERR_GameMode.c": "e17bd68f82012bff7c1953cf1adc86fe1cdefbc01d3b5eb88fa96f956bb4f135",
"addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558",
"addons/core/Scripts/Game/ERR/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6",
"addons/core/Scripts/Game/ERR/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8",
"addons/core/Scripts/Game/ERR/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e",
"addons/core/Scripts/Game/ERR/ERR_LoadCasualtyAction.c": "1521af55a34110ce1c971b5226a618a9c6d931622abaae4946d9c0d27c05a273",
"addons/core/Scripts/Game/ERR/ERR_LocalAdmission.c": "b0e824c6880cbf9b1f368dc7ada9907bde78b22b948d419b6c861323f32258be",
"addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24",
"addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41",
"addons/core/Scripts/Game/ERR/ERR_NativeAdminMenuProbe.c": "f30f9fa3a613923b6da2f3fcc521e5b077523042b3accbd80e4fa033be5b83ab",
"addons/core/Scripts/Game/ERR/ERR_NativeAdminSettingsProbe.c": "6a4df33a2b0e6b6aeed944c6895961e658d4f0db9aed9b8433a43a451fa35cae",
"addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "52ba1798d8593588bca80ac722e41357627cc2070c569591f60a31ca23e2f501",
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3",
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b",
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36",
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea",
"addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0",
"addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "c451b6b1f9ba2b693607307ef6ad9f0c991448d4c572c2a14b5204ad1fdc267b",
"addons/core/Scripts/Game/ERR/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f",
"addons/core/Scripts/Game/ERR/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f",
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentProbe.c": "8b1d110717aa5f07bfb8fe633847eab519109e3a8a4100970a487be05c053418",
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507",
"addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972",
"addons/core/Scripts/Game/ERR/ERR_NativeFactionCatalogProbe.c": "c04219086e58f6bf431335f1f2c45fb607f97f9429941c0223d046a8a72da3f1",
"addons/core/Scripts/Game/ERR/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d",
"addons/core/Scripts/Game/ERR/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4",
"addons/core/Scripts/Game/ERR/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514",
"addons/core/Scripts/Game/ERR/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9",
"addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115",
"addons/core/Scripts/Game/ERR/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09",
"addons/core/Scripts/Game/ERR/ERR_NativeMedicalProbe.c": "43fa51ffbcf9dd0cd8e905a1135bcf0756651da3af34677f3c92e7d264ed70b6",
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b",
"addons/core/Scripts/Game/ERR/ERR_NativePatrolProbe.c": "02bd9fdf5454db7dd4c82240efe0d947bf8d6488ace42809c3aef6505cb6266d",
"addons/core/Scripts/Game/ERR/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f",
"addons/core/Scripts/Game/ERR/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5",
"addons/core/Scripts/Game/ERR/ERR_NativePrisonBreachProbe.c": "22d0923cd69ba591e783011d424c97c86520272b70da9aa6a6d15558464c264c",
"addons/core/Scripts/Game/ERR/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86",
"addons/core/Scripts/Game/ERR/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560",
"addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c",
"addons/core/Scripts/Game/ERR/ERR_NativeRecoveryProbe.c": "4de6868cd3e76afb80cf0ae5dac1e35d2c417838f640c2f18aa3343217eea2f2",
"addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "db239385dc705840240d02448eabc77fa41162cfade6f21a275a3404339e8a31",
"addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f",
"addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c",
"addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae",
"addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "0dbc545a6062854add8d0fbd68f4e59beacfad4f525818cc09627c3d0fc721ab",
"addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5",
"addons/core/Scripts/Game/ERR/ERR_NativeVehicleSecurityProbe.c": "59bbbe6ba22bd6c80c3a05e7b7b006639b192fb4b752663dde9e9211d77182a7",
"addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf",
"addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "b1f3df17250e6ec0a476c7d795ffb2916a946408dc4f3f2ee7397564ca0ef6a8",
"addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f",
"addons/core/Scripts/Game/ERR/ERR_Observer.c": "16ab78acede9b0cab86c6a74f47ffd5b8a7c50f131f44d64a8826eac6896a279",
"addons/core/Scripts/Game/ERR/ERR_OrdinaryGateObserver.c": "1e376ca83c0005cf532539e14d7f47363c47b7c5b03fe3d55405a59208705fd7",
"addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c": "808a46cc1e4b31b65dbbbcdd55493f594ebb3974bbec38b4a2402334c653c0ef",
"addons/core/Scripts/Game/ERR/ERR_OrdinaryLookObserver.c": "d5a1b636938d65e9d11c78b31487f2924400c34d98e2ec812954a2a224da7dc0",
"addons/core/Scripts/Game/ERR/ERR_OrdinaryScenarioLaunch.c": "a4e7e56d174ebd15b4730202dae4c8ed06144f3f27c23ed49c99e2d297dc421a",
"addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "eca9baa3b07da48a740851583540840f8bf5f65f7be854902a3778f76967faad",
"addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
"addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "4b3605522d732c8542a2c1ad5f3f59b3e8e5dc9f4aace71608ec9f259eea8069",
"addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "c038dac0f749bd29ebc35a4e952904b41a34417ba738904d5efcd1833a263e0b",
"addons/core/Scripts/Game/ERR/ERR_PreparationStatus.c": "1d8987d2dcc1db2a030e095b33d50f07877181037d339624156291d8317bfa5d",
"addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c": "ed6286342ed12cc9a3df618474f5647c7ac36bc65336be7a5bec908dee04421d",
"addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "5d347cf1a3b021074d560aad8db774828b797e685b63ddff3d28f55781e33ea8",
"addons/core/Scripts/Game/ERR/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db",
"addons/core/Scripts/Game/ERR/ERR_RecoveryService.c": "ba9ffb93679012c20a665636ef6b201cbe7d8d14fdf53e8cd3eb12ac7248943f",
"addons/core/Scripts/Game/ERR/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
"addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89",
"addons/core/Scripts/Game/ERR/ERR_Settings.c": "41a35f806d925d025534247b0705d7eb47f134d181e5b819a149be7909ba4cc1",
"addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "b422feeaca90084ea2bee5cde94dc9c6fcae542749b55d95f7226f922a6a68ac",
"addons/core/Scripts/Game/ERR/ERR_SiteDiscoveryRules.c": "50f7b3ff4f32bde37ce5ae2be7f598fc4dd8cc08f45914f6e3260d31c84baef2",
"addons/core/Scripts/Game/ERR/ERR_SiteService.c": "a47a1ee3a62d170a06b54cce3c42fac7c3645cf6a89c827a1dfe51ae0a99ce12",
"addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9",
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "b59764a8584221324995ab50b148eac1812084d79f81685edbdc24495b884760",
"addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "55323dcb330c23d49dc8fa3fde86a3ae3958c0b6563d6c3cd0960da88333f93d",
"addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713",
"addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453",
"addons/core/Scripts/Game/ERR/ERR_VehicleSecurityActions.c": "bd7d0aeb4abcc9d8044e4888f9a92f9e5fc97c098bdfa3bbad57e1a29697a779",
"addons/core/Scripts/Game/ERR/ERR_VehicleSecurityComponent.c": "513467ab4b46d49b204cd1fb90f6d394ab92b497c64ce379ea4746906723b173",
"addons/core/Scripts/GameLib/ERR/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5",
"addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6",
"addons/core/UI/layouts/ERR/AdminMenu.layout": "26db9780c0afffa8429602c27ee347a4e665a19a6872b15f4178d684de7e23b6",
"addons/core/UI/layouts/ERR/AdminMenu.layout.meta": "9deeece996f43b1f1fed6b5ec89279645c7b6424250200a42580cc088142e9bf",
"addons/core/UI/layouts/ERR/PreparationStatus.layout": "bd269cf8dc6f27735423743dd5b78242550518414448a0256e5e12fa6b92c459",
"addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc",
"addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87",
"addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83",
"addons/core/Worlds/ERR_Everon_Layers/default.layer": "17105538007199bfc419aa04a64debaf2da0a7b77a1dc3ba983e92bf747c862e",
"addons/core/addon.gproj": "4dc4e72cd2ba5fef5a35d697b911be4755e37208d539f1d1984bcbb6a9699e96",
"addons/intel/Scripts/Game/ERR/ERR_IntelAdminProvider.c": "d63ab5c547021aeb61d398b8a773afeedee4662d3ce15d9fd9d0e9e37262f8b7",
"addons/intel/Scripts/Game/ERR/ERR_IntelDiscoveryFeedback.c": "92d0a828a0fd23b41facc10daab3c4578f31733911f860b2212135462b9dd84d",
"addons/intel/Scripts/Game/ERR/ERR_IntelReroll.c": "44bd5414f9ba5e5c34fe9fb75ade36004f689cda2584a2db8b641743789c14fb",
"addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "8c3244a65d8c365390900975d0a62748bc3c0d68b0b715c1093a0e33937942db",
"addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe",
"addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc",
"addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0",
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581",
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d",
"addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3",
"addons/map/Scripts/Game/ERRMap/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254",
"addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "3a10f6ea25bf88a400bc3e6c339823433845c5db4f2f423835ccf99a1b1a843f",
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2",
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54",
"addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a"
}
+2 -2
View File
@@ -1,6 +1,6 @@
# Finite infantry ammunition resupply
The successor now implements a limited HQ-directed rendezvous between an existing infantry patrol and the ammunition truck of the manually dispatched convoy. This is a partial migration of the user-owned AI extension, not full resupply parity. The ordinary authenticated command remains `/esc hq convoy start`; this service does not create a convoy automatically.
The successor now implements a limited HQ-directed rendezvous between an existing infantry patrol and the ammunition truck of the existing finite convoy. This is a partial migration of the user-owned AI extension, not full resupply parity. [Automatic convoy startup](convoy-startup.md) now supplies the same canonical initial convoy by default; `/esc hq convoy start` remains its authenticated manual path. The resupply service itself creates no convoy.
## Reports and rendezvous
@@ -22,6 +22,6 @@ Each magazine identity is spent before submission and never retried. The eight-s
The [current-source native HQ run](evidence/native-2026-09-20-072839-infantry-resupply/report.json) compiles the integration and completes one scripted round with 59 assertions, zero script/runtime failures, unchanged source/external inputs and confirmed hidden/muted cleanup. Four installed RHS/WCS localization errors remain, so strict qualification stays failed. The [initial compile failure](evidence/native-2026-09-20-072533-infantry-resupply-compile/report.json) is retained: splitting an overlong Enfusion condition corrected it. This fixture does not dispatch a supply convoy or prove a successful native inventory transfer.
Actual-method tests cover the coordinator's delivered-report rules, radio transitions and cleanup, the transfer's exact identity/ownership and callback requirements, and early-report scheduling under continuous contacts. Native navigation, a full successful rendezvous/transfer, ordinary play and multiplayer still require direct evidence. There is no explicit line-of-sight/access trace: native inventory predicates and the four-metre limit do not prove unobstructed reach. This slice does not implement automatic supply dispatch, broad supply catalogs, launcher/vehicle rearming or complete original logistics behavior.
Actual-method tests cover the coordinator's delivered-report rules, radio transitions and cleanup, the transfer's exact identity/ownership and callback requirements, and early-report scheduling under continuous contacts. Native navigation, a full successful rendezvous/transfer, ordinary play and multiplayer still require direct evidence. There is no explicit line-of-sight/access trace: native inventory predicates and the four-metre limit do not prove unobstructed reach. This slice does not implement demand-triggered supply dispatch, broad supply catalogs, launcher/vehicle rearming or complete original logistics behavior.
Provenance: the authorized user-owned `escapists-ai` files `EAI_Resupply.c` (SHA-256 `dfa28d0741c5515c85a6e62bc6d1a104f5474ddc22a6e58931be1583133f3586`) and `EAI_HQStatus.c` supplied behavioral references. The successor mortar transfer supplied its physical-proof pattern; installed vanilla storage and magazine-well APIs supplied native contracts. The original protected Escapists implementation and its helpers were not imported. Related background: [HQ ammunition](hq-ammunition.md) and [finite convoys](convoy-migration.md).
+5 -3
View File
@@ -2,13 +2,15 @@
This does not claim native focus, rendering or multiplayer RPC coverage.
"""
import re
import re,os
from pathlib import Path
BASE=Path(os.environ.get("ERR_CONVOY_SETTINGS_ROOT", Path(__file__).resolve().parents[1]))
from policy_harness import ROOT, body, run
source = ROOT / 'addons/core/Scripts/Game/ERR/ERR_AdminMenu.c'
layout = ROOT / 'addons/core/UI/layouts/ERR/AdminMenu.layout'
keys = re.findall(r'"([A-Za-z]+)"', body(source, 'static array<string> Keys('))
settings = re.findall(r'"([A-Za-z]+)"', body(ROOT / 'addons/core/Scripts/Game/ERR/ERR_Settings.c', 'static array<string> Keys('))
assert len(keys) == 10 and set(settings) - set(keys) == {"stingerChanceOneIn"}
settings = re.findall(r'"([A-Za-z]+)"', body(BASE / 'addons/core/Scripts/Game/ERR/ERR_Settings.c', 'static array<string> Keys('))
assert len(keys) == 10 and set(settings) - set(keys) == {"stingerChanceOneIn", "automaticConvoyEnabled"}
assert set(keys) <= set(settings) # New text-command setting does not alter the fixed native menu.
# Native layouts place child widget declarations inside an anonymous Children
# block. A missing brace can preserve most widget names yet prevent menu load.
+57
View File
@@ -0,0 +1,57 @@
"""Actual settings read/default/bounds for next-round automatic convoy startup."""
import os,re
from pathlib import Path
from policy_harness import ROOT,body,run
BASE=Path(os.environ.get('ERR_CONVOY_SETTINGS_ROOT',ROOT))
P=BASE/'addons/core/Scripts/Game/ERR/ERR_Settings.c'
keys=body(P,'static array<string> Keys(').replace('array<string>','std::vector<string>')
valid=body(P,'static bool Valid(')
default=body(P,'static int AddedDefault(')
read=body(P,'protected bool Read(').replace('protected ','').replace('out map<string, int> values','Map*& values').replace('new map<string, int>()','new Map()')
read=read.replace('JsonLoadContext json','JsonLoadContext* json').replace('json.','json->').replace('values.','values->').replace('foreach (string key : Keys())','for (string key : Keys())').replace('Math.Round','std::round')
run(r'''
#include <cassert>
#include <string>
#include <map>
#include <vector>
#include <cmath>
using string=std::string;
struct Map{std::map<string,int> values;void Set(string k,int v){values[k]=v;}int Get(string k){return values[k];}};
std::map<string,std::map<string,float>> files;
struct JsonLoadContext{std::map<string,float>* data=nullptr;
bool LoadFromFile(string path){if(!files.count(path))return false;data=&files[path];return true;}
bool DoesKeyExist(string key){return data->count(key);}
bool ReadValue(string key,float& value){if(!DoesKeyExist(key))return false;value=(*data)[key];return true;}};
struct Settings{
'''+keys+valid+default+read+r'''
};
int main(){
assert(Settings::AddedDefault("automaticConvoyEnabled")==1);
assert(Settings::Valid("automaticConvoyEnabled",0)&&Settings::Valid("automaticConvoyEnabled",1));
assert(!Settings::Valid("automaticConvoyEnabled",-1)&&!Settings::Valid("automaticConvoyEnabled",2));
assert(Settings::AddedDefault("reportIntervalSeconds")==-1);
files["old"]={{"reportIntervalSeconds",10},{"supportSquadLimit",4},{"responseRadiusMetres",2000},
{"aiIntelChancePercent",60},{"intelRevealChancePercent",15},{"radioDefenceSeconds",180}};
Settings s;Map* loaded=nullptr;assert(s.Read("old",loaded)&&loaded->Get("automaticConvoyEnabled")==1);
assert(loaded->Get("reportIntervalSeconds")==10&&loaded->Get("stingerChanceOneIn")==15);
files["disabled"]=files["old"];files["disabled"]["automaticConvoyEnabled"]=0;
assert(s.Read("disabled",loaded)&&loaded->Get("automaticConvoyEnabled")==0);
files["enabled"]=files["old"];files["enabled"]["automaticConvoyEnabled"]=1;
assert(s.Read("enabled",loaded)&&loaded->Get("automaticConvoyEnabled")==1);
for(float bad:{-1.0f,2.0f,0.5f}){files["invalid"]=files["old"];files["invalid"]["automaticConvoyEnabled"]=bad;assert(!s.Read("invalid",loaded));}
files["incomplete"]=files["old"];files["incomplete"].erase("reportIntervalSeconds");assert(!s.Read("incomplete",loaded));
assert(!s.Read("missing",loaded));
}
''')
assert 'm_Values.Set("automaticConvoyEnabled", AddedDefault("automaticConvoyEnabled"));' in P.read_text()
admin=body(BASE/'addons/core/Scripts/Game/ERR/ERR_AdminService.c','void Execute(')
assert 'if (key == "automaticConvoyEnabled") line += " (saved for next round; current startup unchanged)";' in admin
provider=BASE/'addons/ai/Scripts/Game/ERR/ERR_HQAdminProvider.c'
helper=body(provider,'protected void ConvoyAutoSetting(')
for forbidden in ('StartConvoy','StartScenarioConvoy','Spawn','m_HQ.'):
assert forbidden not in helper
# Do not advertise this command-only setting as an editable field absent from the actual fixed menu.
menu=body(ROOT/'addons/core/Scripts/Game/ERR/ERR_AdminMenu.c','static array<string> Keys(')
assert 'automaticConvoyEnabled' not in menu
assert body(provider,'override bool Help(').count('replies.Insert(')<=4
print('PASS: actual read migrates old valid settings, preserves explicit disabled state, rejects invalid data; next-round feedback and fixed menu remain honest')
+41
View File
@@ -0,0 +1,41 @@
"""Execute one-shot startup timing and actual HQ dispatch boundary; no native claim."""
from policy_harness import ROOT, body, run
import re
p=ROOT/'addons/ai/Scripts/Game/ERR/ERR_ConvoyStartup.c'
s=p.read_text().replace('protected ','').replace('ERR_ForceRules.','ERR_ForceRules::')
s=s[s.index('class ERR_ConvoyStartup'):].replace('void ERR_ConvoyStartup(bool enabled)','void Initialize(bool enabled)')
s=s.replace('bool m_Enabled;', 'bool m_Enabled=false;').replace('bool m_Finished;', 'bool m_Finished=false;').replace('float m_Next;', 'float m_Next=0;')
s=s.replace('class ERR_ConvoyStartup', 'struct ERR_ConvoyStartup').rstrip()+';'
h=body(ROOT/'addons/ai/Scripts/Game/ERR/ERR_HQ.c','protected void AutomaticConvoy(')
h=h.replace('protected ','').replace('null','nullptr').replace('Replication.','Replication::').replace('ERR_GameMode.','ERR_GameMode::')
for name in ('m_Mode','m_ConvoyStartup'):h=h.replace(name+'.',name+'->')
run(r'''
#include <cassert>
#include <cmath>
#include <limits>
#include <string>
using string=std::string;
struct ERR_ForceRules {static bool Finite(float n){return std::isfinite(n);}};
'''+s+r'''
struct Replication {inline static bool server=true;static bool IsServer(){return server;}};
struct ERR_GameMode {inline static ERR_GameMode* current;bool active=true;static ERR_GameMode* Get(){return current;}bool Active(){return active;}};
struct Journal {int count=0;void Write(string,string){count++;}};
struct HQ {ERR_GameMode* m_Mode;ERR_ConvoyStartup* m_ConvoyStartup;void* m_ConvoyTask=nullptr;string m_ConvoyFailure;Journal m_Journal;bool ready=true,accepted=true;int calls=0;bool ConvoyAdmissionReady(){return ready;}bool StartScenarioConvoy(){calls++;return accepted;}
'''+h+r'''
};
int main(){
ERR_ConvoyStartup off;off.Initialize(false);assert(!off.Enabled()&&off.Finished());assert(!off.Decide(0,false,true)&&!off.Decide(90000,false,true));
ERR_ConvoyStartup once;once.Initialize(true);assert(once.Enabled());assert(!once.Decide(1000,false,true));assert(!once.Decide(30999,false,true));assert(once.Decide(31000,false,true));assert(once.Finished());assert(!once.Decide(36000,false,true));once.Complete(false);assert(once.Status()=="dispatch refused; no automatic retry");assert(!once.Decide(1000000,false,true));
ERR_ConvoyStartup later;later.Initialize(true);later.Decide(0,false,false);assert(!later.Decide(30000,false,false));assert(!later.Decide(34000,false,true));assert(later.Decide(35000,false,true));later.Complete(true);assert(later.Status()=="canonical convoy dispatched");assert(!later.Decide(60000,false,true));
ERR_ConvoyStartup expire;expire.Initialize(true);expire.Decide(0,false,false);assert(!expire.Decide(120000,false,true)&&expire.Finished());assert(expire.Status()=="startup admission deadline expired");
ERR_ConvoyStartup manual;manual.Initialize(true);assert(!manual.Decide(0,true,true)&&manual.Finished());assert(!manual.Decide(60000,false,true));
ERR_ConvoyStartup invalid;invalid.Initialize(true);assert(!invalid.Decide(std::numeric_limits<float>::quiet_NaN(),false,true));assert(!invalid.Decide(-1,false,true));invalid.Decide(10000,false,false);assert(!invalid.Decide(0,false,true));assert(invalid.Decide(40000,false,true));
ERR_ConvoyStartup stopped;stopped.Initialize(true);stopped.Decide(0,false,false);stopped.Stop();assert(!stopped.Decide(30000,false,true));
ERR_GameMode mode;ERR_GameMode::current=&mode;ERR_ConvoyStartup startup;startup.Initialize(true);HQ hq{&mode,&startup};
Replication::server=false;hq.AutomaticConvoy(0);assert(hq.calls==0&&hq.m_Journal.count==0);Replication::server=true;
ERR_GameMode::current=nullptr;hq.AutomaticConvoy(0);assert(hq.m_Journal.count==0);ERR_GameMode::current=&mode;
mode.active=false;hq.AutomaticConvoy(0);assert(hq.m_Journal.count==0);mode.active=true;
hq.AutomaticConvoy(0);hq.ready=false;hq.AutomaticConvoy(30000);assert(hq.calls==0);hq.ready=true;hq.accepted=false;hq.AutomaticConvoy(35000);assert(hq.calls==1&&startup.Finished());hq.AutomaticConvoy(100000);assert(hq.calls==1);
}
''')
print('PASS: actual automatic convoy timing/authority/admission/one-attempt/manual-task/stop policy; native deployment unproved')
+12 -7
View File
@@ -17,7 +17,7 @@ for cls in ('ERR_GameMode','SCR_AIGroup','SCR_AIGroupUtilityComponent','IEntity'
code=re.sub(r'\b'+cls+r' ([a-zA-Z_]\w*)',cls+r'* \1',code)
for obj in ('mode','group','utility','Actor','Group','Combat','Optics','Operation','item','weapons','inventory'):
code=code.replace(obj+'.',obj+'->')
for cls in ('Replication','SCR_Global','ERR_GameMode','ERR_Actors','ERR_EnemyEquipmentRules','EAISkill','ERR_HQ','Math','EStoragePurpose'):
for cls in ('Replication','SCR_Global','ERR_GameMode','ERR_Actors','ERR_EnemyEquipmentRules','ERR_EnemyGunnerSkill','EAISkill','ERR_HQ','Math','EStoragePurpose'):
code=code.replace(cls+'.',cls+'::')
code=code.replace('GetPrefabData().','GetPrefabData()->').replace('Settings().','Settings()->').replace('foreach (','for (').replace('null','nullptr').replace('super.','NativeCombat::')
code=code.replace('new ERR_EnemyEquipmentCallback()','NewOperation()')
@@ -67,6 +67,11 @@ struct NativeCombat {
IEntity* GetOwner(){return owner;}EAISkill GetAISkill(){return skill;}
virtual void SetAISkill(EAISkill value){skill=value;}virtual void ResetAISkill(){skill=EAISkill::ROOKIE;}
};
namespace ERR_EnemyGunnerSkill {
bool CapturedGroup(ERR_GameMode*,SCR_AIGroup*){return false;}
bool OriginalGunner(ERR_GameMode*,SCR_AIGroup*,IEntity*){return false;}
EAISkill Profile(EAISkill requested,bool){return requested<EAISkill::EXPERT?EAISkill::EXPERT:requested;}
}
struct ERR_EnemyOptics{int stops=0;void Stop(){stops++;}};
''' + code + r'''
std::vector<std::unique_ptr<ERR_EnemyEquipmentCallback>> operations;
@@ -151,7 +156,7 @@ namespace Replication {bool IsServer(){return true;}}
template<typename T> struct Array:std::vector<T>{int Count(){return this->size();}void Insert(T value){this->push_back(value);}void Clear(){this->clear();}};
struct SCR_AIGroup;
struct ERR_GameMode{static inline ERR_GameMode* current=nullptr;bool active=true;bool Active(){return active;}static ERR_GameMode* Get(){return current;}};
struct SCR_AICombatComponent{int binds=0;void ERR_BindEnemySkill(ERR_GameMode*,SCR_AIGroup*){binds++;}};
struct SCR_AICombatComponent{int binds=0,refreshes=0;void ERR_BindEnemySkill(ERR_GameMode*,SCR_AIGroup*){binds++;}void ERR_RefreshEnemySkill(){refreshes++;}};
struct IEntity{SCR_AICombatComponent* combat=nullptr;bool eligible=true;};
struct AIAgent{IEntity* actor=nullptr;IEntity* GetControlledEntity(){return actor;}};
struct SCR_AIGroup{Array<AIAgent*> agents;void GetAgents(Array<AIAgent*>& out){out=agents;}};
@@ -172,13 +177,13 @@ int main(){
ERR_GameMode mode;ERR_GameMode::current=&mode;ERR_EnemyEquipment service(&mode);
SCR_AIGroup group;IEntity soldier;SCR_AICombatComponent combat;soldier.combat=&combat;AIAgent agent;agent.actor=&soldier;group.agents.Insert(&agent);
service.RegisterGroup(&group);service.RegisterGroup(&group);assert(service.m_Groups.Count()==1);
service.Tick(0);assert(service.m_Entries.Count()==0);service.Tick(3000);assert(service.m_Entries.Count()==1&&combat.binds==1);
service.Tick(0);assert(service.m_Entries.Count()==0);service.Tick(3000);assert(service.m_Entries.Count()==1&&combat.binds==1&&combat.refreshes==1);
auto entry=service.m_Entries[0];assert(entry->Optics&&entry->Optics->actor==&soldier&&entry->Optics->group==&group);
assert(entry->Complete&&entry->Optics->checks==1); // Stinger is already complete; optics has its own startup completion.
service.Tick(3001);assert(entry->checks==1&&entry->Optics->checks==1);
service.Tick(6000);assert(entry->checks==2&&entry->Optics->checks==2&&combat.binds==1);
assert(entry->Complete&&entry->Optics->checks==1&&combat.refreshes==1); // Stinger is already complete; optics has its own startup completion.
service.Tick(3001);assert(entry->checks==1&&entry->Optics->checks==1&&combat.refreshes==1);
service.Tick(6000);assert(entry->checks==2&&entry->Optics->checks==2&&combat.binds==1&&combat.refreshes==2);
service.UnregisterGroup(&group);service.Tick(9000);assert(service.m_Entries[0]->Released&&service.m_Entries[0]->checks==2&&entry->Optics->checks==2&&entry->Optics->stops==1);
service.RegisterGroup(&group);service.Tick(12000);assert(service.m_Entries.Count()==1&&combat.binds==1);
service.RegisterGroup(&group);service.Tick(12000);assert(service.m_Entries.Count()==1&&combat.binds==1&&combat.refreshes==2);
service.Stop();service.RegisterGroup(&group);service.Tick(50000);assert(service.m_Groups.Count()==0&&service.m_Stopped);
ERR_EnemyEquipment delayed(&mode);SCR_AIGroup late;delayed.RegisterGroup(&late);delayed.Tick(3000);late.agents.Insert(&agent);delayed.Tick(6000);assert(delayed.m_Entries.Count()==1);
ERR_EnemyEquipment expired(&mode);SCR_AIGroup empty;expired.RegisterGroup(&empty);for(int i=1;i<=6;i++){expired.Tick(i*3000);}empty.agents.Insert(&agent);expired.Tick(21000);assert(expired.m_Entries.Count()==0);
+115
View File
@@ -0,0 +1,115 @@
"""Actual scoped binding and original turret identity predicate, with native doubles."""
import os,re
from pathlib import Path
from policy_harness import ROOT,run
helper=Path(os.environ.get('ERR_GUNNER_SOURCE', str(ROOT/'addons/ai/Scripts/Game/ERR/ERR_EnemyGunnerSkill.c'))).read_text()
equipment=Path(os.environ.get('ERR_EQUIPMENT_SOURCE', str(ROOT/'addons/ai/Scripts/Game/ERR/ERR_EnemyEquipment.c'))).read_text()
def convert(s):
s=re.sub(r'//[^\n]*','',s).replace('protected ','').replace('override ','')
s=s.replace('ERR_HQ.Cast(mode.Command())','mode->Command()').replace('TurretCompartmentSlot.Cast(slot)','dynamic_cast<TurretCompartmentSlot*>(slot)')
for cls in ('ERR_GameMode','SCR_AIGroupUtilityComponent','SCR_AIGroup','IEntity','ERR_HQ','ERR_ConvoyTask','ERR_ConvoyVehicle','ERR_ForceRecord','BaseCompartmentSlot'):
s=re.sub(r'\b'+cls+r' ([a-zA-Z_]\w*)',cls+r'* \1',s)
for obj in ('mode','group','actor','utility','hq','task','unit','record','slot'):
s=s.replace(obj+'.',obj+'->')
for field in ('Receipt','Entity'):
s=s.replace(field+'.',field+'->')
s=s.replace('Forces().','Forces()->')
for cls in ('ERR_EnemyEquipmentRules','ERR_EnemyGunnerSkill','ERR_ConvoyRules','ERR_Actors','Replication','SCR_Global','ERR_GameMode','EAISkill','ERR_ForceKind','ECompartmentType','CompartmentAccessComponent'):
s=s.replace(cls+'.',cls+'::')
s=s.replace('super.','NativeCombat::').replace('null','nullptr').replace('foreach (','for (')
s=re.sub(r'\b(bool|int|EAISkill|[A-Za-z_]\w*\*) ([A-Za-z_]\w*);',r'\1 \2 {};',s)
return s
rules=equipment[equipment.index('class ERR_EnemyEquipmentRules'):equipment.index('class ERR_EnemyEquipmentCallback')]
rules=convert(rules.replace('class ERR_EnemyEquipmentRules','struct ERR_EnemyEquipmentRules').replace('modded class SCR_AICombatComponent','struct SCR_AICombatComponent : NativeCombat')).replace('\n}\n','\n};\n')
# Declare helper before rules, then define its real method bodies after rules.
helper=helper[helper.index(' static bool CapturedGroup'):helper.rfind('}')]
helper=convert(helper).replace('static bool CapturedGroup','bool ERR_EnemyGunnerSkill::CapturedGroup').replace('static bool OriginalGunner','bool ERR_EnemyGunnerSkill::OriginalGunner').replace('static EAISkill Profile','EAISkill ERR_EnemyGunnerSkill::Profile')
run(r'''
#include <cassert>
#include <vector>
enum class EAISkill{ROOKIE=20,REGULAR=50,EXPERT=80,CYLON=100};
enum class ERR_ForceKind{CONVOY,GUARD};
enum class ECompartmentType{TURRET,CARGO};
template<class T>struct Array:std::vector<T>{using std::vector<T>::vector;using std::vector<T>::operator=;int Count(){return this->size();}};
namespace Replication{bool server=true;bool IsServer(){return server;}}
namespace SCR_Global{bool edit=false;bool IsEditMode(){return edit;}}
struct SCR_AIGroupUtilityComponent{bool military=true;bool IsMilitary(){return military;}};
struct SCR_AIGroup{SCR_AIGroupUtilityComponent utility;int players=0,faction=1;auto GetGroupUtilityComponent(){return &utility;}int GetPlayerCount(bool){return players;}int GetFaction(){return faction;}};
struct IEntity{virtual ~IEntity(){}bool alive=true,player=false;SCR_AIGroup* group=nullptr;IEntity* vehicle=nullptr;};
using Vehicle=IEntity;
struct BaseCompartmentSlot{virtual ~BaseCompartmentSlot(){}IEntity* occupant=nullptr;IEntity* vehicle=nullptr;ECompartmentType type=ECompartmentType::TURRET;auto GetType(){return type;}auto GetOccupant(){return occupant;}auto GetVehicle(){return vehicle;}};
struct TurretCompartmentSlot:BaseCompartmentSlot{};
struct ERR_ForceRecord{int Id=8;bool Physical=true,Eliminated=false;ERR_ForceKind Kind=ERR_ForceKind::CONVOY;};
struct Ledger{ERR_ForceRecord* record=nullptr;auto FindGroup(SCR_AIGroup*){return record;}};
struct ERR_ConvoyReceipt{bool Consumed=true;Array<int> Records={8};};
struct ERR_ConvoyVehicle{SCR_AIGroup* Group=nullptr;Vehicle* Entity=nullptr;bool Registered=true,Released=false;int Index=0;Array<IEntity*> Members;Array<BaseCompartmentSlot*> Seats;};
struct ERR_ConvoyTask{bool Ready=true,Stopped=false;ERR_ConvoyReceipt* Receipt=nullptr;Array<ERR_ConvoyVehicle*> Vehicles;};
struct ERR_HQ{ERR_ConvoyTask* task=nullptr;auto ConvoyTask(){return task;}};
struct ERR_GameMode{static inline ERR_GameMode* current=nullptr;bool active=true;ERR_HQ* hq=nullptr;Ledger* ledger=nullptr;static auto Get(){return current;}bool Active(){return active;}int EnemyFaction(){return 1;}auto Command(){return hq;}auto Forces(){return ledger;}};
namespace ERR_Actors{bool CanFight(IEntity* a){return a->alive;}bool Alive(IEntity* a){return a->alive;}bool Player(IEntity* a){return a->player;}auto Group(IEntity* a){return a->group;}}
namespace ERR_ConvoyRules{bool capture=false;bool Captured(Vehicle*,SCR_AIGroup* group){return capture||group->players>0;}bool PartOf(IEntity* a,IEntity* b){return a==b;}}
namespace CompartmentAccessComponent{auto GetVehicleIn(IEntity* actor){return actor->vehicle;}}
struct ERR_EnemyGunnerSkill{static bool CapturedGroup(ERR_GameMode*,SCR_AIGroup*);static bool OriginalGunner(ERR_GameMode*,SCR_AIGroup*,IEntity*);static EAISkill Profile(EAISkill,bool);};
struct NativeCombat{IEntity* owner=nullptr;EAISkill skill=EAISkill::REGULAR;int writes=0;auto GetOwner(){return owner;}auto GetAISkill(){return skill;}virtual void SetAISkill(EAISkill value){writes++;skill=value;}virtual void ResetAISkill(){skill=EAISkill::ROOKIE;}};
''' + rules + helper + r'''
int main(){
ERR_GameMode mode;ERR_GameMode::current=&mode;SCR_AIGroup group;IEntity actor,vehicle,other;actor.group=&group;actor.vehicle=&vehicle;
TurretCompartmentSlot slot;slot.occupant=&actor;slot.vehicle=&vehicle;BaseCompartmentSlot falseTurret;falseTurret.occupant=&actor;falseTurret.vehicle=&vehicle;
ERR_ConvoyVehicle unit;unit.Group=&group;unit.Entity=&vehicle;unit.Members={&actor};unit.Seats={&slot};
ERR_ConvoyReceipt receipt;ERR_ConvoyTask task;task.Receipt=&receipt;task.Vehicles={&unit};ERR_HQ hq;hq.task=&task;mode.hq=&hq;
ERR_ForceRecord record;Ledger ledger;ledger.record=&record;mode.ledger=&ledger;
assert(ERR_EnemyGunnerSkill::OriginalGunner(&mode,&group,&actor));
// Every native/canonical ownership fact independently matters.
for(int i=0;i<25;i++){
auto savedActor=actor;auto savedVehicle=vehicle;auto savedGroup=group;auto savedUnit=unit;auto savedTask=task;auto savedReceipt=receipt;auto savedRecord=record;auto savedSlot=slot;
if(i==0)Replication::server=false;
if(i==1)SCR_Global::edit=true;
if(i==2)mode.active=false;
if(i==3)actor.player=true;
if(i==4)actor.alive=false;
if(i==5)actor.group=nullptr;
if(i==6)group.players=1;
if(i==7)group.faction=2;
if(i==8)group.utility.military=false;
if(i==9)task.Stopped=true;
if(i==10)task.Ready=false;
if(i==11)receipt.Consumed=false;
if(i==12)unit.Registered=false;
if(i==13)unit.Released=true;
if(i==14)vehicle.alive=false;
if(i==15)record.Physical=false;
if(i==16)record.Eliminated=true;
if(i==17)record.Kind=ERR_ForceKind::GUARD;
if(i==18)record.Id=9;
if(i==19)unit.Members[0]=&other;
if(i==20)slot.occupant=&other;
if(i==21)unit.Seats[0]=&falseTurret;
if(i==22)slot.type=ECompartmentType::CARGO;
if(i==23)slot.vehicle=&other;
if(i==24)actor.vehicle=&other;
assert(!ERR_EnemyGunnerSkill::OriginalGunner(&mode,&group,&actor));
actor=savedActor;vehicle=savedVehicle;group=savedGroup;unit=savedUnit;task=savedTask;receipt=savedReceipt;record=savedRecord;slot=savedSlot;
Replication::server=true;SCR_Global::edit=false;mode.active=true;
}
ERR_ConvoyRules::capture=true;assert(!ERR_EnemyGunnerSkill::OriginalGunner(&mode,&group,&actor));ERR_ConvoyRules::capture=false;
// Current turret specialization must not overwrite the underlying requested skill.
SCR_AICombatComponent combat;combat.owner=&actor;combat.ERR_BindEnemySkill(&mode,&group);assert(combat.skill==EAISkill::CYLON);
combat.ResetAISkill();assert(combat.skill==EAISkill::CYLON);
combat.SetAISkill(static_cast<EAISkill>(90));assert(combat.skill==EAISkill::CYLON);
actor.vehicle=nullptr;slot.occupant=nullptr;combat.ERR_RefreshEnemySkill();assert(static_cast<int>(combat.skill)==90);
actor.vehicle=&vehicle;slot.occupant=&actor;combat.ERR_RefreshEnemySkill();assert(combat.skill==EAISkill::CYLON);
combat.SetAISkill(EAISkill::ROOKIE);slot.occupant=nullptr;combat.ERR_RefreshEnemySkill();assert(combat.skill==EAISkill::EXPERT);
slot.occupant=&actor;combat.ERR_RefreshEnemySkill();assert(combat.skill==EAISkill::CYLON);
// Captured group refresh cannot mutate any soldier.
ERR_ConvoyRules::capture=true;int writes=combat.writes;combat.ERR_RefreshEnemySkill();assert(combat.writes==writes);ERR_ConvoyRules::capture=false;
combat.ERR_ReleaseEnemySkill(&mode);assert(combat.skill==EAISkill::REGULAR);
// A legitimately high underlying setting stays high after leaving a gunner seat.
combat.SetAISkill(EAISkill::CYLON);combat.ERR_BindEnemySkill(&mode,&group);slot.occupant=nullptr;combat.ERR_RefreshEnemySkill();assert(combat.skill==EAISkill::CYLON);
combat.ERR_ReleaseEnemySkill(&mode);assert(combat.skill==EAISkill::CYLON);
// Ordinary original infantry retain the existing floor without convoy identity.
hq.task=nullptr;combat.SetAISkill(EAISkill::REGULAR);combat.ERR_BindEnemySkill(&mode,&group);assert(combat.skill==EAISkill::EXPERT);
combat.SetAISkill(static_cast<EAISkill>(90));assert(static_cast<int>(combat.skill)==90);
combat.ERR_ReleaseEnemySkill(&mode);assert(combat.skill==EAISkill::REGULAR);
}
''')
print('PASS: actual original turret identity, native/canonical guards, scoped >=80/>=100 profile, reset, dismount/reboard, requested-skill preservation and restoration')
+1 -1
View File
@@ -36,7 +36,7 @@ coordinator=coordinator.replace('GetGame().GetWorld().GetWorldTime()','worldTime
coordinator=re.sub(r'\b(bool|int|float|SCR_AIGroup|[A-Za-z_]\w*\*) ([A-Za-z_]\w*);',r'\1 \2 {};',coordinator).replace('\n}\n','\n};\n')
hook_stubs=r'''
float worldTime=0;
struct SCR_AICombatComponent{void ERR_BindEnemySkill(ERR_GameMode*,Group*){}};
struct SCR_AICombatComponent{void ERR_BindEnemySkill(ERR_GameMode*,Group*){} void ERR_RefreshEnemySkill(){}};
struct ERR_EnemyOptics{ERR_EnemyOptics(IEntity,Group*){}void Check(ERR_GameMode*){}};
struct ERR_EnemyEquipmentEntry{IEntity Actor=nullptr;struct Group*Group=nullptr;SCR_AICombatComponent*Combat=nullptr;ERR_EnemyOptics*Optics=nullptr;bool Released=false;int SkillChecks=0;
void Check(ERR_GameMode*){}void Stop(ERR_GameMode*){Released=true;}};
+57
View File
@@ -0,0 +1,57 @@
"""Actual result callbacks/UI lifecycle with engine boundaries doubled, not native replication."""
import os,re,sys
from pathlib import Path
REPO=Path(os.environ.get('ERR_REPO','/home/jakub/devel/escapistsrereintroduced'))
sys.path.insert(0,str(REPO/'tests'))
from policy_harness import body,run
SOURCE=Path(os.environ.get('ERR_RESULT_SOURCE',REPO/'addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c'))
MODE=Path(os.environ.get('ERR_MODE_SOURCE',REPO/'addons/core/Scripts/Game/ERR/ERR_GameMode.c'))
def adapt(s):
s=s.replace('protected ','').replace('override ','').replace('null','nullptr')
s=s.replace('ERR_GameMode.Get()','Mode::Get()').replace('ERR_GameMode mode','Mode* mode')
s=s.replace('ERR_FailureGameOverScreenInfo.Cast(', 'FailureInfo::Cast(').replace('ERR_EscapeGameOverScreenInfo.Cast(', 'EscapeInfo::Cast(')
s=s.replace('ERR_FailureGameOverScreenInfo info = new ERR_FailureGameOverScreenInfo();','FailureInfo info;')
s=s.replace('TextWidget.Cast(', 'TextWidget::Cast(').replace('TextWidget debrief','TextWidget* debrief')
s=s.replace('SCR_PlayerController.ERR_OnEscapeResultChanged()','escapeEvent')
s=s.replace('SCR_GameOverScreenUIContentData endScreenUIContent','Data* endScreenUIContent').replace('Widget w','int w')
s=s.replace('array<int> otherPlayerIds','void* otherPlayerIds').replace('string ','std::string ')
s=s.replace('super.InitContent(endScreenUIContent);','nativeInit++;').replace('super.HandlerDeattached(w);','nativeDetach++;')
for name in ('m_ERRFailureMode','m_wRoot','debrief','mode','endScreenUIContent'):s=s.replace(name+'.',name+'->')
s=s.replace('OnEndReasonChanged().','OnEndReasonChanged()->').replace('EndReason().IsEmpty()','EndReason().empty()')
s=s.replace('Insert(ERR_RefreshFailureContent)','Insert(1)').replace('Remove(ERR_RefreshFailureContent)','Remove(1)')
s=s.replace('Insert(ERR_RefreshEscapeContent)','Insert(2)').replace('Remove(ERR_RefreshEscapeContent)','Remove(2)')
return s
failure=body(SOURCE,'class ERR_FailureGameOverScreenInfo')
failure=failure[failure.index(' override string'):failure.rindex('}')]
callbacks='\n'.join(body(SOURCE,x) for x in ('override void InitContent(','protected void ERR_RefreshFailureContent(','override void HandlerDeattached('))
notify=body(MODE,'protected void ERR_OnEndReasonReplicated(')
assert '[RplProp(onRplName: "ERR_OnEndReasonReplicated")]' in MODE.read_text()
run(r'''
#include <cassert>
#include <string>
#include <functional>
struct Event{int count=0;std::function<void()> handler;void Insert(int){count=1;}void Remove(int){count=0;}void Invoke(){if(count&&handler)handler();}};
struct Mode{static inline Mode* current=nullptr;Event m_OnEndReasonChanged;std::string reason;static Mode* Get(){return current;}std::string EndReason(){return reason;}Event* OnEndReasonChanged(){return &m_OnEndReasonChanged;}
NOTIFY
};
struct FailureInfo{static bool Cast(int kind){return kind==1;}
FAILURE
};
struct EscapeInfo{static EscapeInfo* Cast(int kind){static EscapeInfo value;return kind==2?&value:nullptr;}};
struct TextWidget{std::string text;int writes=0;static TextWidget* Cast(TextWidget* w){return w;}void SetText(std::string value){text=value;writes++;}};
struct Root{TextWidget debrief;bool exists=true;TextWidget* FindAnyWidget(std::string){return exists?&debrief:nullptr;}};
struct Data{int m_GameOverInfo;};
struct Content{Event escapeEvent;bool m_ERREscapeContent=false;Mode* m_ERRFailureMode=nullptr;Root* m_wRoot=nullptr;std::string m_sDebriefingName="debrief";int nativeInit=0,nativeDetach=0,escapeRefresh=0;void ERR_RefreshEscapeContent(){escapeRefresh++;}
CALLBACKS
};
int main(){Mode mode;Mode::current=&mode;Root root;Content content;content.m_wRoot=&root;mode.m_OnEndReasonChanged.handler=[&](){content.ERR_RefreshFailureContent();};Data failure{1},escape{2},other{3};
content.InitContent(&failure);assert(mode.m_OnEndReasonChanged.count==1&&root.debrief.text.find("No surviving")!=std::string::npos);
mode.reason="An administrator abandoned this round.";mode.ERR_OnEndReasonReplicated();assert(root.debrief.text==mode.reason&&root.debrief.writes==2);
content.HandlerDeattached(0);assert(mode.m_OnEndReasonChanged.count==0&&content.m_ERRFailureMode==nullptr);mode.reason="late";mode.ERR_OnEndReasonReplicated();assert(root.debrief.writes==2);
content.InitContent(&failure);assert(root.debrief.writes==3);content.InitContent(&escape);assert(mode.m_OnEndReasonChanged.count==0&&content.escapeEvent.count==1&&content.escapeRefresh==1);mode.ERR_OnEndReasonReplicated();assert(root.debrief.writes==3);
content.InitContent(&failure);assert(content.escapeEvent.count==0);Mode replacement;Mode::current=&replacement;mode.ERR_OnEndReasonReplicated();assert(root.debrief.writes==4);
Mode::current=&mode;content.m_wRoot=nullptr;mode.ERR_OnEndReasonReplicated();assert(root.debrief.writes==4);content.m_wRoot=&root;root.exists=false;mode.ERR_OnEndReasonReplicated();assert(root.debrief.writes==4);
content.InitContent(&other);assert(content.m_ERRFailureMode==nullptr&&mode.m_OnEndReasonChanged.count==0&&content.escapeEvent.count==0);
}
'''.replace('NOTIFY',adapt(notify)).replace('FAILURE',adapt(failure)).replace('CALLBACKS',adapt(callbacks)))
print('PASS: late authoritative failure reason refreshes open result; detach, mode change and success subscriptions preserved')
+33 -7
View File
@@ -2,16 +2,17 @@
from policy_harness import ROOT,body,run
import re,os
from pathlib import Path
H=ROOT/'addons/ai/Scripts/Game/ERR/ERR_HQ.c'
H=Path(os.environ.get('ERR_HQ_SOURCE',ROOT/'addons/ai/Scripts/Game/ERR/ERR_HQ.c'))
P=Path(os.environ.get('ERR_HQ_ADMIN_SOURCE',str(ROOT/'addons/ai/Scripts/Game/ERR/ERR_HQAdminProvider.c')))
A=ROOT/'addons/core/Scripts/Game/ERR/ERR_AdminService.c'
BASE=Path(os.environ.get('ERR_CONVOY_SETTINGS_ROOT', ROOT))
A=BASE/'addons/core/Scripts/Game/ERR/ERR_AdminService.c'
def cpp(s):
for old,new in [('protected ',''),('override ',''),('null','nullptr'),('Replication.','Replication::'),
('ERR_GameMode.','ERR_GameMode::'),('ERR_ConvoyRoadPlan.','ERR_ConvoyRoadPlan::'),
('ERR_Settings.','ERR_Settings::'),('Math.','Math::'),('array<string>','Array<string>&')]:s=s.replace(old,new)
for typ in ('ERR_GameMode','ERR_ConvoyReceipt','ERR_ConvoyTask','ERR_SiteRuntime','ERR_HQUnit','ERR_AdminProvider'):
s=re.sub(r'\b'+typ+r' (?=\w)',typ+'* ',s)
for var in ('m_Mode','m_Convoys','m_ConvoyPool','m_ConvoyTask','m_HQ','site','unit','receipt','mode','provider'):
for var in ('m_ConvoyStartup','m_Mode','m_Convoys','m_ConvoyPool','m_ConvoyTask','m_HQ','site','unit','receipt','mode','provider'):
s=s.replace(var+'.',var+'->')
s=s.replace('site->Definition.', 'site->Definition->')
for name in ('GetGame()','GetWorld()','Forces()','Sites()','Settings()'):s=s.replace(name+'.',name+'->')
@@ -27,9 +28,9 @@ def cpp(s):
return s
hq='\n'.join(cpp(body(H,s)) for s in ('static bool MissionActive(', 'bool PrepareConvoy(', 'bool StartConvoy(',
'bool StartScenarioConvoy(', 'string ConvoyStatus('))
provider=cpp(body(P,'protected void StingerSetting('))+cpp(body(P,'override bool Execute('))
provider=cpp(body(P,'protected void ConvoyAutoSetting('))+cpp(body(P,'protected void StingerSetting('))+cpp(body(P,'override bool Execute('))
integer=cpp(body(A,'static bool Integer('))
validator=cpp(body(ROOT/'addons/core/Scripts/Game/ERR/ERR_Settings.c','static bool Valid('))
validator=cpp(body(BASE/'addons/core/Scripts/Game/ERR/ERR_Settings.c','static bool Valid('))
extension=cpp(body(A,'protected bool Extension('))
# Execute the exact complete auth/normalization/extension-dispatch region.
# Unrelated settings/help parsers after this boundary are covered by their own suites.
@@ -77,10 +78,11 @@ struct ERR_SiteRuntime{struct Definition* Definition=nullptr;};
struct Sites{ERR_SiteRuntime* site=nullptr;int finds=0;string last;
ERR_SiteRuntime* Find(string id){finds++;last=id;return site;}};
struct ERR_Settings{
int stinger=15,writes=0;bool saveFails=false;
static Array<string> Keys(){return {}; }int Get(string key){return key=="stingerChanceOneIn"?stinger:1;}
int automatic=1,stinger=15,writes=0;bool saveFails=false;
static Array<string> Keys(){return {}; }int Get(string key){return key=="stingerChanceOneIn"?stinger:automatic;}
'''+validator+r'''
bool Set(string key,int value){writes++;if(saveFails||!Valid(key,value))return false;
if(key=="automaticConvoyEnabled"){automatic=value;return true;}
assert(key=="stingerChanceOneIn");stinger=value;return true;}
};
struct ERR_GameMode{
@@ -118,7 +120,9 @@ struct Service{
}
string Status(){statusCalls++;return task.Stopped?"stopped; retained vehicles=3":"convoy service status";}
};
struct ERR_ConvoyStartup{string Status(){return "startup snapshot";}};
struct HQ{
ERR_ConvoyStartup* m_ConvoyStartup=nullptr;
ERR_GameMode* m_Mode;Pool* m_ConvoyPool;Service* m_Convoys;ERR_ConvoyTask* m_ConvoyTask=nullptr;
Array<vector>m_ConvoyPositions,m_ConvoyAngles;ERR_ForceRoute* m_ConvoyRoute=nullptr;string m_ConvoyFailure;
Array<ERR_HQUnit*>m_Units;
@@ -177,6 +181,28 @@ int main(){
admin.Execute(&mode,true,"hq stinger set 1junk",replies);assert(mode.settings.writes==writes&&mode.settings.stinger==0);
admin.Execute(&mode,true,"hq stinger set 10001",replies);assert(mode.settings.stinger==0&&replies[0].find("previous setting retained")!=string::npos);
replies.Clear();assert(unavailable.Execute(&mode,"hq stinger set 1",replies)&&replies[0]=="HQ unavailable.");
// New automatic switch is saved only: it does not scan, reserve or launch now.
writes=mode.settings.writes;
admin.Execute(&mode,false,"hq convoy auto set 0",replies);assert(mode.settings.writes==writes&&mode.settings.automatic==1);
Replication::server=false;admin.Execute(&mode,true,"hq convoy auto set 0",replies);
assert(replies.IsEmpty()&&mode.settings.writes==writes);Replication::server=true;
mode.settingsReady=false;admin.Execute(&mode,true,"hq convoy auto set 0",replies);
assert(mode.settings.writes==writes&&replies[0]=="Mission settings are not ready.");mode.settingsReady=true;
admin.Execute(&mode,true," HQ CONVOY AUTO SET 0 ",replies);
assert(mode.settings.automatic==0&&pool.calls==0&&service.calls==0&&ERR_ConvoyRoadPlan::calls==0);
assert(replies[0].find("next round only")!=string::npos&&replies[0].find("manual convoy start unchanged")!=string::npos);
admin.Execute(&mode,true,"hq convoy auto show",replies);assert(replies[0].find("automaticConvoyEnabled=0 saved for next round")!=string::npos);
admin.Execute(&mode,true,"hq convoy auto help",replies);assert(replies[0].find("1 enabled (default)")!=string::npos);
writes=mode.settings.writes;
for(string bad:{"hq convoy auto set", "hq convoy auto set 1 extra", "hq convoy auto show extra", "hq convoy auto set -1", "hq convoy auto set 1.0", "hq convoy auto set 1junk"}){
admin.Execute(&mode,true,bad,replies);assert(mode.settings.writes==writes&&mode.settings.automatic==0);
}
admin.Execute(&mode,true,"hq convoy auto set 2",replies);assert(mode.settings.automatic==0&&replies[0].find("previous setting retained")!=string::npos);
mode.settings.saveFails=true;admin.Execute(&mode,true,"hq convoy auto set 1",replies);
assert(mode.settings.automatic==0&&replies[0].find("previous setting retained")!=string::npos);mode.settings.saveFails=false;
replies.Clear();assert(unavailable.Execute(&mode,"hq convoy auto set 1",replies)&&replies[0]=="HQ unavailable.");
// Disabled automatic startup does not disable manual canonical dispatch below.
assert(mode.settings.automatic==0&&pool.calls==0&&service.calls==0);
// Canonical authored site and preparation failures refuse without consuming the finite receipt.
mode.sitesReady=false;assert(!hq.StartScenarioConvoy());mode.sitesReady=true;
mode.sites.site=nullptr;assert(!hq.StartScenarioConvoy());mode.sites.site=&site;
+31
View File
@@ -0,0 +1,31 @@
"""Actual native-fixture startup/deadline gate, engine boundaries doubled."""
import os,sys
from pathlib import Path
REPO=Path(os.environ.get('ERR_REPO','/home/jakub/devel/escapistsrereintroduced'))
sys.path.insert(0,str(REPO/'tests'))
from policy_harness import body,run
p=Path(os.environ.get('ERR_MEMORY_PROBE_SOURCE',REPO/'addons/chat/Scripts/Game/ERR/ERR_NativeHQMemoryProbe.c'))
s=body(p,'int Tick(ERR_HQ hq, float now)')
# Execute the unchanged deadline/startup prefix; payload/native radio assertions
# after this gate remain the full fixture's responsibility.
s=s[:s.index(' if (!m_ValueChecked)')]+ ' }\n return 1;\n }'
s=s.replace('ERR_HQ hq','ERR_HQ* hq').replace('hq.','hq->')
run(r'''
#include <cassert>
#include <string>
struct ERR_HQ{bool ready=true;bool ERR_ProbeSquadsReady(){return ready;}};
struct Probe{bool enabled=true,m_Mode=true,m_Failed=false,m_AutoChecked=false;int m_Step=0,automatic=0,checks=0;float m_Deadline=0;bool Enabled(){return enabled;}void Check(bool,std::string){checks++;m_Failed=true;}int AutomaticConvoy(ERR_HQ*){if(automatic==1)m_AutoChecked=true;return automatic;}
METHOD
};
int main(){ERR_HQ hq;
Probe p;assert(p.Tick(&hq,1000)==0&&p.m_Deadline==151000);assert(p.Tick(&hq,130000)==0&&p.m_Deadline==151000);p.automatic=1;assert(p.Tick(&hq,145000)==1&&p.m_Deadline==265000);assert(p.Tick(&hq,200000)==1&&p.m_Deadline==265000);assert(p.Tick(&hq,265000)==1);assert(p.Tick(&hq,265001)==-1&&p.checks==1);
Probe missing;assert(missing.Tick(&hq,0)==0);assert(missing.Tick(&hq,150001)==-1&&missing.checks==1);
Probe refused;refused.Tick(&hq,0);refused.automatic=-1;assert(refused.Tick(&hq,40000)==-1&&refused.m_Deadline==150000&&!refused.m_AutoChecked);
Probe unavailable;hq.ready=false;assert(unavailable.Tick(&hq,0)==0);assert(unavailable.Tick(&hq,150001)==-1);hq.ready=true;
Probe invalid;invalid.enabled=false;assert(invalid.Tick(&hq,0)==-1&&invalid.m_Deadline==0);
}
'''.replace('METHOD',s))
smoke=Path(os.environ.get('ERR_SMOKE_SOURCE',REPO/'addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c')).read_text()
assert 'if (m_ERRTestHQMemory) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 360000;' in smoke
assert 'if (m_ERRTestHQBody) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 240000;' in smoke
print('PASS: bounded150s startup followed by exactly one120s memory window; only HQ-memory outer deadline extended')
+22 -5
View File
@@ -1,11 +1,23 @@
from pathlib import Path
import importlib.util,json,tempfile
import importlib.util,json,tempfile,os,subprocess,sys
BASE=Path(os.environ.get("ERR_CONVOY_SETTINGS_ROOT", Path(__file__).resolve().parents[1]))
from policy_harness import ROOT,body,run
spec=importlib.util.spec_from_file_location('import_settings',ROOT/'tools/import_settings.py')
spec=importlib.util.spec_from_file_location('import_settings',BASE/'tools/import_settings.py')
m=importlib.util.module_from_spec(spec);spec.loader.exec_module(m)
result,deferred=m.merge({'configVersion':1,'reportIntervalSeconds':20.0,'supportSquadLimit':2,'responseRadiusMetres':1500,'convoyCount':3},{'aiIntelChancePercent':0,'intelRevealChancePercent':100})
assert result==dict(reportIntervalSeconds=20,supportSquadLimit=2,responseRadiusMetres=1500,aiIntelChancePercent=0,intelRevealChancePercent=100,radioDefenceSeconds=180,startTimeMinutes=840,timeMultiplier=1,startDateCode=0,weatherProfile=0,stingerChanceOneIn=15)
assert deferred==['ai:convoyCount']
assert result==dict(reportIntervalSeconds=20,supportSquadLimit=2,responseRadiusMetres=1500,aiIntelChancePercent=0,intelRevealChancePercent=100,radioDefenceSeconds=180,startTimeMinutes=840,timeMultiplier=1,startDateCode=0,weatherProfile=0,stingerChanceOneIn=15,automaticConvoyEnabled=1)
assert deferred==['ai:convoyCount=3 mapped to automaticConvoyEnabled=1; successor capped at one initial convoy']
for count in (0,1,3,20):
values,notes=m.merge(ai={'convoyCount':count})
assert values['automaticConvoyEnabled']==int(count>0)
assert bool(notes)==(count>1)
for invalid in (-1,21,True,False,None,'1',1.5,float('nan'),float('inf')):
try:m.merge(ai={'convoyCount':invalid})
except ValueError:pass
else:raise AssertionError(invalid)
try:m.merge(ai={'convoyCount':0,'automaticConvoyEnabled':1})
except ValueError:pass
else:raise AssertionError('Ambiguous old/new settings accepted')
assert m.merge(ai={'stingerChanceOneIn':37})[0]['stingerChanceOneIn']==37
assert m.merge(ai={'stingerChanceOneIn':0})[0]['stingerChanceOneIn']==0
assert m.merge()[0]=={k:v[0] for k,v in m.SCHEMA.items()}
@@ -23,8 +35,13 @@ with tempfile.TemporaryDirectory() as tmp:
else:raise AssertionError('Existing destination overwritten')
assert dest.read_bytes()==before
assert sorted(p.name for p in Path(tmp).iterdir())==['rereintroduced.json']
legacy=Path(tmp)/'legacy-ai.json';legacy.write_text('{"convoyCount":3}');original=legacy.read_bytes()
preview=subprocess.run([sys.executable,str(BASE/'tools/import_settings.py'),'--ai',str(legacy)],capture_output=True,text=True,check=True)
assert json.loads(preview.stdout)['automaticConvoyEnabled']==1
assert 'successor capped at one initial convoy' in preview.stderr and legacy.read_bytes()==original
# Test the actual runtime validator against the migration schema at each boundary.
validator=body(ROOT/'addons/core/Scripts/Game/ERR/ERR_Settings.c','static bool Valid(').replace('string key','std::string key')
validator=body(BASE/'addons/core/Scripts/Game/ERR/ERR_Settings.c','static bool Valid(').replace('string key','std::string key')
checks=[]
for key,(_,lo,hi) in m.SCHEMA.items():
for value,expected in [(lo-1,False),(lo,True),(hi,True),(hi+1,False)]:
+1 -1
View File
File diff suppressed because one or more lines are too long
+13 -3
View File
@@ -14,8 +14,9 @@ SCHEMA={
'startDateCode':(0,0,1501231),
'weatherProfile':(0,0,3),
'stingerChanceOneIn':(15,0,10000),
'automaticConvoyEnabled':(1,0,1),
}
AI_KEYS=('reportIntervalSeconds','supportSquadLimit','responseRadiusMetres','stingerChanceOneIn')
AI_KEYS=('reportIntervalSeconds','supportSquadLimit','responseRadiusMetres','stingerChanceOneIn','automaticConvoyEnabled')
INTEL_KEYS=('aiIntelChancePercent','intelRevealChancePercent')
def merge(ai=None,intel=None):
result={key:spec[0] for key,spec in SCHEMA.items()};deferred=[]
@@ -30,7 +31,16 @@ def merge(ai=None,intel=None):
if type(value) not in (int,float) or not lo<=value<=hi or int(value)!=value:
raise ValueError(f'{key} must be an integer in [{lo},{hi}]')
result[key]=int(value)
deferred.extend(label+':'+key for key in data if key not in keys and key!='configVersion')
recognized=set(keys)|{'configVersion'}
if label=='ai' and 'convoyCount' in data:
if 'automaticConvoyEnabled' in data:raise ValueError('Supply either convoyCount or automaticConvoyEnabled, not both')
count=data['convoyCount']
if type(count) not in (int,float) or not 0<=count<=20 or int(count)!=count:
raise ValueError('convoyCount must be an integer in [0,20]')
result['automaticConvoyEnabled']=int(count>0)
recognized.add('convoyCount')
if count>1:deferred.append(f'ai:convoyCount={int(count)} mapped to automaticConvoyEnabled=1; successor capped at one initial convoy')
deferred.extend(label+':'+key for key in data if key not in recognized)
return result,deferred
def write_new(path,text):
@@ -55,6 +65,6 @@ def main():
text=json.dumps(result,indent=2,allow_nan=False)+'\n'
if a.out:write_new(a.out,text)
else:print(text,end='')
if deferred:print('Settings awaiting controller migration (source files retained): '+', '.join(deferred),file=sys.stderr)
if deferred:print('Migration notes; unrecognized settings remain deferred (source files retained): '+', '.join(deferred),file=sys.stderr)
except (ValueError,OSError) as e:p.error(str(e))
if __name__=='__main__':main()