28 lines
1.1 KiB
C
28 lines
1.1 KiB
C
#ifdef WORKBENCH
|
|
modded class ERR_GameMode
|
|
{
|
|
override protected void EOnInit(IEntity owner)
|
|
{
|
|
super.EOnInit(owner);
|
|
string kind;
|
|
if (SCR_Global.IsEditMode() || !System.GetCLIParam("errSmokeOutcome", kind) || kind != "drone-recon") return;
|
|
GetGame().GetCallqueue().CallLater(ERR_TestDroneAbsent, 1000);
|
|
}
|
|
void ERR_TestDroneAbsent()
|
|
{
|
|
if (ERR_DroneBridge.Available() || ERR_DroneBridge.Initialize() || ERR_DroneBridge.Ready())
|
|
{
|
|
Print("ERR SMOKE FAIL: drone absent addon must remain unavailable", LogLevel.ERROR);
|
|
return;
|
|
}
|
|
ERR_DroneCatalog catalog = new ERR_DroneCatalog(); catalog.Find();
|
|
if (!catalog.Prefab.IsEmpty()) { Print("ERR SMOKE FAIL: absent drone catalog", LogLevel.ERROR); return; }
|
|
if (Settings().Get("droneReconCount") != 0) { Print("ERR SMOKE FAIL: drone default must be disabled", LogLevel.ERROR); return; }
|
|
Print("ERR SMOKE PASS: production scripts compile without optional drone addon");
|
|
Print("ERR SMOKE PASS: absent addon does not compile foreign API or offer a prefab");
|
|
Print("ERR SMOKE PASS: drone default is disabled");
|
|
Print("ERR SMOKE COMPLETE: drone-recon absent");
|
|
}
|
|
}
|
|
#endif
|