home · contact · privacy
Let dying actors drop their things.
authorChristian Heller <c.heller@plomlompom.de>
Tue, 10 Mar 2015 22:05:09 +0000 (23:05 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Tue, 10 Mar 2015 22:05:09 +0000 (23:05 +0100)
roguelike-server

index 849edee2b9cd9e42c445ed2a6a6bab9c8b84d6c7..0bc77cc4bb8dcb0f67560e41c8956e33e6accdfb 100755 (executable)
@@ -582,12 +582,17 @@ def decrement_lifepoints(t):
 
     If t is the player avatar, only blank its fovmap, so that the client may
     still display memory data. On non-player things, erase fovmap and memory.
+    Dying actors drop all their things.
     """
     # # 7DRL: also decrements God's mood; deaths heavily so
     # # 7DRL: return 1 if death, else 0
     t["T_LIFEPOINTS"] -= 1
     world_db["GOD_MOOD"] -= 1  # #
     if 0 == t["T_LIFEPOINTS"]:
+        for id in t["T_CARRIES"]:
+            t["T_CARRIES"].remove(id)
+            world_db["Things"][id]["T_POSY"] = t["T_POSY"]
+            world_db["Things"][id]["T_POSX"] = t["T_POSX"]
         sadness = world_db["ThingTypes"][t["T_TYPE"]]["TT_LIFEPOINTS"]  # #
         world_db["GOD_MOOD"] -= sadness  # #        
         t["T_TYPE"] = world_db["ThingTypes"][t["T_TYPE"]]["TT_CORPSE_ID"]