X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=server%2Fdecrement_lifepoints.py;h=b8cab9740abd995b4e8938c61644b079c06a45ca;hb=02d039896bd170cd57fbdaf9408405eabf0d6b54;hp=8fe5de8c9cbad60146c385df7ca8354456ec3418;hpb=0dd5be3b48b45d1be5cec5ff18f3cb633f99886d;p=plomrogue diff --git a/server/decrement_lifepoints.py b/server/decrement_lifepoints.py index 8fe5de8..b8cab97 100644 --- a/server/decrement_lifepoints.py +++ b/server/decrement_lifepoints.py @@ -4,21 +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"]: - 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 + live_tid = t["T_TYPE"] + 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)) @@ -29,3 +30,5 @@ def decrement_lifepoints(t): t["T_MEMMAP"] = False t["T_MEMDEPTHMAP"] = False t["T_MEMTHING"] = [] + return world_db["ThingTypes"][live_tid]["TT_LIFEPOINTS"] + return 0