From ef81977d5ecb68dd362b290268a921e4236850ff Mon Sep 17 00:00:00 2001
From: Christian Heller <c.heller@plomlompom.de>
Date: Tue, 1 Sep 2015 02:57:26 +0200
Subject: [PATCH] Fix map invalidation in command_maplength().

---
 roguelike-server | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/roguelike-server b/roguelike-server
index 860cd1a..edd0579 100755
--- a/roguelike-server
+++ b/roguelike-server
@@ -1271,6 +1271,7 @@ def command_maplength(maplength_string):
     val = integer_test(maplength_string, 1, 256)
     if None != val:
         world_db["MAP_LENGTH"] = val
+        world_db["MAP"] = False
         set_world_inactive()
         world_db["Things"] = {}
         libpr.set_maplength(val)
@@ -1301,7 +1302,7 @@ def command_worldactive(worldactive_string):
                 if 0 == Thing:
                     player_exists = True
                     break
-            if wait_exists and player_exists and "MAP" in world_db:
+            if wait_exists and player_exists and world_db["MAP"]:
                 for id in world_db["Things"]:
                     if world_db["Things"][id]["T_LIFEPOINTS"]:
                         build_fov_map(world_db["Things"][id])
@@ -1425,12 +1426,12 @@ def setter_map(maptype):
         val = valid_map_line(str_int, mapline)
         if None != val:
             length = world_db["MAP_LENGTH"]
-            if not "MAP" in world_db:
+            if not world_db["MAP"]:
                 map = bytearray(b' ' * (length ** 2))
             else:
                 map = world_db["MAP"]
             map[val * length:(val * length) + length] = mapline.encode()
-            if not "MAP" in world_db:
+            if not world_db["MAP"]:
                 world_db["MAP"] = map
 
     @test_Thing_id
@@ -1623,6 +1624,7 @@ world_db = {
     "MAP_LENGTH": 64,
     "PLAYER_TYPE": 0,
     "WORLD_ACTIVE": 0,
+    "MAP": False,
     "ThingActions": {},
     "ThingTypes": {},
     "Things": {}
-- 
2.30.2