X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=server%2Fcommands.py;h=f20297d31da9041562a4acd9cdf44ecd130f3ba4;hb=b96dfc255b732c753d8da8d727b3d3be6e072302;hp=346661a5db11d342ad2133f3e68f110e8754b56b;hpb=009f06a7a2baef5af4474b18fd75b19c05befb4f;p=plomrogue
diff --git a/server/commands.py b/server/commands.py
index 346661a..f20297d 100644
--- a/server/commands.py
+++ b/server/commands.py
@@ -7,16 +7,18 @@ 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 set_world_inactive, turn_over
+from server.update_map_memory import update_map_memory
+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)
@@ -82,8 +84,8 @@ def command_makeworld(seed_string):
"""Call make_world()."""
val = integer_test(seed_string, 0, 4294967295)
if None != val:
- from server.world import make_world
- make_world(val)
+ from server.config.misc import make_world_func
+ make_world_func(val)
def command_maplength(maplength_string):
@@ -148,7 +150,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)
@@ -487,7 +489,7 @@ def play_use(str_arg):
def play_move(str_arg):
"""Try "move" as player's T_COMMAND, str_arg as T_ARGUMENT / direction."""
if action_exists("move"):
- from server.config.world_data import directions_db
+ from server.config.world_data import directions_db, symbols_passable
t = world_db["Things"][0]
if not str_arg in directions_db:
print("Illegal move direction string.")
@@ -497,7 +499,7 @@ def play_move(str_arg):
move_result = mv_yx_in_dir_legal(chr(dir), t["T_POSY"], t["T_POSX"])
if 1 == move_result[0]:
pos = (move_result[1] * world_db["MAP_LENGTH"]) + move_result[2]
- if ord(".") == world_db["MAP"][pos]:
+ if chr(world_db["MAP"][pos]) in symbols_passable:
world_db["Things"][0]["T_ARGUMENT"] = dir
set_command("move")
return
@@ -506,6 +508,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()