X-Git-Url: https://plomlompom.com/repos/?p=plomrogue;a=blobdiff_plain;f=plomrogue-server.py;h=82e2cbc87c2823f4ce3bc1164a4b74fdc64bc4e8;hp=5c07f6d73a1acd96a7c3915fc3cac635f8937ce4;hb=2ad562cb7cdf2dc2cf93c5e8996209884a2e02d9;hpb=e40265fe547e0dcee7f3ae104b4f71802b968976 diff --git a/plomrogue-server.py b/plomrogue-server.py index 5c07f6d..82e2cbc 100755 --- a/plomrogue-server.py +++ b/plomrogue-server.py @@ -706,6 +706,27 @@ def thingproliferation(t): world_db["Things"][id] = newT +def try_healing(t): + """Grow t's HP to a 1/32 chance if < HP max, satiation > 0, and waiting. + + On success, decrease satiation score by 32. + """ + if t["T_SATIATION"] > 0 \ + and t["T_LIFEPOINTS"] < \ + world_db["ThingTypes"][t["T_TYPE"]]["TT_LIFEPOINTS"] \ + and 0 == (rand.next() % 31) \ + and t["T_COMMAND"] == [id for id in world_db["ThingActions"] + if world_db["ThingActions"][id]["TA_NAME"] == + "wait"][0]: + t["T_LIFEPOINTS"] += 1 + t["T_SATIATION"] -= 32 + if t == world_db["Things"][0]: + strong_write(io_db["file_out"], "LOG You heal.\n") + else: + name = world_db["ThingTypes"][t["T_TYPE"]]["TT_NAME"] + strong_write(io_db["file_out"], "LOG " + name + "heals.\n") + + def hunger(t): """Decrement t's satiation, dependent on it trigger lifepoint dec chance.""" if t["T_SATIATION"] > -32768: @@ -739,7 +760,7 @@ def turn_over(): break # DUMMY: ai(thing) Thing["T_COMMAND"] = 1 - # DUMMY: try_healing + try_healing(Thing) Thing["T_PROGRESS"] += 1 taid = [a for a in world_db["ThingActions"] if a == Thing["T_COMMAND"]][0]