home · contact · privacy
Add log_help(), short usage info set to log on server start.
[plomrogue] / roguelike-server
index 9361fb8bc8eed940d896ea86977cac3bc31b1162..a16c1ca17a804eb368b8e7e03afba02e826dae29 100755 (executable)
@@ -578,6 +578,11 @@ def build_fov_map(t):
         raise RuntimeError("Malloc error in build_fov_Map().")
 
 
+def log_help():
+    """Send quick usage info to log."""
+    strong_write(io_db["file_out"], "LOG See README file for help.\n")
+
+
 def decrement_lifepoints(t):
     """Decrement t's lifepoints by 1, and if to zero, corpse it.
 
@@ -1048,15 +1053,16 @@ def turn_over():
                         break
                     ai(Thing)
                 try_healing(Thing)
-                Thing["T_PROGRESS"] += 1
-                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"]:
-                    eval("actor_" + ThingAction["TA_NAME"])(Thing)
-                    Thing["T_COMMAND"] = 0
-                    Thing["T_PROGRESS"] = 0
                 hunger(Thing)
+                if Thing["T_LIFEPOINTS"]:
+                    Thing["T_PROGRESS"] += 1
+                    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"]:
+                        eval("actor_" + ThingAction["TA_NAME"])(Thing)
+                        Thing["T_COMMAND"] = 0
+                        Thing["T_PROGRESS"] = 0
             thingproliferation(Thing, proliferable_map)
         if whilebreaker:
             break
@@ -1207,6 +1213,7 @@ def command_makeworld(seed_string):
     according to ThingTypes' TT_START_NUMBERS, with Thing of ID 0 to ThingType
     of ID = world["PLAYER_TYPE"]. Place Things randomly, and actors not on each
     other. Init player's memory map. Write "NEW_WORLD" line to out file.
+    Call log_help().
     """
 
     def free_pos():
@@ -1269,6 +1276,7 @@ def command_makeworld(seed_string):
                 id = id_setter(-1, "Things")
                 world_db["Things"][id] = new_Thing(type, free_pos())
     strong_write(io_db["file_out"], "NEW_WORLD\n")
+    log_help()
 
 
 def command_maplength(maplength_string):
@@ -1288,9 +1296,10 @@ def command_worldactive(worldactive_string):
     An active world can always be set inactive. An inactive world can only be
     set active with a "wait" ThingAction, and a player Thing (of ID 0), and a
     map. On activation, rebuild all Things' FOVs, and the player's map memory.
+    Also call log_help().
     """
     val = integer_test(worldactive_string, 0, 1)
-    if val:
+    if None != val:
         if 0 != world_db["WORLD_ACTIVE"]:
             if 0 == val:
                 set_world_inactive()
@@ -1317,6 +1326,7 @@ def command_worldactive(worldactive_string):
                     empty_fovmap = bytearray(b" " * world_db["MAP_LENGTH"] ** 2)
                     world_db["Things"][0]["fovmap"] = empty_fovmap
                 world_db["WORLD_ACTIVE"] = 1
+                log_help()
             else:
                 print("Ignoring: Not all conditions for world activation met.")