From 4a535ae79d7e680f22ed68a56fdbbe5d88762b8a Mon Sep 17 00:00:00 2001
From: Aaron Veden <veden@vedbyte.com>
Date: Wed, 8 Dec 2021 21:29:52 -0800
Subject: [PATCH] adding map check to main tick loop incase all maps are
 inactive

---
 control.lua | 34 ++++++++++++++++++++++++----------
 1 file changed, 24 insertions(+), 10 deletions(-)

diff --git a/control.lua b/control.lua
index 06e6163..6b0aa18 100644
--- a/control.lua
+++ b/control.lua
@@ -1012,30 +1012,44 @@ script.on_event(defines.events.on_tick,
                     if (pick == 0) then
                         processPendingChunks(universe, tick)
                         processMapAIs(universe, gameRef.forces.enemy.evolution_factor, tick)
-                        if universe.NEW_ENEMIES then
-                            recycleBases(map)
+                        if map then
+                            if universe.NEW_ENEMIES then
+                                recycleBases(map)
+                            end
+                            cleanUpMapTables(map, tick)
                         end
-                        cleanUpMapTables(map, tick)
                     elseif (pick == 1) then
                         processPlayers(gameRef.connected_players, universe, tick)
                     elseif (pick == 2) then
-                        processMap(map, tick)
+                        if map then
+                            processMap(map, tick)
+                        end
                     elseif (pick == 3) then
-                        processStaticMap(map)
+                        if map then
+                            processStaticMap(map)
+                        end
                         disperseVictoryScent(universe)
                         processVengence(universe)
                     elseif (pick == 4) then
-                        scanResourceMap(map, tick)
-                        scanEnemyMap(map, tick)
+                        if map then
+                            scanResourceMap(map, tick)
+                            scanEnemyMap(map, tick)
+                        end
                     elseif (pick == 5) then
                         processAttackWaves(universe)
-                        scanEnemyMap(map, tick)
+                        if map then
+                            scanEnemyMap(map, tick)
+                        end
                     elseif (pick == 6) then
-                        scanPlayerMap(map, tick)
+                        if map then
+                            scanPlayerMap(map, tick)
+                        end
                         processNests(universe, tick)
                     elseif (pick == 7) then
                         processPendingChunks(universe, tick)
-                        processScanChunks(map)
+                        if map then
+                            processScanChunks(map)
+                        end
                     end
 
                     processActiveNests(universe, tick)