home · contact · privacy
Server: Make thingproliferation function selectable.
[plomrogue] / server / commands.py
index c17635e3f369d7119f10c0c15cd89b308b5d0ef2..71094e3b2c953e5d122df611a314cd0756c46fe2 100644 (file)
@@ -7,16 +7,17 @@ from server.config.world_data import world_db
 from server.config.io import io_db
 from server.io import log, strong_write 
 from server.utils import integer_test, id_setter
-from server.world import build_fov_map, update_map_memory, set_world_inactive,\
-        turn_over
+from server.world import update_map_memory, set_world_inactive, turn_over
+from server.build_fov_map import build_fov_map
 
 
 def command_plugin(str_plugin):
     """Run code in plugins/[str_plugin]."""
     import os
     if (str_plugin.replace("_", "").isalnum()
-        and os.access("plugins/" + str_plugin, os.F_OK)):
-        exec(open("plugins/" + str_plugin).read())
+        and os.access("plugins/server/" + str_plugin + ".py", os.F_OK)):
+        exec(open("plugins/server/" + str_plugin + ".py").read())
+        world_db["PLUGIN"] += [str_plugin]
         return
     print("Bad plugin name:", str_plugin)
 
@@ -148,7 +149,7 @@ def command_tid(id_string):
             print("Ignoring: No ThingType to settle new Thing in.")
             return
         type = list(world_db["ThingTypes"].keys())[0]
-        from server.world import new_Thing
+        from server.new_thing import new_Thing
         world_db["Things"][id] = new_Thing(type)
 
 
@@ -305,7 +306,7 @@ def command_taname(name):
     setting no ThingAction with name "wait" remains, call set_world_inactive().
     """
     if name == "wait" or name == "move" or name == "use" or name == "drop" \
-       or name == "pick_up":
+       or name == "pickup":
         world_db["ThingActions"][command_taid.id]["TA_NAME"] = name
         if 1 == world_db["WORLD_ACTIVE"]:
             wait_defined = False
@@ -436,7 +437,7 @@ def action_exists(action):
 
 
 def play_pickup():
-    """Try "pick_up" as player's T_COMMAND"."""
+    """Try "pickup" as player's T_COMMAND"."""
     if action_exists("pickup"):
         t = world_db["Things"][0]
         ids = [id for id in world_db["Things"] if id
@@ -446,7 +447,7 @@ def play_pickup():
         if not len(ids):
              log("NOTHING to pick up.")
         else:
-            set_command("pick_up")
+            set_command("pickup")
 
 
 def play_drop(str_arg):
@@ -506,6 +507,6 @@ def play_move(str_arg):
 
 def command_ai():
     """Call ai() on player Thing, then turn_over()."""
-    from server.ai import ai
-    ai(world_db["Things"][0])
+    from server.config.actions import ai_func
+    ai_func(world_db["Things"][0])
     turn_over()