from server.config.world_data import world_db
from server.io import log
from server.utils import rand
-from server.utils import id_setter
def try_healing(t):
def turn_over():
"""Run game world and its inhabitants until new player input expected."""
- from server.config.actions import action_db, ai_func
- from server.config.misc import thingproliferation_func
+ from server.ai import ai
+ from server.config.actions import action_db
+ from server.config.misc import calc_effort_func
from server.update_map_memory import update_map_memory
+ from server.thingproliferation import thingproliferation
id = 0
- whilebreaker = False
while world_db["Things"][0]["T_LIFEPOINTS"]:
proliferable_map = world_db["MAP"][:]
for id in [id for id in world_db["Things"]
if not Thing["T_COMMAND"]:
update_map_memory(Thing)
if 0 == id:
- whilebreaker = True
- break
- ai_func(Thing)
+ return
+ ai(Thing)
try_healing(Thing)
hunger(Thing)
if Thing["T_LIFEPOINTS"]:
taid = [a for a in world_db["ThingActions"]
if a == Thing["T_COMMAND"]][0]
ThingAction = world_db["ThingActions"][taid]
- if Thing["T_PROGRESS"] == ThingAction["TA_EFFORT"]:
+ effort = calc_effort_func(ThingAction, Thing)
+ if Thing["T_PROGRESS"] == effort:
action = action_db["actor_" + ThingAction["TA_NAME"]]
action(Thing)
Thing["T_COMMAND"] = 0
Thing["T_PROGRESS"] = 0
- thingproliferation_func(Thing, proliferable_map)
- if whilebreaker:
- break
+ thingproliferation(Thing, proliferable_map)
world_db["TURN"] += 1