X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/static/git-favicon.png?a=blobdiff_plain;f=plugins%2Fserver%2FPleaseTheIslandGod.py;h=4005f28b81e7a4b4d618feb574ca18792ccc0e6a;hb=60635efe557798d2392c85e93dea62e2b8c8214d;hp=799efeba51f50af5c76cdf3508414f15c4e44765;hpb=a88fab7f404b3f2a09b8002935e6f80b7bdbc845;p=plomrogue diff --git a/plugins/server/PleaseTheIslandGod.py b/plugins/server/PleaseTheIslandGod.py index 799efeb..4005f28 100644 --- a/plugins/server/PleaseTheIslandGod.py +++ b/plugins/server/PleaseTheIslandGod.py @@ -303,6 +303,11 @@ def actor_use(t): log("With your " + world_db["ThingTypes"][type]["TT_NAME"] + " you build a wooden barrier from your " + world_db["ThingTypes"][type_material]["TT_NAME"] + ".") + elif world_db["ThingTypes"][type]["TT_TOOL"] == "fertilizer": + pos = t["T_POSY"] * world_db["MAP_LENGTH"] + t["T_POSX"] + if world_db["MAP"][pos] == ord("."): + log("You create SOIL.") + world_db["MAP"][pos] = ord(":") elif world_db["ThingTypes"][type]["TT_TOOL"] == "food": t["T_CARRIES"].remove(id) del world_db["Things"][id] @@ -316,7 +321,6 @@ def decrement_lifepoints(t): t["T_LIFEPOINTS"] -= 1 _id = [_id for _id in world_db["Things"] if world_db["Things"][_id] == t][0] if 0 == t["T_LIFEPOINTS"]: - sadness = world_db["ThingTypes"][t["T_TYPE"]]["TT_LIFEPOINTS"] for id in t["T_CARRIES"]: t["T_CARRIES"].remove(id) world_db["Things"][id]["T_POSY"] = t["T_POSY"] @@ -332,7 +336,7 @@ def decrement_lifepoints(t): t["T_MEMMAP"] = False t["T_MEMDEPTHMAP"] = False t["T_MEMTHING"] = [] - return sadness + return world_db["ThingTypes"][t["T_TYPE"]]["TT_LIFEPOINTS"] return 0 def actor_move(t): @@ -619,6 +623,11 @@ def play_use(str_arg): + world_db["ThingTypes"][type]["TT_NAME"] + " without some wood in your inventory.") return + elif world_db["ThingTypes"][type]["TT_TOOL"] == "fertilizer": + pos = t["T_POSY"] * world_db["MAP_LENGTH"] + t["T_POSX"] + if not world_db["MAP"][pos] == ord("."): + log("Can only make soil out of NON-SOIL earth.") + return elif type != world_db["SLIPPERS"] and not \ world_db["ThingTypes"][type]["TT_TOOL"] == "food": log("You CAN'T consume this thing.") @@ -628,7 +637,7 @@ def play_use(str_arg): else: print("Illegal inventory index.") -def specialtypesetter(name): # # +def specialtypesetter(name): def helper(str_int): val = integer_test(str_int, 0) if None != val: @@ -693,6 +702,16 @@ def write_metamap_B(): metamapB[pos] = ord(name[0]) return write_map(metamapB, length) +def calc_effort(thing_action, thing): + from math import sqrt + effort = thing_action["TA_EFFORT"] + if thing_action["TA_NAME"] == "move": + typ = thing["T_TYPE"] + max_hp = (world_db["ThingTypes"][typ]["TT_LIFEPOINTS"]) + effort = int(effort / sqrt(max_hp)) + effort = 1 if effort == 0 else effort + return effort + strong_write(io_db["file_out"], "PLUGIN PleaseTheIslandGod\n") if not "GOD_FAVOR" in world_db: @@ -707,6 +726,8 @@ if not "PLANT_1" in world_db: world_db["PLANT_1"] = 0 if not "TOOL_0" in world_db: world_db["TOOL_0"] = 0 +if not "TOOL_1" in world_db: + world_db["TOOL_1"] = 0 if not "LUMBER" in world_db: world_db["LUMBER"] = 0 if not "EMPATHY" in world_db: @@ -741,6 +762,7 @@ commands_db["WORLD_ACTIVE"] = (1, False, command_worldactive) commands_db["FAVOR_STAGE"] = (1, False, setter(None, "FAVOR_STAGE", 0, 1)) commands_db["SLIPPERS"] = (1, False, specialtypesetter("SLIPPERS")) commands_db["TOOL_0"] = (1, False, specialtypesetter("TOOL_0")) +commands_db["TOOL_1"] = (1, False, specialtypesetter("TOOL_1")) commands_db["PLANT_0"] = (1, False, specialtypesetter("PLANT_0")) commands_db["PLANT_1"] = (1, False, specialtypesetter("PLANT_1")) commands_db["LUMBER"] = (1, False, specialtypesetter("LUMBER")) @@ -752,4 +774,5 @@ import server.config.misc server.config.misc.make_map_func = make_map server.config.misc.thingproliferation_func = thingproliferation server.config.misc.make_world = make_world -server.config.decrement_lifepoints_func = decrement_lifepoints +server.config.misc.decrement_lifepoints_func = decrement_lifepoints +server.config.misc.calc_effort_func = calc_effort