From: Christian Heller Date: Sun, 28 Feb 2016 22:18:45 +0000 (+0100) Subject: Server: Tell player about deaths his wounding is responsible for. X-Git-Tag: tce~124 X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/%7B%7B%20web_path%20%7D%7D/static/add_task?a=commitdiff_plain;h=ed80228e423745ebd3c6b510dbfe2afa916aa79f;p=plomrogue Server: Tell player about deaths his wounding is responsible for. --- diff --git a/server/actions.py b/server/actions.py index ee68866..22d165a 100644 --- a/server/actions.py +++ b/server/actions.py @@ -31,15 +31,16 @@ def actor_move(t): if world_db["Things"][id]["T_POSX"] == move_result[2]] if len(hitted): hit_id = hitted[0] + hitted_type_id = world_db["Things"][hit_id]["T_TYPE"] if t == world_db["Things"][0]: - hitted_type = world_db["Things"][hit_id]["T_TYPE"] - hitted_name = world_db["ThingTypes"][hitted_type]["TT_NAME"] + hitted_name = world_db["ThingTypes"][hitted_type_id]["TT_NAME"] log("You WOUND " + hitted_name + ".") elif 0 == hit_id: hitter_name = world_db["ThingTypes"][t["T_TYPE"]]["TT_NAME"] log(hitter_name +" WOUNDS you.") - decrement_lifepoints_func(world_db["Things"][hit_id]) - return + decr_test = decrement_lifepoints_func(world_db["Things"][hit_id]) + if decr_test > 0 and t == world_db["Things"][0]: + log(hitted_name + " dies.") passable = chr(world_db["MAP"][pos]) in symbols_passable dir = [dir for dir in directions_db if directions_db[dir] == chr(t["T_ARGUMENT"])][0] diff --git a/server/decrement_lifepoints.py b/server/decrement_lifepoints.py index 8fe5de8..827a16e 100644 --- a/server/decrement_lifepoints.py +++ b/server/decrement_lifepoints.py @@ -14,6 +14,7 @@ def decrement_lifepoints(t): 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"] @@ -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