Improve base guidance and qualify bounded aircraft route and hidden test lifecycle
This commit is contained in:
@@ -19,6 +19,8 @@ modded class ERR_GameMode
|
||||
protected bool m_ERRTestMortar;
|
||||
protected bool m_ERRTestMortarFire;
|
||||
protected bool m_ERRTestMapOwnership;
|
||||
protected bool m_ERRTestAircraftRoute;
|
||||
protected ref ERR_NativeAircraftRouteProbe m_ERRAircraftRoute;
|
||||
protected bool m_ERRTestAircraftControl;
|
||||
protected bool m_ERRTestAircraftCancel;
|
||||
protected bool m_ERRTestAircraftTranslate;
|
||||
@@ -47,6 +49,7 @@ modded class ERR_GameMode
|
||||
m_ERRTestHQResponse = outcome == "hq-response";
|
||||
m_ERRTestMortar = outcome == "mortar-inventory";
|
||||
m_ERRTestMapOwnership = outcome == "map-ownership";
|
||||
m_ERRTestAircraftRoute = outcome == "aircraft-route";
|
||||
m_ERRTestAircraftCancel = outcome == "aircraft-cancel";
|
||||
m_ERRTestAircraftTranslate = outcome == "aircraft-translate";
|
||||
m_ERRTestAircraftControl = outcome == "aircraft-control" || m_ERRTestAircraftCancel || m_ERRTestAircraftTranslate;
|
||||
@@ -57,7 +60,7 @@ modded class ERR_GameMode
|
||||
m_ERRTestPatrolHQ = outcome == "patrol-hq";
|
||||
m_ERRTestPlayerDeath = outcome == "player-death" || m_ERRTestRadioNetwork || m_ERRTestHQResponse || m_ERRTestMortar;
|
||||
m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 150000;
|
||||
if (m_ERRTestAircraftControl) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;
|
||||
if (m_ERRTestAircraftControl || m_ERRTestAircraftRoute) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;
|
||||
if (m_ERRTestMortarCourier) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 450000;
|
||||
if (m_ERRTestMortarTransfer) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;
|
||||
if (m_ERRTestMortarSalvo) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;
|
||||
@@ -82,6 +85,7 @@ modded class ERR_GameMode
|
||||
{
|
||||
if (m_ERRMapOwnership) m_ERRMapOwnership.Stop();
|
||||
if (m_ERRAircraftControl) m_ERRAircraftControl.Stop();
|
||||
if (m_ERRAircraftRoute) m_ERRAircraftRoute.Stop();
|
||||
if (m_ERRHQResponseProof) m_ERRHQResponseProof.Stop();
|
||||
if (m_ERRMortarSalvo) m_ERRMortarSalvo.Stop();
|
||||
if (m_ERRMortarCourier) m_ERRMortarCourier.Stop();
|
||||
@@ -122,6 +126,15 @@ modded class ERR_GameMode
|
||||
protected void ERR_SmokePhase(ERR_Phase previous, ERR_Phase current)
|
||||
{
|
||||
if (m_ERRSmokeDone || !ERR_MissionRules.Terminal(current)) return;
|
||||
if (m_ERRTestAircraftRoute)
|
||||
{
|
||||
if (!ERR_Check(current == ERR_Phase.DEFEAT && m_ERRSmokeStep == 231, "actual aircraft route completed before explicit fixture reset")) return;
|
||||
m_ERRSmokeDone = true;
|
||||
GetGame().GetCallqueue().Remove(ERR_SmokeTick);
|
||||
ERR_StopHQPatrol();
|
||||
Print("ERR SMOKE COMPLETE: actual immutable short aircraft route, destination hold and contact landing; experimental mechanism, not HQ transport");
|
||||
return;
|
||||
}
|
||||
if (m_ERRTestAircraftControl)
|
||||
{
|
||||
if (!ERR_Check(current == ERR_Phase.DEFEAT && m_ERRSmokeStep == 221, "actual aircraft controller completed before explicit fixture reset")) return;
|
||||
@@ -242,6 +255,13 @@ modded class ERR_GameMode
|
||||
if (m_ERRSmokeDone) return;
|
||||
if (now > m_ERRSmokeDeadline) { ERR_Check(false, "timeout at step " + m_ERRSmokeStep.ToString()); return; }
|
||||
if (now < m_ERRSmokeWait) return;
|
||||
if (m_ERRSmokeStep == 230)
|
||||
{
|
||||
int result = m_ERRAircraftRoute.Tick(now);
|
||||
if (result < 0) { ERR_Check(false, "native actual aircraft route fixture"); return; }
|
||||
if (result == 1) { m_ERRSmokeStep = 231; Transition(ERR_Phase.DEFEAT); }
|
||||
return;
|
||||
}
|
||||
if (m_ERRSmokeStep == 220)
|
||||
{
|
||||
int result = m_ERRAircraftControl.Tick(now);
|
||||
@@ -309,6 +329,13 @@ modded class ERR_GameMode
|
||||
if (players.Count() != 1 || Phase() != ERR_Phase.PRISON) return;
|
||||
m_ERRSmokePlayer = players[0];
|
||||
if (!ERR_CheckRoster() || !ERR_NativeContractsProbe.Run(this, m_ERRSmokePlayer) || !ERR_CheckCompanionCommands()) return;
|
||||
if (m_ERRTestAircraftRoute)
|
||||
{
|
||||
DamageManagerComponent.Cast(m_ERRSmokePlayer.FindComponent(DamageManagerComponent)).EnableDamageHandling(false);
|
||||
m_ERRAircraftRoute = new ERR_NativeAircraftRouteProbe(this);
|
||||
m_ERRSmokeStep = 230;
|
||||
return;
|
||||
}
|
||||
if (m_ERRTestAircraftControl)
|
||||
{
|
||||
DamageManagerComponent.Cast(m_ERRSmokePlayer.FindComponent(DamageManagerComponent)).EnableDamageHandling(false);
|
||||
|
||||
Reference in New Issue
Block a user