X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=server%2Fdecrement_lifepoints.py;h=b8cab9740abd995b4e8938c61644b079c06a45ca;hb=2fe74dcee473121f423cd37e4b1da5bb0139146e;hp=827a16ea0616da93fe25c13e2ce412a2f315812b;hpb=8187ea4f2fb0c07fd141886a418e3b985f663035;p=plomrogue
diff --git a/server/decrement_lifepoints.py b/server/decrement_lifepoints.py
index 827a16e..b8cab97 100644
--- a/server/decrement_lifepoints.py
+++ b/server/decrement_lifepoints.py
@@ -4,22 +4,22 @@
def decrement_lifepoints(t):
- """Decrement t's lifepoints by 1, and if to zero, corpse it.
+ """Decrement t's lifepoints by 1; if to zero, corpse it, drop its stuff.
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.
+ On kill, return dying type's TT_LIFEPOINTS, else 0.
"""
from server.config.world_data import world_db
from server.io import log
t["T_LIFEPOINTS"] -= 1
if 0 == t["T_LIFEPOINTS"]:
live_tid = t["T_TYPE"]
- 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"]
- world_db["Things"][id]["carried"] = False
+ for tid in t["T_CARRIES"]:
+ t["T_CARRIES"].remove(tid)
+ world_db["Things"][tid]["T_POSY"] = t["T_POSY"]
+ world_db["Things"][tid]["T_POSX"] = t["T_POSX"]
+ world_db["Things"][tid]["carried"] = False
t["T_TYPE"] = world_db["ThingTypes"][t["T_TYPE"]]["TT_CORPSE_ID"]
if world_db["Things"][0] == t:
t["fovmap"] = bytearray(b' ' * (world_db["MAP_LENGTH"] ** 2))