home · contact · privacy
Server: Simplify turn_over().
[plomrogue] / server / world.py
index 3a68ee407428b5d14cab74db7d5a50f5ba57c04b..0e07785fe53d83d4431524b6b858437967a9cac2 100644 (file)
@@ -53,10 +53,9 @@ def set_world_inactive():
 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.config.misc import thingproliferation_func, calc_effort_func
     from server.update_map_memory import update_map_memory
     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"]
@@ -73,8 +72,7 @@ def turn_over():
                 if not Thing["T_COMMAND"]:
                     update_map_memory(Thing)
                     if 0 == id:
-                        whilebreaker = True
-                        break
+                        return
                     ai_func(Thing)
                 try_healing(Thing)
                 hunger(Thing)
@@ -83,12 +81,11 @@ def turn_over():
                     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
         world_db["TURN"] += 1