home · contact · privacy
Server/py: Fix thing proliferation bug in turn_over().
[plomrogue] / plomrogue-server.py
index b08899a5a67d40c4ab8aafcacc7012732578898c..5223e4bf0438945036378543b88e31926e7ed80d 100755 (executable)
@@ -622,8 +622,9 @@ def actor_move(t):
             world_db["Things"][id]["T_POSY"] = move_result[1]
             world_db["Things"][id]["T_POSX"] = move_result[2]
         build_fov_map(t)
-        strong_write(io_db["file_out"], "LOG You move " + dir + ".\n")
-    else:
+        if t == world_db["Things"][0]:
+            strong_write(io_db["file_out"], "LOG You move " + dir + ".\n")
+    elif t == world_db["Things"][0]:
         strong_write(io_db["file_out"], "LOG You fail to move " + dir + ".\n")
 
 
@@ -819,9 +820,10 @@ def turn_over():
     id = 0
     whilebreaker = False
     while world_db["Things"][0]["T_LIFEPOINTS"]:
-        for id in [id for id in world_db["Things"]]:
-            if not id in world_db["Things"]: # Thing may have been consumed
-                continue                     # during turn …
+        for id in [id for id in world_db["Things"]]: # Only what is from start!
+            if not id in world_db["Things"] or \
+               world_db["Things"][id]["carried"]:# Thing may have been consumed
+                continue                         # or picked up during turn …
             Thing = world_db["Things"][id]
             if Thing["T_LIFEPOINTS"]:
                 if not Thing["T_COMMAND"]: