Capture current mission, AI, map and administration development

Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
This commit is contained in:
2026-10-13 22:52:53 +02:00
parent a951a96edc
commit 6a667d8deb
8104 changed files with 2124945 additions and 2061 deletions
@@ -0,0 +1,632 @@
--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyPlacement.c
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyPlacement.c
@@ -32,12 +32,16 @@
}
return !m_Obstructed;
}
- static bool Terrain(float origin, float lowest, float highest)
+ static bool Terrain(float origin, float lowest, float highest, float maximumSpan = 0.75)
{
return ERR_ForceRules.Finite(origin) && ERR_ForceRules.Finite(lowest) && ERR_ForceRules.Finite(highest)
- && lowest > 0.3 && highest >= lowest && highest - lowest <= 0.75 && origin >= lowest - 0.3 && origin <= highest + 0.3;
+ && ERR_ForceRules.Finite(maximumSpan) && maximumSpan >= 0.75 && maximumSpan <= 2.5
+ && lowest > 0.3 && highest >= lowest && highest - lowest <= maximumSpan && origin >= lowest - 0.3 && origin <= highest + 0.3;
}
- bool Clear(vector position, float heading)
+ // Spawning retains the flat 0.75 m footprint limit. Already physical vehicles
+ // may stage on up to 2.5 m relief across the 9 m footprint; water, collisions
+ // and native navigation still veto the point. Never use this to relax spawning.
+ bool Clear(vector position, float heading, float maximumSpan = 0.75)
{
m_LastReason = "invalid origin or heading"; m_LastLowest = 1e20; m_LastHighest = -1e20;
m_FirstObstruction = null; m_Visited = 0; m_LastTrace = -1;
@@ -61,7 +65,7 @@
}
}
m_LastLowest = lowest; m_LastHighest = highest;
- if (!Terrain(position[1], lowest, highest))
+ if (!Terrain(position[1], lowest, highest, maximumSpan))
{ m_LastReason = "terrain origin/height/span check"; return false; }
low[1] = lowest + 0.05; high[1] = highest + 3.5;
m_Obstructed = false; m_Visited = 0;
--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c
@@ -691,6 +691,8 @@
if (unit && unit.InterceptMatches(order))
{ bool delivered = unit.InterceptActive; unit.ClearIntercept(order); if (delivered) unit.LegDeadline = now + 600000; }
}
+ // Tactical ownership is a local service guard, not enemy intelligence.
+ bool CanResumeCombat(ERR_ConvoyTask task) { return true; }
bool ApplyCombatOrder(ERR_ConvoyTask task, ERR_ConvoyCombatOrder order, float now)
{
if (!Current() || !task || !order || !m_Tasks.Contains(task) || task.Stopped || !task.Ready || !task.Receipt || !task.Receipt.Consumed) return false;
--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c
@@ -1430,7 +1430,7 @@
if (vehicle.Combat.Held && contact.MessageId == vehicle.Combat.ReportId) break;
if (contact.ObservedAt < vehicle.Combat.ObservedAt) break;
}
- else if (vehicle.Combat.ReportId <= 0 || !vehicle.Combat.Held || now - vehicle.Combat.ObservedAt < 60000) break;
+ else if (!m_Convoys.CanResumeCombat(task) || vehicle.Combat.ReportId <= 0 || !vehicle.Combat.Held || now - vehicle.Combat.ObservedAt < 60000) break;
ERR_HQRoute route = m_Network.Route(unit.Radio, true);
if (!route) break;
ERR_ConvoyCombatOrder order = new ERR_ConvoyCombatOrder();
--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c
@@ -311,7 +311,8 @@
foreach (ERR_HQReport report : reports)
{
ERR_HQBelief belief = hq.Memory().Get(report.Target);
- if (belief && Coordinated(belief.PredictedPosition)) continue;
+ // A coordinated pair does not reserve the whole contact: unused hunters
+ // must still receive delivered sightings and converge as reinforcements.
if (belief && belief.Actionable() && (!best || belief.ObservedAt > best.ObservedAt)) best = belief;
}
bool freshContact;
--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterTactics.c
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterTactics.c
@@ -41,8 +41,37 @@
}
}
+// Geometry checks only the delivered sector, never a hidden target entity.
+// A clear lane is a candidate firing position, not proof of suppression.
+class ERR_MountedCover
+{
+ static bool SeesSector(SCR_AIGroup group, vector contact)
+ {
+ if (!group || !group.GetGroupUtilityComponent()) return false;
+ array<ref ERR_HQVisualContact> visible = {};
+ ERR_HQObservation.Gather(group.GetGroupUtilityComponent(), GetGame().GetWorld().GetWorldTime(), visible);
+ foreach (ERR_HQVisualContact sighting : visible)
+ if (vector.DistanceXZ(sighting.Position, contact) <= 200) return true;
+ return false;
+ }
+ static bool ClearLane(IEntity vehicle, vector position, vector contact)
+ {
+ TraceParam trace = new TraceParam();
+ trace.Start = position + "0 2 0"; trace.End = contact + "0 1 0";
+ trace.Exclude = vehicle; trace.Flags = TraceFlags.WORLD | TraceFlags.ENTS;
+ return GetGame().GetWorld().TraceMove(trace, null) >= 1;
+ }
+ static vector Approach(vector origin, vector contact, vector fallback)
+ {
+ vector forward = contact - origin; forward[1] = 0;
+ if (forward.Length() < 1) return fallback;
+ forward.Normalize(); return forward;
+ }
+}
+
class ERR_HunterAttack
{
+ int BeliefId;
vector ReportPosition;
vector Forward;
float Observed;
@@ -301,14 +330,22 @@
float currentRange = vector.DistanceXZ(Unit.Entity.GetOrigin(), Attack.ReportPosition);
if (Role == 0 && currentRange >= 140 && currentRange <= 500 && VisualCover())
{ Stage = Unit.Entity.GetOrigin(); return true; }
- vector desired = ERR_HunterAttackRules.Offset(Attack.ReportPosition, Attack.Forward, Role, 0);
+ // Approach from this crew's side of the contact. A common cover axis used
+ // to send the opposite-side truck around the entire fight before dismount.
+ vector approachForward = ERR_MountedCover.Approach(Unit.Entity.GetOrigin(), Attack.ReportPosition, Attack.Forward);
+ vector desired = Attack.ReportPosition - approachForward * 260;
+ if (Role == 0) desired = Attack.ReportPosition - approachForward * 210;
+ vector approachLeft = Vector(-approachForward[2], 0, approachForward[0]);
bool found;
for (int attempt = 0; attempt < 8; attempt++)
{
vector point, angles;
- vector seed = desired - Attack.Forward * (attempt * 25);
+ float lateral = Math.Ceil(attempt * 0.5) * 45;
+ if (attempt % 2 == 0) lateral = -lateral;
+ vector seed = desired - approachForward * (attempt * 15) + approachLeft * lateral;
if (!ERR_SupplyConvoySystem.ApproachDirected(seed, point, angles, 100)) continue;
- if (!ERR_HunterAttackRules.Stage(point, Attack.ReportPosition, Attack.Forward, occupied) || !utility.IsPositionAllowed(point) || !placement.Clear(point, angles[0])) continue;
+ if (!ERR_HunterAttackRules.Stage(point, Attack.ReportPosition, approachForward, occupied) || !utility.IsPositionAllowed(point) || !placement.Clear(point, angles[0], 2.5)) continue;
+ if (Role == 0 && !ERR_MountedCover.ClearLane(Unit.Entity, point, Attack.ReportPosition)) continue;
Stage = point; found = true; break;
}
// Sparse roads must not collapse every crew onto the same junction. UAZs
@@ -316,10 +353,11 @@
for (int offroad = 0; !found && offroad < 8; offroad++)
{
vector point = desired;
- if (offroad > 0) point += Vector(Math.RandomFloat(-40, 40), 0, Math.RandomFloat(-40, 40));
+ if (offroad > 0) point += Vector(Math.RandomFloat(-90, 90), 0, Math.RandomFloat(-90, 90));
point = ERR_Actors.Ground(point);
- if (!ERR_HunterAttackRules.Stage(point, Attack.ReportPosition, Attack.Forward, occupied) || !utility.IsPositionAllowed(point)) continue;
- if (!placement.Clear(point, ERR_ForceRules.Heading(point, Attack.ReportPosition, 0))) continue;
+ if (!ERR_HunterAttackRules.Stage(point, Attack.ReportPosition, approachForward, occupied) || !utility.IsPositionAllowed(point)) continue;
+ if (!placement.Clear(point, ERR_ForceRules.Heading(point, Attack.ReportPosition, 0), 2.5)) continue;
+ if (Role == 0 && !ERR_MountedCover.ClearLane(Unit.Entity, point, Attack.ReportPosition)) continue;
Stage = point; found = true;
}
// A crew already at a safe stand-off can dismount where it is instead of
@@ -334,8 +372,10 @@
}
if (!found) { Note("no separated safe approach; keeping current orders"); return false; }
if (Role == 0) return true;
- return FootPosition(ERR_HunterAttackRules.Offset(Attack.ReportPosition, Attack.Forward, Role, 1), Approach)
+ bool foot = FootPosition(ERR_HunterAttackRules.Offset(Attack.ReportPosition, Attack.Forward, Role, 1), Approach)
&& FootPosition(ERR_HunterAttackRules.Offset(Attack.ReportPosition, Attack.Forward, Role, 2), Sector);
+ if (!foot) Note("no safe infantry flank route from approach=" + Stage.ToString() + "; keeping current orders");
+ return foot;
}
protected bool FootPosition(vector desired, out vector chosen)
{
@@ -344,7 +384,7 @@
for (int attempt = 0; attempt < 8; attempt++)
{
vector point = desired;
- if (attempt > 0) point += Vector(Math.RandomFloat(-15, 15), 0, Math.RandomFloat(-15, 15));
+ if (attempt > 0) point += Vector(Math.RandomFloat(-45, 45), 0, Math.RandomFloat(-45, 45));
point = ERR_Actors.Ground(point);
ERR_HQ coordination = ERR_HQ.Get();
if (coordination && !coordination.AttackSpace().Free(Unit.Group, point, GetGame().GetWorld().GetWorldTime())) continue;
@@ -392,11 +432,12 @@
if (vector.DistanceXZ(Unit.Entity.GetOrigin(), m_ApproachPosition) >= 15)
{ m_ApproachProgress = now; m_ApproachPosition = Unit.Entity.GetOrigin(); }
bool near = vector.DistanceXZ(Unit.Entity.GetOrigin(), Stage) <= 55;
+ float currentCoverRange = vector.DistanceXZ(Unit.Entity.GetOrigin(), Attack.ReportPosition);
bool local = ERR_HunterCombat.Active(Unit.Group) && vector.DistanceXZ(Position(), Attack.ReportPosition) <= 400;
// A road can pass close to the reported sector and then loop kilometres
// around it to reach the ideal staging point. Continue that last leg on foot.
bool onFootReach = ERR_HunterAttackRules.DismountRange(vector.DistanceXZ(Unit.Entity.GetOrigin(), Attack.ReportPosition));
- if (Role == 0 && near) { Clear(); State = 3; Note("in covering position; native gunner owns target acquisition and fire"); }
+ if (Role == 0 && (near || (currentCoverRange >= 100 && currentCoverRange <= 600 && VisualCover()))) { Clear(); State = 3; Note("in covering position; native gunner owns target acquisition and fire"); }
else if (Role > 0 && (near || local || onFootReach))
{
if (TryAlign()) { State = 8; Deadline = now + 20000; Note("short native positioning move toward reported sector before dismount"); }
@@ -496,6 +537,23 @@
}
return false;
}
+ // Redirect an obsolete road approach only. Infantry already deployed or a
+ // gun with visual contact retains its local tactical ownership. An idle gun
+ // at the old sighting must not strand its still-travelling partner there.
+ protected void RefreshApproaches(ERR_HQBelief belief, float now)
+ {
+ if (!belief || !belief.Actionable() || !ERR_HunterAttackRules.Fresh(belief.ObservedAt, now)) return;
+ foreach (ERR_HunterAttack attack : m_Attacks)
+ {
+ if (attack.BeliefId != belief.BeliefId || belief.ObservedAt <= attack.Observed || vector.DistanceXZ(attack.ReportPosition, belief.PredictedPosition) < 250) continue;
+ bool travelling = true;
+ foreach (ERR_HunterTactics team : attack.Teams)
+ if (!team.Stopped && team.Living() && team.State > 1 && !(team.Role == 0 && team.State == 3 && !team.Covering())) travelling = false;
+ if (!travelling) continue;
+ foreach (ERR_HunterTactics old : attack.Teams) if (!old.Stopped) old.Stop();
+ ERR_HQ.Event("HUNTER COORDINATION", "new delivered sighting supersedes old road approach; original crews available for retask", belief.MessageId);
+ }
+ }
void Tick(ERR_HQ hq, array<ref ERR_HunterVehicle> hunters, float now)
{
for (int i = m_Attacks.Count() - 1; i >= 0; i--)
@@ -506,12 +564,13 @@
}
if (m_Attacks.Count() >= 5) return;
if (now < m_NextPlan) return;
- m_NextPlan = now + 10000;
+ m_NextPlan = now + 5000;
array<ref ERR_HQReport> reports = {}; hq.SupportContacts(reports, now);
ERR_HQBelief best;
foreach (ERR_HQReport report : reports)
{
ERR_HQBelief belief = hq.Memory().Get(report.Target);
+ RefreshApproaches(belief, now);
if (!belief || !belief.Actionable() || !ERR_HunterAttackRules.Fresh(belief.ObservedAt, now) || Covered(belief.PredictedPosition)) continue;
int nearby;
foreach (ERR_HunterVehicle candidate : hunters)
@@ -526,7 +585,7 @@
ERR_HQ.Event("HUNTER COORDINATION", string.Format("%1 nearby crews available for delivered contact=%2", available.Count(), best.PredictedPosition), best.MessageId);
ERR_HunterAttack attack = new ERR_HunterAttack();
m_Attacks.Insert(attack);
- attack.ReportPosition = best.PredictedPosition; attack.Observed = best.ObservedAt; attack.Message = best.MessageId; attack.Started = now;
+ attack.BeliefId = best.BeliefId; attack.ReportPosition = best.PredictedPosition; attack.Observed = best.ObservedAt; attack.Message = best.MessageId; attack.Started = now;
array<vector> occupied = {};
for (int role = 0; role < 3 && !available.IsEmpty(); role++)
{
--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyService.c
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyService.c
@@ -228,6 +228,11 @@
if (!supply || !supply.Tactics || supply.Tactics.State() != 0) return false;
return super.ReserveIntercept(task, order, now);
}
+ override bool CanResumeCombat(ERR_ConvoyTask task)
+ {
+ ERR_SupplyConvoyTask supply = ERR_SupplyConvoyTask.Cast(task);
+ return supply && supply.Tactics && supply.Tactics.State() == 0;
+ }
override bool ApplyCombatOrder(ERR_ConvoyTask task, ERR_ConvoyCombatOrder order, float now)
{
ERR_SupplyConvoyTask supply = ERR_SupplyConvoyTask.Cast(task);
--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyTactics.c
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyTactics.c
@@ -401,28 +401,43 @@
ERR_ConvoyVehicle vehicle = m_Task.Vehicles[index];
SCR_AIGroupUtilityComponent utility = vehicle.Group.GetGroupUtilityComponent();
if (!utility) return false;
+ vector forward = ERR_MountedCover.Approach(vehicle.Entity.GetOrigin(), m_Contact, m_Forward);
+ bool armed = index != 1 && index != 2;
vector road;
- if (ERR_SupplyConvoySystem.Approach(desired, road, 70) && FreePosition(vehicle.Group, road) && vector.Dot(road - m_Contact, m_Forward) <= -100 && utility.IsPositionAllowed(road)) { position = road; return true; }
+ if (ERR_SupplyConvoySystem.Approach(desired, road, 70) && FreePosition(vehicle.Group, road) && vector.Dot(road - m_Contact, forward) <= -100 && utility.IsPositionAllowed(road) && (!armed || ERR_MountedCover.ClearLane(vehicle.Entity, road, m_Contact))) { position = road; return true; }
if (index == 1 || index == 2) return false;
// Original armed escorts can seek a nearby open firing position off the road.
ERR_ConvoyPlacement placement = new ERR_ConvoyPlacement();
for (int attempt = 0; attempt < 8; attempt++)
{
vector candidate = desired;
- if (attempt > 0) candidate += Vector(Math.RandomFloat(-15, 15), 0, Math.RandomFloat(-15, 15));
+ if (attempt > 0) candidate += Vector(Math.RandomFloat(-80, 80), 0, Math.RandomFloat(-80, 80));
candidate = ERR_Actors.Ground(candidate);
- if (!FreePosition(vehicle.Group, candidate) || vector.Dot(candidate - m_Contact, m_Forward) > -100 || !utility.IsPositionAllowed(candidate)) continue;
- if (placement.Clear(candidate, ERR_ForceRules.Heading(candidate, m_Contact, 0))) { position = candidate; return true; }
+ if (!FreePosition(vehicle.Group, candidate) || vector.Dot(candidate - m_Contact, forward) > -100 || !utility.IsPositionAllowed(candidate)) continue;
+ if (!ERR_MountedCover.ClearLane(vehicle.Entity, candidate, m_Contact)) continue;
+ if (placement.Clear(candidate, ERR_ForceRules.Heading(candidate, m_Contact, 0), 2.5)) { position = candidate; return true; }
}
return false;
}
- protected void Support(int index, bool holdTruck)
+ protected void Support(int index, bool holdTruck, bool retainApproach = false)
{
ERR_SupplyTeam orders = m_Support[index];
if (!Usable(index)) { orders.Clear(); return; }
ERR_ConvoyVehicle vehicle = m_Task.Vehicles[index];
// An idle mounted driver stops without a Defend order asking the crew to exit.
if (index == 2 && holdTruck) { orders.Clear(); return; }
+ bool armed = index != 1 && index != 2;
+ float range = vector.DistanceXZ(vehicle.Entity.GetOrigin(), m_Contact);
+ // Keep a gun that can already see the reported fight. Do not back it away
+ // just to satisfy the convoy formation's fixed rear/side offsets.
+ if (armed && range >= 100 && range <= 600 && ERR_MountedCover.SeesSector(vehicle.Group, m_Contact))
+ {
+ orders.Clear(); Claim(vehicle.Group, vehicle.Entity.GetOrigin(), GetGame().GetWorld().GetWorldTime());
+ ERR_HQ.Event("CONVOY SUPPORT", m_Task.Receipt.SourceId + " vehicle " + index.ToString() + ": holding visual contact at " + vehicle.Entity.GetOrigin().ToString());
+ return;
+ }
+ // Periodic cover checks must not restart a native driver still approaching.
+ if (retainApproach && !orders.Orders.IsEmpty() && orders.Orders[0] && vector.DistanceXZ(vehicle.Entity.GetOrigin(), orders.Orders[0].GetOrigin()) > 30) return;
float rear = 180, side;
if (index == 0) side = 150;
if (index == 3) side = -150;
@@ -430,14 +445,23 @@
if (index == 1) { rear = 350; side = 40; }
if (index == 2) { rear = 310; side = -40; }
vector support = vehicle.Entity.GetOrigin();
- vector desired = m_Contact - m_Forward * rear + m_Left * side;
+ vector forward = ERR_MountedCover.Approach(vehicle.Entity.GetOrigin(), m_Contact, m_Forward);
+ vector left = Vector(-forward[2], 0, forward[0]);
+ vector desired = m_Contact - forward * rear + left * side;
vector chosen;
if (SupportPosition(index, desired, chosen)) support = chosen;
+ else if (armed)
+ {
+ orders.Clear(); Claim(vehicle.Group, support, GetGame().GetWorld().GetWorldTime());
+ ERR_HQ.Event("CONVOY SUPPORT", m_Task.Receipt.SourceId + " vehicle " + index.ToString() + ": no clear firing lane found; holding and retrying at " + support.ToString());
+ return;
+ }
if (vector.DistanceXZ(vehicle.Entity.GetOrigin(), support) > 20)
{
AIWaypoint movement = Move(support);
if (!movement) return;
Command(movement); orders.Clear(); orders.Add(movement);
+ ERR_HQ.Event("CONVOY SUPPORT", string.Format("%1 vehicle %2: position=%3 destination=%4 reported contact=%5 armed=%6", m_Task.Receipt.SourceId, index, vehicle.Entity.GetOrigin(), support, m_Contact, armed));
}
else orders.Clear();
Claim(vehicle.Group, support, GetGame().GetWorld().GetWorldTime());
@@ -455,7 +479,12 @@
protected void Orders(bool dismount, float now)
{
m_NextOrders = now + 30000;
- if (m_OrdersIssued && vector.DistanceXZ(m_LastOrderContact, m_Contact) < 40) return;
+ if (m_OrdersIssued && vector.DistanceXZ(m_LastOrderContact, m_Contact) < 40)
+ {
+ // Recheck masked firing positions even when the reported target is stationary.
+ for (int support = 0; support < m_Task.Vehicles.Count(); support++) Support(support, !m_TruckWithdrawn, true);
+ return;
+ }
m_LastOrderContact = m_Contact; m_OrdersIssued = true;
for (int i = 0; i < m_Task.Vehicles.Count(); i++) Support(i, !m_TruckWithdrawn);
for (int i = 0; i < m_Task.Teams.Count(); i++) Flank(i, dismount);
@@ -602,7 +631,7 @@
delayed.Clear(); Flank(retry, true);
}
}
- if (found && now >= m_NextOrders) Orders(!InfantryAboard(false), now);
+ if (now >= m_NextOrders && now - m_LastContact < 180000) Orders(!InfantryAboard(false), now);
// Search only remembered positions. Real new sightings can redirect the
// teams; silence gives them time to reach and sweep both flanks, not a
// one-minute dash followed by forced reboarding.
--- a/docs/aggression-ai.md
+++ b/docs/aggression-ai.md
@@ -30,9 +30,11 @@
## Coordinated hunter encounters (2026-10-04)
-When HQ receives a fresh actionable report and at least two registered hunter crews are within 1800 m, it can assign one UAZ with a loaded mounted gun to cover and up to two original crews to opposite infantry flanks. These are ordinary physical radio downlinks; undelivered assignments do not cancel the crews' current travel or local combat. The target is the delivered report position, not a live player-position lookup.
+Every five seconds, when HQ has a fresh actionable report and at least two registered hunter crews are within 1800 m, it can assign one UAZ with a loaded mounted gun to cover and up to two original crews to opposite infantry flanks. These are ordinary physical radio downlinks; undelivered assignments do not cancel the crews' current travel or local combat. The target is the delivered report position, not a live player-position lookup.
-Approaches reserve separated positions behind the contact. Checked open ground is available where sparse roads would collapse the formation onto one junction. An already engaged covering vehicle can hold its useful position. A flanking crew already in contact, or passing within 140–450 m of the reported sector, can dismount locally instead of following a long road detour to an exact staging point; its driver and passenger receive individual native exit orders while a healthy original gunner with mounted ammunition remains at the weapon. Trucks and vehicles without usable mounted support retain the all-crew dismount path. The group's vehicle is temporarily removed from native usable vehicles so that infantry movement cannot silently turn back into a driving task. A route that would cross too close to the reported enemy gets a wider intermediate point.
+Unused hunters still receive delivered sightings when a coordinated pair already covers that sector; the pair no longer blocks reinforcements. A newer report for the same belief, displaced by at least 250 m, releases a superseded assignment while surviving infantry teams are still on their road approach. An idle covering gun that no longer sees the fight may redirect with them, so it cannot strand a travelling truck at an obsolete sighting. Deployed infantry and guns with visual contact retain local tactical ownership. These changes use delivered HQ knowledge, not live player coordinates.
+
+Approaches reserve separated positions on each arriving vehicle’s own side of the contact, avoiding long drives around the fight just to match the covering UAZ’s direction. Already physical vehicles may stage on moderate terrain relief (up to 2.5 m across the checked footprint), while the original 0.75 m spawning limit stays unchanged. Water and collision checks still apply, and infantry flank probes can search up to 45 m around their planned sector. Candidate gun positions require a clear geometry trace to the reported sector; this does not imply an enemy is currently visible. Checked open ground is available where sparse roads would collapse the formation onto one junction. An already engaged covering vehicle can hold its useful position, including when it acquires visual contact before reaching its planned stage. A flanking crew already in contact, or passing within 140–450 m of the reported sector, can dismount locally instead of following a long road detour to an exact staging point; its driver and passenger receive individual native exit orders while a healthy original gunner with mounted ammunition remains at the weapon. Trucks and vehicles without usable mounted support retain the all-crew dismount path. The group's vehicle is temporarily removed from native usable vehicles so that infantry movement cannot silently turn back into a driving task. A route that would cross too close to the reported enemy gets a wider intermediate point.
A flank starts immediately with visual cover, or after fifteen seconds with an armed covering team in position. Native perception, targeting and weapons still control the fire; support availability does not imply actual suppression. Losing cover pauses a supported flank for up to 45 seconds, then surviving infantry can conduct a bounded investigation along the checked flank route without claiming covering fire. Failed foot-order creation falls back to regrouping. Travel budgets scale with the planned route (90–240 seconds), with progressing road approaches extendable to five minutes; dismount, sector search and regroup also have deadlines. Failed movement or radio allocation preserves prior orders. Capture, loss and mission teardown remove only the assignment's own waypoints and crew holds. No new soldiers or ammunition are created by the coordinator.
@@ -111,3 +113,9 @@
A dead/unconscious/foreign/player gunner, empty or unknown mounted ammunition, severe vehicle damage, or drivetrain failure removes mounted support. Individual hold logic then allows abandonment; no replacement gunner or ammunition is created. Existing close-contact handling uses the same loaded/healthy support gate. The central covering UAZ can still retain its full crew while the flank vehicles send their foot pairs.
Validation and native movement evidence: `docs/evidence/hunter-gun-team-2026-10-05/review.json`. Tests exercise retention boundaries, split readiness, alignment deadline/combat preemption, cleanup and original hunter regressions. Native driving and infantry movement do not guarantee a clear firing line on every terrain.
+
+## Convoy combat support (2026-10-05)
+
+Armed escorts keep their current position when native perception sees the reported fight at 100–600 m. Otherwise, candidate positions are selected from each vehicle’s own approach side and checked for a clear trace to the reported sector. Ammunition trucks retain their withdrawal role. Every 30 seconds during the three-minute contact-memory window, the controller rechecks support without restarting a driver still approaching or resetting infantry routes. A masked arrived vehicle can try another firing position; when no safe clear lane exists it holds and retries. `CONVOY SUPPORT` journal events include the vehicle index, current and ordered positions, reported contact, and failed lane searches. A clear lane is not proof of actual fire or suppression.
+
+HQ no longer queues route-resume commands while the convoy tactics controller owns combat or reboarding. The executor still rejects a resume if combat starts after that command was queued.
--- a/tests/test_convoy_column.py
+++ b/tests/test_convoy_column.py
@@ -186,14 +186,14 @@
struct Items{int count;int Count(){return count;}};
struct Task{Items Vehicles{6},Teams{2};};
struct Controller{Task task;Task* m_Task=&task;float m_NextOrders=0;vector m_LastOrderContact,m_Contact;bool m_OrdersIssued=false,m_TruckWithdrawn=false;int support=0,flank=0;
- void Support(int,bool){support++;}void Flank(int,bool){flank++;}
+ void Support(int,bool,bool=false){support++;}void Flank(int,bool){flank++;}
'''+orders+r'''};
int main(){
Controller c;c.Orders(true,0);assert(c.support==6&&c.flank==2);
- c.Orders(false,30000);assert(c.support==6&&c.flank==2&&c.m_NextOrders==60000);
- c.m_Contact={39};c.Orders(false,60000);assert(c.support==6&&c.flank==2);
- c.m_Contact={40};c.Orders(false,90000);assert(c.support==12&&c.flank==4);
- c.m_OrdersIssued=false;c.Orders(true,100000);assert(c.support==18&&c.flank==6); // new engagement can issue at same location
+ c.Orders(false,30000);assert(c.support==12&&c.flank==2&&c.m_NextOrders==60000);
+ c.m_Contact={39};c.Orders(false,60000);assert(c.support==18&&c.flank==2);
+ c.m_Contact={40};c.Orders(false,90000);assert(c.support==24&&c.flank==4);
+ c.m_OrdersIssued=false;c.Orders(true,100000);assert(c.support==30&&c.flank==6); // new engagement can issue at same location
}
''')
print('PASS: convoy combat keeps native manoeuvres for unchanged contacts and refreshes when contact moves')
@@ -316,3 +316,51 @@
}
''')
print('PASS: restore missing native driving registration only for healthy owned seated crews; preserve existing association and refuse invalid/released vehicles')
+
+# Execute the production support decision, with native perception/navigation
+# boundaries controlled: useful guns hold, masked guns reposition, moving
+# drivers keep their order, and failure never claims working cover.
+support=body(q,'protected void Support(').replace('protected ', '')
+for typ in ('ERR_SupplyTeam','ERR_ConvoyVehicle','AIWaypoint'):
+ support=support.replace(typ+' ',typ+'* ')
+for name in ('orders','vehicle','movement','m_Task'):
+ support=support.replace(name+'.',name+'->')
+support=support.replace('m_Task->Receipt.', 'm_Task->Receipt->').replace('Entity.GetOrigin()', 'Entity->GetOrigin()').replace('Orders[0].', 'Orders[0]->')
+support=support.replace('vector ', 'Vec ').replace('Vector(', 'Vec(').replace('vector.DistanceXZ', 'Distance')
+support=support.replace('ERR_MountedCover.', 'ERR_MountedCover::').replace('GetGame().GetWorld().GetWorldTime()', '1000')
+support=support.replace('ERR_HQ.Event', 'Event').replace('string.Format', 'Format').replace('index.ToString()', 'std::to_string(index)')
+support=support.replace('float rear = 180, side;', 'float rear = 180, side=0;')
+run(r'''
+#include <cassert>
+#include <cmath>
+#include <string>
+#include <vector>
+using string=std::string;
+struct Vec{float x=0,y=0,z=0;Vec(){}Vec(float a,float b,float c):x(a),y(b),z(c){}float operator[](int i){return i==0?x:i==1?y:z;}Vec operator-(Vec b){return{x-b.x,y-b.y,z-b.z};}Vec operator+(Vec b){return{x+b.x,y+b.y,z+b.z};}Vec operator*(float n){return{x*n,y*n,z*n};}string ToString(){return "point";}};
+float Distance(Vec a,Vec b){return std::hypot(a.x-b.x,a.z-b.z);}
+template<class T>struct Array:std::vector<T>{using std::vector<T>::vector;bool IsEmpty(){return this->empty();}};
+template<class...T>string Format(string,T...){return "event";}void Event(string,string){}
+struct AIWaypoint{Vec point;Vec GetOrigin(){return point;}};
+struct Entity{Vec point{0,0,-250};Vec GetOrigin(){return point;}};
+struct ERR_ConvoyVehicle{struct Entity entity;struct Entity* Entity=&entity;void* Group=nullptr;};
+struct ERR_SupplyTeam{Array<AIWaypoint*>Orders;int clears=0;void Clear(){Orders.clear();clears++;}void Add(AIWaypoint*p){Orders.push_back(p);}};
+struct Receipt{string SourceId="convoy";};struct Task{struct Receipt receipt;struct Receipt* Receipt=&receipt;Array<ERR_ConvoyVehicle*>Vehicles;};
+namespace ERR_MountedCover{bool sees=false;bool SeesSector(void*,Vec){return sees;}Vec Approach(Vec,Vec,Vec){return{0,0,1};}}
+struct Tactics{Task task;Task*m_Task=&task;Array<ERR_SupplyTeam*>m_Support;Vec m_Contact,m_Forward{0,0,1};bool usable=true,position=true,spawn=true;int plans=0,moves=0,claims=0;AIWaypoint waypoint;
+ bool Usable(int){return usable;}bool SupportPosition(int,Vec,Vec&out){plans++;out={100,0,-180};return position;}AIWaypoint*Move(Vec p){moves++;waypoint.point=p;return spawn?&waypoint:nullptr;}void Command(AIWaypoint*){}void Claim(void*,Vec,float){claims++;}
+'''+support+r'''
+};
+struct Case{Tactics t;ERR_ConvoyVehicle car;ERR_SupplyTeam orders;AIWaypoint old;
+ Case(){t.task.Vehicles=Array<ERR_ConvoyVehicle*>(6,&car);t.m_Support=Array<ERR_SupplyTeam*>(6,&orders);old.point={0,0,-500};orders.Orders={&old};ERR_MountedCover::sees=false;}
+};
+int main(){
+ {Case c;ERR_MountedCover::sees=true;c.t.Support(4,false);assert(c.orders.Orders.empty()&&c.t.plans==0&&c.t.moves==0&&c.t.claims==1);}
+ {Case c;c.t.Support(4,false,true);assert(c.orders.Orders[0]==&c.old&&c.t.plans==0&&c.t.moves==0);} // driver in transit
+ {Case c;c.old.point=c.car.entity.point;c.t.Support(4,false,true);assert(c.t.plans==1&&c.t.moves==1&&c.orders.Orders[0]==&c.t.waypoint);} // masked arrived gun retries
+ {Case c;c.t.position=false;c.t.Support(4,false);assert(c.orders.Orders.empty()&&c.t.moves==0&&c.t.claims==1);} // no unsafe invented position
+ {Case c;c.t.spawn=false;c.t.Support(4,false);assert(c.orders.Orders[0]==&c.old);} // failed allocation preserves old command
+ {Case c;ERR_MountedCover::sees=true;c.t.Support(1,false);assert(c.t.plans==1&&c.t.moves==1);} // ammunition truck still withdraws
+ {Case c;c.t.usable=false;c.t.Support(4,false);assert(c.orders.Orders.empty()&&c.t.plans==0);}
+}
+''')
+print('PASS: actual convoy support preserves visual cover and ongoing approach, retries masked arrived positions, withholds unsafe moves and preserves ammo withdrawal')
--- a/tests/test_convoy_placement.py
+++ b/tests/test_convoy_placement.py
@@ -42,6 +42,11 @@
reset();assert(p.Clear({0,10,0},90));assert(near(game.world.low.x,-4.5)&&near(game.world.high.x,4.5)&&near(game.world.low.z,-2)&&near(game.world.high.z,2));
reset();assert(!p.Clear({NAN,10,0},0)&&game.world.queries==0&&ERR_Actors::grounds==0);assert(!p.Clear({0,10,0},NAN));
reset();ERR_Actors::slope=.2;assert(!p.Clear({0,10,0},0)&&game.world.queries==0); // 0.8m cross-footprint rise.
+ reset();ERR_Actors::slope=.2;assert(p.Clear({0,10,0},0,2.5)); // already physical driver may stage on this gentle slope
+ reset();ERR_Actors::slope=.7;assert(!p.Clear({0,10,0},0,2.5)); // 2.8 m relief still rejected
+ reset();assert(!p.Clear({0,10,0},0,NAN));assert(!p.Clear({0,10,0},0,3));
+ reset();ChimeraWorldUtils::water=true;assert(!p.Clear({0,10,0},0,2.5));
+ reset();game.world.fraction=0;assert(!p.Clear({0,10,0},0,2.5));
reset();ERR_Actors::elevation=.29;assert(!p.Clear({0,.29,0},0)&&game.world.queries==0);
reset();assert(!p.Clear({0,10.31,0},0)&&game.world.queries==0);
reset();ChimeraWorldUtils::water=true;assert(!p.Clear({0,10,0},0)&&game.world.queries==0&&ERR_Actors::grounds==1);
--- a/tests/test_hq_convoy_combat.py
+++ b/tests/test_hq_convoy_combat.py
@@ -46,6 +46,7 @@
struct Receipt {string SourceId="convoy-1";};
struct ERR_ConvoyTask {bool Stopped=false,Ready=true;struct Receipt receipt;struct Receipt* Receipt=&receipt;std::vector<ERR_ConvoyVehicle*> Vehicles;};
struct Service {ERR_ConvoyTask* task=nullptr;int Count(){return task?1:0;}ERR_ConvoyTask* At(int){return task;}ERR_ConvoyTask* Find(string id){return task&&task->Receipt->SourceId==id?task:nullptr;}
+ bool resumeAllowed=true;bool CanResumeCombat(ERR_ConvoyTask*){return resumeAllowed;}
int calls=0;bool valid=true;ERR_ConvoyCombatOrder* last=nullptr;
bool ApplyCombatOrder(ERR_ConvoyTask* task,ERR_ConvoyCombatOrder* o,float){calls++;last=o;if(!task||!valid)return false;
auto s=task->Vehicles.at(o->VehicleIndex)->Combat;s->Held=o->Hold;s->LastCommandId=o->CommandId;s->ReportId=o->ReportId;s->ObservedAt=o->ObservedAt;return true;}};
@@ -79,7 +80,8 @@
ERR_HQReport newer=r;newer.MessageId=2;newer.ObservedAt=12000;h.m_Contacts={&newer};h.PlanConvoy(13000);
assert(u.PendingConvoyOrder->ReportId==2);u.Downlink->result=1;h.TickDownlink(&u,15000);assert(v.Combat->ReportId==2);
h.PlanConvoy(71000);assert(!u.Downlink); // less than60s quiet
- h.PlanConvoy(72000);assert(u.Downlink&&!u.PendingConvoyOrder->Hold);
+ h.m_Convoys.resumeAllowed=false;h.PlanConvoy(72000);assert(!u.Downlink); // active tactics: do not flood radio with refused resumes
+ h.m_Convoys.resumeAllowed=true;h.PlanConvoy(72000);assert(u.Downlink&&!u.PendingConvoyOrder->Hold);
newer.MessageId=3;newer.ObservedAt=73000;u.Downlink->result=1;h.TickDownlink(&u,74000);
assert(v.Combat->Held&&h.m_Convoys.calls==2&&!u.Downlink); // new report rejects in-flight RESUME
h.m_Network.available=false;h.PlanConvoy(75000);assert(!u.Downlink&&v.Combat->Held);
--- a/tests/test_hunter_coordination.py
+++ b/tests/test_hunter_coordination.py
@@ -2,7 +2,7 @@
import re
from policy_harness import ROOT, body, run
p=ROOT/'addons/core/Scripts/Game/ERR/10_AI/ERR_HunterTactics.c'
-code='\n'.join(body(p,x) for x in ['bool Covered(', 'void Tick(ERR_HQ hq, array<ref ERR_HunterVehicle>'])
+code='\n'.join(body(p,x) for x in ['bool Covered(', 'protected void RefreshApproaches(', 'void Tick(ERR_HQ hq, array<ref ERR_HunterVehicle>'])
code=code.replace('protected ','').replace('foreach (','for (').replace('vector position','Vec position').replace('vector desired','Vec desired')
for typ in ['ERR_HunterVehicle','ERR_HunterAttack','ERR_HunterTactics','ERR_HQReport']:
code=code.replace('array<ref '+typ+'>','Array<'+typ+'*>').replace('array<'+typ+'>','Array<'+typ+'*>')
@@ -15,7 +15,7 @@
code=code.replace('Memory().Get','Memory()->Get').replace('Tactics.Stopped','Tactics->Stopped').replace('Entity.GetOrigin','Entity->GetOrigin')
code=code.replace('ERR_HunterTactics.CoverCrew','ERR_HunterTactics::CoverCrew')
code=code.replace('ERR_HQ.Event','Event').replace('string.Format','Format').replace('ERR_HunterAttackRules.Fresh','Fresh').replace('ERR_HunterAttackRules.Offset','Offset').replace('vector.DistanceXZ','Distance')
-code=code.replace('"0 0 1"','Vec(0,0,1)').replace('bool running;','bool running=false;').replace('int nearby;','int nearby=0;').replace('int active;','int active=0;').replace('int nearest;','int nearest=0;').replace('ERR_HQBelief* best;','ERR_HQBelief* best=nullptr;')
+code=code.replace('"0 0 1"','Vec(0,0,1)').replace('bool running;','bool running=false;').replace('int nearby;','int nearby=0;').replace('bool travelling = true;', 'bool travelling = true;').replace('int active;','int active=0;').replace('int nearest;','int nearest=0;').replace('ERR_HQBelief* best;','ERR_HQBelief* best=nullptr;')
run(r'''
#include <cassert>
#include <cmath>
@@ -31,11 +31,11 @@
struct ERR_GameMode{};struct Entity{Vec pos;Vec GetOrigin(){return pos;}};
struct ERR_HunterTactics;
struct ERR_HunterVehicle{bool CloseContactHeld=false,Registered=true,Released=false,valid=true,plan=true,radio=true,armed=true;struct Entity entity;struct Entity*Entity=&entity;ERR_HunterTactics*Tactics=nullptr;bool CrewValid(ERR_GameMode*){return valid;}};
-struct ERR_HQBelief{Vec PredictedPosition;float ObservedAt=0;int MessageId=1;bool actionable=true;bool Actionable(){return actionable;}};
+struct ERR_HQBelief{Vec PredictedPosition;float ObservedAt=0;int BeliefId=1,MessageId=1;bool actionable=true;bool Actionable(){return actionable;}};
struct ERR_HQReport{int Target=0;};struct Memory{Array<ERR_HQBelief> beliefs;ERR_HQBelief*Get(int i){return &beliefs[i];}};
-struct ERR_HQ{struct Memory memory;Array<ERR_HQReport>reports;struct Memory*Memory(){return &memory;}void SupportContacts(Array<ERR_HQReport*>&out,float){for(auto&r:reports)out.Insert(&r);}void Contact(Vec p,float age){ERR_HQBelief b;b.PredictedPosition=p;b.ObservedAt=age;reports.Insert({memory.beliefs.Count()});memory.beliefs.Insert(b);}};
-struct ERR_HunterAttack{Vec ReportPosition,Forward;float Observed=0,Started=0;int Message=0;Array<ERR_HunterTactics*>Teams;};
-struct ERR_HunterTactics{static bool CoverCrew(ERR_HunterVehicle*u,ERR_GameMode*){return u->armed;}ERR_HunterVehicle*Unit;ERR_HunterAttack*Attack;int Role;bool Stopped=false;Vec Stage;ERR_HunterTactics(ERR_GameMode*,ERR_HunterVehicle*u,ERR_HunterAttack*a,int r):Unit(u),Attack(a),Role(r){}bool Plan(Array<Vec>){Stage=Unit->Entity->GetOrigin();return Unit->plan;}bool Queue(ERR_HQ*){return Unit->radio;}bool Living(){return !Unit->Released;}void Stop(){Stopped=true;}};
+struct ERR_HQ{struct Memory memory;Array<ERR_HQReport>reports;struct Memory*Memory(){return &memory;}void SupportContacts(Array<ERR_HQReport*>&out,float){for(auto&r:reports)out.Insert(&r);}void Contact(Vec p,float age){ERR_HQBelief b;b.PredictedPosition=p;b.ObservedAt=age;b.BeliefId=memory.beliefs.Count()+1;reports.Insert({memory.beliefs.Count()});memory.beliefs.Insert(b);}};
+struct ERR_HunterAttack{int BeliefId=0;Vec ReportPosition,Forward;float Observed=0,Started=0;int Message=0;Array<ERR_HunterTactics*>Teams;};
+struct ERR_HunterTactics{static bool CoverCrew(ERR_HunterVehicle*u,ERR_GameMode*){return u->armed;}ERR_HunterVehicle*Unit;ERR_HunterAttack*Attack;int Role,State=0;bool visual=false;bool Covering(){return visual;}bool Stopped=false;Vec Stage;ERR_HunterTactics(ERR_GameMode*,ERR_HunterVehicle*u,ERR_HunterAttack*a,int r):Unit(u),Attack(a),Role(r){}bool Plan(Array<Vec>){Stage=Unit->Entity->GetOrigin();return Unit->plan;}bool Queue(ERR_HQ*){return Unit->radio;}bool Living(){return !Unit->Released;}void Stop(){Stopped=true;}};
struct Coordination{ERR_GameMode mode;ERR_GameMode*m_Mode=&mode;Array<ERR_HunterAttack*>m_Attacks;float m_NextPlan=0;
'''+code+r'''
};
@@ -43,6 +43,17 @@
{ERR_HQ local;local.Contact({0,0,0},0);ERR_HunterVehicle busy,other;busy.CloseContactHeld=true;
Array<ERR_HunterVehicle*> pair={&busy,&other};Coordination c;c.Tick(&local,pair,1000);assert(c.m_Attacks.empty());}
+ // Only newer delivered knowledge for this belief redirects traveling crews.
+ {Coordination c;ERR_HunterVehicle u,v;ERR_HunterAttack a;a.BeliefId=3;a.Observed=10;
+ ERR_HunterTactics t(&c.mode,&u,&a,0),f(&c.mode,&v,&a,1);a.Teams={&t,&f};c.m_Attacks={&a};
+ ERR_HQBelief b;b.BeliefId=4;b.ObservedAt=20;b.PredictedPosition={500,0,0};
+ c.RefreshApproaches(&b,100);assert(!t.Stopped&&!f.Stopped);
+ b.BeliefId=3;f.State=2;c.RefreshApproaches(&b,100);assert(!t.Stopped&&!f.Stopped);
+ f.State=1;b.ObservedAt=9;c.RefreshApproaches(&b,100);assert(!t.Stopped);
+ b.ObservedAt=20;b.PredictedPosition={249,0,0};c.RefreshApproaches(&b,100);assert(!t.Stopped);
+ b.PredictedPosition={250,0,0};t.State=3;t.visual=true;c.RefreshApproaches(&b,100);assert(!t.Stopped&&!f.Stopped); // active gun retains fight
+ t.visual=false;c.RefreshApproaches(&b,100);assert(t.Stopped&&f.Stopped); // blind idle gun cannot trap the travelling truck on old report
+ }
ERR_HQ hq;hq.Contact({0,0,0},0);hq.Contact({6000,0,0},1); // Newer but unreachable report must not starve local fight.
ERR_HunterVehicle a,b,c;a.entity.pos={0,0,-210};b.entity.pos={-155,0,-240};c.entity.pos={155,0,-240};
Array<ERR_HunterVehicle*>units={&a,&b,&c};Coordination co;co.Tick(&hq,units,1000);
@@ -52,7 +63,7 @@
a.Released=true;b.Released=true;assert(!co.Covered({200,0,0}));a.Released=false;b.Released=false;
assert(co.Covered({200,0,0})&&!co.Covered({6000,0,0}));
ERR_HunterVehicle d,e;d.entity.pos={6000,0,-210};e.entity.pos={5845,0,-240};units.Insert(&d);units.Insert(&e);
- co.Tick(&hq,units,5000);assert(!d.Tactics); // Ten-second planning throttle.
+ co.Tick(&hq,units,5000);assert(!d.Tactics); // Five-second planning throttle.
co.Tick(&hq,units,11000);assert(co.m_Attacks.Count()==2&&d.Tactics&&e.Tactics); // Independent front.
co.Tick(&hq,units,21000);assert(co.m_Attacks.Count()==2); // No duplicate crews/encounter.
for(auto*t:co.m_Attacks[0]->Teams)t->Stop();
--- a/tests/test_hunter_opening.py
+++ b/tests/test_hunter_opening.py
@@ -107,12 +107,11 @@
hq.memory.belief.ObservedAt=11;
int requests=hq.requests;service.QueueDestination(&disconnected,&hq,11000);assert(hq.requests==requests);
hq.connected=true;service.QueueDestination(&disconnected,&hq,15000);assert(disconnected.Downlink&&disconnected.LastContact==11);
- // An existing coordinated fight must not attract every unused UAZ as well.
+ // A two-crew encounter must not suppress a spare hunter's delivered response.
ERR_HunterVehicle reserve;service.coordinated=true;hq.memory.belief.ObservedAt=20;
requests=hq.requests;service.QueueDestination(&reserve,&hq,20000);
- assert(hq.requests==requests&&!reserve.Downlink&&reserve.LastContact==-1);
- service.coordinated=false;service.QueueDestination(&reserve,&hq,20000);
- assert(hq.requests==requests+1&&reserve.Downlink);
+ assert(hq.requests==requests+1&&reserve.Downlink&&reserve.LastContact==20);
+
}
''')
print('PASS: real opening road geometry enforces wide azimuths; fresh delivered contact preempts patrol cooldown, respects radio failures and does not starve in-flight interception')
--- a/tests/test_hunter_tactics.py
+++ b/tests/test_hunter_tactics.py
@@ -12,7 +12,7 @@
#include <string>
#include <vector>
using string=std::string;
-struct Vec {float x=0,y=0,z=0;Vec(){}Vec(float a,float b,float c):x(a),y(b),z(c){}float operator[](int n){return n==0?x:n==1?y:z;}Vec operator+(Vec b){return {x+b.x,y+b.y,z+b.z};}Vec operator-(Vec b){return {x-b.x,y-b.y,z-b.z};}Vec operator*(float n){return {x*n,y*n,z*n};}string ToString(){return "position";}};
+struct Vec {float x=0,y=0,z=0;Vec(){}Vec(float a,float b,float c):x(a),y(b),z(c){}float& operator[](int n){return n==0?x:n==1?y:z;}Vec operator+(Vec b){return {x+b.x,y+b.y,z+b.z};}Vec operator-(Vec b){return {x-b.x,y-b.y,z-b.z};}Vec operator*(float n){return {x*n,y*n,z*n};}float Length(){return std::hypot(x,z);}void Normalize(){float length=Length();x/=length;z/=length;}string ToString(){return "position";}};
namespace Geometry{float DistanceXZ(Vec a,Vec b){return std::hypot(a.x-b.x,a.z-b.z);}float Dot(Vec a,Vec b){return a.x*b.x+a.y*b.y+a.z*b.z;}}
template<class T>using Array=std::vector<T>;
'''
@@ -62,13 +62,17 @@
struct Tactics{
GunTeam*m_GunTeam=nullptr;bool align=false,facing=false;bool TryAlign(){return align;}bool FacingSector(){return facing;}
UnitType*Unit=nullptr;AttackType*Attack=nullptr;RadioType*Radio=nullptr;int Role=1,State=0,Retries=0;float m_TravelDistance=0,Deadline=0,NextRetry=0,m_ApproachStarted=0,m_ApproachProgress=0;Vec m_ApproachPosition;bool m_UnsupportedSearch=false,Delivered=false,Stopped=false,living=true,aboard=true,moveWorks=true,boardWorks=true,searchWorks=true;int clears=0,moves=0,boards=0;Vec Stage,Approach,Sector,position;AIWaypoint search;
- bool Living(){return living;}void Stop(){Stopped=true;Radio=nullptr;Clear();if(Delivered)Unit->CombatHeld=false;}bool Move(Vec,float=20){moves++;return moveWorks;}void Clear(){clears++;}bool Board(bool){boards++;return boardWorks;}bool Aboard(bool required){return aboard==required;}Vec Position(){return position;}void VehicleUse(bool){}void Note(string){}void ObserveState(float){}void Add(AIWaypoint*){}AIWaypoint*SpawnSearch(Vec){return searchWorks?&search:nullptr;}
+ bool visual=false;bool VisualCover(){return visual;}bool Living(){return living;}void Stop(){Stopped=true;Radio=nullptr;Clear();if(Delivered)Unit->CombatHeld=false;}bool Move(Vec,float=20){moves++;return moveWorks;}void Clear(){clears++;}bool Board(bool){boards++;return boardWorks;}bool Aboard(bool required){return aboard==required;}Vec Position(){return position;}void VehicleUse(bool){}void Note(string){}void ObserveState(float){}void Add(AIWaypoint*){}AIWaypoint*SpawnSearch(Vec){return searchWorks?&search:nullptr;}
'''+tick+r'''
};
struct Fixture{IEntity car,crew;GroupType group;UnitType unit;AttackType attack;RadioType radio;Tactics t;ERR_HQ hq;
Fixture(){car.pos={0,0,-250};unit.Entity=&car;unit.Group=&group;unit.Members={&crew};t.Unit=&unit;t.Attack=&attack;t.Radio=&radio;t.Stage=car.pos;t.Approach={-170,0,-85};t.Sector={-105,0,35};t.position=car.pos;}
};
int main(){
+ {Fixture f;f.radio.result=1;f.t.Role=0;f.t.Stage={0,0,-500};f.t.visual=true;
+ assert(f.t.Tick(&f.hq,1000)&&f.t.State==3); // sees fight at 250m: stop, don't back away to stage
+ holds=0;
+ }
{Fixture f;assert(!f.t.Tick(&f.hq,1000));assert(!f.t.Delivered&&!f.unit.CombatHeld&&!f.unit.clears&&f.t.moves==0);f.radio.result=-1;assert(!f.t.Tick(&f.hq,2000)&&f.t.Stopped&&f.unit.clears==0);}
{Fixture f;f.radio.result=1;f.t.moveWorks=false;assert(!f.t.Tick(&f.hq,1000)&&!f.t.Delivered&&f.unit.clears==0);}
{Fixture f;f.radio.result=1;assert(f.t.Tick(&f.hq,1000));assert(f.t.State==2&&f.t.boards==1&&f.unit.clears==1&&f.unit.CombatHeld);f.t.aboard=false;assert(f.t.Tick(&f.hq,2000)&&f.t.State==3);int moves=f.t.moves;f.t.Tick(&f.hq,5000);assert(f.t.moves==moves);f.attack.ready=true;f.t.Tick(&f.hq,6000);assert(f.t.State==4&&f.t.moves==moves+1);f.t.Tick(&f.hq,7000);assert(f.t.moves==moves+1);f.t.position=f.t.Approach;f.t.Tick(&f.hq,8000);assert(f.t.State==5);f.t.Tick(&f.hq,68000);assert(f.t.State==6);f.t.aboard=true;assert(!f.t.Tick(&f.hq,69000)&&f.t.Stopped&&!f.unit.CombatHeld);}
@@ -173,3 +177,20 @@
};int main(){Man gunner,outsider;BaseCompartmentSlot slot;slot.occupant=&gunner;UnitType u;u.Members.original=&gunner;u.Seats={&slot};ERR_HunterTactics t;t.Unit=&u;Attack a;a.Teams={&t};assert(a.CoverAlive());gunner.fit=false;assert(!a.CoverAlive());gunner.fit=true;slot.occupant=&outsider;assert(!a.CoverAlive());slot.occupant=&gunner;u.driver=false;assert(!a.CoverAlive());u.driver=true;t.Delivered=false;assert(!a.CoverAlive());t.Delivered=true;t.living=false;assert(!a.CoverAlive());t.living=true;ammo.Rounds=0;ammo.Chambers=0;assert(!a.CoverAlive());ammo.Chambers=1;assert(a.CoverAlive());ammo.Complete=false;assert(!a.CoverAlive());GunTeam split;t.m_GunTeam=&split;t.Role=1;t.State=4;assert(a.CoverAlive());split.covered=false;assert(!a.CoverAlive());}
''')
print('PASS: covering support requires the original conscious turret gunner, valid mounted driver, live crew and delivered assignment')
+
+# Execute production per-vehicle approach geometry: opposite arrivals stay on
+# their own sides instead of sharing the cover vehicle's staging axis.
+approach=body(p,'static vector Approach(').replace('vector ', 'Vec ')
+run(stubs+approach+r'''
+int main(){
+ Vec contact{100,0,100},fallback{0,0,1};
+ for(Vec origin : {Vec{100,0,-900},Vec{100,0,1100},Vec{-900,0,100},Vec{1100,0,100}}){
+ Vec forward=Approach(origin,contact,fallback);
+ Vec stage=contact-forward*260;
+ assert(Geometry::Dot(stage-contact,origin-contact)>0);
+ assert(Geometry::DistanceXZ(origin,stage)<Geometry::DistanceXZ(origin,contact));
+ assert(std::abs(forward.Length()-1)<0.0001);
+ }
+ assert(Approach(contact,contact,fallback).z==1);
+}
+''')
--- a/tests/test_supply_convoys.py
+++ b/tests/test_supply_convoys.py
@@ -165,7 +165,7 @@
delete out;delete in;ERR_Actors::fail=true;assert(!Board(&truck,true));
}
""")
-delivery=body(D/'ERR_SupplyConvoyService.c','override bool ApplyCombatOrder(')
+delivery=body(D/'ERR_SupplyConvoyService.c','override bool CanResumeCombat(')+'\n'+body(D/'ERR_SupplyConvoyService.c','override bool ApplyCombatOrder(')
delivery=delivery.replace('override ','').replace('ERR_SupplyConvoyTask.Cast(task)','dynamic_cast<ERR_SupplyConvoyTask*>(task)')
for typ in ('ERR_ConvoyTask','ERR_SupplyConvoyTask','ERR_ConvoyCombatOrder'):delivery=re.sub(r'\b'+typ+r' (?=\w)',typ+'* ',delivery)
for name in ('supply','order'):delivery=delivery.replace(name+'.',name+'->')
@@ -182,10 +182,11 @@
};
int main(){
Service service;ERR_SupplyConvoyTask task;ERR_ConvoyCombatOrder order;
- for(int state=0;state<3;state++){task.tactics.state=state;assert(service.ApplyCombatOrder(&task,&order,100));}
+ for(int state=0;state<3;state++){task.tactics.state=state;assert(service.CanResumeCombat(&task)==(state==0));assert(service.ApplyCombatOrder(&task,&order,100));}
assert(task.tactics.reports==3);order.Hold=false;assert(!service.ApplyCombatOrder(&task,&order,100));assert(service.applied==3);
task.tactics.state=0;assert(service.ApplyCombatOrder(&task,&order,100));assert(task.tactics.reports==3);
service.accept=false;order.Hold=true;assert(!service.ApplyCombatOrder(&task,&order,100)&&task.tactics.reports==3);
+ assert(!service.CanResumeCombat(nullptr));
assert(!service.ApplyCombatOrder(nullptr,&order,100));assert(!service.ApplyCombatOrder(&task,nullptr,100));
}
""")
@@ -0,0 +1,790 @@
PASS: traffic distance/grace, all-observer veto, player claims, foreign custody, bounded spawn cadence, failure/stall retention and shutdown preserve nearby/claimed entities
PASS: actual observer collection includes spectator targets and controlled bodies; missing views/controllers and open editor cameras veto spawn/cleanup
PASS: civilian traffic defaults to three; menu command resolves to persisted 0..6 setting with zero disabling new cars
PASS: bounded exit-road selection can turn along a coastline when the opposite road is unavailable; no-route case is withheld
PASS: managed traffic pins both native garbage entries; release/retirement removes only those pins, including partial creation
PASS: exhausted/blocked terrain opening falls back to checked objective roads; bounds, player clearance, separation, force cap and retry delay retained
PASS: separated rear vehicle approaches, opposite infantry sectors, radio-gated ownership, failed-order preservation, visual cover or bounded supported reconnaissance, bounded dismount/search/regroup and loss cleanup
PASS: production dismount/boarding allocation, all crew allowances, waypoint ownership, one-time vehicle detach/restore and capture/teardown guards
PASS: covering support requires the original conscious turret gunner, valid mounted driver, live crew and delivered assignment
PASS: only original fit loaded healthy uncaptured gunners stay mounted; driver can leave; infantry readiness excludes the retained gunner but regroup requires all survivors
PASS: actual HQ allocator selects reachable reports, distinct cover/flanks, simultaneous fronts, bounded reservations and failed-radio/placement rollback
PASS: shared own-force attack spacing, own-group refresh, exact release, expiry/deletion, finite capacity and fresh confirmed sighting-only flank permission
PASS: actual convoy foot transport detachment is idempotent; regroup restores only its live friendly uncaptured original truck
PASS: opposing native flank orders are transactional; arrived teams sweep twice, travelling/boarding teams retain orders, failed redirects retry and replayed contacts are ignored
PASS: expired-report approach, arrival-only search, completion, newer/older/replayed reports, visual priority, interrupted search and bounded travel
PASS: nearest reported idle team, blocked teams, guards, active/pending orders, combat, radio routes, stale status and distance limit
PASS: six editor listeners transferred idempotently, unrelated handlers retained, authority guard and lifecycle ordering
PASS: takeover reconnect creates only missing managers, restores native roles, never grants non-admin access, skips stale/disconnected/client states
PASS: Game Master button becomes enabled on native permission arrival and disabled on revocation; no permission bypass
PASS: shared config transaction rejects client writes, preserves first-save/prior/fallback state across open, write, backup, partial-copy, readback and mismatch failures
PASS: actual Save/Commit preserves semantically valid backup across unrelated menu edits and repairs; unknown fields/default sections retained; actual terrain parser; other parsers, catalog and disk doubled
.....TTS request rejected: authentication failed (403)
TTS request completed (200)
...TTS request completed (200)
TTS request completed (200)
..
----------------------------------------------------------------------
Ran 10 tests in 0.514s
OK
PASS: actual welcome tick waits for URL/readiness/server permit, preserves local once-only state across worlds and refuses stopped callbacks
PASS: account greeting survives client/controller/round changes; owner validation, delayed readiness, idempotent retry, stale replies and bounded ledger
PASS: original body/equipment retained past old timeout; expiry, death, canonical account/body, occupied controller, failed handoff and no replacement life
PASS: actual view buffer validates samples, follows position/roll/FOV, rejects stale/foreign/reordered data, interpolates without drift and expires gaps
PASS: actual relay rejects noncanonical sources, live/foreign/stale viewers, invalid/replayed/fast packets; bounds leases and owner-only target delivery
PASS: native head/helmet fade is local, target-scoped, restored on exit/switch and does not overwrite a later camera owner
PASS: production TTS settings/test/enable/failure/disable/timeout flows preserve fallback, secrets, authorization, saved state and late-callback cancellation
PASS: TTS admin authorization, limits, case preservation and menu control contract
PASS: 37 prefabs have unique saved root entity IDs
PASS: actual objective overlay lifecycle preserves separate ownership, late readiness/reopen, data refresh, pan/zoom/culling, supported sibling/shared-frame parents, coordinate offsets, native task-clear isolation and terminal cleanup; native rendering remains unverified
PASS: actual map element initializes each widget, retries missing widgets, updates position and changes only stale text/icon data; no native image-load claim
PASS: actual native fixture root/config ownership and idempotent cleanup preserve foreign map, selector excludes ordinary route, fixed budgets/screenshots/UGC boundaries retained; native operations not executed
PASS: actual full Inspect rejects canvas parenting, wrong active container/canvas, omitted origin offset, wrong rendered box and stale coordinates; differing origins and DPI accepted
PASS: actual long-warning phases retain visible label through1500ms checkpoint then restore radio before close; synthetic marker separated from unmoved player
PASS: actual Center places marker100screenpx left of pan center at both fixture zooms without altering disclosed coordinates
PASS: missing, child-only, malformed, zero and duplicate prefab root IDs rejected
PASS: delayed scene/inventory arrival, deferred preload, identity checks, stale replies, timeout and observer cleanup
PASS: actual inventory manifest, delayed/missing/wrong-owner item links, finite cap, consumed-stock refresh and preload ordering
PASS: spawn scene remains held through final acknowledgement and nearby use; leaving, reassignment, disconnect and teardown release it
PASS: production prison AI hold/release, repeat activation, authority/faction/player exclusion, dead actor and stop cleanup
PASS: actual protected/capped damage plus exact-actor terminal fixture bypass through delayed native damage, fail-closed ownership and untouched ordinary actor; no native claim
PASS: actual full planner selection/commit body, 360 equivalence scenarios, orders/reservations/cooldowns identical; one128-unit scan vs >10000 repeated unit visits; no FPS claim
PASS: actual observer monitor/recovery/cleanup rejects retained old controller, preserves new camera/editor/hints/timer, restarts once and retains normal recovery; native effects modeled from SDK, no runtime claim
PASS: former chat controller releases only its own callbacks and preserves replacement menu; current-owner stop/scope and repeated teardown remain intact
PASS: wrong observer fixture selector rejected before runtime/profile setup; no engine launched
PASS: actual depot mixed-roster worker/item selection, ownership/refusal and radio/planning/two-leg state transitions, fixed deadline, late proof quarantine, finite import and no adoption after Stop
PASS: actual depot HQ lifecycle, existing planner priority, server/mode/owner gates, idempotent polling and owner replacement
PASS: actual HQ mine/magazine claim separation, real demand methods, exact token cleanup and original authority gates; native availability doubled
PASS: actual full magazine/inert-PMN4 depot leaf, exact custody, isolated callbacks, finite reservation, false/unknown and Stop quarantine, once-only delivery and caps; native movement unqualified
PASS: actual mine/magazine provenance and separated finite mine imports; actual authored identity capture, READY-only detached provenance, same shared stock admission, completed exact two-leg proof, lifetime caps and Stop no late adoption
PASS: 299 original script entries tracked across 18 unfinished responsibilities
PASS: 1 isolated addons, acyclic dependencies, 59 unique resources, exact vanilla/authorized external references
PASS: road width/bridge/length checks, prison and post spacing, setting bounds/default, finite startup and owned HQ admission
PASS: actual crash geometry, detached definition setup, frozen server choice and guarded phase policy; integration/source ordering checked
PASS: actual GameMode readiness admission and common full-footprint survey require crash authorization and both surveyed areas
PASS: actual start defaults/parse/save, failure retention and authorized command wiring; current/next feedback, aliases and no random choice; native UI and core mode freezing are separate
PASS: actual immutable measured footprint/root/attachment matching, bounds/transforms, moving geometry, seated-body and cargo reciprocity, finite hierarchy caps; native geometry doubled
PASS: actual BMP singleton geometry and typed current order; one survey, full straight segment, width, known history, reservations, settlement/clearance and work caps; placement/footprint tested separately
PASS: actual five random-radius diagnostic wrappers, disabled transparency, cached opt-in, exact zero and exclusion branch, native arguments/returns/outarg preservation, single superclass call and shared16-log cap
PASS: zero-radius trace disabled by default, scoped before setup, exact opt-in emission; no native launch
PASS: complete actual supply-travel probe, immutable 6+2 formations and 25 actors, admission/travel deadlines, six observed native-boundary moves, stop/ownership/partial-substitution refusals
PASS: actual distinct supply-travel hook, fixed420s selector, original observer protection/restoration, failure/terminal cleanup and no legacy convoy setup
PASS: actual supply-travel selector requires Chat, one round and480s; existing outcomes unaffected; no native launch
usage: test_native_mounted_intercept.py [-h] [--steam STEAM]
[--external-addons EXTERNAL_ADDONS]
--compat COMPAT --profile PROFILE
[--smoke {crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}]
[--trace-random-radius]
[--maintenance-refuel]
[--mounted-swap-eligibility]
[--mounted-bmp] [--mine-stock]
[--mounted-courier]
[--mounted-intercept] [--convoy-cover]
[--field-terrain-audit]
[--field-service-cancel]
[--route-service-cancel]
[--station-teardown-diagnostics]
[--flight-autohover]
[--flight-action-inputs]
[--flight-input-diagnostics]
[--recon-takeover-only]
[--body-recovery-only]
[--rounds ROUNDS] [--timeout TIMEOUT]
[--project {core,chat}]
test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds
usage: test_native_mounted_intercept.py [-h] [--steam STEAM]
[--external-addons EXTERNAL_ADDONS]
--compat COMPAT --profile PROFILE
[--smoke {crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}]
[--trace-random-radius]
[--maintenance-refuel]
[--mounted-swap-eligibility]
[--mounted-bmp] [--mine-stock]
[--mounted-courier]
[--mounted-intercept] [--convoy-cover]
[--field-terrain-audit]
[--field-service-cancel]
[--route-service-cancel]
[--station-teardown-diagnostics]
[--flight-autohover]
[--flight-action-inputs]
[--flight-input-diagnostics]
[--recon-takeover-only]
[--body-recovery-only]
[--rounds ROUNDS] [--timeout TIMEOUT]
[--project {core,chat}]
test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds
usage: test_native_mounted_intercept.py [-h] [--steam STEAM]
[--external-addons EXTERNAL_ADDONS]
--compat COMPAT --profile PROFILE
[--smoke {crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}]
[--trace-random-radius]
[--maintenance-refuel]
[--mounted-swap-eligibility]
[--mounted-bmp] [--mine-stock]
[--mounted-courier]
[--mounted-intercept] [--convoy-cover]
[--field-terrain-audit]
[--field-service-cancel]
[--route-service-cancel]
[--station-teardown-diagnostics]
[--flight-autohover]
[--flight-action-inputs]
[--flight-input-diagnostics]
[--recon-takeover-only]
[--body-recovery-only]
[--rounds ROUNDS] [--timeout TIMEOUT]
[--project {core,chat}]
test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds
usage: test_native_mounted_intercept.py [-h] [--steam STEAM]
[--external-addons EXTERNAL_ADDONS]
--compat COMPAT --profile PROFILE
[--smoke {crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}]
[--trace-random-radius]
[--maintenance-refuel]
[--mounted-swap-eligibility]
[--mounted-bmp] [--mine-stock]
[--mounted-courier]
[--mounted-intercept] [--convoy-cover]
[--field-terrain-audit]
[--field-service-cancel]
[--route-service-cancel]
[--station-teardown-diagnostics]
[--flight-autohover]
[--flight-action-inputs]
[--flight-input-diagnostics]
[--recon-takeover-only]
[--body-recovery-only]
[--rounds ROUNDS] [--timeout TIMEOUT]
[--project {core,chat}]
test_native_mounted_intercept.py: error: --mounted-intercept requires Chat --smoke convoy, one round and timeout at least900 seconds
usage: test_native_mounted_intercept.py [-h] [--steam STEAM]
[--external-addons EXTERNAL_ADDONS]
--compat COMPAT --profile PROFILE
[--smoke {crash-start,crash-geometry,normal-escape-route,escape-route,optional-site-skip,infantry-combat,medical-combat,hunter-faction,unconscious-camera,objective-map,town-garrisons,site-garrisons,radio-interaction,enemy-loadout,aggression,air-logistics,air-assault,air-recon,airfield-markers,opening-tools,mortar-station,generated-sites,hq-local-handoff,infantry-transfer,hq-body,convoy,supply-convoys,supply-travel,mounted-ammo,alarm-hearing,hq-memory,hq-awareness,aircraft-field,aircraft-route,native-end-active,native-end-preparing,aircraft-control,aircraft-cancel,aircraft-translate,map-ownership,mortar-refresh,mortar-salvo,mortar-courier,station-teardown,inventory-hitzone,prison-breach,powered-flight,powered-translate,local-admission,mortar-expiry,mortar-transfer,mortar-fire,patrol-hq,victory,lost-helicopter,player-death,radio-network,hq-response,mortar-inventory,startup-failure,site-survey,cache-loss,extraction-capacity,early-helicopter-loss,extraction-startup-failure,extraction-boundary-failure,transport-loss,transport-survey,lifecycle,objective-ui,recovery,prisoner-kit,medical,casualty-load,casualty-direct,casualty-bench,casualty-remove,environment,environment-restart,patrols,radio-document-loss,radio-document-loss-partial,guard-cancel,casualty-service}]
[--trace-random-radius]
[--maintenance-refuel]
[--mounted-swap-eligibility]
[--mounted-bmp] [--mine-stock]
[--mounted-courier]
[--mounted-intercept] [--convoy-cover]
[--field-terrain-audit]
[--field-service-cancel]
[--route-service-cancel]
[--station-teardown-diagnostics]
[--flight-autohover]
[--flight-action-inputs]
[--flight-input-diagnostics]
[--recon-takeover-only]
[--body-recovery-only]
[--rounds ROUNDS] [--timeout TIMEOUT]
[--project {core,chat}]
test_native_mounted_intercept.py: error: --mounted-intercept and --convoy-cover are mutually exclusive
PASS: actual native interception witness requires real radio cursor/lineage, original actor identities, fixed movement/hold/expiry/resume and immutable deadline; no movement/delivery injection
PASS: actual CLI rejects wrong mode/project/rounds/899s/conflict before runtime; valid flag and terminal branch identify synthetic-observation qualification
PASS: visible base hook and actual fixture override delegate once; delivery proof uses retained pre-super route only on successful production transition
actual mounted HQ dispatch planning, radio, ownership and lifecycle checks passed
PASS: actual mounted intercept eligibility/order chronology, fixed destinations, native road selection bounds, width, segment heading, clearance and settlement delegation; no native driving claim
PASS: actual paired arc geometry,40m/80m spacing, separate original polylines, both-position validation and128road/4096segment budget; no native driving proof
PASS: actual typed original BMP singleton, loss/footprint/custody guards and native cancellation, UAZ-only pair admission, rollback, native allocation/revocation boundaries, per-member ownership, hold and expiry
PASS: actual Tick clock initialization admits fractional first ticks and expires without extending the original start
PASS: actual finite conservation/deadline/callback policies; read-only selection, bounded once-only inventory submission and no can refill; native transfer not executed
PASS: actual exact-context membership, bounded identity/reach gates, native start/cache/eligibility ordering and no duplicate/foreign action start; fuel manager identity and empty-can headroom guards checked
PASS: actual detached node/value snapshot and conservation refuse mismatched lengths before indexed reads, retain original identities under native out-array aliasing and log bounded counts once; native cause remains unknown
PASS: actual mine evidence sealing/recovery, historical coarse publication, caps, canonical ownership, marker join retry/owner-change/stop; native arming and replicated vector-array transport untested
PASS: actual full document recovery retains authored/sealed targets, one shared spent ledger, retry/exhaustion semantics and canonical multi-player ownership alongside supplemental mine intel
PASS: actual infantry search suspension, quiet grace, finite resume, expiry/replacement and defensive/ownership boundaries
PASS: infantry combat gate precedes radio delivery and preserves non-task transports
PASS: actual HQ contact transition wakes only fit squad members, cancels only task orders and logs changes once
PASS: actual finite medicine grants, authored stock deduction, full-backpack refusal/pouch fallback, no loot replenishment, unresolved-operation quarantine and ownership/stop guards
PASS: only recent native detected/identified threats suspend hunter travel; stale/disarmed/destroyed contacts cannot strand patrols
PASS: actual hunter combat transition cancels only its travel once, holds through renewed contact and resumes after quiet; unregistered startup preserved
PASS: captured sighting retention, immutable details, expiry, replay rejection, bounded sound uncertainty/cooldown, radio loss, priority and overdue-status fairness
PASS: arrow press/release, held keys, opposing keys, disabled/menu input and firearm-only retention
PASS: town trigger and hard 700m exclusion for all observers, empty/invalid positions and final-check crossings
PASS: exact finite site squads, invalid roster/count rejection, committed-site spacing and safe fallback boundary
PASS: mortar couriers use the mobile site team and refuse permanent-only garrisons
PASS: omitted preferred mortar depot selects a surviving owned camp/mobile team; no camp, foreign cache and permanent-only sites are unavailable; historical priority retained
PASS: real-session mortar deadline, failed-support convoy admission and hunter survivor/recovery gates
PASS: native-route retry preserves delivered target, limits attempts and suspends during combat
PASS: stale/deleted AI utility cannot receive Complete; mortar HQ preflight withholds unsafe orders; mounted convoy cover never creates infantry Defend
PASS: flight crew affiliation and group precede native boarding; preparation remains bounded even while passengers wait
PASS: factionless/deleted map targets do not abort perception; faction lookup tolerates teardown; deleting helicopter releases without capture/engine access
PASS: shoot adapter waits for a physical round; bounded same-shell retries, interrupted/never-started loads, committed no-retry, order/owner changes and normal native delegation
PASS: missing/invalid faction crew defers before any native spawn or allowance insertion; all registered RHS factions have explicit soldier and medic profiles
PASS: vehicle radio issued once; pending, refusal and looting cannot duplicate or fabricate a physical radio link
PASS: actual vehicle-radio link requires the original seated crew, physical manpack and live uncaptured mission vehicle; looting, dismount, release and teardown remove it
PASS: actual hunter release preserves survivors/HQ, releases driving ownership once, delegates capture/teardown, and excludes prison/patrol/mortar from generic objective defence
PASS: actual player-entry hook latches original hunter capture before native callbacks; both release layers cancel ownership without new entities/refund; bounded current-owner guards and prior-release policy
PASS: real opening road geometry enforces wide azimuths; fresh delivered contact preempts patrol cooldown, respects radio failures and does not starve in-flight interception
PASS: delivered ground search survives the 60-second mortar cutoff, with five-minute/500m uncertainty bounds and no live target reads; mortar policy unchanged
PASS: actual scoped 10% tighter REGULAR aim error and alert perception; preserves equipment multiplier and restores vanilla behavior when unbound
PASS: physical inspection and parent-wreck retention; server-only searched/report delivery unlocks native cleanup once with a 300-second delay
PASS: bounded same-group empty-spawn retries, no casualty refill, queue retirement, delivery-gated intel, prepared-team reuse, throttled diagnostics and LOD release
PASS: production airborne memory confidence, persistence, ground coverage, confirmed losses, artillery veto, cooldown and invalid-input rules
PASS: production cover retains the carried HQ target until its deadline; airport reload waits until the drop pass and cover have finished
PASS: air logistics reservation preserves delivered search until radio handoff, excludes guards/combat/in-flight orders, and quarantines unresolved native loads/moves
PASS: actual ammunition cargo selector handles empty rifle/machinegun/sniper magazines, preserves loaded variants, excludes auxiliary launchers and tolerates missing native metadata
PASS: original 15-minute launch/loss cadence, active/captured timer disarm, saved delay reset, stop, 300m orbit and bounded close-contact standoff at 30/60/120 Hz
PASS: actual aircraft-removal notification guards owner/server/active/stop and schedules one full delay without replay extension
PASS: actual helicopter delay applies resolved Random values, preserves countdown on save failure, and leaves active flights running
PASS: hill prominence/elevation, actual road edges/heights/bends and server-only finite scout admission, pending stock, timeout and no replacements/refills
PASS: mortar duty scope excludes players, other crews, stopped/client/inactive states; only destruction releases an active assignment, while the gunner may approach the gun
PASS: random mode restrictions, full numeric ranges, independent calendar dates and strict daylight boundaries
PASS: actual killais eligibility includes the 1000m boundary, excludes players/retained bodies/dead/non-character entities and checks full 3D distance
PASS: actual generation scheduler bounds each tick, enforces deadline/candidate ceiling, validates fallback, commits only accepted positions, skips only dispensable sites, preserves required objectives/intel, and resets the next search budget
PASS: terrain placement samples world bounds, retains streaming candidates, bounds waits/work, rejects foreign fallbacks, preserves objectives/intel and validates completion
PASS: actual navigation readiness supports static meshes, yields only for loadable streaming tiles and refuses unreachable positions
PASS: real sampling handles absent airports and extraction clearance preserves geometry/navigation/flatness while selecting the correct aircraft survey
PASS: universal connector, embedded/standalone exports, multiple terrains, stable IDs, native nav configs, missing-nav visibility, path validation and overwrite protection
PASS: airfield detection accepts physical runways/towers and bounded authored markers, rejects unrelated props, water and out-of-world markers, and samples terrain height
PASS: configured airport parsing, bounded readiness, stale admission rejection and cleanup wiring
PASS: automatic default, explicit header/CLI opt-out, editor/authored-mode guards, optional airport override precedence and fresh-round saving guard
PASS: singleton identity guards, paired faction deserialization and client world-cleanup wiring
PASS: task/map/respawn getters survive delayed old destruction and preserve ordinary-mode behavior
PASS: replication hierarchy refuses absent/aliased nodes and establishes delivery dependencies idempotently
PASS: standalone old faction delegates collected once, with null/deleted owners ignored
PASS: actual terrain takeover startup skips mode-less/menu worlds, always forwards super, retains eligible/unsupported/authored/client/editor semantics
PASS: native name callback preserves authored modes, opt-outs and failures; terrain suffix follows world changes, cached resolution and confirmed takeover metadata restores on cleanup without changing scenario resource or overwriting later titles
PASS: actual terrain parent traversal, Armenhof/Nogova names, Everon alias, missing-resource fallback, empty names and bounded cycles/depth
PASS: actual loading title hooks follow late takeover/terrain changes, keep native initialization/progress updates, bound refreshes and tolerate missing headers/widgets/game
PASS: saved terrain GUIDs, defaults, restart persistence, clearing, backup recovery, corrupt-file preservation, write failures, and client write denial
PASS: startup terrain capture protects client/editor/menu worlds, default behavior, same-map loads and reload-loop recovery
PASS: actual transition waits for native startup, disconnects without bans, requires an empty session, retains every loaded mod, bounds waiting and consumes requests once
PASS: actual faction resolution reserves explicit roles, samples without replacement, substitutes disabled selections, and rejects duplicate/unknown/missing choices and insufficient pools
PASS: Random all submits persistent random roles immediately; manual mixed choices, stale/unauthorized UI guards and debounce preserved
PASS: actual content policy gates parent packs, individual factions, faction identity and finite group rotation with vanilla fallback
PASS: actual delivered road eligibility, ahead projection without chords, reservations, stock road query bounds, terrain/water/obstruction refusal and clean outputs
PASS: actual delivered-task lineage, expiry, old-order retention, native commit, release, road precision expiry and duplicate delivery
PASS: actual original-roster local handoff,100m3D bound,busy carrier/budget exclusion,origin interruption including deletedsource,normal radio delivery and per-source replay history
PASS: actual visual intake retains source/time/position/id, rejects replay, prefers usable own route, excludes simultaneous callers and conservatively resets negative-sweep dwell
PASS: actual fixture local/radio gating, immutable source/time/position, interrupted-report exclusion and exact-owner cleanup
PASS: local-handoff runner refuses wrong project/round count/insufficient deadline before runtime work
PASS: actual fixture allocator terminal/unsubmitted guard, original-group lookup and both candidate gates
PASS: actual report-derived waypoint insertion/order and tighter positive radii; no formation navigation claim
PASS: actual Place/Stop waits native pose update, bounds four attempts, preserves original position, restores pending/settled placement and respects ownership/accepted-move quarantine
PASS: actual fixture current/original recipient ownership, unresolved transfer cleanup, exact-token release and idempotent Stop
PASS: actual fixture phased-cargo readiness, bounded callbacks, captured-stock mixed-caliber selection/continuation, reservation cleanup and component magazine counts
PASS: actual inventory-fixture setup uses ordinary prison unlock before constructing its convoy-waiting probe; failed unlock cannot run fixture
PASS: actual authored storage anchors, native trace flags, own-hierarchy exclusion, external wall/vehicle obstruction, range, unknown geometry and bounded context refusal
PASS: actual Compatible and bounded stock preflight before report/claim consumption, later compatible truck, launcher controls, convoy binding, finite identities, disjoint tokens, shared report replay/cooldown, original recipients and HQ cleanup
PASS: actual finite convoy supply pool; immutable slots, shared demand state, sparse/capped discovery and permanent shutdown
PASS: actual HQ rotates finite donors, skips unavailable/contacted trucks, uses delivered reports and dispatches at most one trip per planning cadence
PASS: actual original turret identity, native/canonical guards, scoped maximum-skill profile, reset, dismount/reboard, requested-skill preservation and restoration
PASS: bounded HQ startup/memory windows and outcome-specific full-route deadlines
PASS: explicit escape-route skips only administrator stress, preserving original full-fixture wait/failure paths
PASS: normal escape route keeps ordinary catalog and generated placement; historical selectors remain unchanged
PASS: actual patrol fixture leaves prison before responder HQ proof, followed by separate permanent-patrol observation
PASS: exact patrol-hq finite responder preparation and native search-radius receipt verification
PASS: actual read migrates old valid settings, preserves explicit disabled state, rejects invalid data; next-round feedback and fixed menu remain honest
PASS: actual automatic convoy timing/authority/admission/one-attempt/manual-task/stop policy; native deployment unproved
PASS: late authoritative failure reason refreshes open result; detach, mode change and success subscriptions preserved
infantry resupply actual rules, radio transitions, owned cleanup and unresolved-operation tests passed
PASS: actual resupply Roster preserves permanent release, original slot mapping and bounded ownership
PASS: actual designated zero/one original carrier selection, settled startup, shared finite claims, no refund after submission
PASS: actual HQ startup grant readiness forwarding is authoritative and fail-closed
PASS: actual finite PMN4 designated-zero/one entitlement, pinned original ownership, shared commit, physical custody, callback quarantine/deletion and no retry
PASS: actual bounded empty-return and finite delivery; phase-isolated callbacks, exact ownership proof, stop quarantine and original actor/vehicle boundaries
PASS: actual shared finite identity reservation; competing consumers, submission permanence, stale cleanup and96-item bound
PASS: actual carried-mounted swap, shared committed claim, physical slot reach, exact two-way proof, uncertainty and terminal cleanup
PASS: actual mounted pickup, exact finite ownership, pre-submission commit, physical custody, bounded callback and quarantine lifecycle; no native coverage claim
PASS: actual mounted courier admission, radio, individual orders, two-stage transfer, reboarding, token cleanup and quarantine lifecycle
PASS: actual scoped crew permit and native board completion/failure preserves foreign seats without teleport fallback
PASS: actual shared mounted stock/history ownership, atomic exact HQ pair claim, and bounded stopped-owner proof polling
PASS: actual carried/mounted early ammunition policy and status-first shared uplink; complete threshold, phases, cooldown, failures requested check-ins and non-urgent detached carried-mine status
PASS: actual group radio startup preservation, finite native grants, callback quarantine, frozen selection/actor ownership and bounded observation
PASS: actual maintenance native-stock check rejects missing/duplicate/wrong-identity/unowned/depleted/malformed stock and is read-only; native runtime not executed
..................
----------------------------------------------------------------------
Ran 18 tests in 0.247s
OK
PASS: actual radio node rejects current incapacitation, death, ownership and faction changes despite cached inventory; one-second capability refresh remains explicit
PASS: Southern finite maintenance stock preserves weapons/clues and optional transport, historical Western fixture stays separate; native capacity/consumption untested
PASS: optional transport deferred behind required readiness, bounded once-only spawn/omission, isolated cleanup, occupied-candidate retention and required-default preservation
PASS: actual diagnostic fallback runs only on failed missing-context call, derives unique native pilot door, preserves stock eligibility and restores prior index on success/failure; diagnostics mutate no game state.
PASS: actual native-prelude cleanup restores only original changed damage, refuses stale/incapacitated/aboard teleport; bounded five-seat/four-door fixture wiring checked. Native execution remains pending.
PASS: actual CreateTransport requires successful scoped Configure after handbrake, preserves ordinary vehicles, tracks spawned entity before failures and never treats failed lock registration as ready.
PASS: actual preparation Configure guards/idempotence/breach preservation, security eligibility/final current-body server mutation and all scoped action guards; all five seat/four door resource overrides. Native hold, prefab merge, replication and boarding remain unverified.
PASS: production vehicle alarm single trigger/replica completion/no replay, fixed deadline/readiness wait, failed audio, dedicated server, moving exact handle, destruction/native end/deletion/clock and mission teardown. Native sound and multiplayer delivery require engine qualification.
PASS: production alarm emitter/receiver original time/location, explicit native queue only, 32-entry cap, 50m local witness eligibility, bound perception, native-super preservation; actual engine broadcast/hearing remains unverified.
PASS: actual optional candidate barrier, exact callback/custody proof and unchanged mine/primary snapshots; no native transfer claim
Native finite mine-stock runner: parser, scope, exclusions and command pass
PASS: actual bounded native mounted proof/detached payload/deadline/cleanup methods, production-only setup and isolated runner selector
PASS: actual one-existing-convoy candidate readiness, sender-root identity, incomplete cargo refusal and fixed three-candidate bound
PASS: actual BMP capture requires complete armed exact original resource; pinned delivery/slot checks and isolated CLI flag
PASS: actual opt-in pre-unlock isolation refuses wrong mode/phase/flag and existing hunters; no baseline service changes
PASS: actual once-only native dry query, exact before/after slots, native refusal, shutdown; shared bounded discovery and distinct opt-in verdict
PASS: actual completion selector and pre-cleanup variant capture preserve separate radio and eligibility verdicts
PASS: actual cargo diagnostic stages separate absent/foreign magazines, used/empty/invalid rounds, well mismatch and exact truck storage/attachment without mutation
PASS: actual native courier witness rejects missing radio/custody/swap/reboard evidence; CLI opt-in bounded; native success remains unqualified
PASS: actual courier constructor/Tick waits for preparation, returns before physical checks, preserves fixed deadline and sticky stop/failure; Enfusion startup awaits native verification
PASS: actual arranged native alarm fixture deadline, single emit, natural-route observation, original timestamp/area/detail assertions, natural observer proximity/activation wait, failure cleanup and independent canonical-body restoration; native delivery itself remains unqualified.
PASS: actual convoy cover observation/snapshot/uplink/HOLD/RESUME/cleanup transitions; native boundaries mocked, non-convoy runner opt-in refused
Enemy optics actual-service ownership, preservation, callback, deadline and bounded-inspection policies passed
PASS: actual delivered cover freshness/lineage/replay and canonical executor; owned waypoint-only hold, one resume at preserved route index, invalid ownership/crew/ledger refusal and fail-closed native recreation
PASS: actual Stinger show/set/help state precise actor-roll effects; read-only help, bounded values, malformed syntax and failed-save preservation; no rerolls/gameplay edits and no native persistence claim
PASS: new/retasked search and radio delivery ammo gates; active tasks and delivered release preserved
HQ convoy delivered-report planning and downlink regressions passed
PASS: actual own-inventory ammo inspection deduplicates loaded/carried/shared wells, separates chambers/launchers, freezes scalar snapshots and treats unsupported/capped/foreign inventory as unknown
PASS: actual carried PMN4 inventory, original-owner guards, bounded deduplication, independent unknown state and detached counts
PASS: actual mounted hierarchy sampling, ownership exclusion, deduplication, completeness/caps, quarter threshold and detached validation; no runtime policy or ammunition mutation
PASS: WORKBENCH opt-in diagnostics distinguish cycles/cap/storage/manager/mount failures without repeated native traversal
PASS: actual HQ original convoy-root admission rejects wrong force/server/group and never supplies replacement lookup
PASS: production mounted structural seat scan ignores >128 carried/cargo descendants, shares exact native mount/magazine ownership, preserves attachment seats and exact occupants, rejects unknown/cyclic/oversize structures; native binding still requires qualification.
PASS: native body fixture uses existing immutable actors, real production LOS/queued uplink, pre-delivery isolation, actual status overlap, bounded cleanup and no fabricated reports/spawns
PASS: actual native fixture lookup selects exact BODY kind/identity/message from bounded evaluations, never sighting-only Get
PASS: actual ammo snapshot comparison checks every scalar/category flag; native probe requires real roster rescan, loaded-round lower bound and separate immutable pending/Watch objects
PASS: actual delivered slot-union bodies preserve overlap/disjoint evidence, replay idempotence, status subset integrity, full-wipe closure and formation-local bounds
test_review_added_allowed_media_invalidates_snapshot (__main__.ReviewTests.test_review_added_allowed_media_invalidates_snapshot) ... ok
test_review_added_source_directory_rejected (__main__.ReviewTests.test_review_added_source_directory_rejected) ... ok
test_review_loose_root_resource_and_symlink_rejected (__main__.ReviewTests.test_review_loose_root_resource_and_symlink_rejected) ... ok
test_review_metadata_media_and_sidecars_remain_allowed_and_bound (__main__.ReviewTests.test_review_metadata_media_and_sidecars_remain_allowed_and_bound) ... ok
test_review_missing_link_rejected (__main__.ReviewTests.test_review_missing_link_rejected) ... ok
test_review_package_guard_sees_new_scripts (__main__.ReviewTests.test_review_package_guard_sees_new_scripts) ... ok
test_review_retargeted_private_link_rejected (__main__.ReviewTests.test_review_retargeted_private_link_rejected) ... ok
----------------------------------------------------------------------
Ran 7 tests in 0.061s
OK
PASS: actual report methods reproduce old starvation; status-first scheduler delivers check-ins and requires 30s without combat or actual visible contacts before negative reports
PASS: actual actor group lookup retains controlled character membership when seated/inherited vehicle agents differ; missing control or parent refuses
.................
----------------------------------------------------------------------
Ran 17 tests in 4.030s
OK
PASS: actual convoy motion thresholds, native-only proof boundaries, physical cargo/crew ownership and pre-launch runner restrictions
PASS: actual new measured ClearFootprint 25/441 sample grids, measured extents/height, water/invalid world/terrain/trace refusal plus legacy filled rotated-footprint TraceBox and nine terrain/water samples; broad tree/cable bounds alone accepted, actual collision/nonfinite trace refused, nonzero sweep and ENTS/OCEAN flags, bounded diagnostic query and reset
PASS: actual road interpolation/projection/orientation, six35m starts,200m forward tail, preserved bends, short/far/degenerate/nonfinite/overdense/hairpin refusal and deterministic candidate ties
PASS: actual authenticated convoy dispatch, active/ready admission gates, canonical receipt, safe unconsumed preflight retry, pool refusal, retained partial failure and consumed no-retry
PASS: actual native readiness exact membership, one-time per-vehicle ledger admission/reservation, partial readiness retry without duplicate records and one-pass56-item cargo allocation without replenishment
PASS: actual per-vehicle readiness reasons, native agent/activity counts, intended-seat diagnostics, five-second throttle and read-only observation
PASS: actual convoy dispatch validates before receipt consumption, consumes once before native mutation, retains all10 partial-failure paths, accepts the selected non-USSR enemy, and allocates exact10 bodies without capacity shrinking
PASS: own memberless prefab disables automatic spawn before initialization; actual admission rejects populated, immediate or authored-slot templates before finite crew creation
PASS: actual native seated-group arrival outside35m, native waypoint removal, idempotent advance, and convoy waypoint idempotence/arrival/deadline, missing/dead/captured/reparented crew refusal, failed native waypoint release, original vehicle/member preservation and no replacement
PASS: actual convoy/team Release retains original active survivors and HQ identity, rejects takeover/terminal/unknown roster, preserves exact logistics quarantine and normal eligibility
PASS: actual convoy receipt identity/one-use, shared60-body and128-formation caps, outstanding/native-ledger accounting, exact10-body composition, source reuse, mode/client guards and no consumed receipt refunds
PASS: actual supply route cycling/arrival/stops, finite startup bounds, contact freshness, dismount hold, quiet interval, interrupted boarding, timeout and lost-truck release
PASS: moving-convoy perception boundaries and scoped individual/group abandonment priorities
PASS: actual supply startup reasons expose unchanged body budget/requirement, journal only failure changes, preserve retry cadence/caps and report the true final refusal
PASS: actual combat start releases only exact intercept claims before owning route/orders; foreign claim defers combat takeover
PASS: actual StartOne plus actual pool preserve unconsumed receipt retry, reject consumed replay, skip impossible new-budget surveys, retain equality, retry caps and journal dedup; no FPS claim
PASS: actual admission seeds use exact installed loaded prefab, reject replacement/foreign/projectile paths and preserve bounded immutable identity
PASS: actual primary-before-mounted one-shot batch, shared96/128 caps, physical snapshot headroom, original ownership, callback refusal and admission pinning
PASS: actual bounded HQ query validates only existing original binding without admission or replacement lookup
PASS: exact optional PMN4 startup, primary callback independence, original owner,128 capacity/callback limits, terminal no-retry and callback-proven freeze
PASS: production convoy spacing, physical arrival, stable follower targets, supply ownership, leader promotion and bounded stuck recovery
PASS: convoy combat keeps native manoeuvres for unchanged contacts and refreshes when contact moves
PASS: native convoy proof excludes pre-departure movement and ends via explicit fixture reset, not prohibited player death
PASS: boarding retries only after approach/seat progress stops, capped at three, with delayed native reissue and completed-team preservation
PASS: slow only owned vehicles near fit dismounted infantry; ignore passengers, casualties and released teams/vehicles
PASS: restore missing native driving registration only for healthy owned seated crews; preserve existing association and refuse invalid/released vehicles
PASS: actual convoy support preserves visual cover and ongoing approach, retries masked arrived positions, withholds unsafe moves and preserves ammo withdrawal
PASS: actual body observer enforces owned physical roster, local death-only candidates, native trace gating, budget/cadence/caps, immutable body-only snapshots, radio retries and confirmed suppression
PASS: own initial roster, explicit retained corpse evidence, unconscious/missing/ref transfer guards, fixed strength, no replacement adoption, detached samples, surviving radio sender, immutable convoy root/ledger, mounted capture release and lost-root unknown
PASS: delivered-only status snapshots, two missed check-ins/reply deadline, last reported coordinates, episode/replay guards, confirmed-loss idempotence, detached/validated mounted payload replacement 256-record cap and detached carried-mine radio delivery/chronology
PASS: actual failed-retask deadline rollback plus assignment cancellation/release preserves radio ownership, native waypoint lifecycle and failed-order retry boundaries
PASS: actual force ledger, finite casualties/identity/cap, routes/arrival/elevation/overshoot, server and physical guards, staggered 256-record simulated hour without world queries
PASS: actual equipment coordinator registration dedupe, startup delay, five member scans, finite component retries, unregister/stop terminal behavior and 256-group bound
PASS: actual percentage selection, native/preferred launcher preservation, failure/removal fallback, pending-operation quarantine, capture, finite two-mine grants and no replenishment
PASS: automatic inventory one-shot roll, exact item ownership, finite compatible ammo, rejection, capture/stop, deletion, loot and late callback quarantine
PASS: enabled/valid catalog eligibility, category restrictions, content filtering, GUID deduplication across factions and bounded catalogs
PASS: actual engineer native group-envelope admission and phase cancellation, preparation/deadline, original custody/identity, once-only callback removal, cancellation quarantine, withdrawal/clearance, native refusal and owned-action cleanup; native execution untested
PASS: actual mine selector respects road and settlement flank safety; native boundaries doubled
PASS: actual HQ and post ledger: second delivered post, one query/tick,2 active/32 jobs,4 consumed lifetime attempts, no-stock/query refusal consumption, pending old job and original identity constraints
PASS: actual mine post ledger immutable history, strict chronology/evidence, aliases, >160m separation, detached sites and finite4/32 consumed attempts
PASS: actual objective heading/threat/approach rules, persistent doctrine weight, fresh-contact coverage invalidation, stale-sweep rejection and atomic radio retask ownership
PASS: actual bounded delivered-negative coverage, replay/freshness/expiry/invalid guards, oldest eviction, small-circle and nearest-unswept selection, reserved-cell exclusion and cleanup
PASS: actual HQ active/pending reservations, interruption, committed replacement, bounded coverage and unchanged force counts
PASS: actual bounded pursuit roles/objectives/scores, stale search degradation, physical/busy/home guards, finite lifetime and two-bearing escape gap; no hidden player reads or spawning
PASS: actual finite45..110 radius and both ordinary search queue snapshot expressions
PASS: actual HQ memory rules/service preserve delivered snapshots, chronology, replay bounds, decay, motion limits, identity and negative-search revisions
..........
----------------------------------------------------------------------
Ran 10 tests in 0.236s
OK
PASS: actual session Tick + journal router delivers each grant completion and new HQ line once, without repeats on empty/unavailable feeds or unauthorized ticks
.....
----------------------------------------------------------------------
Ran 5 tests in 0.466s
OK
PASS: actual current-controller/admin/mode authorization, per-round anti-replay, token-rotation refusal, command/snapshot throttles and client scope; owner-only replies and player-tool cleanup wiring
PASS: mission provider registration is idempotent, optional dispatch is ordered, status aggregates, journals preserve cursors, aliases stay with their addons and topic help is bounded
PASS: actual menu command routing covers all nineteen settings, rejects unsupported keys, gates companions, and matches unique authored widgets
PASS: explicit weapon retention buttons use the same ready/authorized server command path
PASS: item editor, preset controls and dynamic item-row layout are structurally valid
PASS: catalog requests use authenticated sessions, independent admin page selections, loaded-mod allowlisting, bounded pages and allowlisted item mutations
PASS: actual item rules, shared-source conflicts, missing/returning mods, bulk reset, independent named presets, bounds, malformed data and failed-save state preservation
PASS: actual summaries preserve queued/delivered meaning, clear counts and IDs; raw records, legacy display, cursor gaps and RPC limits remain intact
PASS: actual admin body authorization, god restoration, vanilla item deposit, callback completion/failure, timeout quarantine and stop/revocation paths
PASS: same-body revoke/regrant preserves pending insertions and timeout quarantine; new-body binding isolates late callbacks and never inherits god mode
PASS: actual Intel commands distinguish status/start/failure, preserve authorization gate and reject malformed requests; spent ledger is idempotent, server-only and bounded
PASS: actual reroll snapshot, authority, cancellation, ownership, accepted operations, quarantine, bounded work and stop methods; no native runtime claim
PASS: production Intel feedback coalescing, rough secrecy, rate limit, bounded dedupe, local/remote delivery and round cleanup; native UI/RPC not exercised
PASS: actual per-squad bounded report selector rotates visible targets, survives ordering/turnover, records only queued attempts, and preserves radio intake ordering
PASS: actual action denial/clearing, server request failure, single submitted-result feedback, current rescuer identity and terminal/stop suppression; native UI/RPC pending
PASS: actual physical denial precedence and transport-seat occupancy/reservation/access/lock checks
PASS: actual initial admission exhaustion and ServerTick grace; new/pending/empty/controller/life guards, normal death preserved
......................
----------------------------------------------------------------------
Ran 22 tests in 0.231s
OK
......................
----------------------------------------------------------------------
Ran 22 tests in 24.361s
OK
..................
----------------------------------------------------------------------
Ran 18 tests in 2.710s
OK
.........
----------------------------------------------------------------------
Ran 9 tests in 2.220s
OK
...............
----------------------------------------------------------------------
Ran 15 tests in 1.024s
OK
PASS: actual field result/braking observer and Chat dispatch rules; one finite fixed candidate, deferred callback failure and guarded cleanup; no native measurement
PASS: actual opt-in terrain audit records one fixed1681-point grid, preserves original survey refusal/success and exact no-allocation scope; malformed heights stop without retry; no native data acquired
....
----------------------------------------------------------------------
Ran 4 tests in 0.570s
OK
PASS: actual field PI/ramp/vector caps, antiwindup, braking hypothesis, immutable admission limits and segment bounds; no native physics tested
PASS: actual100m whole-field survey sampling/4096cap, rotated coverage, all-node terrain and native trace refusal; original certificate lineage retained; no native qualification
PASS: actual QualifyField preserves original identity/footprint/time, orders complete surveys before issuance, and refuses failed stages/moved body/expired or changed world; native boundaries faked
PASS: WORKBENCH first-refusal diagnostics preserve ordinary predicates, query order/count/budget and opt-in scope; no native logging run
PASS: actual field startup delegation, immutable lease/target, braking/settling/cancel transitions, early abort, callback scope, physical terminal policy and shared landing demand; native boundaries faked
PASS: actual inherited airborne pre-CLIMB cancellation enables verified native autohover once, refuses failed enable and never writes after capture
PASS: actual Core maintenance/default/tick/stop methods; empty/populated authority, terminal reentry, no tactical resume or new scheduler; native boundaries substituted
PASS: actual finite registration, unique claims/tokens, retention/cancel/stop, readiness gating, capture/expiry retirement and bounded cross-kind order history and typed field/route construction; native boundaries faked
PASS: actual WORKBENCH route observer returns exact retained route subtype and refuses absent/field controllers
.....
----------------------------------------------------------------------
Ran 5 tests in 0.725s
OK
......................
----------------------------------------------------------------------
Ran 22 tests in 0.210s
OK
................
----------------------------------------------------------------------
Ran 16 tests in 9.717s
OK
......
----------------------------------------------------------------------
Ran 6 tests in 0.017s
OK
PASS: actual production bridge lookup, lease/world/mode/seat/capture guards, no allocation, native super ordering and read-only fixture hooks
...............
----------------------------------------------------------------------
Ran 15 tests in 0.050s
OK
.............
----------------------------------------------------------------------
Ran 13 tests in 4.838s
OK
PASS: actual route gain/caps/braking, callback selection, old landing/cancellation control and matching read-only telemetry
..............................
----------------------------------------------------------------------
Ran 30 tests in 0.378s
OK
..............
----------------------------------------------------------------------
Ran 14 tests in 0.183s
OK
.........
----------------------------------------------------------------------
Ran 9 tests in 0.101s
OK
PASS: actual gate observer binds native registered action/context and current life, reads accumulated progress, refuses stale bindings and never revives outside original bounds
PASS: actual read-only look observer methods enforce explicit scope, pinned native camera/body/identity, normalized pose, terminal cancellation and original sample/time bounds
...........
----------------------------------------------------------------------
Ran 11 tests in 0.063s
OK
.......................
----------------------------------------------------------------------
Ran 23 tests in 0.038s
OK
PASS: actual initial WAITING task/guide copy, configured duration, unchanged interruption and rounded progress; native task assertion pending
........
----------------------------------------------------------------------
Ran 8 tests in 0.013s
OK
PASS: actual inventory adapter scope, grid placement, sole compatible host, refresh reuse, rollback, foreign hierarchy refusal and exactly-once native delegation; native compatibility pending
.................................................................................
----------------------------------------------------------------------
Ran 81 tests in 0.511s
OK
......
----------------------------------------------------------------------
Ran 6 tests in 0.065s
OK
.................
----------------------------------------------------------------------
Ran 17 tests in 0.004s
OK
...........
----------------------------------------------------------------------
Ran 11 tests in 0.100s
OK
.........
----------------------------------------------------------------------
Ran 9 tests in 0.372s
OK
PASS: actual observer nonce, admission pins, baseline/menu sequencing, snapshots, bounded clocks/samples, cleanup and one-attempt latch; native untested
PASS: actual corridor caps/height/hold and whole-rectangle survey bounds, terrain refusal, native trace refusal and exact certificate lineage; native route unqualified
PASS: actual route entry, fixed corridor/target, hover hold, cancellation landing freeze, shared lease/capture/deadline gate and unchanged native startup/tick sequence
PASS: finite opt-in route fixture, original native input order, meaningful physical-arrival evidence and guarded cleanup; no native launch
PASS: actual Chat route step result dispatch and scoped completion/cleanup wiring; six real early-parser refusal paths leave no prefix/profile output
PASS: actual retained-service fixture entry, immutable controller/token/deadline/count bindings, observer getter and cleanup ownership ordering; native route validation pending
PASS: actual measured cancellation gate, one-shot retained service Stop, no premature drain, immutable lease, fresh real controller readback and separate physical cancellation result policy
PASS: actual rough-intel objective selection, exact precedence, source grid dimensions and unchanged other-phase dispatch; native UI pending
.................................
----------------------------------------------------------------------
Ran 33 tests in 0.085s
OK
...............
----------------------------------------------------------------------
Ran 15 tests in 0.032s
OK
PASS: actual preparation status scope, persistent updates, spinner restoration, placeholder replacement/deletion/destruction, native observation persistence/timeout; rendering remains native-pending
PASS: replaced respawn system receives frame updates, disabled updater wakes, stale/non-Escape binding refused; terminal and stale preload leases release black overlay
PASS: actual guide ownership and scoped timer cancellation, current-controller preservation/reacquisition, hint retry/dedup and observer boundaries; native UI not exercised
PASS: actual native-end shutdown, existing terminal snapshots, reentrancy, unchanged native end data and stale preparation guards
....
----------------------------------------------------------------------
Ran 4 tests in 1.502s
OK
PASS: actual three-state result wording and UI refresh; stale winner IDs never manufacture escape
...........
----------------------------------------------------------------------
Ran 11 tests in 0.107s
OK
PASS: actual immutable target, bounded autohover demand, drift refusal, five-second hold and unchanged qualification/deadline
PASS: actual admission attempt budget bounds blocked/missing prerequisites; preparation, spent life and async pending remain protected
PASS: delayed admission retry retains controller ownership across same-account recycled connection IDs
PASS: actual scene deadline overrides delayed native preload only for rejection; late completion cannot assign, ordinary verified admission preserved
PASS: actual action permission matrix unchanged; useful phase/intel/consciousness denials, stale reason cleared, native door denial preserved; no native UI claim
.....
----------------------------------------------------------------------
Ran 5 tests in 0.195s
OK
PASS: actual aircraft cancellation/stage rules, ground-only completion, expiry/capture faults, input ownership and no physical shortcuts
PASS: actual exact-instance single-use qualification, native-clock staleness/movement refusal, footprint bounds and ownership-safe ground/fault cleanup
PASS: actual optional screenshot helper flag/identity/world/life revalidation, one queued attempt, delayed capture and mission/world cleanup; no native image/presentation claim
PASS: actual yard diagnostic exact registered prison ownership, eight native-bound corner projections, no root-sibling escape, bounded duplicate/deep/wide hierarchy traversal; native projection/mask still unmeasured
PASS: actual CurrentActor, SpawnPosition and observer-selection methods reject pending/unregistered/replaced/recycled/foreign bodies; canonical live selection and roster-corpse cycling, unconscious following and prison/geometry fallback preserved; native boundaries adapted
PASS: actual native-map fixture ownership, cleanup and callback evidence fail closed; native execution remains separate
PASS: actual shared-map callbacks bind exact map/config/root, preserve replacement UI/camera, defer focus, and remove only owned delayed work
PASS: actual Intel/HQ methods and one-shot qualified readiness handoff deliver late actors once; duplicate readiness, accepted spawn, pickup/drop, death and original negative rolls do not mint assignments
PASS: Workbench-only read accessor rejects unknown/nonserver identities; Chat observes all distinct ready crew before existing shell-depletion mutation
PASS: actual native-event latch survives deselection, requires exact activity/order, detaches before cleanup, preserves failure/timeout and never infers completion from physical shot count
.........
----------------------------------------------------------------------
Ran 9 tests in 0.109s
OK
PASS: actual refresh-fixture gates pin immutable observations/actual downlinks/original activity, reject unaccepted or relabelled commits, stop queueing early and require all queued contacts claimed before replay
..........................
----------------------------------------------------------------------
Ran 26 tests in 0.187s
OK
PASS: actual refresh scheduler/delivery/cancellation/projectile methods reject interrupted or replayed reports, retain committed ownership, preserve immutable snapshots/aim geometry and isolate stopped or replaced orders; native radio/crew behavior remains separate
.....................
----------------------------------------------------------------------
Ran 21 tests in 0.039s
OK
...........
----------------------------------------------------------------------
Ran 11 tests in 0.031s
OK
PASS: actual full-salvo gates require eight fresh committed physical launches, natural closure and exact finite inventory; reject partial/extra/replayed events
PASS: actual reason/availability guidance and refresh matrix; no-target copy omits cycling, hint retry retained, existing command/admin paths unchanged; native UI pending
PASS: actual client camera policy closes immediately on healing or mission end; late unconscious metadata cannot keep the view active
PASS: actual input dispatch, one press per edge, menu-held suppression; actual revival camera handoff with editor close/retry, missing camera, replacement body and stopped round
................usage: test_native_package.py [-h] [--project {core}] --session SESSION
--compat COMPAT [--steam STEAM]
[--timeout TIMEOUT]
[--external-addons EXTERNAL_ADDONS]
[--silent-workbench | --exit-after-init]
[--continue-on-failure]
test_native_package.py: error: argument --exit-after-init: not allowed with argument --silent-workbench
................................
----------------------------------------------------------------------
Ran 48 tests in 13.690s
OK
.......
----------------------------------------------------------------------
Ran 7 tests in 0.255s
OK
...............
----------------------------------------------------------------------
Ran 15 tests in 2.792s
OK
....
----------------------------------------------------------------------
Ran 4 tests in 0.278s
OK
....
----------------------------------------------------------------------
Ran 4 tests in 0.055s
OK
PASS: actual finite-courier age, token, exact ownership/callback and delivered-status admission reject stale, replayed, captured, canceled and ambiguous work
PASS: actual native-gun ownership gate rejects player/foreign/replaced/dead occupant, faction change, missing seat and missing registry
PASS: four-battery courier selection preserves pending trip/report/transfer identity, skips unavailable crews, and selects the next depleted battery without new stock
PASS: 64 bounded distinct storage candidates; native gates, five-store barrier and finite-stock ownership retained; native placement pending
PASS: 128 coarse+80 local refinement+169 airport grid candidates retain all native clearance gates; real terrain untested
PASS: actual prison registration/crossing policies reject missing/duplicate/destroyed initial gate, incomplete ownership/scan, outside-only body, jumps and stale samples; physical exit independent of later gate damage
PASS: actual prison door execution blocks direct AI/UI bypass while locked and delegates unchanged native action once after unlock and permission approval
..................
----------------------------------------------------------------------
Ran 18 tests in 1.949s
OK
.....
----------------------------------------------------------------------
Ran 5 tests in 1.101s
OK
PASS: native local-admission snapshot rejects changed life/key/body/participant/pending state; authentication is not simulated
PASS: actual mortar report ledger prevents duplicate response after cancellation, expiry and interleaved reports; native scheduler separate
.........
----------------------------------------------------------------------
Ran 9 tests in 0.015s
OK
....
----------------------------------------------------------------------
Ran 4 tests in 0.152s
OK
PASS: actual aim renewal requires fresh same-report solve and original-command equivalence; native firing untested
.........
----------------------------------------------------------------------
Ran 9 tests in 0.044s
OK
PASS: actual startup/generation/ownership/timeout/callback policies and native-counter wait; integration preserves one-shot allocation and pending-crew cancellation
PASS: rapid mortar cycle counts eight physical rounds once and waits for native completion without a ninth aim or shell
PASS: actual probe binds native events to fresh immutable commits, permits delayed emission, rejects unrelated expiry closure and premature stop
PASS: actual noSplash Load body requires both explicit diagnostic and noSplash, preserves vanilla otherwise, and handles repeated Load/reload
PASS: actual fixture method permits one native resilience operation and restores either prior protection state, including failure paths
PASS: actual safe-exit boundary policy, native action/door selection, stop/cache cleanup, separate old mechanism and opt-in runner contracts
PASS: actual one-shot deadline/stability policies and preparation ownership, fuel, cleanup integration contracts
PASS: pending-only cancellation retires copied instance intent, preserves physical/control actors, and stops once
PASS: actual short-cast hit, upward support normal, no self support and no dynamic support
PASS: actual committed-ticket structure preserves reservation after death, rejects missing bodies/seats and ends at observation expiry
PASS: actual pending callback expires an empty-server reservation once, preserves its full lease, and cancels on completion/Stop
PASS: rescue lease expiry/reordering, fresh five-second settling, independent rescue ranges and grounded upright aircraft motion boundaries
PASS: requested guard population requires complete physical conscious membership before deadline
......................................
----------------------------------------------------------------------
Ran 38 tests in 0.017s
OK
..........
----------------------------------------------------------------------
Ran 10 tests in 0.002s
OK
.....
----------------------------------------------------------------------
Ran 5 tests in 0.948s
OK
PASS: authored radio/optional-site bounds and physical horizontal/vertical boundaries
...
----------------------------------------------------------------------
Ran 3 tests in 0.001s
OK
PASS: all phase transitions, terminal states, defence boundaries, stale/future observations, intel discovery
PASS: Core document-discovery alias, companion-only alias exclusion, strict integer parsing and setting boundaries
PASS: player admission phase/life/identity/controller matrix, preload displacement limits, pending reservation overlap and owner exclusion
PASS: actual gate and pre-inventory document guards reject noncanonical/faction/life/disconnect/server mismatches; canonical reconnect and unconscious carried intel preserved
PASS: WB-only native fault injection restores both body mutations before checks/returns and requires eligible held-document negative/positive proof; runtime pending
PASS: actual discovery coordinates disclose stable 500m cell center until identified, then exact point, including negative/boundary coordinates
PASS: actual local admission context/selection/latch, same-round late identity, replacement/mode failure, fresh round and untouched network path
PASS: prison search packs 16 unique 3m-spaced inside-wall centers, prioritizes inner/edge positions and never bypasses clearance
PASS: physical body occupancy rejects overlap, permits diagonal neighboring slots, and excludes own body and unrelated broad-phase bounds
PASS: recovery state excludes dead bodies, preserves reservations, requires controlled rescuers and distinguishes empty/all-dead teams
PASS: actual native-probe lifecycle/counters with doubled boundaries; fixed deadline, exact seven sources, true forwarding, async close, no late updates and selector wiring
PASS: actual one-argument adapter, explicit refresh, native initialization flag, duplicate/blood ownership, rebind/detach/destruction and foreign-mode transparency
PASS: authority-scoped slow recovery, bleeding pauses resilience, medicine unaffected, player-only lethal damage cap without healing
PASS: bleeding severity survives low health, retains armour, causes no knockout and restores the actual damage/blood-loss cap
PASS: viable passive recovery survives native delay; bleeding, disabled/full effects and low-blood resilience do not block defeat
PASS: every minute round-trips, malformed clocks rejected, defaults limited to added keys, progression bounds and day duration aligned
PASS: native settings policy matches calendar boundaries 1900-2050, date/profile parsing is strict, authored defaults preserve old worlds
PASS: view-distance bounds, default, save failures, command parsing, temporary ownership, server/platform limits and lifecycle wiring
.....
----------------------------------------------------------------------
Ran 5 tests in 0.571s
OK
.
----------------------------------------------------------------------
Ran 1 test in 0.369s
OK
PASS: radio authorization/discovery/phase matrix, exact distance limits, defender handover, interruption, empty samples, clock regression and duration boundary
PASS: actual radio feedback policy, initial wait, interruption persistence, resumption and terminal/new-round reset
...............
----------------------------------------------------------------------
Ran 15 tests in 2.057s
OK
..............................................
----------------------------------------------------------------------
Ran 46 tests in 0.879s
OK
PASS: legacy values preserved, unsupported fields reported, invalid data rejected, existing files protected, runtime bounds aligned
PASS: failed initial settings promotion leaves defaults writable after restart; prior/fallback saves survive copy, readback and mismatch faults
PASS: real-carrier shortest-hop paths, 500m boundary, three-hop cap, no-manpack failure, three-second originating-call interruption, unchanged downlink hop timing, completed-hop survival, interrupted final uplink, radio loss, capture, motion, timeout, reset and network bounds
PASS: migrated aircraft availability policy (controller migration still pending)
PASS: migrated salvo offsets are deterministic, spread and bounded (native firing and complete salvo qualification are separate)
All repository checks passed. Native compilation and multiplayer tests are separate requirements.
@@ -0,0 +1,138 @@
---------------------------------------------
Log /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/logs/logs_2026-10-05_19-27-14/console.log started at 2026-10-05 19:27:14 (2026-10-05 17:27:14 UTC)
19:27:14.079 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/logs/logs_2026-10-05_19-27-14' to filesystem under name logs
19:27:14.079 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/profile' to filesystem under name profile
19:27:14.079 ENGINE : FileSystem: Current working directory: '/tmp/runtime/'
19:27:14.080 ENGINE : Initializing engine, version 192142
19:27:14.080 ENGINE : CLI Params: -server {C1E20667DCE324ED}Missions/ERR_Everon.conf -addonsDir /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons -addons 2528466DE220D91C,70C981A53E02B64F -profile /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile -noBackend -noSound -bindIP 127.0.0.1 -bindPort 2001 -maxFPS 30 -logconsole -noSplash -noThrow -disableCrashReporter
19:27:14.083 ENGINE : Addon dirs:
19:27:14.083 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons'
19:27:14.083 ENGINE : dir: './addons'
19:27:14.083 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/addons'
19:27:14.083 ENGINE : Available addons:
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:27:14.083 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:27:14.083 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
19:27:14.083 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
19:27:14.083 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/gabreta/addons/NogovaReforger' to filesystem under name NogovaReforger
19:27:14.083 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/source' to filesystem under name ERR_Core
19:27:14.084 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_65930CB4CD0237B2/' (pak count: 1) to filesystem under name Parachutes
19:27:14.084 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
19:27:14.084 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
19:27:14.085 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
19:27:14.089 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
19:27:14.089 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
19:27:14.092 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
19:27:14.181 ENGINE : FileSystem: Adding package './addons/data/' (pak count: 14) to filesystem under name ArmaReforger
19:27:14.182 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
19:27:14.182 ENGINE : CPU vendor : AuthenticAMD
19:27:14.182 ENGINE : CPU type : 2
19:27:14.182 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
19:27:14.182 ENGINE : CPU cache info : Unknown cache
19:27:14.182 ENGINE : CPU count logical : 16
19:27:14.182 ENGINE : CPU count physical : 8
19:27:14.182 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
19:27:14.182 RESOURCES : ResourceDB: loading cache (id=0 name=NogovaReforger path=/home/jakub/devel/gabreta/addons/NogovaReforger/resourceDatabase.rdb)
19:27:14.192 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/source/resourceDatabase.rdb)
19:27:14.192 RESOURCES : ResourceDB: loading cache (id=2 name=Parachutes path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_65930CB4CD0237B2/resourceDatabase.rdb)
19:27:14.192 RESOURCES : ResourceDB: loading cache (id=3 name=WCS_BMP-1 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
19:27:14.193 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_SpaceCore path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
19:27:14.193 RESOURCES : ResourceDB: loading cache (id=5 name=WCS_Armaments path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
19:27:14.195 RESOURCES : ResourceDB: loading cache (id=6 name=RHS_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
19:27:14.205 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Content_02 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
19:27:14.206 RESOURCES : ResourceDB: loading cache (id=8 name=RHS_Content_01 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
19:27:14.211 RESOURCES : ResourceDB: loading cache (id=9 name=ArmaReforger path=./addons/data/resourceDatabase.rdb)
19:27:14.335 RESOURCES : ResourceDB: loading cache (id=10 name=core path=./addons/core/resourceDatabase.rdb)
19:27:14.337 RESOURCES : ResourceDB: loading cache (id=11 name=profile path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/profile/resourceDatabase.rdb)
19:27:14.337 RESOURCES : ResourceDB: loading cache (id=12 name=logs path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/profile/logs/logs_2026-10-05_19-27-14/resourceDatabase.rdb)
19:27:14.527 ENGINE : GameProject load
19:27:14.527 ENGINE : Loaded addons:
19:27:14.527 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
19:27:14.527 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:27:14.527 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:27:14.528 ENGINE : GameProject load
19:27:14.528 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_595F2BF2F44836FB/addon.gproj"
19:27:14.528 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
19:27:14.528 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_629B2BA37EFFD577/addon.gproj"
19:27:14.528 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
19:27:14.528 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
19:27:14.528 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
19:27:14.528 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-compile-final/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
19:27:14.528 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
19:27:14.529 ENGINE : Loading custom engine user config '$profile:.save/settings/ReforgerEngineSettings.conf'
19:27:14.529 ENGINE : No Enfusion settings file loaded. Continuing with defaults
19:27:14.529 RENDER : Basic screen setup:
19:27:14.529 RENDER : Back buffer width x height: 0x0
19:27:14.529 RENDER : Back buffer format : TEXFMT_UNKNOWN (0)
19:27:14.529 RENDER : MSAA : none
19:27:14.529 RENDER : GPU_DUMMY (0xFFFF) (Enfusion dummy render) with 1 GPU detected, VRAM 128MB (fast 128MB), shared 128MB, driver version Unknown version
19:27:14.529 RENDER : Detected output devices:
19:27:14.529 RENDER : * 1 device/s connected to Dummy:
19:27:14.529 RENDER : Dummy output (Dummy device for our dummy render.), 1920x1080 (offset 0x0), 60Hz
19:27:14.529 RENDER : Concurrent frames limit 2
19:27:14.529 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=7
19:27:14.542 PROFILING : Settings changed took: 0.021000 ms
19:27:14.544 ENGINE : Initializing inputs.
19:27:14.551 NETWORK : Initializing networking.
19:27:14.551 NETWORK : Using new GameRplScheduler.
19:27:14.551 SCRIPT : SCRIPT : Initializing scripts
19:27:14.551 SCRIPT : SCRIPT : ScriptProjectManager init
19:27:14.552 PROFILING : ScriptProjectManager init took: 0.008000 ms
19:27:14.567 PROFILING : Initializing scripts took: 15.976000 ms
19:27:14.568 BACKEND : Backend Services are disabled.
19:27:14.568 ENGINE : Enfusion engine successfully created.
19:27:14.570 GUI : Using default language (en_us)
19:27:14.570 GUI : Loading 'en_us' localization file.
19:27:14.570 INIT : INIT : Loading StringTable
19:27:14.593 PROFILING : Loading StringTable took: 23.074000 ms
19:27:14.594 SCRIPT : SCRIPT : Compiling GameLib scripts
19:27:14.621 SCRIPT : Module: GameLib; loaded 466x files; 608x classes; used 654K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
19:27:14.622 PROFILING : Compiling GameLib scripts took: 28.048000 ms
19:27:14.622 SCRIPT : SCRIPT : Compiling Game scripts
19:27:15.193 SCRIPT : Compiling Game scripts
19:27:15.193 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables
19:27:15.554 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
19:27:15.554 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
19:27:15.831 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,359": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:27:15.847 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
19:27:15.889 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
19:27:16.043 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
19:27:16.043 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
19:27:16.043 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
19:27:16.043 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
19:27:16.076 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
19:27:16.124 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
19:27:16.134 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
19:27:16.134 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
19:27:16.136 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
19:27:16.189 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:27:16.190 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:27:16.193 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
19:27:16.193 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
19:27:16.266 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
19:27:16.439 SCRIPT : Module: Game; loaded 6730x files; 13503x classes; used 33419K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS,WCS_DEFINES_SPACECORE"; CRC32: 0882e2c2
19:27:16.458 PROFILING : Compiling Game scripts took: 1836.076000 ms
19:27:16.458 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
19:27:16.486 ENGINE : Game successfully created.
19:27:16.552 PLATFORM : Save data from container 'settings' have been loaded
19:27:16.651 PLATFORM : Save data from container 'sessions' have been loaded
19:27:16.651 PLATFORM : System language differs from the saved one - using new language {new: 'en_us'; old: ''}
19:27:16.651 PLATFORM : Save data transaction to 'settings' started.
19:27:16.652 NETWORK : Starting local multiplayer server using command line args.
19:27:16.741 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{C1E20667DCE324ED}Missions/ERR_Everon.conf'.
@@ -0,0 +1,109 @@
modded class SCR_ChimeraAIAgent
{
void ProbeHuntRelease() { ERR_PrisonPhaseChanged(ERR_Phase.PRISON, ERR_Phase.RADIO_SEARCH); SetPermanentLOD(0); ActivateAI(); }
}
modded class ERR_HunterService
{
ERR_HunterVehicle ProbeHuntUnit(vector position, vector angles, int ordinal)
{
ERR_HunterVehicle unit = new ERR_HunterVehicle(); unit.Source = "hunt-probe-" + ordinal.ToString();
unit.TroopTransport = ordinal == 2;
unit.Entity = Vehicle.Cast(ERR_Actors.Spawn(ERR_HunterFleetRules.VehiclePrefab(ordinal), position, angles));
unit.Group = SCR_AIGroup.Cast(ERR_Actors.Spawn(ERR_ConvoyResources.GroupPrefab(), position));
if (!unit.Entity || !unit.Group || !FillCrew(unit)) return null;
unit.Group.SetPermanentLOD(0); unit.Group.ActivateAI();
return unit;
}
}
modded class ERR_HunterTactics
{
bool ProbeHuntBegin(float now)
{
foreach (IEntity member : Unit.Members)
{
AIControlComponent control = AIControlComponent.Cast(member.FindComponent(AIControlComponent));
SCR_ChimeraAIAgent agent = SCR_ChimeraAIAgent.Cast(control.GetControlAIAgent()); if (agent) agent.ProbeHuntRelease();
}
SCR_AIGroupUtilityComponent utility = Unit.Group.GetGroupUtilityComponent();
SCR_AIVehicleUsageComponent usage = SCR_AIVehicleUsageComponent.Cast(Unit.Entity.FindComponent(SCR_AIVehicleUsageComponent));
if (utility && usage) utility.AddUsableVehicle(usage);
if (!Move(Stage, 35)) return false;
Delivered = true; State = 1; Deadline = now + ERR_HunterAttackRules.ManeuverBudget(m_TravelDistance);
m_ApproachStarted = now; m_ApproachProgress = now; m_ApproachPosition = Unit.Entity.GetOrigin();
if (Role == 0) foreach (IEntity crew : Unit.Members) ERR_ConvoyMountedCrew.Hold(crew, Unit.Entity);
return true;
}
}
modded class ArmaReforgerScripted
{
protected ref ERR_HunterOpeningPlan m_HuntPlan;
protected ref ERR_HunterService m_HuntService;
protected ref ERR_HunterAttack m_HuntAttack;
protected ref array<ref ERR_HunterVehicle> m_HuntUnits = {};
protected ref array<vector> m_HuntStarts = {};
protected int m_HuntPhase;
protected float m_HuntNext;
protected float m_HuntStarted;
override void OnUpdate(BaseWorld world, float timeslice)
{
super.OnUpdate(world, timeslice);
ERR_GameMode mode = ERR_GameMode.Get();
if (!mode || mode.Phase() < ERR_Phase.PRISON || m_HuntPhase == 3) return;
float now = world.GetWorldTime(); if (now < m_HuntNext) return; m_HuntNext = now + 1000;
if (m_HuntPhase == 0)
{
if (!m_HuntPlan)
{
vector center, angles;
if (!ERR_SupplyConvoySystem.ApproachDirected("6880 0 3500", center, angles, 500))
{ Print("ERR HUNT FAILED test contact road"); m_HuntPhase = 3; return; }
PrintFormat("ERR HUNT CONTACT: point=%1 water=%2", center, ChimeraWorldUtils.TryGetWaterSurfaceSimple(world, center));
m_HuntPlan = new ERR_HunterOpeningPlan(center, 1000);
}
array<IEntity> players = {}; m_HuntPlan.Step(players); if (!m_HuntPlan.Done()) return;
if (!m_HuntPlan.Ready()) { Print("ERR HUNT FAILED opening"); m_HuntPhase = 3; return; }
m_HuntService = new ERR_HunterService(mode, null);
for (int i = 0; i < 3; i++)
{
ERR_HunterVehicle unit = m_HuntService.ProbeHuntUnit(m_HuntPlan.Positions[i], m_HuntPlan.Angles[i], i);
if (!unit) { Print("ERR HUNT FAILED crew"); m_HuntPhase = 3; return; }
m_HuntUnits.Insert(unit); m_HuntStarts.Insert(unit.Entity.GetOrigin());
}
m_HuntPhase = 1; m_HuntNext = now + 10000; return;
}
if (m_HuntPhase == 1)
{
m_HuntAttack = new ERR_HunterAttack(); m_HuntAttack.ReportPosition = m_HuntPlan.Center; m_HuntAttack.Started = now;
m_HuntAttack.Forward = ERR_MountedCover.Approach(m_HuntUnits[0].Entity.GetOrigin(), m_HuntAttack.ReportPosition, "0 0 1");
array<vector> occupied = {};
for (int n = 0; n < m_HuntUnits.Count(); n++)
{
ERR_HunterTactics team = new ERR_HunterTactics(mode, m_HuntUnits[n], m_HuntAttack, n);
PrintFormat("ERR HUNT READY: role=%1 living=%2 crewValid=%3 members=%4", n, team.Living(), m_HuntUnits[n].CrewValid(mode), m_HuntUnits[n].Members.Count());
vector forward = ERR_MountedCover.Approach(m_HuntStarts[n], m_HuntAttack.ReportPosition, m_HuntAttack.Forward);
vector seed = ERR_Actors.Ground(m_HuntAttack.ReportPosition - forward * 260);
ERR_ConvoyPlacement placement = new ERR_ConvoyPlacement();
bool spawnFlat = placement.Clear(seed, ERR_ForceRules.Heading(seed, m_HuntAttack.ReportPosition, 0));
string spawnReason = placement.Diagnostic();
bool stageClear = placement.Clear(seed, ERR_ForceRules.Heading(seed, m_HuntAttack.ReportPosition, 0), 2.5);
PrintFormat("ERR HUNT SURFACE: role=%1 spawnFlat=%2 stageClear=%3 previous=%4 staging=%5", n, spawnFlat, stageClear, spawnReason, placement.Diagnostic());
bool planned = team.Plan(occupied);
bool ownSide = vector.Dot(team.Stage - m_HuntAttack.ReportPosition, m_HuntStarts[n] - m_HuntAttack.ReportPosition) > 0;
bool lane = ERR_MountedCover.ClearLane(m_HuntUnits[n].Entity, team.Stage, m_HuntAttack.ReportPosition);
PrintFormat("ERR HUNT PLAN: role=%1 planned=%2 ownSide=%3 lane=%4 start=%5 stage=%6", n, planned, ownSide, lane, m_HuntStarts[n], team.Stage);
if (!planned) continue;
occupied.Insert(team.Stage); m_HuntAttack.Teams.Insert(team);
bool began = team.ProbeHuntBegin(now); PrintFormat("ERR HUNT BEGIN: role=%1 began=%2", n, began);
}
m_HuntStarted = now; m_HuntPhase = 2; return;
}
foreach (ERR_HunterTactics active : m_HuntAttack.Teams) active.Tick(ERR_HQ.Cast(mode.Command()), now);
if (now - m_HuntStarted < 120000) return;
foreach (ERR_HunterTactics finalTeam : m_HuntAttack.Teams)
{
PrintFormat("ERR HUNT MOVEMENT: role=%1 moved=%2 state=%3 stopped=%4", finalTeam.Role, vector.DistanceXZ(finalTeam.Unit.Entity.GetOrigin(), m_HuntStarts[finalTeam.Role]), finalTeam.State, finalTeam.Stopped);
finalTeam.Stop();
}
Print("ERR HUNT COMPLETE"); m_HuntPhase = 3;
}
}
@@ -0,0 +1 @@
{"reason": "compiled", "exit": -15}
@@ -0,0 +1,542 @@
---------------------------------------------
Log /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/profile/logs/logs_2026-10-05_19-16-31/console.log started at 2026-10-05 19:16:31 (2026-10-05 17:16:31 UTC)
19:16:31.392 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/profile/logs/logs_2026-10-05_19-16-31' to filesystem under name logs
19:16:31.392 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/profile/profile' to filesystem under name profile
19:16:31.392 ENGINE : FileSystem: Current working directory: '/tmp/runtime/'
19:16:31.393 ENGINE : Initializing engine, version 192142
19:16:31.393 ENGINE : CLI Params: -server {C1E20667DCE324ED}Missions/ERR_Everon.conf -addonsDir /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons -addons 2528466DE220D91C,70C981A53E02B64F -profile /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/profile -noBackend -noSound -bindIP 127.0.0.1 -bindPort 2001 -maxFPS 30 -logconsole -noSplash -noThrow -disableCrashReporter
19:16:31.395 ENGINE : Addon dirs:
19:16:31.395 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons'
19:16:31.395 ENGINE : dir: './addons'
19:16:31.395 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/profile/addons'
19:16:31.395 ENGINE : Available addons:
19:16:31.395 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
19:16:31.395 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
19:16:31.395 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
19:16:31.395 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
19:16:31.395 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
19:16:31.395 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed)
19:16:31.395 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
19:16:31.395 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:16:31.395 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:16:31.395 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
19:16:31.395 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
19:16:31.395 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/gabreta/addons/NogovaReforger' to filesystem under name NogovaReforger
19:16:31.395 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/source' to filesystem under name ERR_Core
19:16:31.395 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_65930CB4CD0237B2/' (pak count: 1) to filesystem under name Parachutes
19:16:31.395 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
19:16:31.396 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
19:16:31.397 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
19:16:31.400 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
19:16:31.401 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
19:16:31.403 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
19:16:31.490 ENGINE : FileSystem: Adding package './addons/data/' (pak count: 14) to filesystem under name ArmaReforger
19:16:31.493 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
19:16:31.493 ENGINE : CPU vendor : AuthenticAMD
19:16:31.493 ENGINE : CPU type : 2
19:16:31.493 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
19:16:31.493 ENGINE : CPU cache info : Unknown cache
19:16:31.493 ENGINE : CPU count logical : 16
19:16:31.493 ENGINE : CPU count physical : 8
19:16:31.493 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
19:16:31.493 RESOURCES : ResourceDB: loading cache (id=0 name=NogovaReforger path=/home/jakub/devel/gabreta/addons/NogovaReforger/resourceDatabase.rdb)
19:16:31.503 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/source/resourceDatabase.rdb)
19:16:31.503 RESOURCES : ResourceDB: loading cache (id=2 name=Parachutes path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_65930CB4CD0237B2/resourceDatabase.rdb)
19:16:31.503 RESOURCES : ResourceDB: loading cache (id=3 name=WCS_BMP-1 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
19:16:31.504 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_SpaceCore path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
19:16:31.504 RESOURCES : ResourceDB: loading cache (id=5 name=WCS_Armaments path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
19:16:31.505 RESOURCES : ResourceDB: loading cache (id=6 name=RHS_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
19:16:31.515 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Content_02 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
19:16:31.516 RESOURCES : ResourceDB: loading cache (id=8 name=RHS_Content_01 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
19:16:31.521 RESOURCES : ResourceDB: loading cache (id=9 name=ArmaReforger path=./addons/data/resourceDatabase.rdb)
19:16:31.641 RESOURCES : ResourceDB: loading cache (id=10 name=core path=./addons/core/resourceDatabase.rdb)
19:16:31.642 RESOURCES : ResourceDB: loading cache (id=11 name=profile path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/profile/profile/resourceDatabase.rdb)
19:16:31.642 RESOURCES : ResourceDB: loading cache (id=12 name=logs path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/profile/logs/logs_2026-10-05_19-16-31/resourceDatabase.rdb)
19:16:31.823 ENGINE : GameProject load
19:16:31.823 ENGINE : Loaded addons:
19:16:31.823 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
19:16:31.823 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
19:16:31.823 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
19:16:31.823 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
19:16:31.823 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
19:16:31.823 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
19:16:31.823 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
19:16:31.823 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
19:16:31.823 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2'
19:16:31.823 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:16:31.823 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:16:31.824 ENGINE : GameProject load
19:16:31.824 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_595F2BF2F44836FB/addon.gproj"
19:16:31.824 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
19:16:31.824 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_629B2BA37EFFD577/addon.gproj"
19:16:31.824 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
19:16:31.824 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
19:16:31.824 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
19:16:31.824 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-final/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
19:16:31.824 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
19:16:31.824 ENGINE : Loading custom engine user config '$profile:.save/settings/ReforgerEngineSettings.conf'
19:16:31.824 ENGINE : No Enfusion settings file loaded. Continuing with defaults
19:16:31.825 RENDER : Basic screen setup:
19:16:31.825 RENDER : Back buffer width x height: 0x0
19:16:31.825 RENDER : Back buffer format : TEXFMT_UNKNOWN (0)
19:16:31.825 RENDER : MSAA : none
19:16:31.825 RENDER : GPU_DUMMY (0xFFFF) (Enfusion dummy render) with 1 GPU detected, VRAM 128MB (fast 128MB), shared 128MB, driver version Unknown version
19:16:31.825 RENDER : Detected output devices:
19:16:31.825 RENDER : * 1 device/s connected to Dummy:
19:16:31.825 RENDER : Dummy output (Dummy device for our dummy render.), 1920x1080 (offset 0x0), 60Hz
19:16:31.825 RENDER : Concurrent frames limit 2
19:16:31.825 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=7
19:16:31.839 PROFILING : Settings changed took: 0.022000 ms
19:16:31.841 ENGINE : Initializing inputs.
19:16:31.847 NETWORK : Initializing networking.
19:16:31.847 NETWORK : Using new GameRplScheduler.
19:16:31.848 SCRIPT : SCRIPT : Initializing scripts
19:16:31.848 SCRIPT : SCRIPT : ScriptProjectManager init
19:16:31.848 PROFILING : ScriptProjectManager init took: 0.010000 ms
19:16:31.863 PROFILING : Initializing scripts took: 15.487000 ms
19:16:31.863 BACKEND : Backend Services are disabled.
19:16:31.863 ENGINE : Enfusion engine successfully created.
19:16:31.865 GUI : Using default language (en_us)
19:16:31.865 GUI : Loading 'en_us' localization file.
19:16:31.865 INIT : INIT : Loading StringTable
19:16:31.889 PROFILING : Loading StringTable took: 24.415000 ms
19:16:31.889 SCRIPT : SCRIPT : Compiling GameLib scripts
19:16:31.915 SCRIPT : Module: GameLib; loaded 466x files; 608x classes; used 654K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
19:16:31.916 PROFILING : Compiling GameLib scripts took: 26.072000 ms
19:16:31.916 SCRIPT : SCRIPT : Compiling Game scripts
19:16:32.465 SCRIPT : Compiling Game scripts
19:16:32.465 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables
19:16:32.812 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
19:16:32.812 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
19:16:33.086 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,359": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:16:33.100 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
19:16:33.142 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
19:16:33.289 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
19:16:33.289 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
19:16:33.289 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
19:16:33.289 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
19:16:33.320 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
19:16:33.364 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
19:16:33.373 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
19:16:33.373 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
19:16:33.375 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
19:16:33.423 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:16:33.423 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:16:33.424 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
19:16:33.424 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
19:16:33.474 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
19:16:33.647 SCRIPT : Module: Game; loaded 6730x files; 13503x classes; used 33417K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS,WCS_DEFINES_SPACECORE"; CRC32: 4426c820
19:16:33.666 PROFILING : Compiling Game scripts took: 1750.080000 ms
19:16:33.666 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
19:16:33.692 ENGINE : Game successfully created.
19:16:33.749 PLATFORM : Save data from container 'settings' have been loaded
19:16:33.848 PLATFORM : Save data from container 'sessions' have been loaded
19:16:33.848 PLATFORM : System language differs from the saved one - using new language {new: 'en_us'; old: ''}
19:16:33.848 PLATFORM : Save data transaction to 'settings' started.
19:16:33.848 NETWORK : Starting local multiplayer server using command line args.
19:16:33.947 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{C1E20667DCE324ED}Missions/ERR_Everon.conf'.
19:16:33.948 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent'
19:16:34.824 PROFILING : Entities load took: 875.299000 ms
19:16:34.825 WORLD : WORLD : Game::LoadEntities
19:16:34.825 WORLD : WORLD : Initializing world systems @"{C50579A2EC48E8EF}Configs/Systems/MissionSystems.conf"
19:16:34.826 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits.
19:16:34.826 WORLD : WORLD : CreateEntities
19:16:34.826 WORLD : WORLD : CreateEntities
19:16:34.826 WORLD : WORLD : NotifyBeforeEntitiesCreated
19:16:34.827 RESOURCES : Loaded mission headers from 11 addon(s)!
19:16:34.827 PROFILING : NotifyBeforeEntitiesCreated took: 1.562000 ms
19:16:34.827 WORLD : WORLD : Wait for preloading data
19:16:35.421 PROFILING : Wait for preloading data took: 593.348000 ms
19:16:35.478 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et"
19:16:35.478 PROFILING : PROFILING : Terrain load
19:16:36.602 PROFILING : Terrain load took: 1124.148000 ms
19:16:39.030 WORLD : Game::LoadEntities
19:16:39.030 WORLD : CreateEntities
19:16:39.030 WORLD : CreateEntities
19:16:39.030 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"
19:16:39.030 ENTITY : CreateComponent 'ScriptedRadioComponent'
19:16:39.030 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
19:16:43.492 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{5414041A15DC4B54}Prefabs/ERR/FactionManager.et"
19:16:43.492 RESOURCES : GetResourceObject @"{442939C9617DF228}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_FIA.et"
19:16:43.492 WORLD : Entity prefab load @"{442939C9617DF228}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_FIA.et"
19:16:43.492 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:16:43.492 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:16:43.492 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:16:43.492 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:16:43.492 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)
19:16:43.492 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)
19:16:43.493 RESOURCES : GetResourceObject @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:16:43.493 WORLD : Entity prefab load @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:16:43.493 RESOURCES : GetResourceObject @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:16:43.493 WORLD : Entity prefab load @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:16:43.493 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:16:43.493 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:16:43.493 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:16:43.493 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:16:43.493 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)
19:16:43.493 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)
19:16:43.493 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)
19:16:43.493 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)
19:16:43.567 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et"
19:16:43.567 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et"
19:16:43.567 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:16:43.567 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:16:43.567 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:16:43.567 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:16:43.567 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:16:43.567 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:16:43.567 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)
19:16:43.900 WORLD : WORLD : NotifyBeforeEntitiesInitialized
19:16:43.900 PROFILING : NotifyBeforeEntitiesInitialized took: 0.042000 ms
19:16:43.900 WORLD : InitEntities 'world'
19:16:43.900 ENTITY : Init entity @"ENTITY:3" ('SCR_MapEntity1', SCR_MapEntity) at <6400.000000 0.000000 6400.000000> @"{E1B88C66BF6CA1F9}Prefabs/World/Game/Eden/MapEntity_Everon.et"
19:16:43.900 SCRIPT (W): SCR_MapEntity: Cannot get the size from terrain. Using default.
19:16:44.368 WORLD : InitEntities 'world'
19:16:44.368 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Reintroduced', ERR_GameMode) at <60.452000 1.000000 213.136002> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
19:16:44.368 SCRIPT : Reintroduced [config]: using $profile:Escapists.json; legacy files retained but no longer used.
19:16:44.372 WORLD : WORLD : NotifyEntitiesInitialized
19:16:44.372 TERRAIN : TERRAIN : Initializing road networks...
19:16:44.374 PROFILING : Initializing road networks... took: 1.948000 ms
19:16:44.417 SCRIPT : Reintroduced [terrain selection]: discovered 46 playable scenario headers; truncated=0
19:16:44.418 DEFAULT : DEFAULT : WorldVolumesCollection
19:16:44.463 PROFILING : WorldVolumesCollection took: 45.468000 ms
19:16:44.463 INIT : INIT : SoundWorldInit
19:16:44.471 PROFILING : SoundWorldInit took: 7.449000 ms
19:16:44.471 PROFILING : NotifyEntitiesInitialized took: 98.737000 ms
19:16:44.471 PROFILING : CreateEntities took: 9644.863000 ms
19:16:44.471 PROFILING : CreateEntities took: 9644.874000 ms
19:16:44.471 WORLD : WORLD : EOnActivate
19:16:44.496 PROFILING : EOnActivate took: 25.591000 ms
19:16:44.496 PROFILING : Game::LoadEntities took: 9671.717000 ms
19:16:44.584 NETWORK : Starting RPL server, listening on address 0.0.0.0:2001, fastValidation=false
19:16:45.045 DEFAULT : Entered online game state.
19:16:45.046 PROFILING : Settings changed took: 0.436000 ms
19:16:47.740 SCRIPT : Map load time: 1622ms
19:16:47.807 WORLD : Frame start
19:16:47.807 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated.
19:16:47.813 WORLD : UpdateEntities
19:16:47.813 WORLD : Frame
19:16:47.813 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME
19:16:49.183 SCRIPT : Co10 Escape Reintroduced factions: players=US enemy=USSR independent=FIA
19:16:53.987 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-prison-1 position=<5676.96,85.6679,5742.36> heading=206.231 attempts=2676 fallback=0
19:16:55.588 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-radio-1 position=<9895.14,1.06214,4380.6> heading=182.543 attempts=2108 fallback=0
19:16:56.121 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-1 position=<9158.37,1.67929,5397.04> heading=128.467 attempts=680 fallback=0
19:16:56.916 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-2 position=<5481.92,41.8393,10873.8> heading=276.37 attempts=824 fallback=0
19:16:57.185 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-3 position=<5136.4,49.9888,5697.05> heading=98.2757 attempts=400 fallback=0
19:16:58.521 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-4 position=<3319.67,161.529,5906.04> heading=96.3201 attempts=1743 fallback=0
19:16:59.317 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-medical-1 position=<5140.3,27.9336,9918.66> heading=264.021 attempts=822 fallback=0
19:17:03.051 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-outpost-1 position=<11021.6,23.4506,11862.5> heading=73.4019 attempts=4778 fallback=0
19:17:03.584 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-medical-2 position=<6562.65,86.3878,5223.6> heading=157.285 attempts=691 fallback=0
19:17:04.384 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-medical-3 position=<3945.05,102.575,6336.52> heading=44.9574 attempts=1002 fallback=0
19:17:06.521 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-2 position=<5170.01,33.7769,9198.33> heading=271.678 attempts=2872 fallback=0
19:17:13.990 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-3 position=<6599,159.505,6406.84> heading=156.461 attempts=9213 fallback=0
19:17:16.116 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-4 position=<4752.57,85.5825,4528.26> heading=227.303 attempts=2491 fallback=0
19:17:20.922 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-5 position=<4709.18,16.6703,10340.6> heading=282.676 attempts=6296 fallback=0
19:17:20.929 SCRIPT : Reintroduced [sites]: authored everon-prison-1 at <5676.96,86.0652,5742.36>
19:17:20.929 SCRIPT : Reintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1
19:17:20.934 SCRIPT : Reintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050>
19:17:20.935 ENTITY : SpawnEntityPrefab @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"
19:17:20.935 ENTITY : Create entity @"ENTITY:4611686018427388511" ('GenericEntity','Assets/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02.xob') at <9902.046875 1.312677 4378.295410> @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"
19:17:20.935 ENTITY : CreateComponent 'ScriptedRadioComponent'
19:17:20.935 DEFAULT (W): BaseRadioComponent does not have any transceiver. (Entity: @"ENTITY:4611686018427388511" ('GenericEntity','Assets/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02.xob') at <9902.046875 1.312677 4378.295410> @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"). Only printing this message once. There're possibly more nodes with this requirement.
19:17:20.937 SCRIPT : Reintroduced [sites]: authored everon-radio-1 at <9895.14,1.41647,4380.6>
19:17:20.956 SCRIPT : Reintroduced [sites]: authored everon-extraction-1 at <4800.95,27.8202,11487.4>
19:17:20.960 SCRIPT : Reintroduced [sites]: authored everon-medical-1 at <5140.3,28.3244,9918.66>
19:17:20.963 SCRIPT : Reintroduced [sites]: authored everon-outpost-1 at <11021.6,23.6938,11862.5>
19:17:20.963 SCRIPT : Reintroduced [sites]: authored everon-mortar-1 at <9158.37,2.225,5397.04>
19:17:20.963 SCRIPT : Reintroduced [sites]: authored everon-mortar-2 at <5481.92,42.0736,10873.8>
19:17:20.963 SCRIPT : Reintroduced [sites]: authored everon-mortar-3 at <5136.4,50.1999,5697.05>
19:17:20.963 SCRIPT : Reintroduced [sites]: authored everon-mortar-4 at <3319.67,161.782,5906.04>
19:17:20.966 SCRIPT : Reintroduced [sites]: authored everon-medical-2 at <6562.65,86.771,5223.6>
19:17:20.968 SCRIPT : Reintroduced [sites]: authored everon-medical-3 at <3945.05,102.787,6336.52>
19:17:20.971 SCRIPT : Reintroduced [sites]: authored everon-camp-2 at <5170.01,33.975,9198.33>
19:17:20.973 SCRIPT : Reintroduced [sites]: authored everon-camp-3 at <6599,159.863,6406.84>
19:17:20.975 SCRIPT : Reintroduced [sites]: authored everon-camp-4 at <4752.57,85.6937,4528.26>
19:17:20.978 SCRIPT : Reintroduced [sites]: authored everon-camp-5 at <4709.18,17.0289,10340.6>
19:17:20.978 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<4800.95,27.8202,11487.4> up=1
19:17:20.978 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0 angularSpeed=0
19:17:20.978 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=0 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:17:20.978 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4800.95,28.1168,11489.7>
19:17:20.978 SCRIPT : ERR GEAR TERRAIN: bottom=<4800.95,27.8168,11489.7> terrainY=27.7202 tireTerrainGap=0.0965805
19:17:20.978 SCRIPT : ERR GEAR SUPPORT: center=<4800.95,28.1168,11489.7> radius=0.3 bottom=<4800.95,27.8168,11489.7> fraction=0.893554 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.0965824
19:17:20.978 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.68,28.585,11485.4>
19:17:20.978 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.68,28.135,11485.4> terrainY=27.8121 tireTerrainGap=0.322891
19:17:20.978 SCRIPT : ERR GEAR SUPPORT: center=<4798.68,28.585,11485.4> radius=0.45 bottom=<4798.68,28.135,11485.4> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.120001
19:17:20.978 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.23,28.585,11485.4>
19:17:20.978 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.23,28.135,11485.4> terrainY=27.649 tireTerrainGap=0.485987
19:17:20.978 SCRIPT : ERR GEAR SUPPORT: center=<4803.23,28.585,11485.4> radius=0.45 bottom=<4803.23,28.135,11485.4> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.120001
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=3 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=2 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=2 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=0 conscious=0 nativeComplete=0
19:17:20.978 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=2 physical=0 conscious=0 nativeComplete=0
19:17:21.982 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<4801.01,27.5769,11487.4> up=0.997407
19:17:21.982 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.673806 angularSpeed=0.133412
19:17:21.982 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:17:21.982 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.07,27.9733,11489.6>
19:17:21.982 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.07,27.6733,11489.6> terrainY=27.7165 tireTerrainGap=-0.0431118
19:17:21.982 SCRIPT : ERR GEAR SUPPORT: center=<4801.07,27.9733,11489.6> radius=0.3 bottom=<4801.07,27.6733,11489.6> fraction=0.258552 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.0431194
19:17:21.982 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.71,28.2313,11485.4>
19:17:21.982 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.71,27.7813,11485.4> terrainY=27.8105 tireTerrainGap=-0.0291576
19:17:21.982 SCRIPT : ERR GEAR SUPPORT: center=<4798.71,28.2313,11485.4> radius=0.45 bottom=<4798.71,27.7813,11485.4> fraction=0.321947 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.029171
19:17:21.982 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.25,28.081,11485.3>
19:17:21.982 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.25,27.631,11485.3> terrainY=27.6483 tireTerrainGap=-0.0172672
19:17:21.982 SCRIPT : ERR GEAR SUPPORT: center=<4803.25,28.081,11485.3> radius=0.45 bottom=<4803.25,27.631,11485.3> fraction=0.376032 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.0172729
19:17:21.982 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:17:21.982 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=3 physical=1 conscious=1 nativeComplete=0
19:17:21.982 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=1 conscious=1 nativeComplete=0
19:17:21.982 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=1 conscious=1 nativeComplete=0
19:17:21.982 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=1 conscious=1 nativeComplete=0
19:17:22.515 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=1 conscious=1 nativeComplete=0
19:17:22.515 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=1 conscious=1 nativeComplete=0
19:17:22.515 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=1 conscious=1 nativeComplete=0
19:17:22.515 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=2 physical=1 conscious=1 nativeComplete=0
19:17:22.797 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=3 physical=2 conscious=2 nativeComplete=0
19:17:22.797 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=2 conscious=2 nativeComplete=0
19:17:22.797 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=2 conscious=2 nativeComplete=0
19:17:22.797 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=2 conscious=2 nativeComplete=0
19:17:23.082 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.03,27.6024,11487.4> up=0.99635
19:17:23.082 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.126065 angularSpeed=0.0447705
19:17:23.082 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:17:23.082 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.09,28.0253,11489.6>
19:17:23.082 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.09,27.7253,11489.6> terrainY=27.7159 tireTerrainGap=0.00940514
19:17:23.082 SCRIPT : ERR GEAR SUPPORT: center=<4801.09,28.0253,11489.6> radius=0.3 bottom=<4801.09,27.7253,11489.6> fraction=0.497259 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00939751
19:17:23.082 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.73,28.2622,11485.4>
19:17:23.082 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.73,27.8122,11485.4> terrainY=27.8093 tireTerrainGap=0.00288773
19:17:23.082 SCRIPT : ERR GEAR SUPPORT: center=<4798.73,28.2622,11485.4> radius=0.45 bottom=<4798.73,27.8122,11485.4> fraction=0.467574 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=0.00286674
19:17:23.082 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.28,28.1014,11485.3>
19:17:23.082 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.28,27.6514,11485.3> terrainY=27.6474 tireTerrainGap=0.00396538
19:17:23.082 SCRIPT : ERR GEAR SUPPORT: center=<4803.28,28.1014,11485.3> radius=0.45 bottom=<4803.28,27.6514,11485.3> fraction=0.472556 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00396156
19:17:23.082 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:17:23.315 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=2 conscious=2 nativeComplete=0
19:17:23.315 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=2 conscious=2 nativeComplete=1
19:17:23.315 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=1 conscious=1 nativeComplete=0
19:17:23.315 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=1 conscious=1 nativeComplete=0
19:17:23.615 SCRIPT : Reintroduced [extraction placement]: native supported aircraft stable for one second, fuel present, exactly one initial wake
19:17:23.882 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=1 conscious=1 nativeComplete=0
19:17:23.882 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=2 physical=1 conscious=1 nativeComplete=0
19:17:23.882 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=1 conscious=1 nativeComplete=0
19:17:23.882 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=2 physical=1 conscious=1 nativeComplete=0
19:17:24.148 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.08,27.5848,11487.4> up=0.99614
19:17:24.148 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0539114 angularSpeed=0.0424463
19:17:24.149 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:17:24.149 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.16,28.0143,11489.6>
19:17:24.149 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.16,27.7143,11489.6> terrainY=27.7139 tireTerrainGap=0.000488281
19:17:24.149 SCRIPT : ERR GEAR SUPPORT: center=<4801.16,28.0143,11489.6> radius=0.3 bottom=<4801.16,27.7143,11489.6> fraction=0.456734 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.000482559
19:17:24.149 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.77,28.2529,11485.4>
19:17:24.149 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.77,27.8029,11485.4> terrainY=27.8078 tireTerrainGap=-0.00484467
19:17:24.149 SCRIPT : ERR GEAR SUPPORT: center=<4798.77,28.2529,11485.4> radius=0.45 bottom=<4798.77,27.8029,11485.4> fraction=0.43244 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00486374
19:17:24.149 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.32,28.0917,11485.3>
19:17:24.149 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.32,27.6417,11485.3> terrainY=27.6463 tireTerrainGap=-0.00463867
19:17:24.149 SCRIPT : ERR GEAR SUPPORT: center=<4803.32,28.0917,11485.3> radius=0.45 bottom=<4803.32,27.6417,11485.3> fraction=0.433488 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00463295
19:17:24.149 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:17:24.415 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=3 physical=3 conscious=3 nativeComplete=1
19:17:24.415 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=3 conscious=3 nativeComplete=0
19:17:24.415 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=2 conscious=2 nativeComplete=0
19:17:24.415 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=2 physical=2 conscious=2 nativeComplete=1
19:17:24.949 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=3 conscious=3 nativeComplete=0
19:17:24.949 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=3 conscious=3 nativeComplete=0
19:17:24.949 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=2 conscious=2 nativeComplete=0
19:17:24.949 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=2 conscious=2 nativeComplete=1
19:17:25.216 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5903,11487.4> up=0.996033
19:17:25.216 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:17:25.216 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:17:25.216 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0148,11489.6>
19:17:25.216 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7148,11489.6> terrainY=27.7128 tireTerrainGap=0.0019989
19:17:25.216 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0148,11489.6> radius=0.3 bottom=<4801.19,27.7148,11489.6> fraction=0.463604 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00199318
19:17:25.216 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:17:25.216 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00240135
19:17:25.216 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.44348 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00243378
19:17:25.216 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:17:25.216 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.00257874
19:17:25.216 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442856 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00257111
19:17:25.216 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:17:25.482 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=2 conscious=2 nativeComplete=0
19:17:25.482 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=1 conscious=1 nativeComplete=0
19:17:25.482 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=1 conscious=1 nativeComplete=0
19:17:25.482 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=1 conscious=1 nativeComplete=0
19:17:26.015 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=1 conscious=1 nativeComplete=0
19:17:26.015 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=1 conscious=1 nativeComplete=0
19:17:26.015 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=1 conscious=1 nativeComplete=0
19:17:26.015 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=2 conscious=2 nativeComplete=0
19:17:26.282 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5903,11487.4> up=0.996033
19:17:26.282 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:17:26.282 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:17:26.282 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0148,11489.6>
19:17:26.282 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7148,11489.6> terrainY=27.7128 tireTerrainGap=0.0019989
19:17:26.282 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0148,11489.6> radius=0.3 bottom=<4801.19,27.7148,11489.6> fraction=0.463604 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00199318
19:17:26.282 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:17:26.282 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00240135
19:17:26.282 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.44348 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00243378
19:17:26.282 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:17:26.282 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.00257874
19:17:26.282 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442856 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00257111
19:17:26.282 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:17:26.549 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=3 conscious=3 nativeComplete=0
19:17:26.549 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=4 conscious=4 nativeComplete=0
19:17:26.549 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=2 physical=2 conscious=2 nativeComplete=1
19:17:26.549 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=3 conscious=3 nativeComplete=0
19:17:27.082 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=4 conscious=4 nativeComplete=0
19:17:27.082 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=4 conscious=4 nativeComplete=1
19:17:27.082 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=3 conscious=3 nativeComplete=0
19:17:27.082 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=3 conscious=3 nativeComplete=0
19:17:27.349 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5903,11487.4> up=0.996033
19:17:27.349 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:17:27.349 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:17:27.349 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0148,11489.6>
19:17:27.349 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7148,11489.6> terrainY=27.7128 tireTerrainGap=0.0019989
19:17:27.349 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0148,11489.6> radius=0.3 bottom=<4801.19,27.7148,11489.6> fraction=0.463604 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00199318
19:17:27.349 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:17:27.349 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00240135
19:17:27.349 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.44348 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00243378
19:17:27.349 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:17:27.349 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.00257874
19:17:27.349 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442856 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00257111
19:17:27.349 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:17:27.616 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=2 physical=2 conscious=2 nativeComplete=1
19:17:27.616 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=2 conscious=2 nativeComplete=0
19:17:27.616 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=2 conscious=2 nativeComplete=1
19:17:27.616 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=2 conscious=2 nativeComplete=0
19:17:28.149 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=2 conscious=2 nativeComplete=1
19:17:28.150 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=2 conscious=2 nativeComplete=0
19:17:28.150 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=2 conscious=2 nativeComplete=1
19:17:28.150 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=3 conscious=3 nativeComplete=0
19:17:28.415 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5903,11487.4> up=0.996033
19:17:28.415 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:17:28.415 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:17:28.415 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0148,11489.6>
19:17:28.415 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7148,11489.6> terrainY=27.7128 tireTerrainGap=0.0019989
19:17:28.415 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0148,11489.6> radius=0.3 bottom=<4801.19,27.7148,11489.6> fraction=0.463604 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00199318
19:17:28.415 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:17:28.415 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00240135
19:17:28.415 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.44348 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00243378
19:17:28.415 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:17:28.415 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.00257874
19:17:28.415 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442856 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00257111
19:17:28.415 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:17:28.682 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=4 conscious=4 nativeComplete=0
19:17:28.682 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=5 conscious=5 nativeComplete=0
19:17:28.682 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=5 conscious=5 nativeComplete=0
19:17:28.682 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=4 conscious=4 nativeComplete=1
19:17:29.216 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=4 conscious=4 nativeComplete=1
19:17:29.216 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=4 conscious=4 nativeComplete=1
19:17:29.216 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=3 conscious=3 nativeComplete=0
19:17:29.216 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=3 conscious=3 nativeComplete=0
19:17:29.496 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5903,11487.4> up=0.996033
19:17:29.496 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:17:29.496 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:17:29.496 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0148,11489.6>
19:17:29.496 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7148,11489.6> terrainY=27.7128 tireTerrainGap=0.0019989
19:17:29.496 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0148,11489.6> radius=0.3 bottom=<4801.19,27.7148,11489.6> fraction=0.463604 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00199318
19:17:29.496 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:17:29.496 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00240135
19:17:29.496 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.44348 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00243378
19:17:29.496 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:17:29.496 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.00257874
19:17:29.496 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442856 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00257111
19:17:29.496 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:17:29.496 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=5 conscious=5 nativeComplete=1
19:17:29.496 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=6 conscious=6 nativeComplete=1
19:17:29.496 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=3 conscious=3 nativeComplete=0
19:17:29.497 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=4 conscious=4 nativeComplete=1
19:17:30.029 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=6 conscious=6 nativeComplete=1
19:17:30.029 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=4 conscious=4 nativeComplete=1
19:17:30.029 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=4 conscious=4 nativeComplete=1
19:17:30.029 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=4 conscious=4 nativeComplete=1
19:17:30.030 SCRIPT : Reintroduced [sites]: transport parking=<6150,202.725,7038> radius=4 terrainRange=0.625 obstructed=0 clear=1
19:17:30.047 SCRIPT : Reintroduced [sites]: 16 sites and 240 physical stock items ready
19:17:30.050 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=1 position=<8669.01,263.615,4389.59> heading=0
19:17:30.583 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=2 position=<8464.98,290.21,2239.13> heading=270
19:17:30.585 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=3 position=<9073.16,213.776,1191.05> heading=180
19:17:30.586 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=4 position=<10724.6,124.592,1969.98> heading=0
19:17:31.387 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=5 position=<10476,140.187,2861.03> heading=45
19:17:32.185 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=6 position=<6209.7,126.93,8126.42> heading=225
19:17:32.186 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=7 position=<10114.8,108.006,593.77> heading=90
19:17:32.984 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=8 position=<9359.66,250.659,3232.52> heading=45
19:17:33.784 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=9 position=<9757.17,151.171,2013.34> heading=0
19:17:33.787 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=10 position=<10135.9,62.975,3700.9> heading=0
19:17:45.516 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-1 faction=USSR group=<0x000000006B30A710> SCR_AIGroup position=<8669.01,264.205,4389.59> living=1
19:17:45.516 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<8669.01,263.615,4389.59> backpack magazines=40
19:17:46.049 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-2 faction=USSR group=<0x000000006B321AC0> SCR_AIGroup position=<8464.98,290.873,2239.13> living=1
19:17:46.049 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<8464.98,290.21,2239.13> backpack magazines=40
19:17:46.049 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-3 faction=USSR group=<0x000000006B338A90> SCR_AIGroup position=<9073.16,214.272,1191.05> living=1
19:17:46.049 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<9073.16,213.776,1191.05> backpack magazines=40
19:17:46.582 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-4 faction=USSR group=<0x000000006B341020> SCR_AIGroup position=<10724.6,124.571,1969.98> living=1
19:17:46.582 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<10724.6,124.592,1969.98> backpack magazines=40
19:17:46.583 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-5 faction=USSR group=<0x000000006B4E3AF0> SCR_AIGroup position=<10476,140.087,2861.03> living=1
19:17:46.583 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<10476,140.187,2861.03> backpack magazines=40
19:17:47.116 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-6 faction=USSR group=<0x000000006B5A9240> SCR_AIGroup position=<6209.7,126.925,8126.42> living=1
19:17:47.116 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<6209.7,126.93,8126.42> backpack magazines=40
19:17:47.116 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-7 faction=USSR group=<0x000000006B6DE270> SCR_AIGroup position=<10114.8,108.416,593.77> living=1
19:17:47.116 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<10114.8,108.006,593.77> backpack magazines=40
19:17:47.649 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-8 faction=USSR group=<0x000000006B7A6AF0> SCR_AIGroup position=<9359.66,250.559,3232.52> living=1
19:17:47.649 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<9359.66,250.659,3232.52> backpack magazines=40
19:17:47.650 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-9 faction=USSR group=<0x000000006B7C0080> SCR_AIGroup position=<9757.17,151.176,2013.34> living=1
19:17:47.650 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<9757.17,151.171,2013.34> backpack magazines=40
19:17:48.182 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-10 faction=USSR group=<0x000000006B883590> SCR_AIGroup position=<10135.9,62.9968,3700.9> living=1
19:17:48.183 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<10135.9,62.975,3700.9> backpack magazines=40
19:17:49.274 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-0 faction=USSR group=<0x000000006BC7C810> SCR_AIGroup position=<11163.9,17.3711,11994.5> living=4
19:17:49.274 SCRIPT : Reintroduced [roadblocks]: roadblock-0 at <11156.9,17.7069,11997.5> guards=4 roadPassage=open HQ=registered
19:17:52.479 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-1 faction=USSR group=<0x000000006C65A7A0> SCR_AIGroup position=<2424.69,61.7778,7027.31> living=4
19:17:52.479 SCRIPT : Reintroduced [roadblocks]: roadblock-1 at <2432.31,61.8187,7027.29> guards=4 roadPassage=open HQ=registered
19:17:54.073 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-2 faction=USSR group=<0x000000006C65B5B0> SCR_AIGroup position=<3324.4,22.0204,3733.23> living=4
19:17:54.073 SCRIPT : Reintroduced [roadblocks]: roadblock-2 at <3317.7,21.4064,3729.61> guards=4 roadPassage=open HQ=registered
19:17:58.606 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-3 faction=USSR group=<0x000000006CB1D220> SCR_AIGroup position=<7520.57,12.192,8811.01> living=4
19:17:58.606 SCRIPT : Reintroduced [roadblocks]: roadblock-3 at <7513.4,11.8754,8813.6> guards=4 roadPassage=open HQ=registered
19:17:58.848 SCRIPT : Reintroduced [roadblocks]: placed=4 requested=4 attempts=131 roadCandidates=18 clearPlans=4; requested count reached
19:17:58.848 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-1 location=<9158.37,2.225,5397.04> authored=<9158.37,1.67929,5397.04>
19:17:58.852 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-2 location=<5481.92,42.0736,10873.8> authored=<5481.92,41.8393,10873.8>
19:17:58.854 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-3 location=<5136.4,50.1999,5697.05> authored=<5136.4,49.9888,5697.05>
19:17:58.855 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-4 location=<3319.67,161.782,5906.04> authored=<3319.67,161.529,5906.04>
19:17:58.858 SCRIPT : Reintroduced [environment]: date=authored weather=authored
19:17:58.859 SCRIPT : Reintroduced [time]: started at 14:00 with 1x progression
19:17:58.859 SCRIPT : Reintroduced [mission]: phase 0 -> 1
19:17:58.859 SCRIPT : Reintroduced [prison]: owned composition raw={BE6B8D56349038A6}Prefabs/ERR/Prison.et resolved={BE6B8D56349038A6}Prefabs/ERR/Prison.et position=<5676.96,85.6679,5742.36>
19:17:58.859 SCRIPT : Reintroduced [prison]: gate candidate raw= resolved={67F17696FF278AE0}Prefabs/Structures/BuildingParts/Doors/Door_Metal_A_RIGHT_EXT_COV_B.et lock=1 door=1 position=<5680.18,85.6679,5747.41>
19:17:58.859 SCRIPT : Reintroduced [prison]: one intact successor lock in owned prison
19:18:00.848 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-prison-1 faction=USSR group=<0x000000005085E430> SCR_AIGroup position=<5645.56,86.4844,5757.83> living=3
19:18:00.849 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-supply-1 faction=FIA group=<0x000000005084A780> SCR_AIGroup position=<6168,202.217,7050> living=5
19:18:00.849 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-radio-1 faction=USSR group=<0x00000000507F61A0> SCR_AIGroup position=<9865.17,1.77434,4381.94> living=6
19:18:00.850 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-extraction-1 faction=USSR group=<0x0000000067A14560> SCR_AIGroup position=<4830.95,28.2904,11487.4> living=6
19:18:00.850 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-1 faction=USSR group=<0x0000000067A54E90> SCR_AIGroup position=<5139.05,28.4805,9930.6> living=4
19:18:00.850 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-1-responders faction=USSR group=<0x0000000067A6D0A0> SCR_AIGroup position=<5141.55,28.0496,9906.73> living=2
19:18:00.851 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-outpost-1 faction=USSR group=<0x0000000067A97060> SCR_AIGroup position=<11025,23.5938,11851> living=4
19:18:00.851 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-outpost-1-responders faction=USSR group=<0x0000000067AAA3D0> SCR_AIGroup position=<11018.2,23.5938,11874> living=2
19:18:00.851 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-2 faction=USSR group=<0x0000000067AD4680> SCR_AIGroup position=<6551.58,86.6401,5218.96> living=4
19:18:00.851 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-2-responders faction=USSR group=<0x0000000067AEB100> SCR_AIGroup position=<6573.72,86.6591,5228.23> living=2
19:18:00.852 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-3 faction=USSR group=<0x0000000067B0CF60> SCR_AIGroup position=<3953.54,102.81,6328.04> living=4
19:18:00.852 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-3-responders faction=USSR group=<0x0000000067B24090> SCR_AIGroup position=<3936.56,102.732,6345> living=2
19:18:00.853 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-2 faction=USSR group=<0x0000000067B47EB0> SCR_AIGroup position=<5170.36,33.8901,9210.32> living=4
19:18:00.853 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-2-responders faction=USSR group=<0x0000000067B5F940> SCR_AIGroup position=<5169.66,33.8901,9186.33> living=2
19:18:00.854 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-3 faction=USSR group=<0x0000000067B84260> SCR_AIGroup position=<6588,159.812,6402.04> living=4
19:18:00.854 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-3-responders faction=USSR group=<0x0000000067CABCC0> SCR_AIGroup position=<6610,159.812,6411.63> living=2
19:18:00.854 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-4 faction=USSR group=<0x0000000067CD0FD0> SCR_AIGroup position=<4744.43,85.712,4537.08> living=4
19:18:00.854 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-4-responders faction=USSR group=<0x0000000067CE8A60> SCR_AIGroup position=<4760.71,85.7508,4519.45> living=2
19:18:00.855 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-5 faction=USSR group=<0x0000000067D0E6F0> SCR_AIGroup position=<4711.82,16.983,10352.3> living=4
19:18:00.855 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-5-responders faction=USSR group=<0x0000000067D262C0> SCR_AIGroup position=<4706.55,17.0175,10328.8> living=2
19:18:09.015 SCRIPT : ERR HUNT READY: role=0 living=1 crewValid=1 members=3
19:18:09.017 SCRIPT : ERR HUNT PLAN: role=0 planned=0 ownSide=1 lane=1 start=<6186.47,3.13125,4361.6> stage=<0,0,0>
19:18:09.017 SCRIPT : ERR HUNT READY: role=1 living=1 crewValid=1 members=3
19:18:09.018 SCRIPT : ERR HUNT PLAN: role=1 planned=0 ownSide=0 lane=1 start=<7753.33,259.175,3878.08> stage=<0,0,0>
19:18:09.018 SCRIPT : ERR HUNT READY: role=2 living=1 crewValid=1 members=15
19:18:09.018 SCRIPT : ERR HUNT PLAN: role=2 planned=0 ownSide=1 lane=0 start=<7170.03,144.676,2544.98> stage=<7034.85,90.669,3240.15>
19:18:36.915 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport structure={8746DE528BA26F02}Prefabs/Structures/Airport/LightRunway_01/LightRunway_01_white.et position=<4791.88,26.188,11898>
19:18:48.114 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport search finished; airports=1
19:18:48.114 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport=0 centre=<4788.55,26.6863,11528.9> runway/tower samples=438
19:20:09.247 SCRIPT : ERR HUNT COMPLETE
@@ -0,0 +1,95 @@
modded class SCR_ChimeraAIAgent
{
void ProbeHuntRelease() { ERR_PrisonPhaseChanged(ERR_Phase.PRISON, ERR_Phase.RADIO_SEARCH); SetPermanentLOD(0); ActivateAI(); }
}
modded class ERR_HunterService
{
ERR_HunterVehicle ProbeHuntUnit(vector position, vector angles, int ordinal)
{
ERR_HunterVehicle unit = new ERR_HunterVehicle(); unit.Source = "hunt-probe-" + ordinal.ToString();
unit.TroopTransport = ordinal == 2;
unit.Entity = Vehicle.Cast(ERR_Actors.Spawn(ERR_HunterFleetRules.VehiclePrefab(ordinal), position, angles));
unit.Group = SCR_AIGroup.Cast(ERR_Actors.Spawn(ERR_ConvoyResources.GroupPrefab(), position));
if (!unit.Entity || !unit.Group || !FillCrew(unit)) return null;
unit.Group.SetPermanentLOD(0); unit.Group.ActivateAI();
return unit;
}
}
modded class ERR_HunterTactics
{
bool ProbeHuntBegin(float now)
{
foreach (IEntity member : Unit.Members)
{
AIControlComponent control = AIControlComponent.Cast(member.FindComponent(AIControlComponent));
SCR_ChimeraAIAgent agent = SCR_ChimeraAIAgent.Cast(control.GetControlAIAgent()); if (agent) agent.ProbeHuntRelease();
}
SCR_AIGroupUtilityComponent utility = Unit.Group.GetGroupUtilityComponent();
SCR_AIVehicleUsageComponent usage = SCR_AIVehicleUsageComponent.Cast(Unit.Entity.FindComponent(SCR_AIVehicleUsageComponent));
if (utility && usage) utility.AddUsableVehicle(usage);
if (!Move(Stage, 35)) return false;
Delivered = true; State = 1; Deadline = now + ERR_HunterAttackRules.ManeuverBudget(m_TravelDistance);
m_ApproachStarted = now; m_ApproachProgress = now; m_ApproachPosition = Unit.Entity.GetOrigin();
if (Role == 0) foreach (IEntity crew : Unit.Members) ERR_ConvoyMountedCrew.Hold(crew, Unit.Entity);
return true;
}
}
modded class ArmaReforgerScripted
{
protected ref ERR_HunterOpeningPlan m_HuntPlan;
protected ref ERR_HunterService m_HuntService;
protected ref ERR_HunterAttack m_HuntAttack;
protected ref array<ref ERR_HunterVehicle> m_HuntUnits = {};
protected ref array<vector> m_HuntStarts = {};
protected int m_HuntPhase;
protected float m_HuntNext;
protected float m_HuntStarted;
override void OnUpdate(BaseWorld world, float timeslice)
{
super.OnUpdate(world, timeslice);
ERR_GameMode mode = ERR_GameMode.Get();
if (!mode || mode.Phase() < ERR_Phase.PRISON || m_HuntPhase == 3) return;
float now = world.GetWorldTime(); if (now < m_HuntNext) return; m_HuntNext = now + 1000;
if (m_HuntPhase == 0)
{
if (!m_HuntPlan) m_HuntPlan = new ERR_HunterOpeningPlan(ERR_Actors.Ground("6880 0 3500"), 1000);
array<IEntity> players = {}; m_HuntPlan.Step(players); if (!m_HuntPlan.Done()) return;
if (!m_HuntPlan.Ready()) { Print("ERR HUNT FAILED opening"); m_HuntPhase = 3; return; }
m_HuntService = new ERR_HunterService(mode, null);
for (int i = 0; i < 3; i++)
{
ERR_HunterVehicle unit = m_HuntService.ProbeHuntUnit(m_HuntPlan.Positions[i], m_HuntPlan.Angles[i], i);
if (!unit) { Print("ERR HUNT FAILED crew"); m_HuntPhase = 3; return; }
m_HuntUnits.Insert(unit); m_HuntStarts.Insert(unit.Entity.GetOrigin());
}
m_HuntPhase = 1; m_HuntNext = now + 10000; return;
}
if (m_HuntPhase == 1)
{
m_HuntAttack = new ERR_HunterAttack(); m_HuntAttack.ReportPosition = m_HuntPlan.Center; m_HuntAttack.Started = now;
m_HuntAttack.Forward = ERR_MountedCover.Approach(m_HuntUnits[0].Entity.GetOrigin(), m_HuntAttack.ReportPosition, "0 0 1");
array<vector> occupied = {};
for (int n = 0; n < m_HuntUnits.Count(); n++)
{
ERR_HunterTactics team = new ERR_HunterTactics(mode, m_HuntUnits[n], m_HuntAttack, n);
PrintFormat("ERR HUNT READY: role=%1 living=%2 crewValid=%3 members=%4", n, team.Living(), m_HuntUnits[n].CrewValid(mode), m_HuntUnits[n].Members.Count());
bool planned = team.Plan(occupied);
bool ownSide = vector.Dot(team.Stage - m_HuntAttack.ReportPosition, m_HuntStarts[n] - m_HuntAttack.ReportPosition) > 0;
bool lane = ERR_MountedCover.ClearLane(m_HuntUnits[n].Entity, team.Stage, m_HuntAttack.ReportPosition);
PrintFormat("ERR HUNT PLAN: role=%1 planned=%2 ownSide=%3 lane=%4 start=%5 stage=%6", n, planned, ownSide, lane, m_HuntStarts[n], team.Stage);
if (!planned) continue;
occupied.Insert(team.Stage); m_HuntAttack.Teams.Insert(team);
bool began = team.ProbeHuntBegin(now); PrintFormat("ERR HUNT BEGIN: role=%1 began=%2", n, began);
}
m_HuntStarted = now; m_HuntPhase = 2; return;
}
foreach (ERR_HunterTactics active : m_HuntAttack.Teams) active.Tick(ERR_HQ.Cast(mode.Command()), now);
if (now - m_HuntStarted < 120000) return;
foreach (ERR_HunterTactics finalTeam : m_HuntAttack.Teams)
{
PrintFormat("ERR HUNT MOVEMENT: role=%1 moved=%2 state=%3 stopped=%4", finalTeam.Role, vector.DistanceXZ(finalTeam.Unit.Entity.GetOrigin(), m_HuntStarts[finalTeam.Role]), finalTeam.State, finalTeam.Stopped);
finalTeam.Stop();
}
Print("ERR HUNT COMPLETE"); m_HuntPhase = 3;
}
}
@@ -0,0 +1 @@
{"reason": "complete", "exit": -15}
@@ -0,0 +1,561 @@
---------------------------------------------
Log /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/profile/logs/logs_2026-10-05_19-24-22/console.log started at 2026-10-05 19:24:22 (2026-10-05 17:24:22 UTC)
19:24:22.609 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/profile/logs/logs_2026-10-05_19-24-22' to filesystem under name logs
19:24:22.609 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/profile/profile' to filesystem under name profile
19:24:22.609 ENGINE : FileSystem: Current working directory: '/tmp/runtime/'
19:24:22.610 ENGINE : Initializing engine, version 192142
19:24:22.610 ENGINE : CLI Params: -server {C1E20667DCE324ED}Missions/ERR_Everon.conf -addonsDir /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons -addons 2528466DE220D91C,70C981A53E02B64F -profile /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/profile -noBackend -noSound -bindIP 127.0.0.1 -bindPort 2001 -maxFPS 30 -logconsole -noSplash -noThrow -disableCrashReporter
19:24:22.612 ENGINE : Addon dirs:
19:24:22.612 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons'
19:24:22.612 ENGINE : dir: './addons'
19:24:22.612 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/profile/addons'
19:24:22.612 ENGINE : Available addons:
19:24:22.612 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
19:24:22.612 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
19:24:22.612 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
19:24:22.612 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
19:24:22.612 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
19:24:22.612 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed)
19:24:22.612 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
19:24:22.612 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:24:22.612 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:24:22.612 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
19:24:22.612 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
19:24:22.612 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/gabreta/addons/NogovaReforger' to filesystem under name NogovaReforger
19:24:22.612 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/source' to filesystem under name ERR_Core
19:24:22.613 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_65930CB4CD0237B2/' (pak count: 1) to filesystem under name Parachutes
19:24:22.613 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
19:24:22.613 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
19:24:22.614 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
19:24:22.619 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
19:24:22.620 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
19:24:22.623 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
19:24:22.730 ENGINE : FileSystem: Adding package './addons/data/' (pak count: 14) to filesystem under name ArmaReforger
19:24:22.732 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
19:24:22.732 ENGINE : CPU vendor : AuthenticAMD
19:24:22.732 ENGINE : CPU type : 2
19:24:22.733 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
19:24:22.733 ENGINE : CPU cache info : Unknown cache
19:24:22.733 ENGINE : CPU count logical : 16
19:24:22.733 ENGINE : CPU count physical : 8
19:24:22.733 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
19:24:22.733 RESOURCES : ResourceDB: loading cache (id=0 name=NogovaReforger path=/home/jakub/devel/gabreta/addons/NogovaReforger/resourceDatabase.rdb)
19:24:22.744 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/source/resourceDatabase.rdb)
19:24:22.744 RESOURCES : ResourceDB: loading cache (id=2 name=Parachutes path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_65930CB4CD0237B2/resourceDatabase.rdb)
19:24:22.744 RESOURCES : ResourceDB: loading cache (id=3 name=WCS_BMP-1 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
19:24:22.745 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_SpaceCore path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
19:24:22.745 RESOURCES : ResourceDB: loading cache (id=5 name=WCS_Armaments path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
19:24:22.747 RESOURCES : ResourceDB: loading cache (id=6 name=RHS_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
19:24:22.760 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Content_02 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
19:24:22.761 RESOURCES : ResourceDB: loading cache (id=8 name=RHS_Content_01 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
19:24:22.767 RESOURCES : ResourceDB: loading cache (id=9 name=ArmaReforger path=./addons/data/resourceDatabase.rdb)
19:24:22.913 RESOURCES : ResourceDB: loading cache (id=10 name=core path=./addons/core/resourceDatabase.rdb)
19:24:22.914 RESOURCES : ResourceDB: loading cache (id=11 name=profile path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/profile/profile/resourceDatabase.rdb)
19:24:22.914 RESOURCES : ResourceDB: loading cache (id=12 name=logs path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/profile/logs/logs_2026-10-05_19-24-22/resourceDatabase.rdb)
19:24:23.107 ENGINE : GameProject load
19:24:23.107 ENGINE : Loaded addons:
19:24:23.107 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
19:24:23.107 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
19:24:23.107 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
19:24:23.107 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
19:24:23.107 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
19:24:23.107 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
19:24:23.107 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
19:24:23.107 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
19:24:23.107 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2'
19:24:23.107 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:24:23.107 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:24:23.108 ENGINE : GameProject load
19:24:23.108 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_595F2BF2F44836FB/addon.gproj"
19:24:23.108 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
19:24:23.108 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_629B2BA37EFFD577/addon.gproj"
19:24:23.108 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
19:24:23.108 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
19:24:23.108 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
19:24:23.108 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-road-contact/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
19:24:23.108 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
19:24:23.108 ENGINE : Loading custom engine user config '$profile:.save/settings/ReforgerEngineSettings.conf'
19:24:23.108 ENGINE : No Enfusion settings file loaded. Continuing with defaults
19:24:23.108 RENDER : Basic screen setup:
19:24:23.108 RENDER : Back buffer width x height: 0x0
19:24:23.108 RENDER : Back buffer format : TEXFMT_UNKNOWN (0)
19:24:23.108 RENDER : MSAA : none
19:24:23.108 RENDER : GPU_DUMMY (0xFFFF) (Enfusion dummy render) with 1 GPU detected, VRAM 128MB (fast 128MB), shared 128MB, driver version Unknown version
19:24:23.108 RENDER : Detected output devices:
19:24:23.108 RENDER : * 1 device/s connected to Dummy:
19:24:23.108 RENDER : Dummy output (Dummy device for our dummy render.), 1920x1080 (offset 0x0), 60Hz
19:24:23.108 RENDER : Concurrent frames limit 2
19:24:23.108 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=7
19:24:23.123 PROFILING : Settings changed took: 0.022000 ms
19:24:23.125 ENGINE : Initializing inputs.
19:24:23.133 NETWORK : Initializing networking.
19:24:23.133 NETWORK : Using new GameRplScheduler.
19:24:23.133 SCRIPT : SCRIPT : Initializing scripts
19:24:23.133 SCRIPT : SCRIPT : ScriptProjectManager init
19:24:23.133 PROFILING : ScriptProjectManager init took: 0.009000 ms
19:24:23.155 PROFILING : Initializing scripts took: 21.241000 ms
19:24:23.155 BACKEND : Backend Services are disabled.
19:24:23.155 ENGINE : Enfusion engine successfully created.
19:24:23.156 GUI : Using default language (en_us)
19:24:23.156 GUI : Loading 'en_us' localization file.
19:24:23.156 INIT : INIT : Loading StringTable
19:24:23.187 PROFILING : Loading StringTable took: 30.581000 ms
19:24:23.187 SCRIPT : SCRIPT : Compiling GameLib scripts
19:24:23.227 SCRIPT : Module: GameLib; loaded 466x files; 608x classes; used 654K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
19:24:23.228 PROFILING : Compiling GameLib scripts took: 40.731000 ms
19:24:23.228 SCRIPT : SCRIPT : Compiling Game scripts
19:24:23.926 SCRIPT : Compiling Game scripts
19:24:23.926 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables
19:24:24.319 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
19:24:24.319 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
19:24:24.611 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,359": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:24:24.624 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
19:24:24.666 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
19:24:24.827 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
19:24:24.827 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
19:24:24.827 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
19:24:24.827 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
19:24:24.863 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
19:24:24.916 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
19:24:24.927 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
19:24:24.927 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
19:24:24.929 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
19:24:24.987 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:24:24.987 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:24:24.989 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
19:24:24.989 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
19:24:25.051 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
19:24:25.234 SCRIPT : Module: Game; loaded 6730x files; 13503x classes; used 33419K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS,WCS_DEFINES_SPACECORE"; CRC32: c190d5db
19:24:25.259 PROFILING : Compiling Game scripts took: 2031.282000 ms
19:24:25.259 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
19:24:25.284 ENGINE : Game successfully created.
19:24:25.338 PLATFORM : Save data from container 'settings' have been loaded
19:24:25.438 PLATFORM : Save data from container 'sessions' have been loaded
19:24:25.438 PLATFORM : System language differs from the saved one - using new language {new: 'en_us'; old: ''}
19:24:25.438 PLATFORM : Save data transaction to 'settings' started.
19:24:25.438 NETWORK : Starting local multiplayer server using command line args.
19:24:25.537 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{C1E20667DCE324ED}Missions/ERR_Everon.conf'.
19:24:25.538 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent'
19:24:26.494 PROFILING : Entities load took: 956.354000 ms
19:24:26.495 WORLD : WORLD : Game::LoadEntities
19:24:26.495 WORLD : WORLD : Initializing world systems @"{C50579A2EC48E8EF}Configs/Systems/MissionSystems.conf"
19:24:26.497 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits.
19:24:26.497 WORLD : WORLD : CreateEntities
19:24:26.497 WORLD : WORLD : CreateEntities
19:24:26.497 WORLD : WORLD : NotifyBeforeEntitiesCreated
19:24:26.498 RESOURCES : Loaded mission headers from 11 addon(s)!
19:24:26.498 PROFILING : NotifyBeforeEntitiesCreated took: 1.634000 ms
19:24:26.498 WORLD : WORLD : Wait for preloading data
19:24:26.510 PROFILING : Wait for preloading data took: 11.816000 ms
19:24:26.572 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et"
19:24:26.572 PROFILING : PROFILING : Terrain load
19:24:27.757 PROFILING : Terrain load took: 1185.355000 ms
19:24:30.538 WORLD : Game::LoadEntities
19:24:30.538 WORLD : CreateEntities
19:24:30.538 WORLD : CreateEntities
19:24:30.538 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"
19:24:30.538 ENTITY : CreateComponent 'ScriptedRadioComponent'
19:24:30.538 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
19:24:35.275 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{5414041A15DC4B54}Prefabs/ERR/FactionManager.et"
19:24:35.275 RESOURCES : GetResourceObject @"{442939C9617DF228}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_FIA.et"
19:24:35.275 WORLD : Entity prefab load @"{442939C9617DF228}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_FIA.et"
19:24:35.275 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:24:35.275 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:24:35.275 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:24:35.275 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:24:35.275 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)
19:24:35.275 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)
19:24:35.277 RESOURCES : GetResourceObject @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:24:35.277 WORLD : Entity prefab load @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:24:35.277 RESOURCES : GetResourceObject @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:24:35.277 WORLD : Entity prefab load @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:24:35.277 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:24:35.277 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:24:35.277 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:24:35.277 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:24:35.277 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)
19:24:35.277 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)
19:24:35.277 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)
19:24:35.277 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)
19:24:35.373 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et"
19:24:35.373 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et"
19:24:35.373 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:24:35.373 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:24:35.373 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:24:35.373 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:24:35.373 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:24:35.373 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:24:35.373 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)
19:24:35.800 WORLD : WORLD : NotifyBeforeEntitiesInitialized
19:24:35.800 PROFILING : NotifyBeforeEntitiesInitialized took: 0.031000 ms
19:24:35.800 WORLD : InitEntities 'world'
19:24:35.800 ENTITY : Init entity @"ENTITY:3" ('SCR_MapEntity1', SCR_MapEntity) at <6400.000000 0.000000 6400.000000> @"{E1B88C66BF6CA1F9}Prefabs/World/Game/Eden/MapEntity_Everon.et"
19:24:35.800 SCRIPT (W): SCR_MapEntity: Cannot get the size from terrain. Using default.
19:24:36.361 WORLD : InitEntities 'world'
19:24:36.361 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Reintroduced', ERR_GameMode) at <60.452000 1.000000 213.136002> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
19:24:36.361 SCRIPT : Reintroduced [config]: using $profile:Escapists.json; legacy files retained but no longer used.
19:24:36.366 WORLD : WORLD : NotifyEntitiesInitialized
19:24:36.366 TERRAIN : TERRAIN : Initializing road networks...
19:24:36.368 PROFILING : Initializing road networks... took: 2.277000 ms
19:24:36.416 SCRIPT : Reintroduced [terrain selection]: discovered 46 playable scenario headers; truncated=0
19:24:36.417 DEFAULT : DEFAULT : WorldVolumesCollection
19:24:36.472 PROFILING : WorldVolumesCollection took: 55.095000 ms
19:24:36.472 INIT : INIT : SoundWorldInit
19:24:36.485 PROFILING : SoundWorldInit took: 12.762000 ms
19:24:36.485 PROFILING : NotifyEntitiesInitialized took: 118.783000 ms
19:24:36.485 PROFILING : CreateEntities took: 9988.173000 ms
19:24:36.485 PROFILING : CreateEntities took: 9988.187000 ms
19:24:36.485 WORLD : WORLD : EOnActivate
19:24:36.517 PROFILING : EOnActivate took: 32.005000 ms
19:24:36.517 PROFILING : Game::LoadEntities took: 10021.559000 ms
19:24:36.646 NETWORK : Starting RPL server, listening on address 0.0.0.0:2001, fastValidation=false
19:24:37.130 DEFAULT : Entered online game state.
19:24:37.130 PROFILING : Settings changed took: 0.441000 ms
19:24:39.893 SCRIPT : Map load time: 1659ms
19:24:39.966 WORLD : Frame start
19:24:39.966 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated.
19:24:39.975 WORLD : UpdateEntities
19:24:39.975 WORLD : Frame
19:24:39.975 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME
19:24:41.334 SCRIPT : Co10 Escape Reintroduced factions: players=US enemy=USSR independent=FIA
19:24:42.704 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-prison-1 position=<6018.96,80.9001,5675.17> heading=83.8832 attempts=17 fallback=0
19:24:42.801 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-radio-1 position=<4965.59,52.6988,5544.7> heading=4.87808 attempts=322 fallback=0
19:24:43.337 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-1 position=<2795.91,6.24934,2119.99> heading=283.599 attempts=603 fallback=0
19:24:43.602 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-2 position=<4805.73,27.645,11144.1> heading=346.278 attempts=216 fallback=0
19:24:44.139 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-3 position=<3905.57,15.1138,8452.99> heading=225.831 attempts=836 fallback=0
19:24:44.673 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-4 position=<3611.25,103.976,4893.51> heading=185.664 attempts=443 fallback=0
19:24:44.938 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-medical-1 position=<5739.1,28.8371,10164> heading=109.955 attempts=239 fallback=0
19:24:45.207 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-outpost-1 position=<11098.2,20.9141,11882> heading=321.832 attempts=407 fallback=0
19:24:45.468 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-medical-2 position=<3991.17,102.335,6288.47> heading=123.699 attempts=71 fallback=0
19:24:48.135 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-medical-3 position=<5122.71,28.2159,10016.7> heading=198.068 attempts=3383 fallback=0
19:24:49.471 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-2 position=<9179.08,2.145,5363.84> heading=72.5669 attempts=1785 fallback=0
19:24:58.270 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-3 position=<6545.45,86.4262,5233.75> heading=311.823 attempts=10250 fallback=0
19:25:01.471 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-4 position=<5078.94,38.4555,9170.98> heading=218.426 attempts=3998 fallback=0
19:25:03.337 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-5 position=<4616.55,84.9887,8581.12> heading=125.578 attempts=2144 fallback=0
19:25:03.343 SCRIPT : Reintroduced [sites]: authored everon-prison-1 at <6018.96,81.1937,5675.17>
19:25:03.344 SCRIPT : Reintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1
19:25:03.349 SCRIPT : Reintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050>
19:25:03.350 ENTITY : SpawnEntityPrefab @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"
19:25:03.350 ENTITY : Create entity @"ENTITY:4611686018427388511" ('GenericEntity','Assets/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02.xob') at <4958.783691 53.071922 5547.290039> @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"
19:25:03.350 ENTITY : CreateComponent 'ScriptedRadioComponent'
19:25:03.350 DEFAULT (W): BaseRadioComponent does not have any transceiver. (Entity: @"ENTITY:4611686018427388511" ('GenericEntity','Assets/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02.xob') at <4958.783691 53.071922 5547.290039> @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"). Only printing this message once. There're possibly more nodes with this requirement.
19:25:03.352 SCRIPT : Reintroduced [sites]: authored everon-radio-1 at <4965.59,53.1828,5544.7>
19:25:03.372 SCRIPT : Reintroduced [sites]: authored everon-extraction-1 at <4800.95,27.8202,11487.4>
19:25:03.376 SCRIPT : Reintroduced [sites]: authored everon-medical-1 at <5739.1,29.1483,10164>
19:25:03.380 SCRIPT : Reintroduced [sites]: authored everon-outpost-1 at <11098.2,21.225,11882>
19:25:03.380 SCRIPT : Reintroduced [sites]: authored everon-mortar-1 at <2795.91,6.56875,2119.99>
19:25:03.380 SCRIPT : Reintroduced [sites]: authored everon-mortar-2 at <4805.73,27.755,11144.1>
19:25:03.380 SCRIPT : Reintroduced [sites]: authored everon-mortar-3 at <3905.57,15.4125,8452.99>
19:25:03.380 SCRIPT : Reintroduced [sites]: authored everon-mortar-4 at <3611.25,104.225,4893.51>
19:25:03.382 SCRIPT : Reintroduced [sites]: authored everon-medical-2 at <3991.17,102.613,6288.47>
19:25:03.385 SCRIPT : Reintroduced [sites]: authored everon-medical-3 at <5122.71,28.4638,10016.7>
19:25:03.387 SCRIPT : Reintroduced [sites]: authored everon-camp-2 at <9179.08,2.225,5363.84>
19:25:03.390 SCRIPT : Reintroduced [sites]: authored everon-camp-3 at <6545.45,86.6038,5233.75>
19:25:03.393 SCRIPT : Reintroduced [sites]: authored everon-camp-4 at <5078.94,38.9279,9170.98>
19:25:03.395 SCRIPT : Reintroduced [sites]: authored everon-camp-5 at <4616.55,85.2597,8581.12>
19:25:03.395 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<4800.95,27.8202,11487.4> up=1
19:25:03.395 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0 angularSpeed=0
19:25:03.395 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=0 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:25:03.395 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4800.95,28.1168,11489.7>
19:25:03.395 SCRIPT : ERR GEAR TERRAIN: bottom=<4800.95,27.8168,11489.7> terrainY=27.7202 tireTerrainGap=0.0965805
19:25:03.395 SCRIPT : ERR GEAR SUPPORT: center=<4800.95,28.1168,11489.7> radius=0.3 bottom=<4800.95,27.8168,11489.7> fraction=0.893554 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.0965824
19:25:03.395 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.68,28.585,11485.4>
19:25:03.395 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.68,28.135,11485.4> terrainY=27.8121 tireTerrainGap=0.322891
19:25:03.395 SCRIPT : ERR GEAR SUPPORT: center=<4798.68,28.585,11485.4> radius=0.45 bottom=<4798.68,28.135,11485.4> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.120001
19:25:03.395 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.23,28.585,11485.4>
19:25:03.395 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.23,28.135,11485.4> terrainY=27.649 tireTerrainGap=0.485987
19:25:03.395 SCRIPT : ERR GEAR SUPPORT: center=<4803.23,28.585,11485.4> radius=0.45 bottom=<4803.23,28.135,11485.4> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.120001
19:25:03.395 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=3 physical=0 conscious=0 nativeComplete=0
19:25:03.395 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=0 conscious=0 nativeComplete=0
19:25:03.395 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=2 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=2 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=0 conscious=0 nativeComplete=0
19:25:03.396 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=2 physical=0 conscious=0 nativeComplete=0
19:25:04.132 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=3 physical=1 conscious=1 nativeComplete=0
19:25:04.132 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=1 conscious=1 nativeComplete=0
19:25:04.132 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=1 conscious=1 nativeComplete=0
19:25:04.132 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=1 conscious=1 nativeComplete=0
19:25:04.400 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<4801.01,27.58,11487.4> up=0.99737
19:25:04.400 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.673806 angularSpeed=0.133412
19:25:04.400 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:25:04.400 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.07,27.9775,11489.6>
19:25:04.400 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.07,27.6775,11489.6> terrainY=27.7165 tireTerrainGap=-0.0390339
19:25:04.400 SCRIPT : ERR GEAR SUPPORT: center=<4801.07,27.9775,11489.6> radius=0.3 bottom=<4801.07,27.6775,11489.6> fraction=0.27708 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.0390415
19:25:04.400 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.71,28.2339,11485.4>
19:25:04.400 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.71,27.7839,11485.4> terrainY=27.8105 tireTerrainGap=-0.0265408
19:25:04.400 SCRIPT : ERR GEAR SUPPORT: center=<4798.71,28.2339,11485.4> radius=0.45 bottom=<4798.71,27.7839,11485.4> fraction=0.333843 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.0265541
19:25:04.400 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.25,28.0827,11485.3>
19:25:04.400 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.25,27.6327,11485.3> terrainY=27.6483 tireTerrainGap=-0.0156345
19:25:04.400 SCRIPT : ERR GEAR SUPPORT: center=<4803.25,28.0827,11485.3> radius=0.45 bottom=<4803.25,27.6327,11485.3> fraction=0.383457 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.0156403
19:25:04.400 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:25:04.666 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=1 conscious=1 nativeComplete=0
19:25:04.666 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=1 conscious=1 nativeComplete=0
19:25:04.666 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=1 conscious=1 nativeComplete=0
19:25:04.666 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=1 conscious=1 nativeComplete=0
19:25:05.200 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=2 conscious=2 nativeComplete=0
19:25:05.200 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=2 conscious=2 nativeComplete=0
19:25:05.200 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=2 conscious=2 nativeComplete=0
19:25:05.200 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=2 physical=1 conscious=1 nativeComplete=0
19:25:05.466 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.03,27.5964,11487.4> up=0.99638
19:25:05.466 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.169103 angularSpeed=0.0431743
19:25:05.466 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:25:05.466 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.09,28.0249,11489.6>
19:25:05.466 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.09,27.7249,11489.6> terrainY=27.716 tireTerrainGap=0.00889587
19:25:05.466 SCRIPT : ERR GEAR SUPPORT: center=<4801.09,28.0249,11489.6> radius=0.3 bottom=<4801.09,27.7249,11489.6> fraction=0.494969 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00889397
19:25:05.466 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.73,28.2632,11485.4>
19:25:05.466 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.73,27.8132,11485.4> terrainY=27.8094 tireTerrainGap=0.00382423
19:25:05.466 SCRIPT : ERR GEAR SUPPORT: center=<4798.73,28.2632,11485.4> radius=0.45 bottom=<4798.73,27.8132,11485.4> fraction=0.471879 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=0.00381279
19:25:05.466 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.28,28.1026,11485.3>
19:25:05.466 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.28,27.6526,11485.3> terrainY=27.6474 tireTerrainGap=0.00522614
19:25:05.466 SCRIPT : ERR GEAR SUPPORT: center=<4803.28,28.1026,11485.3> radius=0.45 bottom=<4803.28,27.6526,11485.3> fraction=0.478315 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00522995
19:25:05.466 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:25:05.733 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=2 conscious=2 nativeComplete=1
19:25:05.733 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=1 conscious=1 nativeComplete=0
19:25:05.733 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=2 conscious=2 nativeComplete=0
19:25:05.734 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=2 physical=2 conscious=2 nativeComplete=1
19:25:05.999 SCRIPT : Reintroduced [extraction placement]: native supported aircraft stable for one second, fuel present, exactly one initial wake
19:25:06.266 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=3 physical=2 conscious=2 nativeComplete=0
19:25:06.266 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=3 conscious=3 nativeComplete=0
19:25:06.266 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=3 conscious=3 nativeComplete=0
19:25:06.266 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=2 conscious=2 nativeComplete=0
19:25:06.533 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.08,27.5861,11487.4> up=0.996165
19:25:06.533 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0618754 angularSpeed=0.041988
19:25:06.533 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:25:06.533 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.15,28.0137,11489.6>
19:25:06.533 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.15,27.7137,11489.6> terrainY=27.7139 tireTerrainGap=-0.000246048
19:25:06.533 SCRIPT : ERR GEAR SUPPORT: center=<4801.15,28.0137,11489.6> radius=0.3 bottom=<4801.15,27.7137,11489.6> fraction=0.453404 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00025177
19:25:06.533 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.77,28.2531,11485.4>
19:25:06.533 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.77,27.8031,11485.4> terrainY=27.8078 tireTerrainGap=-0.00473404
19:25:06.533 SCRIPT : ERR GEAR SUPPORT: center=<4798.77,28.2531,11485.4> radius=0.45 bottom=<4798.77,27.8031,11485.4> fraction=0.432896 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00476265
19:25:06.533 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.32,28.0918,11485.3>
19:25:06.533 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.32,27.6418,11485.3> terrainY=27.6464 tireTerrainGap=-0.00458145
19:25:06.533 SCRIPT : ERR GEAR SUPPORT: center=<4803.32,28.0918,11485.3> radius=0.45 bottom=<4803.32,27.6418,11485.3> fraction=0.433696 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00458717
19:25:06.533 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:25:06.799 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=1 conscious=1 nativeComplete=0
19:25:06.799 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=1 conscious=1 nativeComplete=0
19:25:06.799 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=1 conscious=1 nativeComplete=0
19:25:06.799 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=1 conscious=1 nativeComplete=0
19:25:07.081 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=3 conscious=3 nativeComplete=0
19:25:07.081 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=2 conscious=2 nativeComplete=0
19:25:07.081 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=2 physical=1 conscious=1 nativeComplete=0
19:25:07.081 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=3 conscious=3 nativeComplete=0
19:25:07.613 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5902,11487.4> up=0.996037
19:25:07.613 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:25:07.613 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:25:07.613 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0145,11489.6>
19:25:07.613 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7145,11489.6> terrainY=27.7127 tireTerrainGap=0.00180054
19:25:07.613 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0145,11489.6> radius=0.3 bottom=<4801.19,27.7145,11489.6> fraction=0.462702 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00179482
19:25:07.613 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:25:07.613 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00235176
19:25:07.613 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.443827 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00235748
19:25:07.613 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:25:07.613 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.00260925
19:25:07.613 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442717 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00260162
19:25:07.613 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:25:07.613 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=4 conscious=4 nativeComplete=0
19:25:07.613 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=4 conscious=4 nativeComplete=0
19:25:07.613 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=2 conscious=2 nativeComplete=0
19:25:07.613 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=2 conscious=2 nativeComplete=1
19:25:08.167 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=1 conscious=1 nativeComplete=0
19:25:08.167 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=2 physical=1 conscious=1 nativeComplete=0
19:25:08.167 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=2 conscious=2 nativeComplete=0
19:25:08.167 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=1 conscious=1 nativeComplete=0
19:25:08.699 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5902,11487.4> up=0.996037
19:25:08.699 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:25:08.699 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:25:08.699 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0145,11489.6>
19:25:08.699 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7145,11489.6> terrainY=27.7127 tireTerrainGap=0.00180054
19:25:08.699 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0145,11489.6> radius=0.3 bottom=<4801.19,27.7145,11489.6> fraction=0.462702 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00179482
19:25:08.699 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:25:08.699 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00235176
19:25:08.699 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.443827 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00235748
19:25:08.699 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:25:08.699 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.00260925
19:25:08.699 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442717 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00260162
19:25:08.699 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:25:08.700 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=1 conscious=1 nativeComplete=0
19:25:08.700 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=1 conscious=1 nativeComplete=0
19:25:08.700 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=2 conscious=2 nativeComplete=0
19:25:08.700 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=2 conscious=2 nativeComplete=1
19:25:09.233 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=3 physical=3 conscious=3 nativeComplete=1
19:25:09.234 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=4 conscious=4 nativeComplete=0
19:25:09.234 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=3 conscious=3 nativeComplete=0
19:25:09.234 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=2 physical=2 conscious=2 nativeComplete=1
19:25:09.766 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5902,11487.4> up=0.996037
19:25:09.766 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:25:09.766 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:25:09.766 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0145,11489.6>
19:25:09.766 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7145,11489.6> terrainY=27.7127 tireTerrainGap=0.00180054
19:25:09.766 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0145,11489.6> radius=0.3 bottom=<4801.19,27.7145,11489.6> fraction=0.462702 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00179482
19:25:09.766 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:25:09.766 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00235176
19:25:09.766 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.443827 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00235748
19:25:09.766 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:25:09.766 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.00260925
19:25:09.766 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442717 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00260162
19:25:09.766 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:25:09.767 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=5 conscious=5 nativeComplete=0
19:25:09.767 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=5 conscious=5 nativeComplete=0
19:25:09.767 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=3 conscious=3 nativeComplete=0
19:25:09.767 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=3 conscious=3 nativeComplete=0
19:25:10.300 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=2 conscious=2 nativeComplete=0
19:25:10.300 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=2 physical=2 conscious=2 nativeComplete=1
19:25:10.300 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=3 conscious=3 nativeComplete=0
19:25:10.300 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=2 conscious=2 nativeComplete=1
19:25:10.833 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5902,11487.4> up=0.996037
19:25:10.833 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:25:10.833 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:25:10.833 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0145,11489.6>
19:25:10.833 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7145,11489.6> terrainY=27.7127 tireTerrainGap=0.00180054
19:25:10.833 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0145,11489.6> radius=0.3 bottom=<4801.19,27.7145,11489.6> fraction=0.462702 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00179482
19:25:10.833 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:25:10.833 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00235176
19:25:10.833 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.443827 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00235748
19:25:10.833 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:25:10.833 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.00260925
19:25:10.833 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442717 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00260162
19:25:10.833 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:25:10.833 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=5 conscious=5 nativeComplete=1
19:25:10.833 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=3 conscious=3 nativeComplete=0
19:25:10.834 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=4 conscious=4 nativeComplete=1
19:25:10.834 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=4 conscious=4 nativeComplete=1
19:25:11.366 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=6 conscious=6 nativeComplete=1
19:25:11.366 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=6 conscious=6 nativeComplete=1
19:25:11.366 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=4 conscious=4 nativeComplete=1
19:25:11.366 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=3 conscious=3 nativeComplete=0
19:25:11.900 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5902,11487.4> up=0.996037
19:25:11.900 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:25:11.900 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:25:11.900 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0145,11489.6>
19:25:11.900 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7145,11489.6> terrainY=27.7127 tireTerrainGap=0.00180054
19:25:11.900 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0145,11489.6> radius=0.3 bottom=<4801.19,27.7145,11489.6> fraction=0.462702 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00179482
19:25:11.900 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:25:11.900 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00235176
19:25:11.900 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.443827 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00235748
19:25:11.900 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:25:11.900 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.00260925
19:25:11.900 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442717 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00260162
19:25:11.900 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:25:11.900 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=4 conscious=4 nativeComplete=1
19:25:11.900 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=2 conscious=2 nativeComplete=1
19:25:11.900 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=2 conscious=2 nativeComplete=0
19:25:11.901 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=4 conscious=4 nativeComplete=1
19:25:12.433 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=4 conscious=4 nativeComplete=1
19:25:12.433 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=4 conscious=4 nativeComplete=1
19:25:12.433 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=3 conscious=3 nativeComplete=0
19:25:12.966 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5902,11487.4> up=0.996037
19:25:12.966 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:25:12.966 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:25:12.966 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0145,11489.6>
19:25:12.966 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7145,11489.6> terrainY=27.7127 tireTerrainGap=0.00180054
19:25:12.966 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0145,11489.6> radius=0.3 bottom=<4801.19,27.7145,11489.6> fraction=0.462702 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00179482
19:25:12.966 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:25:12.966 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00235176
19:25:12.966 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.443827 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00235748
19:25:12.966 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:25:12.967 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.00260925
19:25:12.967 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442717 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00260162
19:25:12.967 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:25:12.967 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=4 conscious=4 nativeComplete=1
19:25:12.968 SCRIPT : Reintroduced [sites]: transport parking=<6150,202.725,7038> radius=4 terrainRange=0.625 obstructed=0 clear=1
19:25:12.988 SCRIPT : Reintroduced [sites]: 16 sites and 240 physical stock items ready
19:25:12.992 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=1 position=<7957.25,116.533,1779.74> heading=90
19:25:13.233 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=2 position=<5384.59,160.261,7434.6> heading=90
19:25:13.236 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=3 position=<8790.17,137.003,4943.12> heading=135
19:25:13.502 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=4 position=<10497.5,188.896,2187.18> heading=45
19:25:13.505 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=5 position=<10166.8,65.4444,650.803> heading=45
19:25:14.034 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=6 position=<8985.21,171.677,1955.14> heading=0
19:25:14.034 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=7 position=<9578.54,266.453,3413.39> heading=180
19:25:15.371 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=8 position=<3795.74,125.137,5140.39> heading=180
19:25:15.634 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=9 position=<5819.23,143.517,6309.18> heading=270
19:25:16.434 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=10 position=<6349.24,70.8488,4717.72> heading=225
19:25:27.900 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-1 faction=USSR group=<0x000000005ACEAC90> SCR_AIGroup position=<7957.25,116.433,1779.74> living=1
19:25:27.900 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<7957.25,116.533,1779.74> backpack magazines=40
19:25:28.433 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-2 faction=USSR group=<0x000000005AD01750> SCR_AIGroup position=<5384.59,160.161,7434.6> living=1
19:25:28.433 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<5384.59,160.261,7434.6> backpack magazines=40
19:25:28.433 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-3 faction=USSR group=<0x000000005AD187E0> SCR_AIGroup position=<8790.17,136.903,4943.12> living=1
19:25:28.433 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<8790.17,137.003,4943.12> backpack magazines=40
19:25:28.966 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-4 faction=USSR group=<0x000000005AE6A620> SCR_AIGroup position=<10497.5,188.863,2187.18> living=1
19:25:28.966 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<10497.5,188.896,2187.18> backpack magazines=40
19:25:28.967 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-5 faction=USSR group=<0x000000005AE718A0> SCR_AIGroup position=<10166.8,65.9126,650.803> living=1
19:25:28.967 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<10166.8,65.4444,650.803> backpack magazines=40
19:25:29.500 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-6 faction=USSR group=<0x000000005AEC54C0> SCR_AIGroup position=<8985.21,171.697,1955.14> living=1
19:25:29.500 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<8985.21,171.677,1955.14> backpack magazines=40
19:25:29.501 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-7 faction=USSR group=<0x000000005B0ACFC0> SCR_AIGroup position=<9578.54,266.353,3413.39> living=1
19:25:29.501 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<9578.54,266.453,3413.39> backpack magazines=40
19:25:30.033 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-8 faction=USSR group=<0x000000005B173C80> SCR_AIGroup position=<3795.74,125.037,5140.39> living=1
19:25:30.033 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<3795.74,125.137,5140.39> backpack magazines=40
19:25:30.034 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-9 faction=USSR group=<0x000000005B18D320> SCR_AIGroup position=<5819.23,143.445,6309.18> living=1
19:25:30.034 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<5819.23,143.517,6309.18> backpack magazines=40
19:25:30.566 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-10 faction=USSR group=<0x000000005B252680> SCR_AIGroup position=<6349.24,70.7488,4717.72> living=1
19:25:30.567 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<6349.24,70.8488,4717.72> backpack magazines=40
19:25:32.193 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-0 faction=USSR group=<0x000000005B64B410> SCR_AIGroup position=<9796.11,29.1151,1231.93> living=4
19:25:32.193 SCRIPT : Reintroduced [roadblocks]: roadblock-0 at <9801.07,28.8248,1239.46> guards=4 roadPassage=open HQ=registered
19:25:33.793 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-1 faction=USSR group=<0x000000005B927140> SCR_AIGroup position=<5129.95,23.7228,11678.1> living=4
19:25:33.793 SCRIPT : Reintroduced [roadblocks]: roadblock-1 at <5130.77,23.9799,11670.6> guards=4 roadPassage=open HQ=registered
19:25:36.194 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-2 faction=USSR group=<0x000000005BC3C9D0> SCR_AIGroup position=<7163.94,149.579,2065.08> living=4
19:25:36.194 SCRIPT : Reintroduced [roadblocks]: roadblock-2 at <7161.96,150.346,2072.43> guards=4 roadPassage=open HQ=registered
19:25:38.860 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-3 faction=USSR group=<0x000000005C56A210> SCR_AIGroup position=<11365.2,17.3862,11869.8> living=4
19:25:38.861 SCRIPT : Reintroduced [roadblocks]: roadblock-3 at <11369.9,17.0387,11875.8> guards=4 roadPassage=open HQ=registered
19:25:39.099 SCRIPT : Reintroduced [roadblocks]: placed=4 requested=4 attempts=96 roadCandidates=22 clearPlans=4; requested count reached
19:25:39.099 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-1 location=<2795.91,6.56875,2119.99> authored=<2795.91,6.24934,2119.99>
19:25:39.103 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-2 location=<4805.73,27.755,11144.1> authored=<4805.73,27.645,11144.1>
19:25:39.104 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-3 location=<3905.57,15.4125,8452.99> authored=<3905.57,15.1138,8452.99>
19:25:39.106 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-4 location=<3611.25,104.225,4893.51> authored=<3611.25,103.976,4893.51>
19:25:39.109 SCRIPT : Reintroduced [environment]: date=authored weather=authored
19:25:39.110 SCRIPT : Reintroduced [time]: started at 14:00 with 1x progression
19:25:39.110 SCRIPT : Reintroduced [mission]: phase 0 -> 1
19:25:39.110 SCRIPT : Reintroduced [prison]: owned composition raw={BE6B8D56349038A6}Prefabs/ERR/Prison.et resolved={BE6B8D56349038A6}Prefabs/ERR/Prison.et position=<6018.96,80.9001,5675.17>
19:25:39.110 SCRIPT : Reintroduced [prison]: gate candidate raw= resolved={67F17696FF278AE0}Prefabs/Structures/BuildingParts/Doors/Door_Metal_A_RIGHT_EXT_COV_B.et lock=1 door=1 position=<6012.98,80.9001,5675.2>
19:25:39.110 SCRIPT : Reintroduced [prison]: one intact successor lock in owned prison
19:25:39.111 SCRIPT : ERR HUNT CONTACT: point=<6923.64,36.8614,3503.27> water=0
19:25:41.099 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-prison-1 faction=USSR group=<0x000000004020B6A0> SCR_AIGroup position=<6022.69,81.3682,5640.37> living=3
19:25:41.100 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-supply-1 faction=FIA group=<0x00000000403FEEB0> SCR_AIGroup position=<6168,202.217,7050> living=5
19:25:41.100 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-radio-1 faction=USSR group=<0x00000000404F9A70> SCR_AIGroup position=<4995.48,52.859,5542.15> living=6
19:25:41.100 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-extraction-1 faction=USSR group=<0x0000000055956600> SCR_AIGroup position=<4830.95,28.2904,11487.4> living=6
19:25:41.101 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-1 faction=USSR group=<0x00000000575277E0> SCR_AIGroup position=<5735.01,28.988,10152.7> living=4
19:25:41.101 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-1-responders faction=USSR group=<0x000000005752F900> SCR_AIGroup position=<5743.2,29.0938,10175.3> living=2
19:25:41.101 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-outpost-1 faction=USSR group=<0x0000000057567680> SCR_AIGroup position=<11107.7,21.1054,11889.4> living=4
19:25:41.102 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-outpost-1-responders faction=USSR group=<0x000000005757A9F0> SCR_AIGroup position=<11088.8,21.1871,11874.6> living=2
19:25:41.102 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-2 faction=USSR group=<0x00000000575A5870> SCR_AIGroup position=<3984.51,102.675,6278.49> living=4
19:25:41.102 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-2-responders faction=USSR group=<0x00000000575BC700> SCR_AIGroup position=<3997.83,102.525,6298.46> living=2
19:25:41.102 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-3 faction=USSR group=<0x00000000575DD540> SCR_AIGroup position=<5111.31,28.284,10020.4> living=4
19:25:41.103 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-3-responders faction=USSR group=<0x00000000575F4260> SCR_AIGroup position=<5134.12,28.375,10013> living=2
19:25:41.103 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-2 faction=USSR group=<0x0000000057619480> SCR_AIGroup position=<9182.68,2.18597,5352.39> living=4
19:25:41.103 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-2-responders faction=USSR group=<0x0000000057630F10> SCR_AIGroup position=<9175.49,2.18597,5375.29> living=2
19:25:41.104 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-3 faction=USSR group=<0x0000000057655760> SCR_AIGroup position=<6553.46,86.5749,5242.7> living=4
19:25:41.104 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-3-responders faction=USSR group=<0x000000005777D1C0> SCR_AIGroup position=<6537.45,86.6869,5224.81> living=2
19:25:41.104 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-4 faction=USSR group=<0x00000000577A2460> SCR_AIGroup position=<5069.54,38.8954,9178.44> living=4
19:25:41.105 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-4-responders faction=USSR group=<0x00000000577B9EF0> SCR_AIGroup position=<5088.34,38.6727,9163.53> living=2
19:25:41.105 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-5 faction=USSR group=<0x00000000577E0F80> SCR_AIGroup position=<4609.57,85.0885,8571.36> living=4
19:25:41.105 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-5-responders faction=USSR group=<0x00000000577F8B50> SCR_AIGroup position=<4623.53,85.1351,8590.88> living=2
19:25:49.265 SCRIPT : ERR HUNT READY: role=0 living=1 crewValid=1 members=3
19:25:49.265 SCRIPT : ERR HUNT SURFACE: role=0 spawnFlat=0 stageClear=0 previous=terrain origin/height/span check; terrainY=113.445..121.136 span=7.69101; visited=0; first=none at <0,0,0>; trace=-1 staging=terrain origin/height/span check; terrainY=113.445..121.136 span=7.69101; visited=0; first=none at <0,0,0>; trace=-1
19:25:49.269 SCRIPT : ERR HUNT PLAN: role=0 planned=0 ownSide=0 lane=0 start=<7518.71,165.843,4328.43> stage=<0,0,0>
19:25:49.269 SCRIPT : ERR HUNT READY: role=1 living=1 crewValid=1 members=3
19:25:49.269 SCRIPT : ERR HUNT SURFACE: role=1 spawnFlat=0 stageClear=0 previous=terrain origin/height/span check; terrainY=71.0371..75.6547 span=4.61752; visited=0; first=none at <0,0,0>; trace=-1 staging=terrain origin/height/span check; terrainY=71.0371..75.6547 span=4.61752; visited=0; first=none at <0,0,0>; trace=-1
19:25:49.269 SCRIPT : ERR HUNT PLAN: role=1 planned=1 ownSide=1 lane=0 start=<7171.83,143.584,2530.19> stage=<7035.17,90.4968,3242.48>
19:25:49.269 SCRIPT : ERR HUNT BEGIN: role=1 began=1
19:25:49.269 SCRIPT : ERR HUNT READY: role=2 living=1 crewValid=1 members=15
19:25:49.269 SCRIPT : ERR HUNT SURFACE: role=2 spawnFlat=0 stageClear=0 previous=water at footprint sample; terrainY=1e+20..-1e+20 span=-2e+20; visited=0; first=none at <0,0,0>; trace=-1 staging=water at footprint sample; terrainY=1e+20..-1e+20 span=-2e+20; visited=0; first=none at <0,0,0>; trace=-1
19:25:49.270 SCRIPT : ERR HUNT PLAN: role=2 planned=0 ownSide=1 lane=0 start=<5977.93,5.50625,3409.79> stage=<0,0,0>
19:26:17.033 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport structure={8746DE528BA26F02}Prefabs/Structures/Airport/LightRunway_01/LightRunway_01_white.et position=<4791.88,26.703,11863>
19:26:28.132 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport search finished; airports=1
19:26:28.132 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport=0 centre=<4788.55,26.6863,11528.9> runway/tower samples=438
19:27:49.464 SCRIPT : ERR HUNT MOVEMENT: role=1 moved=571.754 state=4 stopped=0
19:27:49.464 SCRIPT : ERR HUNT COMPLETE
@@ -0,0 +1,109 @@
modded class SCR_ChimeraAIAgent
{
void ProbeHuntRelease() { ERR_PrisonPhaseChanged(ERR_Phase.PRISON, ERR_Phase.RADIO_SEARCH); SetPermanentLOD(0); ActivateAI(); }
}
modded class ERR_HunterService
{
ERR_HunterVehicle ProbeHuntUnit(vector position, vector angles, int ordinal)
{
ERR_HunterVehicle unit = new ERR_HunterVehicle(); unit.Source = "hunt-probe-" + ordinal.ToString();
unit.TroopTransport = ordinal == 2;
unit.Entity = Vehicle.Cast(ERR_Actors.Spawn(ERR_HunterFleetRules.VehiclePrefab(ordinal), position, angles));
unit.Group = SCR_AIGroup.Cast(ERR_Actors.Spawn(ERR_ConvoyResources.GroupPrefab(), position));
if (!unit.Entity || !unit.Group || !FillCrew(unit)) return null;
unit.Group.SetPermanentLOD(0); unit.Group.ActivateAI();
return unit;
}
}
modded class ERR_HunterTactics
{
bool ProbeHuntBegin(float now)
{
foreach (IEntity member : Unit.Members)
{
AIControlComponent control = AIControlComponent.Cast(member.FindComponent(AIControlComponent));
SCR_ChimeraAIAgent agent = SCR_ChimeraAIAgent.Cast(control.GetControlAIAgent()); if (agent) agent.ProbeHuntRelease();
}
SCR_AIGroupUtilityComponent utility = Unit.Group.GetGroupUtilityComponent();
SCR_AIVehicleUsageComponent usage = SCR_AIVehicleUsageComponent.Cast(Unit.Entity.FindComponent(SCR_AIVehicleUsageComponent));
if (utility && usage) utility.AddUsableVehicle(usage);
if (!Move(Stage, 35)) return false;
Delivered = true; State = 1; Deadline = now + ERR_HunterAttackRules.ManeuverBudget(m_TravelDistance);
m_ApproachStarted = now; m_ApproachProgress = now; m_ApproachPosition = Unit.Entity.GetOrigin();
if (Role == 0) foreach (IEntity crew : Unit.Members) ERR_ConvoyMountedCrew.Hold(crew, Unit.Entity);
return true;
}
}
modded class ArmaReforgerScripted
{
protected ref ERR_HunterOpeningPlan m_HuntPlan;
protected ref ERR_HunterService m_HuntService;
protected ref ERR_HunterAttack m_HuntAttack;
protected ref array<ref ERR_HunterVehicle> m_HuntUnits = {};
protected ref array<vector> m_HuntStarts = {};
protected int m_HuntPhase;
protected float m_HuntNext;
protected float m_HuntStarted;
override void OnUpdate(BaseWorld world, float timeslice)
{
super.OnUpdate(world, timeslice);
ERR_GameMode mode = ERR_GameMode.Get();
if (!mode || mode.Phase() < ERR_Phase.PRISON || m_HuntPhase == 3) return;
float now = world.GetWorldTime(); if (now < m_HuntNext) return; m_HuntNext = now + 1000;
if (m_HuntPhase == 0)
{
if (!m_HuntPlan)
{
vector center, angles;
if (!ERR_SupplyConvoySystem.ApproachDirected("6880 0 3500", center, angles, 500))
{ Print("ERR HUNT FAILED test contact road"); m_HuntPhase = 3; return; }
PrintFormat("ERR HUNT CONTACT: point=%1 water=%2", center, ChimeraWorldUtils.TryGetWaterSurfaceSimple(world, center));
m_HuntPlan = new ERR_HunterOpeningPlan(center, 1000);
}
array<IEntity> players = {}; m_HuntPlan.Step(players); if (!m_HuntPlan.Done()) return;
if (!m_HuntPlan.Ready()) { Print("ERR HUNT FAILED opening"); m_HuntPhase = 3; return; }
m_HuntService = new ERR_HunterService(mode, null);
for (int i = 0; i < 3; i++)
{
ERR_HunterVehicle unit = m_HuntService.ProbeHuntUnit(m_HuntPlan.Positions[i], m_HuntPlan.Angles[i], i);
if (!unit) { Print("ERR HUNT FAILED crew"); m_HuntPhase = 3; return; }
m_HuntUnits.Insert(unit); m_HuntStarts.Insert(unit.Entity.GetOrigin());
}
m_HuntPhase = 1; m_HuntNext = now + 10000; return;
}
if (m_HuntPhase == 1)
{
m_HuntAttack = new ERR_HunterAttack(); m_HuntAttack.ReportPosition = m_HuntPlan.Center; m_HuntAttack.Started = now;
m_HuntAttack.Forward = ERR_MountedCover.Approach(m_HuntUnits[0].Entity.GetOrigin(), m_HuntAttack.ReportPosition, "0 0 1");
array<vector> occupied = {};
for (int n = 0; n < m_HuntUnits.Count(); n++)
{
ERR_HunterTactics team = new ERR_HunterTactics(mode, m_HuntUnits[n], m_HuntAttack, n);
PrintFormat("ERR HUNT READY: role=%1 living=%2 crewValid=%3 members=%4", n, team.Living(), m_HuntUnits[n].CrewValid(mode), m_HuntUnits[n].Members.Count());
vector forward = ERR_MountedCover.Approach(m_HuntStarts[n], m_HuntAttack.ReportPosition, m_HuntAttack.Forward);
vector seed = ERR_Actors.Ground(m_HuntAttack.ReportPosition - forward * 260);
ERR_ConvoyPlacement placement = new ERR_ConvoyPlacement();
bool spawnFlat = placement.Clear(seed, ERR_ForceRules.Heading(seed, m_HuntAttack.ReportPosition, 0));
string spawnReason = placement.Diagnostic();
bool stageClear = placement.Clear(seed, ERR_ForceRules.Heading(seed, m_HuntAttack.ReportPosition, 0), 2.5);
PrintFormat("ERR HUNT SURFACE: role=%1 spawnFlat=%2 stageClear=%3 previous=%4 staging=%5", n, spawnFlat, stageClear, spawnReason, placement.Diagnostic());
bool planned = team.Plan(occupied);
bool ownSide = vector.Dot(team.Stage - m_HuntAttack.ReportPosition, m_HuntStarts[n] - m_HuntAttack.ReportPosition) > 0;
bool lane = ERR_MountedCover.ClearLane(m_HuntUnits[n].Entity, team.Stage, m_HuntAttack.ReportPosition);
PrintFormat("ERR HUNT PLAN: role=%1 planned=%2 ownSide=%3 lane=%4 start=%5 stage=%6", n, planned, ownSide, lane, m_HuntStarts[n], team.Stage);
if (!planned) continue;
occupied.Insert(team.Stage); m_HuntAttack.Teams.Insert(team);
bool began = team.ProbeHuntBegin(now); PrintFormat("ERR HUNT BEGIN: role=%1 began=%2", n, began);
}
m_HuntStarted = now; m_HuntPhase = 2; return;
}
foreach (ERR_HunterTactics active : m_HuntAttack.Teams) active.Tick(ERR_HQ.Cast(mode.Command()), now);
if (now - m_HuntStarted < 120000) return;
foreach (ERR_HunterTactics finalTeam : m_HuntAttack.Teams)
{
PrintFormat("ERR HUNT MOVEMENT: role=%1 moved=%2 state=%3 stopped=%4", finalTeam.Role, vector.DistanceXZ(finalTeam.Unit.Entity.GetOrigin(), m_HuntStarts[finalTeam.Role]), finalTeam.State, finalTeam.Stopped);
finalTeam.Stop();
}
Print("ERR HUNT COMPLETE"); m_HuntPhase = 3;
}
}
@@ -0,0 +1 @@
{"reason": "complete", "exit": -15}
@@ -0,0 +1,512 @@
---------------------------------------------
Log /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/profile/logs/logs_2026-10-05_19-20-46/console.log started at 2026-10-05 19:20:46 (2026-10-05 17:20:46 UTC)
19:20:46.591 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/profile/logs/logs_2026-10-05_19-20-46' to filesystem under name logs
19:20:46.591 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/profile/profile' to filesystem under name profile
19:20:46.591 ENGINE : FileSystem: Current working directory: '/tmp/runtime/'
19:20:46.592 ENGINE : Initializing engine, version 192142
19:20:46.592 ENGINE : CLI Params: -server {C1E20667DCE324ED}Missions/ERR_Everon.conf -addonsDir /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons -addons 2528466DE220D91C,70C981A53E02B64F -profile /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/profile -noBackend -noSound -bindIP 127.0.0.1 -bindPort 2001 -maxFPS 30 -logconsole -noSplash -noThrow -disableCrashReporter
19:20:46.594 ENGINE : Addon dirs:
19:20:46.594 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons'
19:20:46.594 ENGINE : dir: './addons'
19:20:46.594 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/profile/addons'
19:20:46.594 ENGINE : Available addons:
19:20:46.594 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
19:20:46.594 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
19:20:46.594 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
19:20:46.594 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
19:20:46.594 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
19:20:46.594 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed)
19:20:46.594 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
19:20:46.594 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:20:46.594 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:20:46.594 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
19:20:46.594 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
19:20:46.594 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/gabreta/addons/NogovaReforger' to filesystem under name NogovaReforger
19:20:46.594 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/source' to filesystem under name ERR_Core
19:20:46.595 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_65930CB4CD0237B2/' (pak count: 1) to filesystem under name Parachutes
19:20:46.595 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
19:20:46.595 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
19:20:46.596 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
19:20:46.599 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
19:20:46.600 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
19:20:46.603 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
19:20:46.703 ENGINE : FileSystem: Adding package './addons/data/' (pak count: 14) to filesystem under name ArmaReforger
19:20:46.705 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
19:20:46.705 ENGINE : CPU vendor : AuthenticAMD
19:20:46.705 ENGINE : CPU type : 2
19:20:46.705 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
19:20:46.705 ENGINE : CPU cache info : Unknown cache
19:20:46.705 ENGINE : CPU count logical : 16
19:20:46.705 ENGINE : CPU count physical : 8
19:20:46.705 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
19:20:46.705 RESOURCES : ResourceDB: loading cache (id=0 name=NogovaReforger path=/home/jakub/devel/gabreta/addons/NogovaReforger/resourceDatabase.rdb)
19:20:46.716 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/source/resourceDatabase.rdb)
19:20:46.716 RESOURCES : ResourceDB: loading cache (id=2 name=Parachutes path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_65930CB4CD0237B2/resourceDatabase.rdb)
19:20:46.716 RESOURCES : ResourceDB: loading cache (id=3 name=WCS_BMP-1 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
19:20:46.716 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_SpaceCore path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
19:20:46.717 RESOURCES : ResourceDB: loading cache (id=5 name=WCS_Armaments path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
19:20:46.719 RESOURCES : ResourceDB: loading cache (id=6 name=RHS_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
19:20:46.729 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Content_02 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
19:20:46.730 RESOURCES : ResourceDB: loading cache (id=8 name=RHS_Content_01 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
19:20:46.736 RESOURCES : ResourceDB: loading cache (id=9 name=ArmaReforger path=./addons/data/resourceDatabase.rdb)
19:20:46.869 RESOURCES : ResourceDB: loading cache (id=10 name=core path=./addons/core/resourceDatabase.rdb)
19:20:46.869 RESOURCES : ResourceDB: loading cache (id=11 name=profile path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/profile/profile/resourceDatabase.rdb)
19:20:46.869 RESOURCES : ResourceDB: loading cache (id=12 name=logs path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/profile/logs/logs_2026-10-05_19-20-46/resourceDatabase.rdb)
19:20:47.049 ENGINE : GameProject load
19:20:47.049 ENGINE : Loaded addons:
19:20:47.049 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
19:20:47.049 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
19:20:47.049 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
19:20:47.049 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
19:20:47.049 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
19:20:47.049 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
19:20:47.049 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
19:20:47.049 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
19:20:47.049 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2'
19:20:47.049 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:20:47.050 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:20:47.050 ENGINE : GameProject load
19:20:47.050 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_595F2BF2F44836FB/addon.gproj"
19:20:47.050 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
19:20:47.050 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_629B2BA37EFFD577/addon.gproj"
19:20:47.050 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
19:20:47.050 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
19:20:47.050 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
19:20:47.050 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005-staging/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
19:20:47.050 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
19:20:47.051 ENGINE : Loading custom engine user config '$profile:.save/settings/ReforgerEngineSettings.conf'
19:20:47.051 ENGINE : No Enfusion settings file loaded. Continuing with defaults
19:20:47.051 RENDER : Basic screen setup:
19:20:47.051 RENDER : Back buffer width x height: 0x0
19:20:47.051 RENDER : Back buffer format : TEXFMT_UNKNOWN (0)
19:20:47.051 RENDER : MSAA : none
19:20:47.051 RENDER : GPU_DUMMY (0xFFFF) (Enfusion dummy render) with 1 GPU detected, VRAM 128MB (fast 128MB), shared 128MB, driver version Unknown version
19:20:47.051 RENDER : Detected output devices:
19:20:47.051 RENDER : * 1 device/s connected to Dummy:
19:20:47.051 RENDER : Dummy output (Dummy device for our dummy render.), 1920x1080 (offset 0x0), 60Hz
19:20:47.051 RENDER : Concurrent frames limit 2
19:20:47.051 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=7
19:20:47.065 PROFILING : Settings changed took: 0.021000 ms
19:20:47.067 ENGINE : Initializing inputs.
19:20:47.074 NETWORK : Initializing networking.
19:20:47.074 NETWORK : Using new GameRplScheduler.
19:20:47.075 SCRIPT : SCRIPT : Initializing scripts
19:20:47.075 SCRIPT : SCRIPT : ScriptProjectManager init
19:20:47.075 PROFILING : ScriptProjectManager init took: 0.010000 ms
19:20:47.096 PROFILING : Initializing scripts took: 20.999000 ms
19:20:47.096 BACKEND : Backend Services are disabled.
19:20:47.096 ENGINE : Enfusion engine successfully created.
19:20:47.098 GUI : Using default language (en_us)
19:20:47.098 GUI : Loading 'en_us' localization file.
19:20:47.098 INIT : INIT : Loading StringTable
19:20:47.123 PROFILING : Loading StringTable took: 25.154000 ms
19:20:47.123 SCRIPT : SCRIPT : Compiling GameLib scripts
19:20:47.150 SCRIPT : Module: GameLib; loaded 466x files; 608x classes; used 654K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
19:20:47.151 PROFILING : Compiling GameLib scripts took: 27.805000 ms
19:20:47.151 SCRIPT : SCRIPT : Compiling Game scripts
19:20:47.774 SCRIPT : Compiling Game scripts
19:20:47.774 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables
19:20:48.126 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
19:20:48.126 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
19:20:48.415 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,359": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:20:48.428 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
19:20:48.473 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
19:20:48.629 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
19:20:48.629 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
19:20:48.629 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
19:20:48.629 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
19:20:48.665 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
19:20:48.718 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
19:20:48.727 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
19:20:48.727 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
19:20:48.729 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
19:20:48.781 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:20:48.781 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:20:48.782 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
19:20:48.783 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
19:20:48.847 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
19:20:49.031 SCRIPT : Module: Game; loaded 6730x files; 13503x classes; used 33418K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS,WCS_DEFINES_SPACECORE"; CRC32: 44539e20
19:20:49.050 PROFILING : Compiling Game scripts took: 1899.715000 ms
19:20:49.050 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
19:20:49.076 ENGINE : Game successfully created.
19:20:49.081 PLATFORM : Save data from container 'settings' have been loaded
19:20:49.180 PLATFORM : Save data from container 'sessions' have been loaded
19:20:49.180 PLATFORM : System language differs from the saved one - using new language {new: 'en_us'; old: ''}
19:20:49.180 PLATFORM : Save data transaction to 'settings' started.
19:20:49.180 NETWORK : Starting local multiplayer server using command line args.
19:20:49.279 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{C1E20667DCE324ED}Missions/ERR_Everon.conf'.
19:20:49.280 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent'
19:20:50.042 PROFILING : Entities load took: 761.885000 ms
19:20:50.043 WORLD : WORLD : Game::LoadEntities
19:20:50.043 WORLD : WORLD : Initializing world systems @"{C50579A2EC48E8EF}Configs/Systems/MissionSystems.conf"
19:20:50.044 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits.
19:20:50.045 WORLD : WORLD : CreateEntities
19:20:50.045 WORLD : WORLD : CreateEntities
19:20:50.045 WORLD : WORLD : NotifyBeforeEntitiesCreated
19:20:50.046 RESOURCES : Loaded mission headers from 11 addon(s)!
19:20:50.046 PROFILING : NotifyBeforeEntitiesCreated took: 1.656000 ms
19:20:50.046 WORLD : WORLD : Wait for preloading data
19:20:50.910 PROFILING : Wait for preloading data took: 863.242000 ms
19:20:50.968 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et"
19:20:50.968 PROFILING : PROFILING : Terrain load
19:20:52.149 PROFILING : Terrain load took: 1180.980000 ms
19:20:54.750 WORLD : Game::LoadEntities
19:20:54.750 WORLD : CreateEntities
19:20:54.750 WORLD : CreateEntities
19:20:54.750 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"
19:20:54.750 ENTITY : CreateComponent 'ScriptedRadioComponent'
19:20:54.750 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
19:20:59.121 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{5414041A15DC4B54}Prefabs/ERR/FactionManager.et"
19:20:59.121 RESOURCES : GetResourceObject @"{442939C9617DF228}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_FIA.et"
19:20:59.121 WORLD : Entity prefab load @"{442939C9617DF228}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_FIA.et"
19:20:59.121 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:20:59.121 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:20:59.121 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:20:59.121 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:20:59.121 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)
19:20:59.121 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)
19:20:59.122 RESOURCES : GetResourceObject @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:20:59.122 WORLD : Entity prefab load @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:20:59.122 RESOURCES : GetResourceObject @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:20:59.122 WORLD : Entity prefab load @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:20:59.122 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:20:59.122 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:20:59.122 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:20:59.122 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:20:59.122 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)
19:20:59.122 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)
19:20:59.122 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)
19:20:59.122 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)
19:20:59.198 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et"
19:20:59.198 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et"
19:20:59.198 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:20:59.198 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:20:59.198 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:20:59.198 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:20:59.198 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:20:59.198 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:20:59.198 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)
19:20:59.578 WORLD : WORLD : NotifyBeforeEntitiesInitialized
19:20:59.578 PROFILING : NotifyBeforeEntitiesInitialized took: 0.025000 ms
19:20:59.578 WORLD : InitEntities 'world'
19:20:59.578 ENTITY : Init entity @"ENTITY:3" ('SCR_MapEntity1', SCR_MapEntity) at <6400.000000 0.000000 6400.000000> @"{E1B88C66BF6CA1F9}Prefabs/World/Game/Eden/MapEntity_Everon.et"
19:20:59.578 SCRIPT (W): SCR_MapEntity: Cannot get the size from terrain. Using default.
19:21:00.098 WORLD : InitEntities 'world'
19:21:00.098 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Reintroduced', ERR_GameMode) at <60.452000 1.000000 213.136002> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
19:21:00.098 SCRIPT : Reintroduced [config]: using $profile:Escapists.json; legacy files retained but no longer used.
19:21:00.103 WORLD : WORLD : NotifyEntitiesInitialized
19:21:00.103 TERRAIN : TERRAIN : Initializing road networks...
19:21:00.106 PROFILING : Initializing road networks... took: 2.058000 ms
19:21:00.155 SCRIPT : Reintroduced [terrain selection]: discovered 46 playable scenario headers; truncated=0
19:21:00.155 DEFAULT : DEFAULT : WorldVolumesCollection
19:21:00.205 PROFILING : WorldVolumesCollection took: 50.160000 ms
19:21:00.205 INIT : INIT : SoundWorldInit
19:21:00.215 PROFILING : SoundWorldInit took: 10.073000 ms
19:21:00.215 PROFILING : NotifyEntitiesInitialized took: 111.653000 ms
19:21:00.215 PROFILING : CreateEntities took: 10170.598000 ms
19:21:00.215 PROFILING : CreateEntities took: 10170.609000 ms
19:21:00.215 WORLD : WORLD : EOnActivate
19:21:00.243 PROFILING : EOnActivate took: 27.277000 ms
19:21:00.243 PROFILING : Game::LoadEntities took: 10199.295000 ms
19:21:00.352 NETWORK : Starting RPL server, listening on address 0.0.0.0:2001, fastValidation=false
19:21:00.841 DEFAULT : Entered online game state.
19:21:00.842 PROFILING : Settings changed took: 0.554000 ms
19:21:03.544 SCRIPT : Map load time: 1653ms
19:21:03.610 WORLD : Frame start
19:21:03.610 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated.
19:21:03.617 WORLD : UpdateEntities
19:21:03.617 WORLD : Frame
19:21:03.617 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME
19:21:04.983 SCRIPT : Co10 Escape Reintroduced factions: players=US enemy=USSR independent=FIA
19:21:07.752 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-prison-1 position=<5069.95,49.4575,5634.94> heading=295.234 attempts=1133 fallback=0
19:21:10.686 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-radio-1 position=<6607.99,159.499,6416.21> heading=343.103 attempts=3132 fallback=0
19:21:10.953 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-1 position=<5095.35,28.3807,9900.69> heading=203.363 attempts=301 fallback=0
19:21:12.821 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-2 position=<6548.19,86.4772,5232.58> heading=87.5747 attempts=1895 fallback=0
19:21:14.149 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-3 position=<4744.36,23.0937,12078.5> heading=197.189 attempts=1288 fallback=0
19:21:16.016 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-4 position=<5674.61,85.6093,5729.86> heading=189.817 attempts=2214 fallback=0
19:21:18.155 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-medical-1 position=<7298.25,123.031,5161.49> heading=102.308 attempts=2509 fallback=0
19:21:19.754 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-outpost-1 position=<4898.75,164.899,7297.88> heading=123.963 attempts=1853 fallback=0
19:21:30.683 SCRIPT : Co10 Escape Reintroduced [site skipped]: Field hospital 2 (everon-medical-2): no safe placement after 12000 attempts and authored fallback rejected; omitted for this round; mission preparation continues
19:21:39.755 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-medical-3 position=<5493.25,41.7185,10776.5> heading=252.485 attempts=10762 fallback=0
19:21:41.083 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-2 position=<4637.65,84.9884,8570.58> heading=212.01 attempts=1573 fallback=0
19:21:42.418 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-3 position=<4761.95,85.4379,4544.28> heading=284.368 attempts=1657 fallback=0
19:21:42.422 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-4 position=<3008.15,7.13703,2096.94> heading=219.536 attempts=162 fallback=0
19:21:53.349 SCRIPT : Co10 Escape Reintroduced [site skipped]: Field camp 5 (everon-camp-5): no safe placement after 12000 attempts and authored fallback rejected; omitted for this round; mission preparation continues
19:21:53.356 SCRIPT : Reintroduced [sites]: authored everon-prison-1 at <5069.95,49.678,5634.94>
19:21:53.356 SCRIPT : Reintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1
19:21:53.362 SCRIPT : Reintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050>
19:21:53.363 ENTITY : SpawnEntityPrefab @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"
19:21:53.363 ENTITY : Create entity @"ENTITY:4611686018427388511" ('GenericEntity','Assets/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02.xob') at <6600.711914 159.912506 6416.092285> @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"
19:21:53.363 ENTITY : CreateComponent 'ScriptedRadioComponent'
19:21:53.363 DEFAULT (W): BaseRadioComponent does not have any transceiver. (Entity: @"ENTITY:4611686018427388511" ('GenericEntity','Assets/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02.xob') at <6600.711914 159.912506 6416.092285> @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"). Only printing this message once. There're possibly more nodes with this requirement.
19:21:53.365 SCRIPT : Reintroduced [sites]: authored everon-radio-1 at <6607.99,159.909,6416.21>
19:21:53.390 SCRIPT : Reintroduced [sites]: authored everon-extraction-1 at <4800.95,27.8202,11487.4>
19:21:53.395 SCRIPT : Reintroduced [sites]: authored everon-medical-1 at <7298.25,123.448,5161.49>
19:21:53.399 SCRIPT : Reintroduced [sites]: authored everon-outpost-1 at <4898.75,165.289,7297.88>
19:21:53.399 SCRIPT : Reintroduced [sites]: authored everon-mortar-1 at <5095.35,28.6413,9900.69>
19:21:53.399 SCRIPT : Reintroduced [sites]: authored everon-mortar-2 at <6548.19,86.6,5232.58>
19:21:53.399 SCRIPT : Reintroduced [sites]: authored everon-mortar-3 at <4744.36,23.3265,12078.5>
19:21:53.399 SCRIPT : Reintroduced [sites]: authored everon-mortar-4 at <5674.61,85.8092,5729.86>
19:21:53.402 SCRIPT : Reintroduced [sites]: authored everon-camp-4 at <3008.15,7.3164,2096.94>
19:21:53.405 SCRIPT : Reintroduced [sites]: authored everon-medical-3 at <5493.25,41.9867,10776.5>
19:21:53.408 SCRIPT : Reintroduced [sites]: authored everon-camp-2 at <4637.65,85.109,8570.58>
19:21:53.411 SCRIPT : Reintroduced [sites]: authored everon-camp-3 at <4761.95,85.6922,4544.28>
19:21:53.411 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<4800.95,27.8202,11487.4> up=1
19:21:53.411 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0 angularSpeed=0
19:21:53.411 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=0 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:21:53.411 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4800.95,28.1168,11489.7>
19:21:53.411 SCRIPT : ERR GEAR TERRAIN: bottom=<4800.95,27.8168,11489.7> terrainY=27.7202 tireTerrainGap=0.0965805
19:21:53.411 SCRIPT : ERR GEAR SUPPORT: center=<4800.95,28.1168,11489.7> radius=0.3 bottom=<4800.95,27.8168,11489.7> fraction=0.893554 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.0965824
19:21:53.411 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.68,28.585,11485.4>
19:21:53.411 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.68,28.135,11485.4> terrainY=27.8121 tireTerrainGap=0.322891
19:21:53.411 SCRIPT : ERR GEAR SUPPORT: center=<4798.68,28.585,11485.4> radius=0.45 bottom=<4798.68,28.135,11485.4> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.120001
19:21:53.411 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.23,28.585,11485.4>
19:21:53.411 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.23,28.135,11485.4> terrainY=27.649 tireTerrainGap=0.485987
19:21:53.411 SCRIPT : ERR GEAR SUPPORT: center=<4803.23,28.585,11485.4> radius=0.45 bottom=<4803.23,28.135,11485.4> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.120001
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=5 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=2 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=0 conscious=0 nativeComplete=0
19:21:53.411 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=0 conscious=0 nativeComplete=0
19:21:54.414 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<4801.01,27.581,11487.4> up=0.997358
19:21:54.414 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.673806 angularSpeed=0.133412
19:21:54.414 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:21:54.414 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.07,27.9789,11489.6>
19:21:54.414 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.07,27.6789,11489.6> terrainY=27.7165 tireTerrainGap=-0.0376396
19:21:54.414 SCRIPT : ERR GEAR SUPPORT: center=<4801.07,27.9789,11489.6> radius=0.3 bottom=<4801.07,27.6789,11489.6> fraction=0.283464 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.0376377
19:21:54.414 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.71,28.2348,11485.4>
19:21:54.414 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.71,27.7848,11485.4> terrainY=27.8105 tireTerrainGap=-0.0256538
19:21:54.414 SCRIPT : ERR GEAR SUPPORT: center=<4798.71,28.2348,11485.4> radius=0.45 bottom=<4798.71,27.7848,11485.4> fraction=0.33787 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.0256691
19:21:54.414 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.25,28.0832,11485.3>
19:21:54.414 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.25,27.6332,11485.3> terrainY=27.6483 tireTerrainGap=-0.0150871
19:21:54.414 SCRIPT : ERR GEAR SUPPORT: center=<4803.25,28.0832,11485.3> radius=0.45 bottom=<4803.25,27.6332,11485.3> fraction=0.385955 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.015089
19:21:54.414 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:21:54.414 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=5 physical=1 conscious=1 nativeComplete=0
19:21:54.414 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=1 conscious=1 nativeComplete=0
19:21:54.414 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=1 conscious=1 nativeComplete=0
19:21:54.414 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=1 conscious=1 nativeComplete=0
19:21:54.694 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=2 conscious=2 nativeComplete=0
19:21:54.694 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=1 conscious=1 nativeComplete=0
19:21:54.694 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=1 conscious=1 nativeComplete=0
19:21:54.694 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=1 conscious=1 nativeComplete=0
19:21:55.226 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=2 conscious=2 nativeComplete=0
19:21:55.226 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=2 conscious=2 nativeComplete=0
19:21:55.226 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=2 conscious=2 nativeComplete=0
19:21:55.226 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=2 conscious=2 nativeComplete=1
19:21:55.514 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.03,27.6015,11487.4> up=0.996357
19:21:55.514 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.126065 angularSpeed=0.0447705
19:21:55.514 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:21:55.514 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.09,28.0241,11489.6>
19:21:55.514 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.09,27.7241,11489.6> terrainY=27.7159 tireTerrainGap=0.00820351
19:21:55.514 SCRIPT : ERR GEAR SUPPORT: center=<4801.09,28.0241,11489.6> radius=0.3 bottom=<4801.09,27.7241,11489.6> fraction=0.491847 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00820732
19:21:55.514 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.73,28.2616,11485.4>
19:21:55.514 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.73,27.8116,11485.4> terrainY=27.8094 tireTerrainGap=0.00225067
19:21:55.515 SCRIPT : ERR GEAR SUPPORT: center=<4798.73,28.2616,11485.4> radius=0.45 bottom=<4798.73,27.8116,11485.4> fraction=0.464797 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=0.00225449
19:21:55.515 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.28,28.1005,11485.3>
19:21:55.515 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.28,27.6505,11485.3> terrainY=27.6474 tireTerrainGap=0.00310326
19:21:55.515 SCRIPT : ERR GEAR SUPPORT: center=<4803.28,28.1005,11485.3> radius=0.45 bottom=<4803.28,27.6505,11485.3> fraction=0.46867 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00310707
19:21:55.515 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:21:55.762 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=1 conscious=1 nativeComplete=0
19:21:55.762 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=1 conscious=1 nativeComplete=0
19:21:55.762 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=1 conscious=1 nativeComplete=0
19:21:55.763 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=1 conscious=1 nativeComplete=0
19:21:56.047 SCRIPT : Reintroduced [extraction placement]: native supported aircraft stable for one second, fuel present, exactly one initial wake
19:21:56.314 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=5 physical=2 conscious=2 nativeComplete=0
19:21:56.314 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=3 conscious=3 nativeComplete=0
19:21:56.315 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=2 conscious=2 nativeComplete=0
19:21:56.315 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=1 conscious=1 nativeComplete=0
19:21:56.580 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.08,27.585,11487.4> up=0.996148
19:21:56.580 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0539114 angularSpeed=0.0424463
19:21:56.580 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:21:56.580 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.16,28.0143,11489.6>
19:21:56.581 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.16,27.7143,11489.6> terrainY=27.7138 tireTerrainGap=0.000482559
19:21:56.581 SCRIPT : ERR GEAR SUPPORT: center=<4801.16,28.0143,11489.6> radius=0.3 bottom=<4801.16,27.7143,11489.6> fraction=0.456734 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.000482559
19:21:56.581 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.77,28.2535,11485.4>
19:21:56.581 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.77,27.8035,11485.4> terrainY=27.8078 tireTerrainGap=-0.0043335
19:21:56.581 SCRIPT : ERR GEAR SUPPORT: center=<4798.77,28.2535,11485.4> radius=0.45 bottom=<4798.77,27.8035,11485.4> fraction=0.434801 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00434303
19:21:56.581 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.32,28.0921,11485.3>
19:21:56.581 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.32,27.6421,11485.3> terrainY=27.6464 tireTerrainGap=-0.00428772
19:21:56.581 SCRIPT : ERR GEAR SUPPORT: center=<4803.32,28.0921,11485.3> radius=0.45 bottom=<4803.32,27.6421,11485.3> fraction=0.435084 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.004282
19:21:56.581 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:21:56.847 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=3 conscious=3 nativeComplete=0
19:21:56.847 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=3 conscious=3 nativeComplete=0
19:21:56.847 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=2 conscious=2 nativeComplete=0
19:21:56.847 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=2 conscious=2 nativeComplete=1
19:21:57.381 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=1 conscious=1 nativeComplete=0
19:21:57.381 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=2 physical=1 conscious=1 nativeComplete=0
19:21:57.381 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=1 conscious=1 nativeComplete=0
19:21:57.382 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=1 conscious=1 nativeComplete=0
19:21:57.648 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5905,11487.4> up=0.996027
19:21:57.648 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:21:57.648 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:21:57.648 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0152,11489.6>
19:21:57.648 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7152,11489.6> terrainY=27.7128 tireTerrainGap=0.00235176
19:21:57.648 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0152,11489.6> radius=0.3 bottom=<4801.19,27.7152,11489.6> fraction=0.4652 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00234413
19:21:57.648 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:21:57.648 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00243378
19:21:57.648 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.443411 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00244904
19:21:57.648 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.34,28.0933,11485.3>
19:21:57.648 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.34,27.6433,11485.3> terrainY=27.6458 tireTerrainGap=-0.00251579
19:21:57.648 SCRIPT : ERR GEAR SUPPORT: center=<4803.34,28.0933,11485.3> radius=0.45 bottom=<4803.34,27.6433,11485.3> fraction=0.443134 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00251007
19:21:57.648 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:21:57.914 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=2 conscious=2 nativeComplete=0
19:21:57.915 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=2 conscious=2 nativeComplete=1
19:21:57.915 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=3 conscious=3 nativeComplete=0
19:21:57.915 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=2 conscious=2 nativeComplete=1
19:21:58.448 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=5 physical=3 conscious=3 nativeComplete=0
19:21:58.448 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=3 conscious=3 nativeComplete=0
19:21:58.448 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=4 conscious=4 nativeComplete=0
19:21:58.448 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=4 conscious=4 nativeComplete=0
19:21:58.714 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5905,11487.4> up=0.996027
19:21:58.714 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:21:58.714 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:21:58.714 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0152,11489.6>
19:21:58.714 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7152,11489.6> terrainY=27.7128 tireTerrainGap=0.00235176
19:21:58.714 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0152,11489.6> radius=0.3 bottom=<4801.19,27.7152,11489.6> fraction=0.4652 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00234413
19:21:58.714 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:21:58.714 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00243378
19:21:58.714 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.443411 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00244904
19:21:58.714 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.34,28.0933,11485.3>
19:21:58.714 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.34,27.6433,11485.3> terrainY=27.6458 tireTerrainGap=-0.00251579
19:21:58.714 SCRIPT : ERR GEAR SUPPORT: center=<4803.34,28.0933,11485.3> radius=0.45 bottom=<4803.34,27.6433,11485.3> fraction=0.443134 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00251007
19:21:58.714 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:21:58.981 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=4 conscious=4 nativeComplete=1
19:21:58.981 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=3 conscious=3 nativeComplete=0
19:21:58.981 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=2 conscious=2 nativeComplete=0
19:21:58.981 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=2 physical=2 conscious=2 nativeComplete=1
19:21:59.514 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=2 conscious=2 nativeComplete=0
19:21:59.514 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=2 conscious=2 nativeComplete=1
19:21:59.514 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=3 conscious=3 nativeComplete=0
19:21:59.514 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=4 conscious=4 nativeComplete=1
19:21:59.781 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5905,11487.4> up=0.996027
19:21:59.781 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:21:59.781 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:21:59.781 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0152,11489.6>
19:21:59.781 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7152,11489.6> terrainY=27.7128 tireTerrainGap=0.00235176
19:21:59.781 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0152,11489.6> radius=0.3 bottom=<4801.19,27.7152,11489.6> fraction=0.4652 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00234413
19:21:59.781 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:21:59.781 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00243378
19:21:59.781 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.443411 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00244904
19:21:59.781 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.34,28.0933,11485.3>
19:21:59.781 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.34,27.6433,11485.3> terrainY=27.6458 tireTerrainGap=-0.00251579
19:21:59.781 SCRIPT : ERR GEAR SUPPORT: center=<4803.34,28.0933,11485.3> radius=0.45 bottom=<4803.34,27.6433,11485.3> fraction=0.443134 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00251007
19:21:59.781 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:22:00.047 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=4 conscious=4 nativeComplete=0
19:22:00.047 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=5 conscious=5 nativeComplete=0
19:22:00.047 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=5 conscious=5 nativeComplete=0
19:22:00.048 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=4 conscious=4 nativeComplete=1
19:22:00.581 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=5 physical=4 conscious=4 nativeComplete=0
19:22:00.581 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=3 conscious=3 nativeComplete=0
19:22:00.581 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=3 conscious=3 nativeComplete=0
19:22:00.582 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=4 conscious=4 nativeComplete=1
19:22:00.847 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5905,11487.4> up=0.996027
19:22:00.848 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:22:00.848 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:22:00.848 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0152,11489.6>
19:22:00.848 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7152,11489.6> terrainY=27.7128 tireTerrainGap=0.00235176
19:22:00.848 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0152,11489.6> radius=0.3 bottom=<4801.19,27.7152,11489.6> fraction=0.4652 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00234413
19:22:00.848 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2545,11485.4>
19:22:00.848 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8045,11485.4> terrainY=27.8069 tireTerrainGap=-0.00243378
19:22:00.848 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2545,11485.4> radius=0.45 bottom=<4798.79,27.8045,11485.4> fraction=0.443411 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00244904
19:22:00.848 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.34,28.0933,11485.3>
19:22:00.848 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.34,27.6433,11485.3> terrainY=27.6458 tireTerrainGap=-0.00251579
19:22:00.848 SCRIPT : ERR GEAR SUPPORT: center=<4803.34,28.0933,11485.3> radius=0.45 bottom=<4803.34,27.6433,11485.3> fraction=0.443134 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00251007
19:22:00.848 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:22:01.114 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=5 conscious=5 nativeComplete=1
19:22:01.115 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=6 conscious=6 nativeComplete=1
19:22:01.115 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=6 conscious=6 nativeComplete=1
19:22:01.115 SCRIPT : Reintroduced [guards]: initial site=everon-camp-4 requested=4 physical=4 conscious=4 nativeComplete=1
19:22:01.647 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=5 physical=5 conscious=5 nativeComplete=1
19:22:01.648 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=4 conscious=4 nativeComplete=1
19:22:01.648 SCRIPT : Reintroduced [sites]: transport parking=<6150,202.725,7038> radius=4 terrainRange=0.625 obstructed=0 clear=1
19:22:01.671 SCRIPT : Reintroduced [sites]: 14 sites and 192 physical stock items ready
19:22:01.672 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=1 position=<9790.39,114.825,4071.22> heading=0
19:22:01.916 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=2 position=<5261.47,78.1228,8058.06> heading=45
19:22:01.919 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=3 position=<4905,67.3512,6235.74> heading=45
19:22:02.450 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=4 position=<4700.97,72.0907,4388.42> heading=180
19:22:02.716 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=5 position=<7111.03,153.531,2556.72> heading=45
19:22:02.985 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=6 position=<7667.62,61.069,5668.92> heading=45
19:22:03.784 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=7 position=<10508.4,182.113,2119.99> heading=270
19:22:04.049 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=8 position=<10040.9,73.9749,416.03> heading=225
19:22:04.314 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=9 position=<9816.19,268.566,2927.83> heading=135
19:22:04.315 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=10 position=<8165.58,314.99,2517.66> heading=180
19:22:16.047 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-1 faction=USSR group=<0x00000000372FE7E0> SCR_AIGroup position=<9790.39,114.725,4071.22> living=1
19:22:16.048 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<9790.39,114.825,4071.22> backpack magazines=40
19:22:16.048 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-2 faction=USSR group=<0x00000000373157A0> SCR_AIGroup position=<5261.47,78.0228,8058.06> living=1
19:22:16.048 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<5261.47,78.1228,8058.06> backpack magazines=40
19:22:16.581 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-3 faction=USSR group=<0x0000000033FC2370> SCR_AIGroup position=<4905,67.2512,6235.74> living=1
19:22:16.581 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<4905,67.3512,6235.74> backpack magazines=40
19:22:16.582 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-4 faction=USSR group=<0x0000000037344CD0> SCR_AIGroup position=<4700.97,71.9907,4388.42> living=1
19:22:16.582 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<4700.97,72.0907,4388.42> backpack magazines=40
19:22:17.115 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-5 faction=USSR group=<0x0000000037635FE0> SCR_AIGroup position=<7111.03,153.431,2556.72> living=1
19:22:17.115 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<7111.03,153.531,2556.72> backpack magazines=40
19:22:17.115 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-6 faction=USSR group=<0x000000003764E770> SCR_AIGroup position=<7667.62,61.1149,5668.92> living=1
19:22:17.115 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<7667.62,61.069,5668.92> backpack magazines=40
19:22:17.648 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-7 faction=USSR group=<0x00000000376BD8D0> SCR_AIGroup position=<10508.4,182.013,2119.99> living=1
19:22:17.648 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<10508.4,182.113,2119.99> backpack magazines=40
19:22:17.648 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-8 faction=USSR group=<0x000000003772B2D0> SCR_AIGroup position=<10040.5,74.7094,416.445> living=1
19:22:17.648 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<10040.9,73.9749,416.03> backpack magazines=40
19:22:18.181 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-9 faction=USSR group=<0x00000000377EDE20> SCR_AIGroup position=<9816.19,268.552,2927.83> living=1
19:22:18.181 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<9816.19,268.566,2927.83> backpack magazines=40
19:22:18.182 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-10 faction=USSR group=<0x0000000037809400> SCR_AIGroup position=<8165.58,314.89,2517.66> living=1
19:22:18.182 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<8165.58,314.99,2517.66> backpack magazines=40
19:22:23.540 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-0 faction=USSR group=<0x0000000037A3C910> SCR_AIGroup position=<7536.03,166.944,4210.42> living=4
19:22:23.540 SCRIPT : Reintroduced [roadblocks]: roadblock-0 at <7527.03,166.944,4209.91> guards=4 roadPassage=open HQ=registered
19:22:29.139 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-1 faction=USSR group=<0x0000000037A70A10> SCR_AIGroup position=<5365.08,41.3027,11128.4> living=4
19:22:29.140 SCRIPT : Reintroduced [roadblocks]: roadblock-1 at <5371.38,41.6525,11132.6> guards=4 roadPassage=open HQ=registered
19:22:30.447 SCRIPT : Reintroduced [roadblocks]: placed=2 requested=4 attempts=170 roadCandidates=25 clearPlans=2; bounded search complete; unsuitable locations skipped
19:22:30.447 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-1 location=<5095.35,28.6413,9900.69> authored=<5095.35,28.3807,9900.69>
19:22:30.451 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-2 location=<6548.19,86.6,5232.58> authored=<6548.19,86.4772,5232.58>
19:22:30.452 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-3 location=<4744.36,23.3265,12078.5> authored=<4744.36,23.0937,12078.5>
19:22:30.454 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-4 location=<5674.61,85.8092,5729.86> authored=<5674.61,85.6093,5729.86>
19:22:30.456 SCRIPT : Reintroduced [environment]: date=authored weather=authored
19:22:30.457 SCRIPT : Reintroduced [time]: started at 14:00 with 1x progression
19:22:30.457 SCRIPT : Reintroduced [mission]: phase 0 -> 1
19:22:30.457 SCRIPT : Reintroduced [prison]: owned composition raw={BE6B8D56349038A6}Prefabs/ERR/Prison.et resolved={BE6B8D56349038A6}Prefabs/ERR/Prison.et position=<5069.95,49.4575,5634.94>
19:22:30.457 SCRIPT : Reintroduced [prison]: gate candidate raw= resolved={67F17696FF278AE0}Prefabs/Structures/BuildingParts/Doors/Door_Metal_A_RIGHT_EXT_COV_B.et lock=1 door=1 position=<5075.05,49.4575,5631.81>
19:22:30.457 SCRIPT : Reintroduced [prison]: one intact successor lock in owned prison
19:22:32.448 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-prison-1 faction=USSR group=<0x000000001CC581C0> SCR_AIGroup position=<5084.87,50.2653,5666.6> living=5
19:22:32.448 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-supply-1 faction=FIA group=<0x000000001CD09240> SCR_AIGroup position=<6168,202.217,7050> living=5
19:22:32.448 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-radio-1 faction=USSR group=<0x000000001CDEF800> SCR_AIGroup position=<6636.7,158.776,6424.93> living=6
19:22:32.449 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-extraction-1 faction=USSR group=<0x0000000033FCAFC0> SCR_AIGroup position=<4830.95,28.2904,11487.4> living=6
19:22:32.449 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-1 faction=USSR group=<0x000000003400CCF0> SCR_AIGroup position=<7295.7,123.693,5149.76> living=4
19:22:32.449 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-1-responders faction=USSR group=<0x0000000034024F00> SCR_AIGroup position=<7300.81,123.243,5173.21> living=2
19:22:32.450 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-outpost-1 faction=USSR group=<0x000000003404F8B0> SCR_AIGroup position=<4892.05,165.378,7287.93> living=4
19:22:32.450 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-outpost-1-responders faction=USSR group=<0x00000000340570E0> SCR_AIGroup position=<4905.45,165.023,7307.83> living=2
19:22:32.450 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-4 faction=USSR group=<0x000000001CF25180> SCR_AIGroup position=<2998.9,7.29165,2104.58> living=4
19:22:32.450 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-4-responders faction=USSR group=<0x00000000340A8D20> SCR_AIGroup position=<3017.41,7.19994,2089.3> living=2
19:22:32.451 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-3 faction=USSR group=<0x00000000340CA010> SCR_AIGroup position=<5489.64,41.7742,10787.9> living=4
19:22:32.451 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-3-responders faction=USSR group=<0x00000000340E0D30> SCR_AIGroup position=<5496.86,42.0357,10765.1> living=2
19:22:32.451 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-2 faction=USSR group=<0x0000000034105580> SCR_AIGroup position=<4627.48,85.1165,8576.94> living=4
19:22:32.452 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-2-responders faction=USSR group=<0x000000003411CD90> SCR_AIGroup position=<4647.83,85.1091,8564.22> living=2
19:22:32.452 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-3 faction=USSR group=<0x00000000341422C0> SCR_AIGroup position=<4764.93,85.7235,4555.91> living=4
19:22:32.453 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-3-responders faction=USSR group=<0x0000000034269FA0> SCR_AIGroup position=<4758.97,85.7045,4532.66> living=2
19:22:40.614 SCRIPT : ERR HUNT READY: role=0 living=1 crewValid=1 members=3
19:22:40.614 SCRIPT : ERR HUNT SURFACE: role=0 spawnFlat=0 stageClear=0 previous=water at footprint sample; terrainY=1e+20..-1e+20 span=-2e+20; visited=0; first=none at <0,0,0>; trace=-1 staging=water at footprint sample; terrainY=1e+20..-1e+20 span=-2e+20; visited=0; first=none at <0,0,0>; trace=-1
19:22:40.616 SCRIPT : ERR HUNT PLAN: role=0 planned=0 ownSide=1 lane=1 start=<6023.93,5.6625,3390.91> stage=<0,0,0>
19:22:40.616 SCRIPT : ERR HUNT READY: role=1 living=1 crewValid=1 members=3
19:22:40.616 SCRIPT : ERR HUNT SURFACE: role=1 spawnFlat=0 stageClear=0 previous=terrain origin/height/span check; terrainY=113.893..117.363 span=3.47018; visited=0; first=none at <0,0,0>; trace=-1 staging=terrain origin/height/span check; terrainY=113.893..117.363 span=3.47018; visited=0; first=none at <0,0,0>; trace=-1
19:22:40.616 SCRIPT : ERR HUNT PLAN: role=1 planned=1 ownSide=1 lane=0 start=<7521.85,166.944,4186.6> stage=<7008.29,91.2146,3702.21>
19:22:40.616 SCRIPT : ERR HUNT BEGIN: role=1 began=1
19:22:40.616 SCRIPT : ERR HUNT READY: role=2 living=1 crewValid=1 members=15
19:22:40.616 SCRIPT : ERR HUNT SURFACE: role=2 spawnFlat=0 stageClear=0 previous=terrain origin/height/span check; terrainY=56.0868..60.0826 span=3.99582; visited=0; first=none at <0,0,0>; trace=-1 staging=terrain origin/height/span check; terrainY=56.0868..60.0826 span=3.99582; visited=0; first=none at <0,0,0>; trace=-1
19:22:40.617 SCRIPT : ERR HUNT PLAN: role=2 planned=1 ownSide=1 lane=0 start=<7170.1,144.634,2544.44> stage=<7034.85,90.6698,3240.14>
19:22:40.617 SCRIPT : ERR HUNT BEGIN: role=2 began=1
19:23:08.748 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport structure={8746DE528BA26F02}Prefabs/Structures/Airport/LightRunway_01/LightRunway_01_white.et position=<4791.88,26.461,11880.5>
19:23:19.847 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport search finished; airports=1
19:23:19.847 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport=0 centre=<4788.55,26.6863,11528.9> runway/tower samples=438
19:24:40.847 SCRIPT : ERR HUNT MOVEMENT: role=1 moved=539.146 state=4 stopped=0
19:24:40.847 SCRIPT : ERR HUNT MOVEMENT: role=2 moved=574.289 state=4 stopped=0
19:24:40.847 SCRIPT : ERR HUNT COMPLETE
@@ -0,0 +1,102 @@
modded class SCR_ChimeraAIAgent
{
void ProbeHuntRelease() { ERR_PrisonPhaseChanged(ERR_Phase.PRISON, ERR_Phase.RADIO_SEARCH); SetPermanentLOD(0); ActivateAI(); }
}
modded class ERR_HunterService
{
ERR_HunterVehicle ProbeHuntUnit(vector position, vector angles, int ordinal)
{
ERR_HunterVehicle unit = new ERR_HunterVehicle(); unit.Source = "hunt-probe-" + ordinal.ToString();
unit.TroopTransport = ordinal == 2;
unit.Entity = Vehicle.Cast(ERR_Actors.Spawn(ERR_HunterFleetRules.VehiclePrefab(ordinal), position, angles));
unit.Group = SCR_AIGroup.Cast(ERR_Actors.Spawn(ERR_ConvoyResources.GroupPrefab(), position));
if (!unit.Entity || !unit.Group || !FillCrew(unit)) return null;
unit.Group.SetPermanentLOD(0); unit.Group.ActivateAI();
return unit;
}
}
modded class ERR_HunterTactics
{
bool ProbeHuntBegin(float now)
{
foreach (IEntity member : Unit.Members)
{
AIControlComponent control = AIControlComponent.Cast(member.FindComponent(AIControlComponent));
SCR_ChimeraAIAgent agent = SCR_ChimeraAIAgent.Cast(control.GetControlAIAgent()); if (agent) agent.ProbeHuntRelease();
}
SCR_AIGroupUtilityComponent utility = Unit.Group.GetGroupUtilityComponent();
SCR_AIVehicleUsageComponent usage = SCR_AIVehicleUsageComponent.Cast(Unit.Entity.FindComponent(SCR_AIVehicleUsageComponent));
if (utility && usage) utility.AddUsableVehicle(usage);
if (!Move(Stage, 35)) return false;
Delivered = true; State = 1; Deadline = now + ERR_HunterAttackRules.ManeuverBudget(m_TravelDistance);
m_ApproachStarted = now; m_ApproachProgress = now; m_ApproachPosition = Unit.Entity.GetOrigin();
if (Role == 0) foreach (IEntity crew : Unit.Members) ERR_ConvoyMountedCrew.Hold(crew, Unit.Entity);
return true;
}
}
modded class ArmaReforgerScripted
{
protected ref ERR_HunterOpeningPlan m_HuntPlan;
protected ref ERR_HunterService m_HuntService;
protected ref ERR_HunterAttack m_HuntAttack;
protected ref array<ref ERR_HunterVehicle> m_HuntUnits = {};
protected ref array<vector> m_HuntStarts = {};
protected int m_HuntPhase;
protected float m_HuntNext;
protected float m_HuntStarted;
override void OnUpdate(BaseWorld world, float timeslice)
{
super.OnUpdate(world, timeslice);
ERR_GameMode mode = ERR_GameMode.Get();
if (!mode || mode.Phase() < ERR_Phase.PRISON || m_HuntPhase == 3) return;
float now = world.GetWorldTime(); if (now < m_HuntNext) return; m_HuntNext = now + 1000;
if (m_HuntPhase == 0)
{
if (!m_HuntPlan) m_HuntPlan = new ERR_HunterOpeningPlan(ERR_Actors.Ground("6880 0 3500"), 1000);
array<IEntity> players = {}; m_HuntPlan.Step(players); if (!m_HuntPlan.Done()) return;
if (!m_HuntPlan.Ready()) { Print("ERR HUNT FAILED opening"); m_HuntPhase = 3; return; }
m_HuntService = new ERR_HunterService(mode, null);
for (int i = 0; i < 3; i++)
{
ERR_HunterVehicle unit = m_HuntService.ProbeHuntUnit(m_HuntPlan.Positions[i], m_HuntPlan.Angles[i], i);
if (!unit) { Print("ERR HUNT FAILED crew"); m_HuntPhase = 3; return; }
m_HuntUnits.Insert(unit); m_HuntStarts.Insert(unit.Entity.GetOrigin());
}
m_HuntPhase = 1; m_HuntNext = now + 10000; return;
}
if (m_HuntPhase == 1)
{
m_HuntAttack = new ERR_HunterAttack(); m_HuntAttack.ReportPosition = m_HuntPlan.Center; m_HuntAttack.Started = now;
m_HuntAttack.Forward = ERR_MountedCover.Approach(m_HuntUnits[0].Entity.GetOrigin(), m_HuntAttack.ReportPosition, "0 0 1");
array<vector> occupied = {};
for (int n = 0; n < m_HuntUnits.Count(); n++)
{
ERR_HunterTactics team = new ERR_HunterTactics(mode, m_HuntUnits[n], m_HuntAttack, n);
PrintFormat("ERR HUNT READY: role=%1 living=%2 crewValid=%3 members=%4", n, team.Living(), m_HuntUnits[n].CrewValid(mode), m_HuntUnits[n].Members.Count());
vector forward = ERR_MountedCover.Approach(m_HuntStarts[n], m_HuntAttack.ReportPosition, m_HuntAttack.Forward);
vector seed = ERR_Actors.Ground(m_HuntAttack.ReportPosition - forward * 260);
ERR_ConvoyPlacement placement = new ERR_ConvoyPlacement();
bool spawnFlat = placement.Clear(seed, ERR_ForceRules.Heading(seed, m_HuntAttack.ReportPosition, 0));
string spawnReason = placement.Diagnostic();
bool stageClear = placement.Clear(seed, ERR_ForceRules.Heading(seed, m_HuntAttack.ReportPosition, 0), 2.5);
PrintFormat("ERR HUNT SURFACE: role=%1 spawnFlat=%2 stageClear=%3 previous=%4 staging=%5", n, spawnFlat, stageClear, spawnReason, placement.Diagnostic());
bool planned = team.Plan(occupied);
bool ownSide = vector.Dot(team.Stage - m_HuntAttack.ReportPosition, m_HuntStarts[n] - m_HuntAttack.ReportPosition) > 0;
bool lane = ERR_MountedCover.ClearLane(m_HuntUnits[n].Entity, team.Stage, m_HuntAttack.ReportPosition);
PrintFormat("ERR HUNT PLAN: role=%1 planned=%2 ownSide=%3 lane=%4 start=%5 stage=%6", n, planned, ownSide, lane, m_HuntStarts[n], team.Stage);
if (!planned) continue;
occupied.Insert(team.Stage); m_HuntAttack.Teams.Insert(team);
bool began = team.ProbeHuntBegin(now); PrintFormat("ERR HUNT BEGIN: role=%1 began=%2", n, began);
}
m_HuntStarted = now; m_HuntPhase = 2; return;
}
foreach (ERR_HunterTactics active : m_HuntAttack.Teams) active.Tick(ERR_HQ.Cast(mode.Command()), now);
if (now - m_HuntStarted < 120000) return;
foreach (ERR_HunterTactics finalTeam : m_HuntAttack.Teams)
{
PrintFormat("ERR HUNT MOVEMENT: role=%1 moved=%2 state=%3 stopped=%4", finalTeam.Role, vector.DistanceXZ(finalTeam.Unit.Entity.GetOrigin(), m_HuntStarts[finalTeam.Role]), finalTeam.State, finalTeam.Stopped);
finalTeam.Stop();
}
Print("ERR HUNT COMPLETE"); m_HuntPhase = 3;
}
}
@@ -0,0 +1 @@
{"reason": "complete", "exit": -15}
@@ -0,0 +1,531 @@
---------------------------------------------
Log /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/profile/logs/logs_2026-10-05_19-12-04/console.log started at 2026-10-05 19:12:04 (2026-10-05 17:12:04 UTC)
19:12:04.325 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/profile/logs/logs_2026-10-05_19-12-04' to filesystem under name logs
19:12:04.325 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/profile/profile' to filesystem under name profile
19:12:04.325 ENGINE : FileSystem: Current working directory: '/tmp/runtime/'
19:12:04.326 ENGINE : Initializing engine, version 192142
19:12:04.326 ENGINE : CLI Params: -server {C1E20667DCE324ED}Missions/ERR_Everon.conf -addonsDir /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons -addons 2528466DE220D91C,70C981A53E02B64F -profile /home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/profile -noBackend -noSound -bindIP 127.0.0.1 -bindPort 2001 -maxFPS 30 -logconsole -noSplash -noThrow -disableCrashReporter
19:12:04.329 ENGINE : Addon dirs:
19:12:04.329 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons'
19:12:04.329 ENGINE : dir: './addons'
19:12:04.329 ENGINE : dir: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/profile/addons'
19:12:04.329 ENGINE : Available addons:
19:12:04.329 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
19:12:04.329 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
19:12:04.329 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
19:12:04.329 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
19:12:04.329 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
19:12:04.329 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed)
19:12:04.329 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
19:12:04.329 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:12:04.329 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:12:04.329 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
19:12:04.329 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
19:12:04.329 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/gabreta/addons/NogovaReforger' to filesystem under name NogovaReforger
19:12:04.329 ENGINE : FileSystem: Adding relative directory '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/source' to filesystem under name ERR_Core
19:12:04.329 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_65930CB4CD0237B2/' (pak count: 1) to filesystem under name Parachutes
19:12:04.329 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
19:12:04.329 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
19:12:04.330 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
19:12:04.334 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
19:12:04.335 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
19:12:04.337 ENGINE : FileSystem: Adding package '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
19:12:04.426 ENGINE : FileSystem: Adding package './addons/data/' (pak count: 14) to filesystem under name ArmaReforger
19:12:04.429 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
19:12:04.429 ENGINE : CPU vendor : AuthenticAMD
19:12:04.429 ENGINE : CPU type : 2
19:12:04.429 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
19:12:04.429 ENGINE : CPU cache info : Unknown cache
19:12:04.429 ENGINE : CPU count logical : 16
19:12:04.429 ENGINE : CPU count physical : 8
19:12:04.429 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
19:12:04.429 RESOURCES : ResourceDB: loading cache (id=0 name=NogovaReforger path=/home/jakub/devel/gabreta/addons/NogovaReforger/resourceDatabase.rdb)
19:12:04.438 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/source/resourceDatabase.rdb)
19:12:04.439 RESOURCES : ResourceDB: loading cache (id=2 name=Parachutes path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_65930CB4CD0237B2/resourceDatabase.rdb)
19:12:04.439 RESOURCES : ResourceDB: loading cache (id=3 name=WCS_BMP-1 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
19:12:04.439 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_SpaceCore path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
19:12:04.439 RESOURCES : ResourceDB: loading cache (id=5 name=WCS_Armaments path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
19:12:04.441 RESOURCES : ResourceDB: loading cache (id=6 name=RHS_Core path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
19:12:04.450 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Content_02 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
19:12:04.451 RESOURCES : ResourceDB: loading cache (id=8 name=RHS_Content_01 path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
19:12:04.456 RESOURCES : ResourceDB: loading cache (id=9 name=ArmaReforger path=./addons/data/resourceDatabase.rdb)
19:12:04.573 RESOURCES : ResourceDB: loading cache (id=10 name=core path=./addons/core/resourceDatabase.rdb)
19:12:04.574 RESOURCES : ResourceDB: loading cache (id=11 name=profile path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/profile/profile/resourceDatabase.rdb)
19:12:04.574 RESOURCES : ResourceDB: loading cache (id=12 name=logs path=/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/profile/logs/logs_2026-10-05_19-12-04/resourceDatabase.rdb)
19:12:04.754 ENGINE : GameProject load
19:12:04.754 ENGINE : Loaded addons:
19:12:04.754 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
19:12:04.754 ENGINE : gproj: './addons/data/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
19:12:04.754 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
19:12:04.754 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
19:12:04.754 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
19:12:04.754 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
19:12:04.754 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
19:12:04.754 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
19:12:04.754 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2'
19:12:04.754 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERR_Core/addon.gproj' guid: '2528466DE220D91C'
19:12:04.754 ENGINE : gproj: '/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/Nogova/addon.gproj' guid: '70C981A53E02B64F'
19:12:04.755 ENGINE : GameProject load
19:12:04.755 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_595F2BF2F44836FB/addon.gproj"
19:12:04.755 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
19:12:04.755 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_629B2BA37EFFD577/addon.gproj"
19:12:04.755 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
19:12:04.755 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
19:12:04.755 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
19:12:04.755 INIT : GameProject load project data @"/home/jakub/devel/escapistsrereintroduced/.local/uaz-test-tmp/native/hunt-response-20261005/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
19:12:04.755 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
19:12:04.756 ENGINE : Loading custom engine user config '$profile:.save/settings/ReforgerEngineSettings.conf'
19:12:04.756 ENGINE : No Enfusion settings file loaded. Continuing with defaults
19:12:04.756 RENDER : Basic screen setup:
19:12:04.756 RENDER : Back buffer width x height: 0x0
19:12:04.756 RENDER : Back buffer format : TEXFMT_UNKNOWN (0)
19:12:04.756 RENDER : MSAA : none
19:12:04.756 RENDER : GPU_DUMMY (0xFFFF) (Enfusion dummy render) with 1 GPU detected, VRAM 128MB (fast 128MB), shared 128MB, driver version Unknown version
19:12:04.756 RENDER : Detected output devices:
19:12:04.756 RENDER : * 1 device/s connected to Dummy:
19:12:04.756 RENDER : Dummy output (Dummy device for our dummy render.), 1920x1080 (offset 0x0), 60Hz
19:12:04.756 RENDER : Concurrent frames limit 2
19:12:04.756 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=7
19:12:04.769 PROFILING : Settings changed took: 0.022000 ms
19:12:04.772 ENGINE : Initializing inputs.
19:12:04.779 NETWORK : Initializing networking.
19:12:04.779 NETWORK : Using new GameRplScheduler.
19:12:04.780 SCRIPT : SCRIPT : Initializing scripts
19:12:04.780 SCRIPT : SCRIPT : ScriptProjectManager init
19:12:04.780 PROFILING : ScriptProjectManager init took: 0.008000 ms
19:12:04.794 PROFILING : Initializing scripts took: 14.278000 ms
19:12:04.794 BACKEND : Backend Services are disabled.
19:12:04.794 ENGINE : Enfusion engine successfully created.
19:12:04.796 GUI : Using default language (en_us)
19:12:04.796 GUI : Loading 'en_us' localization file.
19:12:04.796 INIT : INIT : Loading StringTable
19:12:04.818 PROFILING : Loading StringTable took: 22.420000 ms
19:12:04.818 SCRIPT : SCRIPT : Compiling GameLib scripts
19:12:04.844 SCRIPT : Module: GameLib; loaded 466x files; 608x classes; used 654K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
19:12:04.844 PROFILING : Compiling GameLib scripts took: 25.977000 ms
19:12:04.844 SCRIPT : SCRIPT : Compiling Game scripts
19:12:05.449 SCRIPT : Compiling Game scripts
19:12:05.449 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables
19:12:05.825 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
19:12:05.825 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
19:12:06.099 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,359": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:12:06.111 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
19:12:06.149 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
19:12:06.293 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
19:12:06.293 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
19:12:06.293 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
19:12:06.293 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
19:12:06.326 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
19:12:06.372 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
19:12:06.382 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
19:12:06.382 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
19:12:06.384 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
19:12:06.436 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:12:06.436 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
19:12:06.438 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
19:12:06.438 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
19:12:06.491 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
19:12:06.659 SCRIPT : Module: Game; loaded 6730x files; 13503x classes; used 33415K of static memory; defines: "PLATFORM_LINUX,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG,WCS_DEFINES_ARMAMENTS,WCS_DEFINES_SPACECORE"; CRC32: 8508688e
19:12:06.680 PROFILING : Compiling Game scripts took: 1835.571000 ms
19:12:06.680 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
19:12:06.705 ENGINE : Game successfully created.
19:12:06.779 PLATFORM : Save data from container 'settings' have been loaded
19:12:06.878 PLATFORM : Save data from container 'sessions' have been loaded
19:12:06.878 PLATFORM : System language differs from the saved one - using new language {new: 'en_us'; old: ''}
19:12:06.878 PLATFORM : Save data transaction to 'settings' started.
19:12:06.878 NETWORK : Starting local multiplayer server using command line args.
19:12:06.977 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{C1E20667DCE324ED}Missions/ERR_Everon.conf'.
19:12:06.978 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent'
19:12:07.779 PROFILING : Entities load took: 800.958000 ms
19:12:07.780 WORLD : WORLD : Game::LoadEntities
19:12:07.780 WORLD : WORLD : Initializing world systems @"{C50579A2EC48E8EF}Configs/Systems/MissionSystems.conf"
19:12:07.782 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits.
19:12:07.782 WORLD : WORLD : CreateEntities
19:12:07.782 WORLD : WORLD : CreateEntities
19:12:07.782 WORLD : WORLD : NotifyBeforeEntitiesCreated
19:12:07.783 RESOURCES : Loaded mission headers from 11 addon(s)!
19:12:07.783 PROFILING : NotifyBeforeEntitiesCreated took: 1.372000 ms
19:12:07.783 WORLD : WORLD : Wait for preloading data
19:12:09.153 PROFILING : Wait for preloading data took: 1369.563000 ms
19:12:09.217 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et"
19:12:09.217 PROFILING : PROFILING : Terrain load
19:12:10.571 PROFILING : Terrain load took: 1354.155000 ms
19:12:13.492 WORLD : Game::LoadEntities
19:12:13.492 WORLD : CreateEntities
19:12:13.492 WORLD : CreateEntities
19:12:13.492 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"
19:12:13.492 ENTITY : CreateComponent 'ScriptedRadioComponent'
19:12:13.492 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
19:12:18.059 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{5414041A15DC4B54}Prefabs/ERR/FactionManager.et"
19:12:18.059 RESOURCES : GetResourceObject @"{442939C9617DF228}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_FIA.et"
19:12:18.059 WORLD : Entity prefab load @"{442939C9617DF228}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_FIA.et"
19:12:18.059 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:12:18.059 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:12:18.059 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:12:18.059 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et"
19:12:18.059 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)
19:12:18.059 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)
19:12:18.060 RESOURCES : GetResourceObject @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:12:18.060 WORLD : Entity prefab load @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:12:18.060 RESOURCES : GetResourceObject @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:12:18.060 WORLD : Entity prefab load @"{B47110AA1A806556}Prefabs/Vehicles/Wheeled/BTR70/BTR70_FIA.et"
19:12:18.060 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:12:18.060 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:12:18.060 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:12:18.060 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et"
19:12:18.060 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)
19:12:18.060 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)
19:12:18.060 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)
19:12:18.060 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)
19:12:18.146 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et"
19:12:18.146 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et"
19:12:18.146 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:12:18.146 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:12:18.146 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:12:18.146 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:12:18.146 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:12:18.146 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et"
19:12:18.146 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)
19:12:18.542 WORLD : WORLD : NotifyBeforeEntitiesInitialized
19:12:18.542 PROFILING : NotifyBeforeEntitiesInitialized took: 0.032000 ms
19:12:18.542 WORLD : InitEntities 'world'
19:12:18.542 ENTITY : Init entity @"ENTITY:3" ('SCR_MapEntity1', SCR_MapEntity) at <6400.000000 0.000000 6400.000000> @"{E1B88C66BF6CA1F9}Prefabs/World/Game/Eden/MapEntity_Everon.et"
19:12:18.542 SCRIPT (W): SCR_MapEntity: Cannot get the size from terrain. Using default.
19:12:19.047 WORLD : InitEntities 'world'
19:12:19.047 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Reintroduced', ERR_GameMode) at <60.452000 1.000000 213.136002> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
19:12:19.047 SCRIPT : Reintroduced [config]: using $profile:Escapists.json; legacy files retained but no longer used.
19:12:19.054 WORLD : WORLD : NotifyEntitiesInitialized
19:12:19.054 TERRAIN : TERRAIN : Initializing road networks...
19:12:19.056 PROFILING : Initializing road networks... took: 2.000000 ms
19:12:19.103 SCRIPT : Reintroduced [terrain selection]: discovered 46 playable scenario headers; truncated=0
19:12:19.103 DEFAULT : DEFAULT : WorldVolumesCollection
19:12:19.153 PROFILING : WorldVolumesCollection took: 50.140000 ms
19:12:19.154 INIT : INIT : SoundWorldInit
19:12:19.169 PROFILING : SoundWorldInit took: 15.865000 ms
19:12:19.169 PROFILING : NotifyEntitiesInitialized took: 115.890000 ms
19:12:19.170 PROFILING : CreateEntities took: 11387.775000 ms
19:12:19.170 PROFILING : CreateEntities took: 11387.788000 ms
19:12:19.170 WORLD : WORLD : EOnActivate
19:12:19.200 PROFILING : EOnActivate took: 30.794000 ms
19:12:19.200 PROFILING : Game::LoadEntities took: 11420.033000 ms
19:12:19.309 NETWORK : Starting RPL server, listening on address 0.0.0.0:2001, fastValidation=false
19:12:19.763 DEFAULT : Entered online game state.
19:12:19.763 PROFILING : Settings changed took: 0.382000 ms
19:12:22.356 SCRIPT : Map load time: 1530ms
19:12:22.428 WORLD : Frame start
19:12:22.428 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated.
19:12:22.435 WORLD : UpdateEntities
19:12:22.435 WORLD : Frame
19:12:22.435 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME
19:12:23.783 SCRIPT : Co10 Escape Reintroduced factions: players=US enemy=USSR independent=FIA
19:12:38.823 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-prison-1 position=<7299.43,122.753,5180.63> heading=200.518 attempts=9583 fallback=0
19:12:39.619 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-radio-1 position=<4669.31,16.3426,10350.3> heading=42.5953 attempts=867 fallback=0
19:12:40.421 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-1 position=<5947.04,79.0873,5649.39> heading=317.646 attempts=979 fallback=0
19:12:40.686 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-2 position=<4834.65,53.6471,5837.29> heading=326.348 attempts=285 fallback=0
19:12:40.953 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-3 position=<2629.4,86.4657,6048.62> heading=238.147 attempts=367 fallback=0
19:12:41.755 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-mortar-4 position=<4819.02,27.8638,11180.4> heading=241.849 attempts=975 fallback=0
19:12:42.285 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-medical-1 position=<9160.71,2.13676,5341.96> heading=28.049 attempts=243 fallback=0
19:12:43.086 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-outpost-1 position=<4492.25,62.895,5011.09> heading=117.184 attempts=747 fallback=0
19:12:44.416 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-medical-2 position=<4607.95,84.9887,8586.59> heading=92.7494 attempts=1260 fallback=0
19:12:44.683 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-medical-3 position=<4816.28,21.5631,9515.53> heading=326.414 attempts=333 fallback=0
19:12:44.687 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-2 position=<11075.9,21.145,11883.2> heading=200.386 attempts=188 fallback=0
19:12:46.286 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-3 position=<5495.21,41.7871,10738.2> heading=48.6819 attempts=2003 fallback=0
19:12:56.684 SCRIPT : Co10 Escape Reintroduced [site skipped]: Field camp 4 (everon-camp-4): no safe placement after 12000 attempts and authored fallback rejected; omitted for this round; mission preparation continues
19:12:57.218 SCRIPT : Co10 Escape Reintroduced [generated site]: id=everon-camp-5 position=<1600.26,61.9815,5849.79> heading=335.665 attempts=634 fallback=0
19:12:57.226 SCRIPT : Reintroduced [sites]: authored everon-prison-1 at <7299.43,123.202,5180.63>
19:12:57.226 SCRIPT : Reintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1
19:12:57.232 SCRIPT : Reintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050>
19:12:57.235 ENTITY : SpawnEntityPrefab @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"
19:12:57.235 ENTITY : Create entity @"ENTITY:4611686018427388511" ('GenericEntity','Assets/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02.xob') at <4665.515625 16.741114 10356.527344> @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"
19:12:57.235 ENTITY : CreateComponent 'ScriptedRadioComponent'
19:12:57.235 DEFAULT (W): BaseRadioComponent does not have any transceiver. (Entity: @"ENTITY:4611686018427388511" ('GenericEntity','Assets/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02.xob') at <4665.515625 16.741114 10356.527344> @"{B3949F6D215A9F78}Prefabs/Props/Military/Antennas/Antenna_FIA_02/Antenna_FIA_02_base.et"). Only printing this message once. There're possibly more nodes with this requirement.
19:12:57.239 SCRIPT : Reintroduced [sites]: authored everon-radio-1 at <4669.31,16.808,10350.3>
19:12:57.272 SCRIPT : Reintroduced [sites]: authored everon-extraction-1 at <4800.95,27.8202,11487.4>
19:12:57.281 SCRIPT : Reintroduced [sites]: authored everon-medical-1 at <9160.71,2.25564,5341.96>
19:12:57.285 SCRIPT : Reintroduced [sites]: authored everon-outpost-1 at <4492.25,63.0898,5011.09>
19:12:57.285 SCRIPT : Reintroduced [sites]: authored everon-mortar-1 at <5947.04,79.4057,5649.39>
19:12:57.285 SCRIPT : Reintroduced [sites]: authored everon-mortar-2 at <4834.65,54.1413,5837.29>
19:12:57.285 SCRIPT : Reintroduced [sites]: authored everon-mortar-3 at <2629.4,86.6815,6048.62>
19:12:57.285 SCRIPT : Reintroduced [sites]: authored everon-mortar-4 at <4819.02,27.9438,11180.4>
19:12:57.287 SCRIPT : Reintroduced [sites]: authored everon-medical-2 at <4607.95,85.1405,8586.59>
19:12:57.291 SCRIPT : Reintroduced [sites]: authored everon-medical-3 at <4816.28,21.9824,9515.53>
19:12:57.293 SCRIPT : Reintroduced [sites]: authored everon-camp-2 at <11075.9,21.225,11883.2>
19:12:57.296 SCRIPT : Reintroduced [sites]: authored everon-camp-3 at <5495.21,42.1501,10738.2>
19:12:57.300 SCRIPT : Reintroduced [sites]: authored everon-camp-5 at <1600.26,62.2866,5849.79>
19:12:57.300 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<4800.95,27.8202,11487.4> up=1
19:12:57.300 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0 angularSpeed=0
19:12:57.300 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=0 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:12:57.300 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4800.95,28.1168,11489.7>
19:12:57.300 SCRIPT : ERR GEAR TERRAIN: bottom=<4800.95,27.8168,11489.7> terrainY=27.7202 tireTerrainGap=0.0965805
19:12:57.300 SCRIPT : ERR GEAR SUPPORT: center=<4800.95,28.1168,11489.7> radius=0.3 bottom=<4800.95,27.8168,11489.7> fraction=0.893554 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.0965824
19:12:57.300 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.68,28.585,11485.4>
19:12:57.300 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.68,28.135,11485.4> terrainY=27.8121 tireTerrainGap=0.322891
19:12:57.300 SCRIPT : ERR GEAR SUPPORT: center=<4798.68,28.585,11485.4> radius=0.45 bottom=<4798.68,28.135,11485.4> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.120001
19:12:57.300 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.23,28.585,11485.4>
19:12:57.300 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.23,28.135,11485.4> terrainY=27.649 tireTerrainGap=0.485987
19:12:57.300 SCRIPT : ERR GEAR SUPPORT: center=<4803.23,28.585,11485.4> radius=0.45 bottom=<4803.23,28.135,11485.4> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.120001
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=4 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=2 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=0 conscious=0 nativeComplete=0
19:12:57.300 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=2 physical=0 conscious=0 nativeComplete=0
19:12:58.282 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<4801.01,27.5973,11487.4> up=0.997143
19:12:58.282 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.703446 angularSpeed=0.166169
19:12:58.282 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:12:58.282 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.07,27.9661,11489.6>
19:12:58.282 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.07,27.6661,11489.6> terrainY=27.7165 tireTerrainGap=-0.0504055
19:12:58.282 SCRIPT : ERR GEAR SUPPORT: center=<4801.07,27.9661,11489.6> radius=0.3 bottom=<4801.07,27.6661,11489.6> fraction=0.225437 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.0504036
19:12:58.282 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.71,28.2284,11485.4>
19:12:58.282 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.71,27.7784,11485.4> terrainY=27.8105 tireTerrainGap=-0.0320549
19:12:58.282 SCRIPT : ERR GEAR SUPPORT: center=<4798.71,28.2284,11485.4> radius=0.45 bottom=<4798.71,27.7784,11485.4> fraction=0.308846 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.032053
19:12:58.282 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.25,28.0815,11485.3>
19:12:58.282 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.25,27.6315,11485.3> terrainY=27.6483 tireTerrainGap=-0.0168571
19:12:58.282 SCRIPT : ERR GEAR SUPPORT: center=<4803.25,28.0815,11485.3> radius=0.45 bottom=<4803.25,27.6315,11485.3> fraction=0.377906 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.016861
19:12:58.282 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:12:58.282 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=4 physical=1 conscious=1 nativeComplete=0
19:12:58.282 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=1 conscious=1 nativeComplete=0
19:12:58.282 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=1 conscious=1 nativeComplete=0
19:12:58.282 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=1 conscious=1 nativeComplete=0
19:12:58.814 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=1 conscious=1 nativeComplete=0
19:12:58.814 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=1 conscious=1 nativeComplete=0
19:12:58.814 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=1 conscious=1 nativeComplete=0
19:12:58.814 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=2 physical=1 conscious=1 nativeComplete=0
19:12:59.348 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.03,27.5922,11487.4> up=0.996387
19:12:59.348 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.200441 angularSpeed=0.0437107
19:12:59.348 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.3
19:12:59.348 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.09,28.0272,11489.6>
19:12:59.348 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.09,27.7272,11489.6> terrainY=27.7161 tireTerrainGap=0.0111618
19:12:59.348 SCRIPT : ERR GEAR SUPPORT: center=<4801.09,28.0272,11489.6> radius=0.3 bottom=<4801.09,27.7272,11489.6> fraction=0.505274 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.0111599
19:12:59.348 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.73,28.2659,11485.4>
19:12:59.348 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.73,27.8159,11485.4> terrainY=27.8094 tireTerrainGap=0.00649643
19:12:59.348 SCRIPT : ERR GEAR SUPPORT: center=<4798.73,28.2659,11485.4> radius=0.45 bottom=<4798.73,27.8159,11485.4> fraction=0.483996 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=0.00647926
19:12:59.348 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.28,28.1062,11485.3>
19:12:59.348 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.28,27.6562,11485.3> terrainY=27.6474 tireTerrainGap=0.00885201
19:12:59.348 SCRIPT : ERR GEAR SUPPORT: center=<4803.28,28.1062,11485.3> radius=0.45 bottom=<4803.28,27.6562,11485.3> fraction=0.494761 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00884819
19:12:59.348 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:12:59.348 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=4 physical=2 conscious=2 nativeComplete=0
19:12:59.349 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=2 conscious=2 nativeComplete=0
19:12:59.349 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=2 conscious=2 nativeComplete=0
19:12:59.349 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=2 conscious=2 nativeComplete=0
19:12:59.630 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=2 conscious=2 nativeComplete=0
19:12:59.630 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=2 physical=2 conscious=2 nativeComplete=1
19:12:59.630 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=1 conscious=1 nativeComplete=0
19:12:59.630 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=1 conscious=1 nativeComplete=0
19:12:59.914 SCRIPT : Reintroduced [extraction placement]: native supported aircraft stable for one second, fuel present, exactly one initial wake
19:13:00.165 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=4 physical=3 conscious=3 nativeComplete=0
19:13:00.165 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=3 conscious=3 nativeComplete=0
19:13:00.165 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=2 conscious=2 nativeComplete=0
19:13:00.166 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=2 physical=2 conscious=2 nativeComplete=1
19:13:00.447 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.08,27.5857,11487.4> up=0.99616
19:13:00.447 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0618754 angularSpeed=0.041988
19:13:00.447 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:13:00.447 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.15,28.0135,11489.6>
19:13:00.447 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.15,27.7135,11489.6> terrainY=27.7139 tireTerrainGap=-0.000463486
19:13:00.447 SCRIPT : ERR GEAR SUPPORT: center=<4801.15,28.0135,11489.6> radius=0.3 bottom=<4801.15,27.7135,11489.6> fraction=0.452432 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.000465393
19:13:00.447 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.77,28.2524,11485.4>
19:13:00.447 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.77,27.8024,11485.4> terrainY=27.8078 tireTerrainGap=-0.00542068
19:13:00.447 SCRIPT : ERR GEAR SUPPORT: center=<4798.77,28.2524,11485.4> radius=0.45 bottom=<4798.77,27.8024,11485.4> fraction=0.429841 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.00543404
19:13:00.447 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.32,28.0913,11485.3>
19:13:00.447 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.32,27.6413,11485.3> terrainY=27.6463 tireTerrainGap=-0.00503159
19:13:00.448 SCRIPT : ERR GEAR SUPPORT: center=<4803.32,28.0913,11485.3> radius=0.45 bottom=<4803.32,27.6413,11485.3> fraction=0.431684 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00502968
19:13:00.448 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:13:00.697 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=3 conscious=3 nativeComplete=0
19:13:00.697 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=3 conscious=3 nativeComplete=0
19:13:00.697 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=1 conscious=1 nativeComplete=0
19:13:00.697 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=1 conscious=1 nativeComplete=0
19:13:01.228 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=1 conscious=1 nativeComplete=0
19:13:01.228 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=2 physical=1 conscious=1 nativeComplete=0
19:13:01.228 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=1 conscious=1 nativeComplete=0
19:13:01.228 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=1 conscious=1 nativeComplete=0
19:13:01.514 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5902,11487.4> up=0.996038
19:13:01.514 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:13:01.514 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:13:01.514 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0145,11489.6>
19:13:01.514 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7145,11489.6> terrainY=27.7127 tireTerrainGap=0.00171661
19:13:01.514 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0145,11489.6> radius=0.3 bottom=<4801.19,27.7145,11489.6> fraction=0.462355 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00171852
19:13:01.514 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2546,11485.4>
19:13:01.514 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8046,11485.4> terrainY=27.8069 tireTerrainGap=-0.00235558
19:13:01.514 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2546,11485.4> radius=0.45 bottom=<4798.79,27.8046,11485.4> fraction=0.443688 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.002388
19:13:01.514 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:13:01.514 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.0026207
19:13:01.515 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442648 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00261688
19:13:01.515 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:13:01.782 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=1 conscious=1 nativeComplete=0
19:13:01.782 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=1 conscious=1 nativeComplete=0
19:13:01.782 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=2 conscious=2 nativeComplete=0
19:13:01.782 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=2 physical=2 conscious=2 nativeComplete=1
19:13:02.328 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=3 conscious=3 nativeComplete=0
19:13:02.328 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=4 conscious=4 nativeComplete=0
19:13:02.328 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=4 conscious=4 nativeComplete=0
19:13:02.329 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=3 conscious=3 nativeComplete=0
19:13:02.581 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5902,11487.4> up=0.996038
19:13:02.581 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:13:02.581 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:13:02.581 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0145,11489.6>
19:13:02.581 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7145,11489.6> terrainY=27.7127 tireTerrainGap=0.00171661
19:13:02.581 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0145,11489.6> radius=0.3 bottom=<4801.19,27.7145,11489.6> fraction=0.462355 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00171852
19:13:02.581 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2546,11485.4>
19:13:02.581 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8046,11485.4> terrainY=27.8069 tireTerrainGap=-0.00235558
19:13:02.582 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2546,11485.4> radius=0.45 bottom=<4798.79,27.8046,11485.4> fraction=0.443688 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.002388
19:13:02.582 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:13:02.582 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.0026207
19:13:02.582 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442648 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00261688
19:13:02.582 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:13:02.848 SCRIPT : Reintroduced [guards]: initial site=everon-medical-1 requested=4 physical=4 conscious=4 nativeComplete=1
19:13:02.848 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=2 conscious=2 nativeComplete=0
19:13:02.848 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=2 physical=2 conscious=2 nativeComplete=1
19:13:02.848 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=2 conscious=2 nativeComplete=0
19:13:03.382 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=2 physical=2 conscious=2 nativeComplete=1
19:13:03.382 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=2 conscious=2 nativeComplete=0
19:13:03.382 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=2 physical=2 conscious=2 nativeComplete=1
19:13:03.382 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=2 conscious=2 nativeComplete=0
19:13:03.647 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5902,11487.4> up=0.996038
19:13:03.647 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:13:03.647 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:13:03.648 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0145,11489.6>
19:13:03.648 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7145,11489.6> terrainY=27.7127 tireTerrainGap=0.00171661
19:13:03.648 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0145,11489.6> radius=0.3 bottom=<4801.19,27.7145,11489.6> fraction=0.462355 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00171852
19:13:03.648 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2546,11485.4>
19:13:03.648 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8046,11485.4> terrainY=27.8069 tireTerrainGap=-0.00235558
19:13:03.648 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2546,11485.4> radius=0.45 bottom=<4798.79,27.8046,11485.4> fraction=0.443688 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.002388
19:13:03.648 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:13:03.648 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.0026207
19:13:03.648 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442648 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00261688
19:13:03.648 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:13:03.881 SCRIPT : Reintroduced [guards]: initial site=everon-prison-1 requested=4 physical=4 conscious=4 nativeComplete=1
19:13:03.881 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=4 conscious=4 nativeComplete=0
19:13:03.882 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=3 conscious=3 nativeComplete=0
19:13:03.882 SCRIPT : Reintroduced [guards]: initial site=everon-camp-5 requested=4 physical=4 conscious=4 nativeComplete=1
19:13:04.398 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=5 conscious=5 nativeComplete=0
19:13:04.398 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=5 conscious=5 nativeComplete=0
19:13:04.398 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=3 conscious=3 nativeComplete=0
19:13:04.398 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=3 conscious=3 nativeComplete=0
19:13:04.681 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5902,11487.4> up=0.996038
19:13:04.681 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:13:04.681 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:13:04.681 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0145,11489.6>
19:13:04.681 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7145,11489.6> terrainY=27.7127 tireTerrainGap=0.00171661
19:13:04.681 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0145,11489.6> radius=0.3 bottom=<4801.19,27.7145,11489.6> fraction=0.462355 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00171852
19:13:04.681 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2546,11485.4>
19:13:04.681 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8046,11485.4> terrainY=27.8069 tireTerrainGap=-0.00235558
19:13:04.681 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2546,11485.4> radius=0.45 bottom=<4798.79,27.8046,11485.4> fraction=0.443688 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.002388
19:13:04.681 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:13:04.681 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.0026207
19:13:04.681 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442648 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00261688
19:13:04.681 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:13:04.948 SCRIPT : Reintroduced [guards]: initial site=everon-supply-1 requested=5 physical=5 conscious=5 nativeComplete=1
19:13:04.948 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=3 conscious=3 nativeComplete=0
19:13:04.948 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=2 physical=2 conscious=2 nativeComplete=1
19:13:04.948 SCRIPT : Reintroduced [guards]: initial site=everon-camp-3 requested=4 physical=4 conscious=4 nativeComplete=1
19:13:05.481 SCRIPT : Reintroduced [guards]: initial site=everon-radio-1 requested=6 physical=6 conscious=6 nativeComplete=1
19:13:05.482 SCRIPT : Reintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=6 conscious=6 nativeComplete=1
19:13:05.482 SCRIPT : Reintroduced [guards]: initial site=everon-outpost-1 requested=4 physical=4 conscious=4 nativeComplete=1
19:13:05.482 SCRIPT : Reintroduced [guards]: initial site=everon-medical-2 requested=4 physical=4 conscious=4 nativeComplete=1
19:13:05.748 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<4801.1,27.5902,11487.4> up=0.996038
19:13:05.748 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
19:13:05.748 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=12450.4
19:13:05.748 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<4801.19,28.0145,11489.6>
19:13:05.748 SCRIPT : ERR GEAR TERRAIN: bottom=<4801.19,27.7145,11489.6> terrainY=27.7127 tireTerrainGap=0.00171661
19:13:05.748 SCRIPT : ERR GEAR SUPPORT: center=<4801.19,28.0145,11489.6> radius=0.3 bottom=<4801.19,27.7145,11489.6> fraction=0.462355 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=0.00171852
19:13:05.748 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<4798.79,28.2546,11485.4>
19:13:05.748 SCRIPT : ERR GEAR TERRAIN: bottom=<4798.79,27.8046,11485.4> terrainY=27.8069 tireTerrainGap=-0.00235558
19:13:05.748 SCRIPT : ERR GEAR SUPPORT: center=<4798.79,28.2546,11485.4> radius=0.45 bottom=<4798.79,27.8046,11485.4> fraction=0.443688 normal=<0.0468236,0.998903,0> self=0 dynamic=0 supported=1 gap=-0.002388
19:13:05.748 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<4803.33,28.0932,11485.3>
19:13:05.748 SCRIPT : ERR GEAR TERRAIN: bottom=<4803.33,27.6432,11485.3> terrainY=27.6458 tireTerrainGap=-0.0026207
19:13:05.748 SCRIPT : ERR GEAR SUPPORT: center=<4803.33,28.0932,11485.3> radius=0.45 bottom=<4803.33,27.6432,11485.3> fraction=0.442648 normal=<0.0312348,0.999512,0> self=0 dynamic=0 supported=1 gap=-0.00261688
19:13:05.748 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
19:13:06.015 SCRIPT : Reintroduced [guards]: initial site=everon-medical-3 requested=4 physical=4 conscious=4 nativeComplete=1
19:13:06.015 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=3 conscious=3 nativeComplete=0
19:13:06.548 SCRIPT : Reintroduced [guards]: initial site=everon-camp-2 requested=4 physical=4 conscious=4 nativeComplete=1
19:13:06.549 SCRIPT : Reintroduced [sites]: transport parking=<6150,202.725,7038> radius=4 terrainRange=0.625 obstructed=0 clear=1
19:13:06.573 SCRIPT : Reintroduced [sites]: 15 sites and 220 physical stock items ready
19:13:06.576 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=1 position=<10017.1,214.894,3064.16> heading=0
19:13:06.817 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=2 position=<8445.43,272.7,2392.65> heading=0
19:13:06.818 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=3 position=<8788.22,145.389,4972.03> heading=135
19:13:07.087 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=4 position=<10569.4,174.897,2085.61> heading=0
19:13:07.350 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=5 position=<7406.52,134.588,2030.53> heading=135
19:13:07.616 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=6 position=<7696.93,287.058,3712.61> heading=0
19:13:07.885 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=7 position=<9582.84,104.596,441.812> heading=90
19:13:08.148 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=8 position=<5710.18,148.498,7716.64> heading=0
19:13:08.686 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=9 position=<9887.72,101.845,4052.86> heading=315
19:13:08.950 SCRIPT : Co10 Escape Reintroduced [scout survey]: post=10 position=<7150.51,84.6464,6561.92> heading=180
19:13:20.415 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-1 faction=USSR group=<0x000000004AFDD8E0> SCR_AIGroup position=<10017.1,214.794,3064.16> living=1
19:13:20.415 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<10017.1,214.894,3064.16> backpack magazines=40
19:13:20.948 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-2 faction=USSR group=<0x000000004AFF5A50> SCR_AIGroup position=<8445.43,272.6,2392.65> living=1
19:13:20.948 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<8445.43,272.7,2392.65> backpack magazines=40
19:13:20.948 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-3 faction=USSR group=<0x000000004B00D2E0> SCR_AIGroup position=<8788.22,145.531,4972.03> living=1
19:13:20.948 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<8788.22,145.389,4972.03> backpack magazines=40
19:13:21.482 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-4 faction=USSR group=<0x000000004B015670> SCR_AIGroup position=<10569.4,175.302,2085.61> living=1
19:13:21.482 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<10569.4,174.897,2085.61> backpack magazines=40
19:13:21.482 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-5 faction=USSR group=<0x000000004B1AE730> SCR_AIGroup position=<7406.52,134.488,2030.53> living=1
19:13:21.482 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<7406.52,134.588,2030.53> backpack magazines=40
19:13:22.015 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-6 faction=USSR group=<0x000000004B1C5090> SCR_AIGroup position=<7696.93,286.958,3712.61> living=1
19:13:22.015 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<7696.93,287.058,3712.61> backpack magazines=40
19:13:22.016 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-7 faction=USSR group=<0x000000004B28B2E0> SCR_AIGroup position=<9582.84,105.101,441.812> living=1
19:13:22.016 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<9582.84,104.596,441.812> backpack magazines=40
19:13:22.548 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-8 faction=USSR group=<0x000000004B378E40> SCR_AIGroup position=<5710.18,148.407,7716.64> living=1
19:13:22.548 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<5710.18,148.498,7716.64> backpack magazines=40
19:13:22.548 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-9 faction=USSR group=<0x000000004B396DE0> SCR_AIGroup position=<9887.72,101.847,4052.86> living=1
19:13:22.548 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<9887.72,101.845,4052.86> backpack magazines=40
19:13:23.081 SCRIPT : Reintroduced [SPAWN GROUP]: source=hill-scout-10 faction=USSR group=<0x000000004B408C70> SCR_AIGroup position=<7150.51,84.5464,6561.92> living=1
19:13:23.081 SCRIPT : Co10 Escape Reintroduced [scout ready]: position=<7150.51,84.6464,6561.92> backpack magazines=40
19:13:24.975 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-0 faction=USSR group=<0x000000004B7143B0> SCR_AIGroup position=<4273.33,63.5297,5799.21> living=4
19:13:24.975 SCRIPT : Reintroduced [roadblocks]: roadblock-0 at <4280.64,64.0152,5797.08> guards=4 roadPassage=open HQ=registered
19:13:26.310 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-1 faction=USSR group=<0x000000004B63D7A0> SCR_AIGroup position=<11141.8,32.7937,11531.1> living=4
19:13:26.311 SCRIPT : Reintroduced [roadblocks]: roadblock-1 at <11137.3,32.9742,11523.3> guards=4 roadPassage=open HQ=registered
19:13:29.511 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-2 faction=USSR group=<0x000000004C183AE0> SCR_AIGroup position=<7655.57,3.30241,9070.61> living=4
19:13:29.511 SCRIPT : Reintroduced [roadblocks]: roadblock-2 at <7647.98,3.33926,9071.29> guards=4 roadPassage=open HQ=registered
19:13:32.179 SCRIPT : Reintroduced [SPAWN GROUP]: source=roadblock-3 faction=USSR group=<0x000000004C183EE0> SCR_AIGroup position=<9495.32,162.831,1028.55> living=4
19:13:32.179 SCRIPT : Reintroduced [roadblocks]: roadblock-3 at <9491.31,162.17,1022.08> guards=4 roadPassage=open HQ=registered
19:13:32.414 SCRIPT : Reintroduced [roadblocks]: placed=4 requested=4 attempts=100 roadCandidates=19 clearPlans=4; requested count reached
19:13:32.414 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-1 location=<5947.04,79.4057,5649.39> authored=<5947.04,79.0873,5649.39>
19:13:32.421 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-2 location=<4834.65,54.1413,5837.29> authored=<4834.65,53.6471,5837.29>
19:13:32.423 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-3 location=<2629.4,86.6815,6048.62> authored=<2629.4,86.4657,6048.62>
19:13:32.424 SCRIPT : Reintroduced [mortars]: preparing everon-mortar-4 location=<4819.02,27.9438,11180.4> authored=<4819.02,27.8638,11180.4>
19:13:32.427 SCRIPT : Reintroduced [environment]: date=authored weather=authored
19:13:32.428 SCRIPT : Reintroduced [time]: started at 14:00 with 1x progression
19:13:32.428 SCRIPT : Reintroduced [mission]: phase 0 -> 1
19:13:32.428 SCRIPT : Reintroduced [prison]: owned composition raw={BE6B8D56349038A6}Prefabs/ERR/Prison.et resolved={BE6B8D56349038A6}Prefabs/ERR/Prison.et position=<7299.43,122.753,5180.63>
19:13:32.428 SCRIPT : Reintroduced [prison]: gate candidate raw= resolved={67F17696FF278AE0}Prefabs/Structures/BuildingParts/Doors/Door_Metal_A_RIGHT_EXT_COV_B.et lock=1 door=1 position=<7302.13,122.753,5185.97>
19:13:32.428 SCRIPT : Reintroduced [prison]: one intact successor lock in owned prison
19:13:34.423 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-prison-1 faction=USSR group=<0x000000003070F440> SCR_AIGroup position=<7266.65,123.066,5192.9> living=4
19:13:34.424 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-supply-1 faction=FIA group=<0x0000000030869800> SCR_AIGroup position=<6168,202.217,7050> living=5
19:13:34.424 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-radio-1 faction=USSR group=<0x000000003084B910> SCR_AIGroup position=<4691.4,16.8438,10330> living=6
19:13:34.425 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-extraction-1 faction=USSR group=<0x00000000479B0010> SCR_AIGroup position=<4830.95,28.2904,11487.4> living=6
19:13:34.425 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-1 faction=USSR group=<0x00000000479F1B40> SCR_AIGroup position=<9171.3,2.56071,5336.32> living=4
19:13:34.425 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-1-responders faction=USSR group=<0x0000000047A09D50> SCR_AIGroup position=<9150.12,2.16986,5347.6> living=2
19:13:34.426 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-outpost-1 faction=USSR group=<0x0000000047A33D10> SCR_AIGroup position=<4486.77,62.9956,5000.42> living=4
19:13:34.426 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-outpost-1-responders faction=USSR group=<0x0000000047A47080> SCR_AIGroup position=<4497.74,63.0625,5021.77> living=2
19:13:34.426 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-2 faction=USSR group=<0x0000000047A71EE0> SCR_AIGroup position=<4607.37,85.0379,8574.61> living=4
19:13:34.427 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-2-responders faction=USSR group=<0x0000000047A88D70> SCR_AIGroup position=<4608.52,85.1168,8598.58> living=2
19:13:34.427 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-3 faction=USSR group=<0x0000000047AAABD0> SCR_AIGroup position=<4826.28,21.7787,9522.17> living=4
19:13:34.427 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-medical-3-responders faction=USSR group=<0x0000000047AC1D00> SCR_AIGroup position=<4806.28,21.8889,9508.89> living=2
19:13:34.428 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-2 faction=USSR group=<0x0000000047AE5B20> SCR_AIGroup position=<11064.7,21.1871,11887.4> living=4
19:13:34.428 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-2-responders faction=USSR group=<0x0000000047AFD5B0> SCR_AIGroup position=<11087.2,21.1871,11879> living=2
19:13:34.428 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-3 faction=USSR group=<0x0000000047B21E00> SCR_AIGroup position=<5503.13,42.0625,10729.2> living=4
19:13:34.429 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-3-responders faction=USSR group=<0x0000000047C49860> SCR_AIGroup position=<5487.28,41.9207,10747.2> living=2
19:13:34.429 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-5 faction=USSR group=<0x0000000047C6EB00> SCR_AIGroup position=<1611.2,62.277,5854.73> living=4
19:13:34.429 SCRIPT : Reintroduced [SPAWN GROUP]: source=everon-camp-5-responders faction=USSR group=<0x0000000047C86590> SCR_AIGroup position=<1589.33,62.125,5844.84> living=2
19:13:42.619 SCRIPT : ERR HUNT PLAN: role=0 planned=0 ownSide=1 lane=0 start=<6411.62,83.9762,5649.46> stage=<0,0,0>
19:13:42.624 SCRIPT : ERR HUNT PLAN: role=1 planned=0 ownSide=0 lane=0 start=<7750.04,3.97285,5927.92> stage=<0,0,0>
19:13:42.624 SCRIPT : ERR HUNT PLAN: role=2 planned=1 ownSide=1 lane=0 start=<7957.51,173.335,4508.36> stage=<7503.13,122.297,4977.69>
19:13:42.624 SCRIPT : ERR HUNT BEGIN: role=2 began=1
19:14:10.814 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport structure={8746DE528BA26F02}Prefabs/Structures/Airport/LightRunway_01/LightRunway_01_white.et position=<4791.88,26.188,11898>
19:14:21.880 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport search finished; airports=1
19:14:21.881 SCRIPT : Co10 Escape Reintroduced [AI / air recon]: airport=0 centre=<4788.55,26.6863,11528.9> runway/tower samples=438
19:15:42.913 SCRIPT : ERR HUNT MOVEMENT: role=2 moved=226.634 state=1 stopped=0
19:15:42.913 SCRIPT : ERR HUNT COMPLETE
@@ -0,0 +1,94 @@
modded class SCR_ChimeraAIAgent
{
void ProbeHuntRelease() { ERR_PrisonPhaseChanged(ERR_Phase.PRISON, ERR_Phase.RADIO_SEARCH); SetPermanentLOD(0); ActivateAI(); }
}
modded class ERR_HunterService
{
ERR_HunterVehicle ProbeHuntUnit(vector position, vector angles, int ordinal)
{
ERR_HunterVehicle unit = new ERR_HunterVehicle(); unit.Source = "hunt-probe-" + ordinal.ToString();
unit.TroopTransport = ordinal == 2;
unit.Entity = Vehicle.Cast(ERR_Actors.Spawn(ERR_HunterFleetRules.VehiclePrefab(ordinal), position, angles));
unit.Group = SCR_AIGroup.Cast(ERR_Actors.Spawn(ERR_ConvoyResources.GroupPrefab(), position));
if (!unit.Entity || !unit.Group || !FillCrew(unit)) return null;
unit.Group.SetPermanentLOD(0); unit.Group.ActivateAI();
return unit;
}
}
modded class ERR_HunterTactics
{
bool ProbeHuntBegin(float now)
{
foreach (IEntity member : Unit.Members)
{
AIControlComponent control = AIControlComponent.Cast(member.FindComponent(AIControlComponent));
SCR_ChimeraAIAgent agent = SCR_ChimeraAIAgent.Cast(control.GetControlAIAgent()); if (agent) agent.ProbeHuntRelease();
}
SCR_AIGroupUtilityComponent utility = Unit.Group.GetGroupUtilityComponent();
SCR_AIVehicleUsageComponent usage = SCR_AIVehicleUsageComponent.Cast(Unit.Entity.FindComponent(SCR_AIVehicleUsageComponent));
if (utility && usage) utility.AddUsableVehicle(usage);
if (!Move(Stage, 35)) return false;
Delivered = true; State = 1; Deadline = now + ERR_HunterAttackRules.ManeuverBudget(m_TravelDistance);
m_ApproachStarted = now; m_ApproachProgress = now; m_ApproachPosition = Unit.Entity.GetOrigin();
if (Role == 0) foreach (IEntity crew : Unit.Members) ERR_ConvoyMountedCrew.Hold(crew, Unit.Entity);
return true;
}
}
modded class ArmaReforgerScripted
{
protected ref ERR_HunterOpeningPlan m_HuntPlan;
protected ref ERR_HunterService m_HuntService;
protected ref ERR_HunterAttack m_HuntAttack;
protected ref array<ref ERR_HunterVehicle> m_HuntUnits = {};
protected ref array<vector> m_HuntStarts = {};
protected int m_HuntPhase;
protected float m_HuntNext;
protected float m_HuntStarted;
override void OnUpdate(BaseWorld world, float timeslice)
{
super.OnUpdate(world, timeslice);
ERR_GameMode mode = ERR_GameMode.Get();
if (!mode || mode.Phase() < ERR_Phase.PRISON || m_HuntPhase == 3) return;
float now = world.GetWorldTime(); if (now < m_HuntNext) return; m_HuntNext = now + 1000;
if (m_HuntPhase == 0)
{
if (!m_HuntPlan) m_HuntPlan = new ERR_HunterOpeningPlan(mode.PrisonPosition(), 1000);
array<IEntity> players = {}; m_HuntPlan.Step(players); if (!m_HuntPlan.Done()) return;
if (!m_HuntPlan.Ready()) { Print("ERR HUNT FAILED opening"); m_HuntPhase = 3; return; }
m_HuntService = new ERR_HunterService(mode, null);
for (int i = 0; i < 3; i++)
{
ERR_HunterVehicle unit = m_HuntService.ProbeHuntUnit(m_HuntPlan.Positions[i], m_HuntPlan.Angles[i], i);
if (!unit) { Print("ERR HUNT FAILED crew"); m_HuntPhase = 3; return; }
m_HuntUnits.Insert(unit); m_HuntStarts.Insert(unit.Entity.GetOrigin());
}
m_HuntPhase = 1; m_HuntNext = now + 10000; return;
}
if (m_HuntPhase == 1)
{
m_HuntAttack = new ERR_HunterAttack(); m_HuntAttack.ReportPosition = mode.PrisonPosition(); m_HuntAttack.Started = now;
m_HuntAttack.Forward = ERR_MountedCover.Approach(m_HuntUnits[0].Entity.GetOrigin(), m_HuntAttack.ReportPosition, "0 0 1");
array<vector> occupied = {};
for (int n = 0; n < m_HuntUnits.Count(); n++)
{
ERR_HunterTactics team = new ERR_HunterTactics(mode, m_HuntUnits[n], m_HuntAttack, n);
bool planned = team.Plan(occupied);
bool ownSide = vector.Dot(team.Stage - m_HuntAttack.ReportPosition, m_HuntStarts[n] - m_HuntAttack.ReportPosition) > 0;
bool lane = ERR_MountedCover.ClearLane(m_HuntUnits[n].Entity, team.Stage, m_HuntAttack.ReportPosition);
PrintFormat("ERR HUNT PLAN: role=%1 planned=%2 ownSide=%3 lane=%4 start=%5 stage=%6", n, planned, ownSide, lane, m_HuntStarts[n], team.Stage);
if (!planned) continue;
occupied.Insert(team.Stage); m_HuntAttack.Teams.Insert(team);
bool began = team.ProbeHuntBegin(now); PrintFormat("ERR HUNT BEGIN: role=%1 began=%2", n, began);
}
m_HuntStarted = now; m_HuntPhase = 2; return;
}
foreach (ERR_HunterTactics active : m_HuntAttack.Teams) active.Tick(ERR_HQ.Cast(mode.Command()), now);
if (now - m_HuntStarted < 120000) return;
foreach (ERR_HunterTactics finalTeam : m_HuntAttack.Teams)
{
PrintFormat("ERR HUNT MOVEMENT: role=%1 moved=%2 state=%3 stopped=%4", finalTeam.Role, vector.DistanceXZ(finalTeam.Unit.Entity.GetOrigin(), m_HuntStarts[finalTeam.Role]), finalTeam.State, finalTeam.Stopped);
finalTeam.Stop();
}
Print("ERR HUNT COMPLETE"); m_HuntPhase = 3;
}
}
@@ -0,0 +1 @@
{"reason": "complete", "exit": -15}
@@ -0,0 +1 @@
PASS: actual HQ allocator selects reachable reports, distinct cover/flanks, simultaneous fronts, bounded reservations and failed-radio/placement rollback
@@ -0,0 +1,17 @@
{
"addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyPlacement.c": "af4799e3028448e1a73f944989313e5d10c6262521bd29a8cdd5236842717963",
"addons/core/Scripts/Game/ERR/10_AI/ERR_ConvoyService.c": "7e9a8034060187b1f9a0ad47b5b82586f48cfcc38308a9ca935ed5b770b43722",
"addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c": "c1cdde3c530b6ab4a763a21d7b802a521b08ca072bdb3ca8978c87d78fc4aea0",
"addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c": "0ff3905ce91d65a450a57e8222ed178bb57e4ccfe98e6c431c01e77018d2cc78",
"addons/core/Scripts/Game/ERR/10_AI/ERR_HunterTactics.c": "05034f3b4d68fea28e222b3905c3e752b87d6768bf306daa019cba750610ba8d",
"addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyService.c": "5393efab9d663382e67b9b27a388063986a4f99c2607328c998f007588074ca4",
"addons/core/Scripts/Game/ERR/10_AI/ERR_SupplyConvoyTactics.c": "019c358b38b7b0f2511473c587374515f6c2befb8a86a2bf4d7c109e58278177",
"docs/aggression-ai.md": "406d1595c9742374808301f4a2d033865ec85af28987701afc8df7555220fc7d",
"tests/test_convoy_column.py": "f4ec6aed9d21a6b6eaf5e3dae21607fdb02c0ded106e516e6013b880f4f35672",
"tests/test_convoy_placement.py": "ce904d781fbc0dad8bcb6231b6c7196f8a4d2f6836ab8d3d217a82f8f5c2562e",
"tests/test_hq_convoy_combat.py": "446e2236cc2d17c624d54046c212b9838c9698d049fe82333634a4d26689e490",
"tests/test_hunter_coordination.py": "84b5af8dcbd35f5bfbb77f14585ac4422e75ce591021df83e505355d4ce64143",
"tests/test_hunter_opening.py": "55a16012b888ae534e75126bc1c99342610a87e9a392e39eb720a6398954848d",
"tests/test_hunter_tactics.py": "f40c292e670e959827334646b63cbdedfdd029d13e20904671088211cca8a176",
"tests/test_supply_convoys.py": "54f0ecdcd2b61db46ec85ce5092e5ce3f6f948e98ec961586055af6d9c8c9fd9"
}
@@ -0,0 +1 @@
PASS: actual new measured ClearFootprint 25/441 sample grids, measured extents/height, water/invalid world/terrain/trace refusal plus legacy filled rotated-footprint TraceBox and nine terrain/water samples; broad tree/cable bounds alone accepted, actual collision/nonfinite trace refused, nonzero sweep and ENTS/OCEAN flags, bounded diagnostic query and reset
@@ -0,0 +1,32 @@
{
"date": "2026-10-05",
"publication": "local working tree; user publishes; no live server changes",
"checks": {
"registered": "tools/check.py exited 0; see check.log",
"subsequent_changes": "staging terrain tolerance and idle-cover retasking validated with targeted production-body regressions; logs included",
"native_compilation": "final exact source compiled by isolated Linux dedicated server; no SCRIPT (E) entries",
"diff_check": "passed on all task production, test and documentation files"
},
"native_movement": {
"run": "hunt-response-20261005-staging",
"uaz_displacement_metres": 539.146,
"truck_displacement_metres": 574.289,
"elapsed_seconds": 120,
"both_tactical_states": 4,
"meaning": "Both physical vehicles approached, crew dismounted and entered infantry flank state. Cover UAZ had no admissible firing position and did not start.",
"road_contact_followup": "Verified non-water road contact; one UAZ advanced 571.754 m and entered flank state; other approaches were safely withheld."
},
"limits": [
"Native fixture supplies a reported position and starts accepted tactics directly; it is not an end-to-end radio or multiplayer battle. Radio gates, retasking, reinforcement selection and convoy support decisions are regression-tested separately.",
"No native BVP live-fire/suppression proof. Firing-lane geometry is not proof of actual suppression.",
"Terrain, obstacles and roads can still prevent a complete formation. Failed plans preserve ordinary hunter response; no unsafe placement or teleporting is added."
],
"changes": [
"Unused hunters are no longer excluded from contacts already handled by a coordinated pair.",
"Plan every 5 seconds; newer materially displaced same-belief reports redirect traveling teams and blind idle cover while preserving deployed infantry and guns with visual contact.",
"Stage from each arriving vehicle side; widen bounded candidate search and permit moderate staging slopes without relaxing spawn limits.",
"Preserve armed escorts with visual contact; trace candidate firing lanes; recheck masked arrived positions every 30 seconds without restarting an approaching driver.",
"Do not queue convoy route resumes while local combat/reboarding owns movement; retain executor race guard.",
"Log convoy support current/destination/contact coordinates and failed firing-lane selection."
]
}