X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=plugins%2Fserver%2FPleaseTheIslandGod.py;h=80ace76bfbea2b11670bd1612daa6987368e1c2f;hb=37866db7d826582f0fe1e238d05e2638928b40df;hp=4005f28b81e7a4b4d618feb574ca18792ccc0e6a;hpb=60635efe557798d2392c85e93dea62e2b8c8214d;p=plomrogue
diff --git a/plugins/server/PleaseTheIslandGod.py b/plugins/server/PleaseTheIslandGod.py
index 4005f28..80ace76 100644
--- a/plugins/server/PleaseTheIslandGod.py
+++ b/plugins/server/PleaseTheIslandGod.py
@@ -319,6 +319,7 @@ def actor_use(t):
def decrement_lifepoints(t):
t["T_LIFEPOINTS"] -= 1
+ live_type = t["T_TYPE"]
_id = [_id for _id in world_db["Things"] if world_db["Things"][_id] == t][0]
if 0 == t["T_LIFEPOINTS"]:
for id in t["T_CARRIES"]:
@@ -336,6 +337,16 @@ def decrement_lifepoints(t):
t["T_MEMMAP"] = False
t["T_MEMDEPTHMAP"] = False
t["T_MEMTHING"] = []
+ n_species = len([id for id in world_db["Things"]
+ if world_db["Things"][id]["T_TYPE"] == live_type])
+ if 0 == n_species:
+ from server.new_thing import new_Thing
+ id = id_setter(-1, "Things")
+ world_db["Things"][id] = new_Thing(live_type,
+ world_db["altar"])
+ log("The " + world_db["ThingTypes"][live_type]["TT_NAME"]
+ + " species has temporarily died out. "
+ + "One new-born is spawned at the altar.")
return world_db["ThingTypes"][t["T_TYPE"]]["TT_LIFEPOINTS"]
return 0
@@ -712,6 +723,22 @@ def calc_effort(thing_action, thing):
effort = 1 if effort == 0 else effort
return effort
+def play_pickup():
+ """Try "pickup" as player's T_COMMAND"."""
+ if action_exists("pickup"):
+ t = world_db["Things"][0]
+ ids = [id for id in world_db["Things"] if id
+ if not world_db["Things"][id]["carried"]
+ if world_db["Things"][id]["T_POSY"] == t["T_POSY"]
+ if world_db["Things"][id]["T_POSX"] == t["T_POSX"]]
+ if not len(ids):
+ log("NOTHING to pick up.")
+ elif len(t["T_CARRIES"]) >= world_db["ThingTypes"][t["T_TYPE"]] \
+ ["TT_STORAGE"]:
+ log("CAN'T pick up: No storage room to carry anything more.")
+ else:
+ set_command("pickup")
+
strong_write(io_db["file_out"], "PLUGIN PleaseTheIslandGod\n")
if not "GOD_FAVOR" in world_db:
@@ -769,6 +796,7 @@ commands_db["LUMBER"] = (1, False, specialtypesetter("LUMBER"))
commands_db["EMPATHY"] = (1, False, setter(None, "EMPATHY", 0, 1))
commands_db["use"] = (1, False, play_use)
commands_db["move"] = (1, False, play_move)
+commands_db["pickup"] = (0, False, play_pickup)
import server.config.misc
server.config.misc.make_map_func = make_map