X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=server%2Factions.py;h=22d165a4023c6652cb02706be7b0b01ac3cf79f9;hb=ed80228e423745ebd3c6b510dbfe2afa916aa79f;hp=5492dbe97b2f9bbcb62cb79b5cbe4b852b9ba181;hpb=26b0310b0c61804a781149032818d1c6f9b47fd9;p=plomrogue diff --git a/server/actions.py b/server/actions.py index 5492dbe..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] @@ -79,7 +80,7 @@ def actor_pickup(t): return world_db["Things"][id] def actor_drop(t): - """Make t rop Thing from inventory to ground indexed by T_ARGUMENT.""" + """Drop to ground from t's inventory, return T_ARGUMENT-indexed Thing.""" # TODO: Handle case where T_ARGUMENT matches nothing. if len(t["T_CARRIES"]): id = t["T_CARRIES"][t["T_ARGUMENT"]] @@ -87,7 +88,7 @@ def actor_drop(t): world_db["Things"][id]["carried"] = False if t == world_db["Things"][0]: log("You DROP an object.") - + return world_db["Things"][id] def actor_use(t): """Make t use (for now: consume) T_ARGUMENT-indexed Thing in inventory.""" @@ -101,5 +102,6 @@ def actor_use(t): t["T_SATIATION"] += world_db["ThingTypes"][type]["TT_TOOLPOWER"] if t == world_db["Things"][0]: log("You CONSUME this thing.") - elif t == world_db["Things"][0]: - log("You try to use this object, but FAIL.") + else: + from server.config.actions import actor_use_attempts_hook + actor_use_attempts_hook(t, type)