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:
@@ -0,0 +1,226 @@
|
||||
--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c
|
||||
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c
|
||||
@@ -33,6 +33,13 @@
|
||||
float HiddenSince = -1;
|
||||
float ProgressAt;
|
||||
vector ProgressPosition;
|
||||
+ ref SCR_AIVehicleBehavior Boarding;
|
||||
+ float NextBoarding;
|
||||
+ void CancelBoarding()
|
||||
+ {
|
||||
+ ERR_VehicleBehaviorCleanup.Complete(Boarding, Driver);
|
||||
+ Boarding = null;
|
||||
+ }
|
||||
void Report(string state)
|
||||
{
|
||||
if (Status == state) return;
|
||||
@@ -40,7 +47,7 @@
|
||||
vector position; if (Car) position = Car.GetOrigin();
|
||||
ERR_HQ.Event("CIVILIAN TRAFFIC", string.Format("car %1 prefab=%2 at %3: %4", Number, Prefab, position, state));
|
||||
}
|
||||
- void Finish(string reason) { Finished = true; Report(reason); }
|
||||
+ void Finish(string reason) { Finished = true; CancelBoarding(); Report(reason); }
|
||||
void Protect(bool protectedFromCleanup)
|
||||
{
|
||||
IEntity entity = Car; if (!entity) entity = Driver;
|
||||
@@ -62,7 +69,7 @@
|
||||
void Release()
|
||||
{
|
||||
if (Released) return;
|
||||
- Released = true; ClearOrders(); Protect(false);
|
||||
+ Released = true; CancelBoarding(); ClearOrders(); Protect(false);
|
||||
if (Group)
|
||||
{
|
||||
Group.SetPermanentLOD(-1);
|
||||
@@ -255,8 +262,19 @@
|
||||
}
|
||||
protected bool Prepare(ERR_CivilianCar traffic)
|
||||
{
|
||||
- if (!traffic.Car || !traffic.Group || !traffic.Seat || traffic.Seat.GetOccupant() != traffic.Driver || !ERR_Actors.CanFight(traffic.Driver))
|
||||
- { traffic.Report("waiting for living seated driver"); return false; }
|
||||
+ // Compartment spawning is asynchronous. Distant agents must be awake BEFORE
|
||||
+ // waiting for their seat; otherwise readiness and activation wait on each other.
|
||||
+ if (traffic.Group)
|
||||
+ {
|
||||
+ traffic.Group.SetPermanentLOD(0); traffic.Group.ActivateAI();
|
||||
+ array<AIAgent> agents = {}; traffic.Group.GetAgents(agents);
|
||||
+ foreach (AIAgent agent : agents) if (agent) { agent.SetPermanentLOD(0); agent.ActivateAI(); }
|
||||
+ }
|
||||
+ if (!traffic.Car || !traffic.Group || !traffic.Seat || !ERR_Actors.CanFight(traffic.Driver))
|
||||
+ {
|
||||
+ bool seated = traffic.Seat && traffic.Driver && traffic.Seat.GetOccupant() == traffic.Driver;
|
||||
+ traffic.Report(string.Format("waiting for driver: present=%1 fit=%2 seated=%3", traffic.Driver != null, ERR_Actors.CanFight(traffic.Driver), seated)); return false;
|
||||
+ }
|
||||
if (ERR_Actors.Group(traffic.Driver) != traffic.Group || traffic.Group.GetAgentsCount() != 1)
|
||||
{ traffic.Report("waiting for native AI group admission"); return false; }
|
||||
SCR_AIGroupUtilityComponent utility = traffic.Group.GetGroupUtilityComponent();
|
||||
@@ -264,6 +282,26 @@
|
||||
if (!utility || !utility.m_VehicleMgr || !usage || !utility.m_VehicleMgr.TryAddVehicle(usage))
|
||||
{ traffic.Report("waiting for native vehicle registration"); return false; }
|
||||
utility.AddUsableVehicle(usage);
|
||||
+ if (traffic.Seat.GetOccupant() != traffic.Driver)
|
||||
+ {
|
||||
+ // Recover the original driver if native compartment admission stalled or
|
||||
+ // the driver got out before route assignment. Never replace or teleport him.
|
||||
+ if (Foreign(traffic)) { traffic.Release(); return false; }
|
||||
+ SCR_ChimeraAIAgent driver = SCR_ChimeraAIAgent.Cast(SCR_AIUtils.GetAIAgent(traffic.Driver));
|
||||
+ float now = GetGame().GetWorld().GetWorldTime();
|
||||
+ if (driver && driver.m_UtilityComponent && now >= traffic.NextBoarding && !traffic.Seat.GetOccupant() && !CompartmentAccessComponent.GetVehicleIn(traffic.Driver))
|
||||
+ {
|
||||
+ array<ref AIActionBase> actions = {}; driver.m_UtilityComponent.GetActions(actions);
|
||||
+ if (!traffic.Boarding || !actions.Contains(traffic.Boarding))
|
||||
+ {
|
||||
+ traffic.CancelBoarding(); traffic.NextBoarding = now + 10000;
|
||||
+ traffic.Boarding = new SCR_AIGetInVehicle(driver.m_UtilityComponent, null, traffic.Car, traffic.Seat, EAICompartmentType.Pilot, 1000);
|
||||
+ driver.m_UtilityComponent.AddAction(traffic.Boarding);
|
||||
+ }
|
||||
+ }
|
||||
+ traffic.Report("waiting for original driver to board; native boarding recovery active"); return false;
|
||||
+ }
|
||||
+ traffic.CancelBoarding();
|
||||
if (!GiveRoute(traffic)) { traffic.Report("waiting for route waypoints"); return false; }
|
||||
traffic.Ready = true;
|
||||
traffic.ProgressAt = GetGame().GetWorld().GetWorldTime(); traffic.ProgressPosition = traffic.Car.GetOrigin();
|
||||
--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c
|
||||
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c
|
||||
@@ -78,6 +78,7 @@
|
||||
protected ref array<ref ERR_HunterVehicle> m_Hunters = {};
|
||||
protected float m_NextHunter;
|
||||
protected float m_NextSpawn;
|
||||
+ protected float m_NextSummary;
|
||||
protected int m_Target = 3;
|
||||
protected ref ERR_HunterOpeningPlan m_Opening;
|
||||
protected ref ERR_HunterCoordination m_Coordination;
|
||||
@@ -283,7 +284,7 @@
|
||||
protected bool Coordinated(vector position) { return m_Coordination && m_Coordination.Covered(position); }
|
||||
protected void QueueDestination(ERR_HunterVehicle unit, ERR_HQ hq, float now)
|
||||
{
|
||||
- array<ref ERR_HQReport> reports = {}; hq.SupportContacts(reports, now);
|
||||
+ array<ref ERR_HQReport> reports = {}; hq.HunterContacts(reports, now);
|
||||
ERR_HQBelief best;
|
||||
foreach (ERR_HQReport report : reports)
|
||||
{
|
||||
@@ -309,8 +310,10 @@
|
||||
unit.LastContact = best.ObservedAt; unit.NextContactOrder = now + 5000;
|
||||
return;
|
||||
}
|
||||
- if (!ERR_SupplyConvoySystem.ApproachDirected(best.PredictedPosition, destination, angles, 250)) return;
|
||||
- unit.SourceMessage = best.MessageId; reason = "intercept last delivered sighting; confidence=" + best.Confidence.ToString();
|
||||
+ if (!ERR_SupplyConvoySystem.ApproachDirected(best.PredictedPosition, destination, angles, 250))
|
||||
+ { ERR_HQ.Event("HUNTER ROUTE", unit.Source + ": delivered sector has no usable approach road; retaining orders", best.MessageId); return; }
|
||||
+ unit.SourceMessage = best.MessageId;
|
||||
+ reason = string.Format("investigate last delivered sighting; age=%1s confidence=%2 uncertainty=%3m", (now - best.ObservedAt) / 1000, best.Confidence, best.Radius);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -356,6 +359,12 @@
|
||||
m_NextHunter = now + 1000;
|
||||
ERR_HQ hq = ERR_HQ.Cast(m_Mode.Command()); if (!hq) return;
|
||||
m_Target = hq.Watch().HunterTarget();
|
||||
+ if (now >= m_NextSummary)
|
||||
+ {
|
||||
+ m_NextSummary = now + 60000;
|
||||
+ array<ref ERR_HQReport> searches = {}; hq.HunterContacts(searches, now);
|
||||
+ ERR_HQ.Event("HUNTER STATUS", string.Format("active=%1 deployed=%2 allowance=%3 identified bodies=%4 searchable delivered sectors=%5; lost vehicles are not replaced", ActiveHunters(), Deployed(), m_Target, hq.Watch().IdentifiedBodies(), searches.Count()));
|
||||
+ }
|
||||
if (!m_Opening)
|
||||
{
|
||||
array<IEntity> openingPlayers = {}; ERR_Actors.Players(openingPlayers);
|
||||
--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterTactics.c
|
||||
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_HunterTactics.c
|
||||
@@ -14,6 +14,7 @@
|
||||
// delivered sector. Support availability is not a claim of suppressing fire.
|
||||
return armedCover && now >= waitingUntil - 30000;
|
||||
}
|
||||
+ static bool DismountRange(float range) { return range >= 140 && range <= 450; }
|
||||
static bool Fresh(float observed, float now) { return observed >= 0 && now >= observed && now - observed <= 60000; }
|
||||
static vector Offset(vector contact, vector forward, int role, int phase)
|
||||
{
|
||||
@@ -84,6 +85,7 @@
|
||||
protected float m_ApproachStarted;
|
||||
protected float m_ApproachProgress;
|
||||
protected vector m_ApproachPosition;
|
||||
+ protected bool m_UnsupportedSearch;
|
||||
protected ERR_GameMode m_Mode;
|
||||
void ERR_HunterTactics(ERR_GameMode mode, ERR_HunterVehicle unit, ERR_HunterAttack attack, int role)
|
||||
{
|
||||
@@ -322,8 +324,11 @@
|
||||
{ m_ApproachProgress = now; m_ApproachPosition = Unit.Entity.GetOrigin(); }
|
||||
bool near = vector.DistanceXZ(Unit.Entity.GetOrigin(), Stage) <= 55;
|
||||
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"); }
|
||||
- else if (Role > 0 && (near || local) && Board(false)) { State = 2; Deadline = now + 45000; NextRetry = now + 15000; Note("dismounting original crew"); }
|
||||
+ else if (Role > 0 && (near || local || onFootReach) && Board(false)) { State = 2; Deadline = now + 45000; NextRetry = now + 15000; Note("within infantry approach range; dismounting original crew"); }
|
||||
else if (now >= Deadline)
|
||||
{
|
||||
if (ERR_HunterAttackRules.ExtendApproach(m_ApproachStarted, m_ApproachProgress, now))
|
||||
@@ -341,20 +346,22 @@
|
||||
{
|
||||
bool visualCover = Attack.CoverReady();
|
||||
bool investigate = ERR_HunterAttackRules.AdvanceWithoutVisualCover(Attack.CoverAlive(), Deadline, now);
|
||||
- if ((visualCover || investigate) && Move(Approach, 20))
|
||||
- {
|
||||
+ bool unsupported = !Attack.CoverAlive() && now >= Deadline;
|
||||
+ if ((visualCover || investigate || unsupported) && Move(Approach, 20))
|
||||
+ {
|
||||
+ m_UnsupportedSearch = unsupported;
|
||||
State = 4; Deadline = now + ERR_HunterAttackRules.ManeuverBudget(m_TravelDistance);
|
||||
if (visualCover) Note("cover established; moving around flank via " + Approach.ToString());
|
||||
+ else if (unsupported) Note("cover lost; bounded infantry investigation of delivered sector via " + Approach.ToString());
|
||||
else Note("armed support in position without visual contact; investigating reported flank via " + Approach.ToString());
|
||||
}
|
||||
else if (now >= Deadline)
|
||||
{
|
||||
- // Do not advance without a surviving, armed support crew in position.
|
||||
- Note("cover unavailable; holding native combat and returning to vehicle");
|
||||
+ Note("infantry approach could not be assigned; regrouping original survivors");
|
||||
State = 6; Deadline = now + 90000; Board(true);
|
||||
}
|
||||
}
|
||||
- if (State == 4 && !Attack.CoverAlive())
|
||||
+ if (State == 4 && !m_UnsupportedSearch && !Attack.CoverAlive())
|
||||
{ Clear(); State = 3; Deadline = now + 45000; Note("covering crew or mounted ammunition unavailable; manoeuvre paused"); }
|
||||
if (State == 4 && vector.DistanceXZ(Position(), Approach) <= 30)
|
||||
{
|
||||
@@ -391,7 +398,14 @@
|
||||
bool Covered(vector position)
|
||||
{
|
||||
foreach (ERR_HunterAttack attack : m_Attacks)
|
||||
- if (vector.DistanceXZ(position, attack.ReportPosition) < 300) return true;
|
||||
+ {
|
||||
+ if (vector.DistanceXZ(position, attack.ReportPosition) >= 300) continue;
|
||||
+ int active;
|
||||
+ foreach (ERR_HunterTactics team : attack.Teams) if (!team.Stopped && team.Living()) active++;
|
||||
+ // A failed/finished partner must not reserve the entire encounter and
|
||||
+ // prevent an available hunter receiving a fresh HQ interception order.
|
||||
+ if (active >= 2) return true;
|
||||
+ }
|
||||
return false;
|
||||
}
|
||||
void Tick(ERR_HQ hq, array<ref ERR_HunterVehicle> hunters, float now)
|
||||
--- a/addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c
|
||||
+++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c
|
||||
@@ -466,6 +466,20 @@
|
||||
contacts.Clear();
|
||||
foreach (ERR_HQReport contact : m_Contacts)
|
||||
if (ERR_MortarPrediction.Fresh(contact, now)) contacts.Insert(contact.Snapshot());
|
||||
+ }
|
||||
+ // A ground search takes longer than a mortar fire solution remains valid.
|
||||
+ // Read delivered memory, including its decaying confidence/uncertainty, never
|
||||
+ // the target entity's current position. A five-minute old sector is the limit.
|
||||
+ void HunterContacts(out array<ref ERR_HQReport> contacts, float now)
|
||||
+ {
|
||||
+ contacts.Clear();
|
||||
+ for (int index = 0; index < m_Memory.Count(); index++)
|
||||
+ {
|
||||
+ ERR_HQBelief belief = m_Memory.At(index);
|
||||
+ if (!belief || !belief.Report || !belief.Actionable() || belief.TravelMode == "aircraft" || belief.Radius > 500) continue;
|
||||
+ if (belief.ObservedAt < 0 || now < belief.ObservedAt || now - belief.ObservedAt > 300000) continue;
|
||||
+ contacts.Insert(belief.Report.Snapshot());
|
||||
+ }
|
||||
}
|
||||
|
||||
ERR_HQWatch Watch() { return m_Watch; }
|
||||
@@ -0,0 +1,55 @@
|
||||
modded class ERR_CivilianTraffic
|
||||
{
|
||||
protected ref array<ref ERR_CivilianCar> m_ProbeCars = {};
|
||||
void ProbeSpawn()
|
||||
{
|
||||
for (int index = 0; index < 3; index++)
|
||||
{
|
||||
ERR_CivilianCar traffic = new ERR_CivilianCar(); traffic.Number = index;
|
||||
vector position, angles;
|
||||
if (!ERR_SupplyConvoySystem.ApproachDirected(Vector(6500 + index * 400, 0, 3600), position, angles, 500)) { Print("ERR CIVILIAN NATIVE: no road"); continue; }
|
||||
traffic.Car = Vehicle.Cast(ERR_Actors.Spawn(CarPrefab(index), position, angles));
|
||||
traffic.Group = SCR_AIGroup.Cast(ERR_Actors.Spawn(ERR_ConvoyResources.GroupPrefab(), position));
|
||||
Faction civilian = GetGame().GetFactionManager().GetFactionByKey("CIV");
|
||||
traffic.Group.SetFaction(civilian); traffic.Group.SetDeleteWhenEmpty(false); ERR_Actors.SetFaction(traffic.Car, civilian);
|
||||
array<BaseCompartmentSlot> seats = {}; ERR_ConvoyRules.CollectSeats(traffic.Car, seats);
|
||||
foreach (BaseCompartmentSlot seat : seats) if (seat.GetType() == ECompartmentType.PILOT) { traffic.Seat = seat; break; }
|
||||
traffic.Group.SetPermanentLOD(AIAgent.GetMaxLOD()); traffic.Group.DeactivateAI();
|
||||
AIGroup group = traffic.Group;
|
||||
if (index == 0) traffic.Driver = traffic.Seat.SpawnCharacterInCompartment(DriverPrefab(), group, ERR_ConvoyResources.GroupPrefab());
|
||||
else { traffic.Driver = ERR_Actors.Spawn(DriverPrefab(), position + "2 0 0"); traffic.Group.AddAIEntityToGroup(traffic.Driver); }
|
||||
ERR_Actors.SetFaction(traffic.Driver, civilian);
|
||||
AIControlComponent control = AIControlComponent.Cast(traffic.Driver.FindComponent(AIControlComponent));
|
||||
AIAgent agent = control.GetControlAIAgent(); agent.SetPermanentLOD(AIAgent.GetMaxLOD()); agent.DeactivateAI();
|
||||
vector middle, destination, unused;
|
||||
ERR_SupplyConvoySystem.ApproachDirected(position + "250 0 250", middle, unused, 500);
|
||||
ERR_SupplyConvoySystem.ApproachDirected(position + "500 0 500", destination, unused, 500);
|
||||
traffic.Route = {position, middle, destination};
|
||||
m_ProbeCars.Insert(traffic);
|
||||
}
|
||||
GetGame().GetCallqueue().CallLater(ProbePrepare, 5000, true);
|
||||
}
|
||||
void ProbePrepare()
|
||||
{
|
||||
foreach (ERR_CivilianCar traffic : m_ProbeCars)
|
||||
{
|
||||
bool ready = traffic.Ready; if (!ready) ready = Prepare(traffic);
|
||||
PrintFormat("ERR CIVILIAN NATIVE: car=%1 ready=%2 fit=%3 seated=%4 agents=%5 own=%6 position=%7", traffic.Number, ready, ERR_Actors.CanFight(traffic.Driver), traffic.Seat.GetOccupant() == traffic.Driver, traffic.Group.GetAgentsCount(), ERR_Actors.Group(traffic.Driver) == traffic.Group, traffic.Car.GetOrigin());
|
||||
}
|
||||
}
|
||||
}
|
||||
modded class ArmaReforgerScripted
|
||||
{
|
||||
protected ref ERR_CivilianTraffic m_ERRCivProbe;
|
||||
protected float m_ERRCivProbeAge;
|
||||
protected bool m_ERRCivProbeDone;
|
||||
override void OnUpdate(BaseWorld world, float timeslice)
|
||||
{
|
||||
super.OnUpdate(world, timeslice);
|
||||
if (!ERR_GameMode.Get() || !ERR_GameMode.Get().EnemyFaction()) return;
|
||||
m_ERRCivProbeAge += timeslice;
|
||||
if (m_ERRCivProbeAge > 60 && !m_ERRCivProbeDone) { m_ERRCivProbeDone = true; Print("ERR CIVILIAN COMPLETE"); }
|
||||
if (m_ERRCivProbe || m_ERRCivProbeAge < 4) return;
|
||||
m_ERRCivProbe = new ERR_CivilianTraffic(ERR_GameMode.Get()); m_ERRCivProbe.ProbeSpawn();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
15:16:54.528 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6820.54,10.1692,3541.51>
|
||||
15:16:54.529 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1303,3593.85>
|
||||
15:16:54.529 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:16:59.522 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6820.54,10.1649,3541.47>
|
||||
15:16:59.522 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1303,3593.85>
|
||||
15:16:59.522 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=1 fit=1 seated=1 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:17:04.522 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6826.83,11.9348,3550.07>
|
||||
15:17:04.522 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=1 fit=1 seated=1 agents=1 own=1 position=<6889.08,29.1303,3593.85>
|
||||
15:17:04.522 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=1 fit=1 seated=1 agents=1 own=1 position=<7316.31,195.964,3773.56>
|
||||
15:17:09.521 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6854.83,21.0693,3577.49>
|
||||
15:17:09.521 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=1 fit=1 seated=1 agents=1 own=1 position=<6889.04,29.1277,3593.88>
|
||||
15:17:09.521 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=1 fit=1 seated=1 agents=1 own=1 position=<7311.35,195.638,3775.47>
|
||||
15:17:14.522 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6869.77,27.5024,3604.51>
|
||||
15:17:14.522 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=1 fit=1 seated=1 agents=1 own=1 position=<6888.32,29.4367,3586.87>
|
||||
15:17:14.522 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=1 fit=1 seated=1 agents=1 own=1 position=<7309.04,195.352,3778.19>
|
||||
15:17:19.521 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6885.78,28.9081,3597.26>
|
||||
15:17:19.521 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=1 fit=1 seated=1 agents=1 own=1 position=<6884.48,29.2108,3585.51>
|
||||
15:17:19.521 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=1 fit=1 seated=1 agents=1 own=1 position=<7249.23,179.954,3791.55>
|
||||
15:17:24.554 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6908.01,32.7168,3550.89>
|
||||
15:17:24.554 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=1 fit=1 seated=1 agents=1 own=1 position=<6891.52,29.8927,3581.63>
|
||||
15:17:24.554 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=1 fit=1 seated=1 agents=1 own=1 position=<7224.21,170.696,3824.6>
|
||||
15:17:29.554 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6922.17,36.9398,3493.3>
|
||||
15:17:29.554 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=1 fit=1 seated=1 agents=1 own=1 position=<6908.15,32.7451,3550.6>
|
||||
15:17:29.554 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=1 fit=1 seated=1 agents=1 own=1 position=<7246.95,175.327,3867.84>
|
||||
15:17:34.555 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6924.17,37.8258,3438.27>
|
||||
15:17:34.555 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=1 fit=1 seated=1 agents=1 own=1 position=<6922.21,36.9557,3492.43>
|
||||
15:17:34.555 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=1 fit=1 seated=1 agents=1 own=1 position=<7287.37,177.692,3908.14>
|
||||
15:17:39.555 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6941.81,40.3966,3374.97>
|
||||
15:17:39.555 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=1 fit=1 seated=1 agents=1 own=1 position=<6925.61,38.2755,3421.37>
|
||||
15:17:39.555 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=1 fit=1 seated=1 agents=1 own=1 position=<7331.03,183.579,3945.82>
|
||||
15:17:44.554 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6968.01,45.2508,3403.14>
|
||||
15:17:44.554 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=1 fit=1 seated=1 agents=1 own=1 position=<6948.34,40.8768,3374.69>
|
||||
15:17:44.554 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=1 fit=1 seated=1 agents=1 own=1 position=<7368.3,188.798,3972.41>
|
||||
15:17:45.536 SCRIPT : ERR CIVILIAN COMPLETE
|
||||
@@ -0,0 +1,34 @@
|
||||
15:16:43.913 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6820.54,10.1692,3541.51>
|
||||
15:16:43.913 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1303,3593.85>
|
||||
15:16:43.913 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:16:48.938 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6820.53,10.1644,3541.46>
|
||||
15:16:48.938 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1303,3593.85>
|
||||
15:16:48.938 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:16:53.972 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6827.39,12.0983,3550.55>
|
||||
15:16:53.972 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1303,3593.85>
|
||||
15:16:53.972 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:16:58.971 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6855.2,21.2471,3578.22>
|
||||
15:16:58.971 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1303,3593.85>
|
||||
15:16:58.971 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:17:03.971 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6870.19,27.5586,3604.6>
|
||||
15:17:03.971 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1303,3593.85>
|
||||
15:17:03.971 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:17:08.972 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6882.74,28.665,3601.7>
|
||||
15:17:08.972 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1303,3593.85>
|
||||
15:17:08.972 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:17:13.971 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6896.27,30.45,3576.08>
|
||||
15:17:13.971 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1288,3593.88>
|
||||
15:17:13.971 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:17:18.972 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6916.91,35.1461,3528.02>
|
||||
15:17:18.972 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1288,3593.88>
|
||||
15:17:18.972 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:17:23.971 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6922.7,37.3081,3466.66>
|
||||
15:17:23.971 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1288,3593.88>
|
||||
15:17:23.971 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:17:29.005 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6927.47,38.7887,3404.03>
|
||||
15:17:29.005 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1288,3593.88>
|
||||
15:17:29.005 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:17:34.038 SCRIPT : ERR CIVILIAN NATIVE: car=0 ready=1 fit=1 seated=1 agents=1 own=1 position=<6959.16,42.2702,3380.65>
|
||||
15:17:34.038 SCRIPT : ERR CIVILIAN NATIVE: car=1 ready=0 fit=1 seated=0 agents=1 own=1 position=<6889.08,29.1288,3593.88>
|
||||
15:17:34.038 SCRIPT : ERR CIVILIAN NATIVE: car=2 ready=0 fit=1 seated=0 agents=1 own=1 position=<7316.34,195.965,3773.56>
|
||||
15:17:34.904 SCRIPT : ERR CIVILIAN COMPLETE
|
||||
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"server": "RKS #2",
|
||||
"log": "logs_2026-10-05_12-31-11",
|
||||
"workshop_build": "0.0.68",
|
||||
"findings": [
|
||||
"HQ received player sightings and coordinated three UAZs at mission time 405.4s.",
|
||||
"A distant flank exhausted its five-minute approach and resumed objective patrol at 708.1s; a nearby flank regrouped when cover died.",
|
||||
"Hunter destination intake incorrectly shared the 60-second mortar sighting cutoff.",
|
||||
"No BODY REPORT/AGGRESSION events; finite deployment allowance remained at its initial three vehicles.",
|
||||
"All six civilian cars failed readiness waiting for a seated living driver. Existing logs cannot isolate which predicate failed."
|
||||
],
|
||||
"changes": [
|
||||
"Ground search reads delivered HQ memory up to 300s and 500m uncertainty; mortar rules unchanged.",
|
||||
"Flank crews can dismount 140-450m from the reported sector instead of completing a long road loop.",
|
||||
"Cover loss allows bounded infantry investigation after 45s; failed movement still regroups.",
|
||||
"Only at least two living active teams reserve an encounter against additional hunter interception.",
|
||||
"Activate civilians before seating checks, register the vehicle, and recover the original unseated driver using native boarding. Cancel recovery at readiness/release/retirement.",
|
||||
"Throttled hunter allowance/search status, road failure and detailed civilian readiness logging."
|
||||
],
|
||||
"native": {
|
||||
"before": {
|
||||
"result": {
|
||||
"reason": "complete",
|
||||
"exit": -15
|
||||
},
|
||||
"script_errors": 0,
|
||||
"cars": {
|
||||
"0": {
|
||||
"ready": 1,
|
||||
"seated": 1,
|
||||
"displacement_m": 212.35
|
||||
},
|
||||
"1": {
|
||||
"ready": 0,
|
||||
"seated": 0,
|
||||
"displacement_m": 0.03
|
||||
},
|
||||
"2": {
|
||||
"ready": 0,
|
||||
"seated": 0,
|
||||
"displacement_m": 0.0
|
||||
}
|
||||
}
|
||||
},
|
||||
"after": {
|
||||
"result": {
|
||||
"reason": "complete",
|
||||
"exit": -15
|
||||
},
|
||||
"script_errors": 0,
|
||||
"cars": {
|
||||
"0": {
|
||||
"ready": 1,
|
||||
"seated": 1,
|
||||
"displacement_m": 202.22
|
||||
},
|
||||
"1": {
|
||||
"ready": 1,
|
||||
"seated": 1,
|
||||
"displacement_m": 227.03
|
||||
},
|
||||
"2": {
|
||||
"ready": 1,
|
||||
"seated": 1,
|
||||
"displacement_m": 205.53
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"regressions_passed": 18,
|
||||
"limitations": [
|
||||
"Exact initial cause of live civilian seating failure was not reproduced. Native forced-incomplete-boarding comparison confirms recovery.",
|
||||
"Hunter tactical changes validated by production-method tests and native compilation, not a new live multiplayer hunt.",
|
||||
"No live server config changes, restart or Workshop publication."
|
||||
],
|
||||
"source_sha256": {
|
||||
"addons/core/Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c": "ee8e5f0483ad738f6254adcd66e71ad4872fd000c92f44405c4dcc0453a40308",
|
||||
"addons/core/Scripts/Game/ERR/10_AI/ERR_HunterService.c": "38f82c6a256e965c9b837d6c2c950402a6b19aab177f84e9c6c508c9ef334d3e",
|
||||
"addons/core/Scripts/Game/ERR/10_AI/ERR_HunterTactics.c": "18b75a36ce59d03aad4b56c4af3cc73a2fc63e4f562ee9d3a4f2c3d0aded6648",
|
||||
"addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c": "bbd9f4f1acb8e20376f093c5f0b3d97d32fa2b7ed72ac942650df3e4a1afa36b"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
#240 t=386.4s M0 HUNTER SPAWN aggression-uaz-1 identified bodies=0 aggression=0/30 allowance=3/15 base=prison-opening position=<6827.04,5.95999,3172.57> crew=3 [session=1791203586-2]
|
||||
#301 t=388.4s M0 HUNTER SPAWN aggression-uaz-2 identified bodies=0 aggression=0/30 allowance=3/15 base=prison-opening position=<7796.65,206.631,4541.53> crew=3 [session=1791203586-2]
|
||||
#360 t=390.3s M0 HUNTER SPAWN aggression-uaz-3 identified bodies=0 aggression=0/30 allowance=3/15 base=prison-opening position=<8208.85,6.31875,3098.99> crew=3 [session=1791203586-2]
|
||||
#397 t=391.3s M40 CONTACT REPORT X=7568 Z=3595: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: pistol; vector X/Z=unknown (2s ago) [session=1791203586-2]
|
||||
#487 t=394.4s M0 HUNTER ORDER aggression-uaz-2 radio delivered; destination=<6365.08, 6.1, 2766.74> [session=1791203586-2]
|
||||
#516 t=397.4s M40 BELIEF delivered report M40 retained; tracks=1 [session=1791203586-2]
|
||||
#517 t=397.4s M42 CONTACT REPORT X=7568 Z=3595: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: pistol; vector X/Z=unknown (4s ago) [session=1791203586-2]
|
||||
#617 t=400.4s M40 HUNTER ORDER aggression-uaz-1 radio delivered; destination=<7608.02, 6.1, 3462.74> [session=1791203586-2]
|
||||
#619 t=400.4s M40 HUNTER ORDER aggression-uaz-2 radio delivered; destination=<7608.02, 6.1, 3462.74> [session=1791203586-2]
|
||||
#621 t=400.4s M40 HUNTER ORDER aggression-uaz-3 radio delivered; destination=<7608.02, 6.1, 3462.74> [session=1791203586-2]
|
||||
#642 t=403.4s M42 BELIEF delivered report M42 retained; tracks=1 [session=1791203586-2]
|
||||
#643 t=403.4s M50 CONTACT REPORT X=7567 Z=3593: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (2s ago) [session=1791203586-2]
|
||||
#658 t=405.4s M42 HUNTER COORDINATION 3 nearby crews available for delivered contact=<7567.91,6.04,3595.21> [session=1791203586-2]
|
||||
#673 t=407.4s M42 HUNTER TACTICS aggression-uaz-1 left flank: radio delivered; separate approach=<7716.64, 6.1, 3338.26> [session=1791203586-2]
|
||||
#674 t=407.4s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=1 position=<6827.01,5.88297,3172.59> stage distance=904.933m crew aboard=3 armed support=0 visual cover=0 remaining=240s [session=1791203586-2]
|
||||
#676 t=407.4s M42 HUNTER TACTICS aggression-uaz-2 right flank: radio delivered; separate approach=<7853.23, 6.1625, 3525.73> [session=1791203586-2]
|
||||
#677 t=407.4s M42 HUNTER TACTICS aggression-uaz-2 right flank: state=1 position=<7794.32,206.556,4542.95> stage distance=1018.92m crew aboard=3 armed support=0 visual cover=0 remaining=240s [session=1791203586-2]
|
||||
#679 t=407.4s M42 HUNTER TACTICS aggression-uaz-3 cover: radio delivered; separate approach=<7726.25, 6.1, 3495.68> [session=1791203586-2]
|
||||
#680 t=407.4s M42 HUNTER TACTICS aggression-uaz-3 cover: state=1 position=<8208.85,6.246,3098.99> stage distance=624.715m crew aboard=3 armed support=0 visual cover=0 remaining=240s [session=1791203586-2]
|
||||
#688 t=409.4s M50 BELIEF delivered report M50 retained; tracks=1 [session=1791203586-2]
|
||||
#701 t=415.5s M54 BELIEF delivered report M54 retained; tracks=2 [session=1791203586-2]
|
||||
#755 t=418.3s M0 CIVILIAN TRAFFIC car 1 created at <6507.06,251.14,4494.51>; fixed route via <7378.97,6.73513,3234.77> to <6568.38,6.1,2248.09> [session=1791203586-2]
|
||||
#756 t=418.3s M83 CONTACT REPORT X=7576 Z=3584: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: pistol; vector X/Z=unknown (1s ago) [session=1791203586-2]
|
||||
#822 t=424.2s M0 CIVILIAN TRAFFIC car 1 prefab={23B8C20ACAEC164B}Prefabs/Vehicles/Wheeled/S1203/S1203_transport_white.et at <6507.07,251.043,4494.51>: waiting for living seated driver [session=1791203586-2]
|
||||
#833 t=425.2s M83 BELIEF delivered report M83 retained; tracks=2 [session=1791203586-2]
|
||||
#834 t=425.2s M90 CONTACT REPORT X=7576 Z=3584: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: pistol; vector X/Z=unknown (6s ago) [session=1791203586-2]
|
||||
#956 t=433s M90 BELIEF delivered report M90 retained; tracks=2 [session=1791203586-2]
|
||||
#957 t=433s M106 CONTACT REPORT X=7577 Z=3585: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: pistol; vector X/Z=unknown (6s ago) [session=1791203586-2]
|
||||
#1063 t=438s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=1 position=<6894.92,7.91292,3061.57> stage distance=867.056m crew aboard=3 armed support=0 visual cover=0 remaining=209.386s [session=1791203586-2]
|
||||
#1064 t=438s M42 HUNTER TACTICS aggression-uaz-2 right flank: state=1 position=<7530.6,216.598,4616.68> stage distance=1137.65m crew aboard=3 armed support=0 visual cover=0 remaining=209.386s [session=1791203586-2]
|
||||
#1065 t=438s M42 HUNTER TACTICS aggression-uaz-3 cover: state=1 position=<8025.2,6.6396,3167.95> stage distance=443.598m crew aboard=3 armed support=0 visual cover=0 remaining=209.386s [session=1791203586-2]
|
||||
#1232 t=452.1s M0 CIVILIAN TRAFFIC car 2 created at <6091.11,48.2686,3660.7>; fixed route via <7545.41,6.58483,3113.86> to <9335.08,199.793,3581.25> [session=1791203586-2]
|
||||
#1237 t=457.1s M0 CIVILIAN TRAFFIC car 2 prefab={23B8C20ACAEC164B}Prefabs/Vehicles/Wheeled/S1203/S1203_transport_white.et at <6091.19,48.1656,3660.67>: waiting for living seated driver [session=1791203586-2]
|
||||
#1259 t=468.2s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=1 position=<6673.78,6.02686,2859.56> stage distance=1147.48m crew aboard=3 armed support=0 visual cover=0 remaining=179.208s [session=1791203586-2]
|
||||
#1260 t=468.2s M42 HUNTER TACTICS aggression-uaz-2 right flank: state=1 position=<7206.5,199.879,4587.17> stage distance=1242.95m crew aboard=3 armed support=0 visual cover=0 remaining=179.208s [session=1791203586-2]
|
||||
#1261 t=468.2s M42 HUNTER TACTICS aggression-uaz-3 cover: state=1 position=<7945.89,5.56577,3303.33> stage distance=291.961m crew aboard=3 armed support=0 visual cover=0 remaining=179.208s [session=1791203586-2]
|
||||
#1264 t=483.3s M0 CIVILIAN TRAFFIC car 3 created at <6464.26,6.1,2379.27>; fixed route via <7813.63,6.1,3311.48> to <8781.06,120.942,4873.95> [session=1791203586-2]
|
||||
#1266 t=488.3s M0 CIVILIAN TRAFFIC car 3 prefab={8EB38BBD860DA06E}Prefabs/Vehicles/Wheeled/S105/S105_lightblue.et at <6464.26,5.97798,2379.28>: waiting for living seated driver [session=1791203586-2]
|
||||
#1268 t=497.4s M42 HUNTER TACTICS aggression-uaz-3 cover: in covering position; native gunner owns target acquisition and fire [session=1791203586-2]
|
||||
#1269 t=498.4s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=1 position=<6851.42,6.02675,2620.36> stage distance=1124.27m crew aboard=3 armed support=1 visual cover=0 remaining=149.05s [session=1791203586-2]
|
||||
#1270 t=498.4s M42 HUNTER TACTICS aggression-uaz-2 right flank: state=1 position=<6919.19,185.928,4389.23> stage distance=1272.03m crew aboard=3 armed support=1 visual cover=0 remaining=149.05s [session=1791203586-2]
|
||||
#1271 t=498.4s M42 HUNTER TACTICS aggression-uaz-3 cover: state=3 position=<7694.69,6.03109,3459.25> stage distance=48.1904m crew aboard=3 armed support=1 visual cover=0 remaining=149.05s [session=1791203586-2]
|
||||
#1273 t=528.6s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=1 position=<7074.34,6.0273,2518.81> stage distance=1041.18m crew aboard=3 armed support=1 visual cover=0 remaining=118.783s [session=1791203586-2]
|
||||
#1274 t=528.6s M42 HUNTER TACTICS aggression-uaz-2 right flank: state=1 position=<6752.42,158.777,4048.97> stage distance=1218.84m crew aboard=3 armed support=1 visual cover=0 remaining=118.783s [session=1791203586-2]
|
||||
#1275 t=528.6s M42 HUNTER TACTICS aggression-uaz-3 cover: state=3 position=<7694.67,6.02722,3459.42> stage distance=48.0794m crew aboard=3 armed support=1 visual cover=0 remaining=118.783s [session=1791203586-2]
|
||||
#1277 t=538.8s M0 CIVILIAN TRAFFIC car 1 prefab={23B8C20ACAEC164B}Prefabs/Vehicles/Wheeled/S1203/S1203_transport_white.et at <6507.07,251.043,4494.51>: retiring: readiness timed out; waiting for living seated driver [session=1791203586-2]
|
||||
#1280 t=545.8s M332 CONTACT REPORT X=7653 Z=3610: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (0s ago) [session=1791203586-2]
|
||||
#1286 t=551.9s M332 BELIEF delivered report M332 retained; tracks=2 [session=1791203586-2]
|
||||
#1287 t=551.9s M339 CONTACT REPORT X=7662 Z=3611: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (2s ago) [session=1791203586-2]
|
||||
#1292 t=557.9s M339 BELIEF delivered report M339 retained; tracks=2 [session=1791203586-2]
|
||||
#1293 t=557.9s M352 CONTACT REPORT X=7663 Z=3615: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (1s ago) [session=1791203586-2]
|
||||
#1294 t=558.9s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=1 position=<7276.29,6.02703,2671.99> stage distance=798.639m crew aboard=3 armed support=1 visual cover=1 remaining=88.4986s [session=1791203586-2]
|
||||
#1295 t=558.9s M42 HUNTER TACTICS aggression-uaz-2 right flank: state=1 position=<6448.5,96.2094,3799.9> stage distance=1431.24m crew aboard=3 armed support=1 visual cover=1 remaining=88.4986s [session=1791203586-2]
|
||||
#1296 t=558.9s M42 HUNTER TACTICS aggression-uaz-3 cover: state=3 position=<7694.67,6.02722,3459.42> stage distance=48.0794m crew aboard=3 armed support=1 visual cover=1 remaining=88.4986s [session=1791203586-2]
|
||||
#1452 t=574.1s M0 CIVILIAN TRAFFIC car 2 prefab={23B8C20ACAEC164B}Prefabs/Vehicles/Wheeled/S1203/S1203_transport_white.et at <6091.19,48.1656,3660.67>: retiring: readiness timed out; waiting for living seated driver [session=1791203586-2]
|
||||
#1481 t=590.2s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=1 position=<7498.28,4.65223,2998.6> stage distance=403.803m crew aboard=3 armed support=0 visual cover=0 remaining=57.2437s [session=1791203586-2]
|
||||
#1482 t=590.2s M42 HUNTER TACTICS aggression-uaz-2 right flank: state=1 position=<6397.17,48.5593,3467.85> stage distance=1457.21m crew aboard=3 armed support=0 visual cover=0 remaining=57.2437s [session=1791203586-2]
|
||||
#1493 t=599.3s M447 CONTACT REPORT X=7685 Z=3515: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: rifle; vector X/Z=unknown (4s ago) [session=1791203586-2]
|
||||
#1497 t=604.3s M0 CIVILIAN TRAFFIC car 3 prefab={8EB38BBD860DA06E}Prefabs/Vehicles/Wheeled/S105/S105_lightblue.et at <6464.26,5.97798,2379.28>: retiring: readiness timed out; waiting for living seated driver [session=1791203586-2]
|
||||
#1502 t=607.3s M447 BELIEF delivered report M447 retained; tracks=2 [session=1791203586-2]
|
||||
#1503 t=607.3s M450 CONTACT REPORT X=7687 Z=3505: at least 1 spotted nearby; on foot; off road; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (6s ago) [session=1791203586-2]
|
||||
#1559 t=615.4s M450 BELIEF delivered report M450 retained; tracks=2 [session=1791203586-2]
|
||||
#1601 t=620.5s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=1 position=<7674.97,5.41909,3158.89> stage distance=184.15m crew aboard=3 armed support=0 visual cover=0 remaining=26.9764s [session=1791203586-2]
|
||||
#1602 t=620.5s M42 HUNTER TACTICS aggression-uaz-2 right flank: state=1 position=<6439.24,20.0512,3188.64> stage distance=1453.61m crew aboard=3 armed support=0 visual cover=0 remaining=26.9764s [session=1791203586-2]
|
||||
#1614 t=620.5s M466 BELIEF delivered report M466 retained; tracks=3 [session=1791203586-2]
|
||||
#1689 t=634.6s M0 CIVILIAN TRAFFIC unclaimed distant car retired after 60 seconds out of sight [session=1791203586-2]
|
||||
#1690 t=634.6s M0 CIVILIAN TRAFFIC car 4 created at <6727.74,6.1,2415.31>; fixed route via <7972.25,6.78365,3174.26> to <8840.93,119.133,4898.04> [session=1791203586-2]
|
||||
#1691 t=639.6s M0 CIVILIAN TRAFFIC car 4 prefab={AD80FB47D868C775}Prefabs/Vehicles/Wheeled/S105/S105_green.et at <6727.74,5.97798,2415.3>: waiting for living seated driver [session=1791203586-2]
|
||||
#1700 t=644.7s M0 CIVILIAN TRAFFIC unclaimed distant car retired after 60 seconds out of sight [session=1791203586-2]
|
||||
#1707 t=647.7s M42 HUNTER TACTICS aggression-uaz-1 left flank: approach still progressing; allowing another bounded route interval [session=1791203586-2]
|
||||
#1708 t=647.7s M42 HUNTER TACTICS aggression-uaz-2 right flank: approach still progressing; allowing another bounded route interval [session=1791203586-2]
|
||||
#1713 t=650.7s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=1 position=<7969.36,6.02652,3249.91> stage distance=267.714m crew aboard=3 armed support=0 visual cover=0 remaining=26.966s [session=1791203586-2]
|
||||
#1714 t=650.7s M42 HUNTER TACTICS aggression-uaz-2 right flank: state=1 position=<6556.62,6.022,2856.56> stage distance=1459.11m crew aboard=3 armed support=0 visual cover=0 remaining=26.966s [session=1791203586-2]
|
||||
#1716 t=650.7s M525 BELIEF delivered report M525 retained; tracks=3 [session=1791203586-2]
|
||||
#1719 t=664.8s M0 CIVILIAN TRAFFIC unclaimed distant car retired after 60 seconds out of sight [session=1791203586-2]
|
||||
#1720 t=664.8s M0 CIVILIAN TRAFFIC car 5 created at <7239.89,6.13125,2201.67>; fixed route via <8039.34,5.8709,3347.53> to <8164.28,159.64,5267.55> [session=1791203586-2]
|
||||
#1722 t=669.8s M0 CIVILIAN TRAFFIC car 5 prefab={AD80FB47D868C775}Prefabs/Vehicles/Wheeled/S105/S105_green.et at <7239.89,6.00923,2201.67>: waiting for living seated driver [session=1791203586-2]
|
||||
#1724 t=678.9s M42 HUNTER TACTICS aggression-uaz-1 left flank: dismounting original crew [session=1791203586-2]
|
||||
#1725 t=678.9s M42 HUNTER TACTICS aggression-uaz-2 right flank: approach still progressing; allowing another bounded route interval [session=1791203586-2]
|
||||
#1726 t=680.9s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=2 position=<7738.39,6.02731,3309.24> stage distance=36.262m crew aboard=3 armed support=0 visual cover=0 remaining=42.9922s [session=1791203586-2]
|
||||
#1727 t=680.9s M42 HUNTER TACTICS aggression-uaz-2 right flank: state=1 position=<6700.46,6.02677,2761.64> stage distance=1383m crew aboard=3 armed support=0 visual cover=0 remaining=26.4999s [session=1791203586-2]
|
||||
#1728 t=687s M42 HUNTER TACTICS aggression-uaz-1 left flank: on foot; waiting for covering team [session=1791203586-2]
|
||||
#1731 t=695s M0 CIVILIAN TRAFFIC car 6 created at <7474.89,219.956,4778.53>; fixed route via <7238.31,6.1,3304.95> to <5864.09,93.0056,3141.96> [session=1791203586-2]
|
||||
#1732 t=700s M0 CIVILIAN TRAFFIC car 6 prefab={8EB38BBD860DA06E}Prefabs/Vehicles/Wheeled/S105/S105_lightblue.et at <7474.9,219.833,4778.55>: waiting for living seated driver [session=1791203586-2]
|
||||
#1734 t=708.1s M42 HUNTER TACTICS aggression-uaz-2 right flank: approach made no recent progress or exhausted five-minute budget; release this assignment [session=1791203586-2]
|
||||
#1739 t=710.1s M0 HUNTER ORDER aggression-uaz-2 radio delivered; destination=<4579.61, 323.438, 8793.14> [session=1791203586-2]
|
||||
#1740 t=711.1s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=3 position=<7738.39,6.02725,3309.24> stage distance=36.262m crew aboard=0 armed support=0 visual cover=0 remaining=20.8254s [session=1791203586-2]
|
||||
#1744 t=732.3s M42 HUNTER TACTICS aggression-uaz-1 left flank: cover unavailable; holding native combat and returning to vehicle [session=1791203586-2]
|
||||
#1746 t=741.3s M42 HUNTER TACTICS aggression-uaz-1 left flank: state=6 position=<7738.39,6.02725,3309.24> stage distance=36.262m crew aboard=0 armed support=0 visual cover=0 remaining=80.9551s [session=1791203586-2]
|
||||
#1898 t=755.4s M0 CIVILIAN TRAFFIC car 4 prefab={AD80FB47D868C775}Prefabs/Vehicles/Wheeled/S105/S105_green.et at <6727.74,5.97798,2415.3>: retiring: readiness timed out; waiting for living seated driver [session=1791203586-2]
|
||||
#1925 t=785.6s M0 CIVILIAN TRAFFIC car 5 prefab={AD80FB47D868C775}Prefabs/Vehicles/Wheeled/S105/S105_green.et at <7239.89,6.00923,2201.67>: retiring: readiness timed out; waiting for living seated driver [session=1791203586-2]
|
||||
#2089 t=815.9s M0 CIVILIAN TRAFFIC car 6 prefab={8EB38BBD860DA06E}Prefabs/Vehicles/Wheeled/S105/S105_lightblue.et at <7474.9,219.833,4778.55>: retiring: readiness timed out; waiting for living seated driver [session=1791203586-2]
|
||||
#2115 t=982.2s M0 CIVILIAN TRAFFIC unclaimed distant car retired after 60 seconds out of sight [session=1791203586-2]
|
||||
#2116 t=982.2s M0 CIVILIAN TRAFFIC unclaimed distant car retired after 60 seconds out of sight [session=1791203586-2]
|
||||
#2117 t=982.2s M0 CIVILIAN TRAFFIC unclaimed distant car retired after 60 seconds out of sight [session=1791203586-2]
|
||||
Reference in New Issue
Block a user