modded class ArmaReforgerScripted { protected override void OnWorldPostProcess(World world) { SCR_MissionHeader header = SCR_MissionHeader.Cast(GetMissionHeader()); if (header) PrintFormat("ERR TERRAIN CONFIG PROBE: enabled=%1 airports=%2 saves=%3", header.m_bERR_EnableEscape, header.m_sERR_Airfields, header.m_eSaveTypes); super.OnWorldPostProcess(world); } override protected void OnBeforeWorldCleanup() { super.OnBeforeWorldCleanup(); PrintFormat("ERR TERRAIN CLEANUP PROBE: stage=%1 worldClear=%2 oldModeClear=%3 elapsed=%4 admissions=%5 airports=%6 slots=%7", m_ERRTerrainStage, m_ERRTerrainWorld == null, m_ERRTerrainOriginal == null, m_ERRTerrainElapsed, m_ERRTerrainAdmissions.Count(), m_ERRTerrainAirfields.Count(), m_ERRTerrainMarkerSlots.Count()); } } class ERR_TerrainRestartProof { static int Spawns; } modded class ERR_GameMode { override void PlayerSpawned(int id, IEntity actor) { super.PlayerSpawned(id, actor); if (!ERR_TerrainTakenOver()) return; ERR_TerrainRestartProof.Spawns++; PrintFormat("ERR TERRAIN RESTART PROBE: finalized spawns=%1", ERR_TerrainRestartProof.Spawns); if (ERR_TerrainRestartProof.Spawns == 1) GetGame().GetCallqueue().CallLater(ERR_TestTerrainRestart, 1500, false); } protected void ERR_TestTerrainRestart() { bool accepted = GameStateTransitions.RequestScenarioRestart(); PrintFormat("ERR TERRAIN RESTART PROBE: accepted=%1", accepted); } }