X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=server%2Fworld.py;h=d472e1f680ca2dd5f10eb7ea72b1eedb98779fa2;hb=c93e3d0bb981c81778032c50160fadc0baf40b81;hp=a313eae76f916a0b17056a101726bf76dfbbeed8;hpb=6e4d41846d1bf07db5c91724bdb559285c6ad096;p=plomrogue
diff --git a/server/world.py b/server/world.py
index a313eae..d472e1f 100644
--- a/server/world.py
+++ b/server/world.py
@@ -42,6 +42,17 @@ def hunger(t):
decrement_lifepoints(t)
+def eat_vs_hunger_threshold(thingtype):
+ """Return satiation cost of eating for type. Good food for it must be >."""
+ hunger_unit = hunger_per_turn(thingtype)
+ try:
+ actiontype = next(taid for taid in world_db["ThingActions"] if
+ world_db["ThingActions"][taid]["TA_NAME"] == "use")
+ except StopIteration:
+ return 0
+ return world_db["ThingActions"][actiontype]["TA_EFFORT"] * hunger_unit
+
+
def set_world_inactive():
"""Set world_db["WORLD_ACTIVE"] to 0 and remove worldstate file."""
from server.io import safely_remove_worldstate_file
@@ -51,12 +62,14 @@ def set_world_inactive():
def turn_over():
"""Run game world and its inhabitants until new player input expected."""
+ # TODO: Add build_fov_map, actor_move trigger not enough on changing maps.
from server.ai import ai
from server.config.actions import action_db
from server.config.misc import calc_effort
from server.update_map_memory import update_map_memory
from server.thingproliferation import thingproliferation
- id = 0
+ from server.io import try_worldstate_update
+ from server.config.io import io_db
while world_db["Things"][0]["T_LIFEPOINTS"]:
proliferable_map = world_db["MAP"][:]
for tid in [tid for tid in world_db["Things"]
@@ -90,3 +103,5 @@ def turn_over():
Thing["T_PROGRESS"] = 0
thingproliferation(Thing, proliferable_map)
world_db["TURN"] += 1
+ io_db["worldstate_updateable"] = True
+ try_worldstate_update()