From 8e04d119af90a77ac4cae8e7c9ce4029719803ed Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Sun, 15 Mar 2015 20:40:19 +0100 Subject: [PATCH] 7DRL: Re-spawn died-out species. --- roguelike-server | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/roguelike-server b/roguelike-server index 8ffa7a4..33545c8 100755 --- a/roguelike-server +++ b/roguelike-server @@ -699,7 +699,9 @@ def decrement_lifepoints(t): Dying actors drop all their things. """ # 7DRL: Return 1 if death, else 0. + # 7DRL: Re-spawn died-out species. t["T_LIFEPOINTS"] -= 1 + live_type = t["T_TYPE"] # 7DRL if 0 == t["T_LIFEPOINTS"]: for id in t["T_CARRIES"]: t["T_CARRIES"].remove(id) @@ -716,6 +718,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: # # + id = id_setter(-1, "Things") + world_db["Things"][id] = new_Thing(live_type, + world_db["altar"]) + log("Species " + + world_db["ThingTypes"][live_type]["TT_NAME"] + + " has temporarily died out. " + + "One new-born is spawned at the altar.") return world_db["ThingTypes"][t["T_TYPE"]]["TT_LIFEPOINTS"] # # return 0 # # -- 2.30.2