home
·
contact
·
privacy
projects
/
plomrogue
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Server: Don't keep player from moving over passable symbols.
[plomrogue]
/
server
/
commands.py
diff --git
a/server/commands.py
b/server/commands.py
index 31bbea633023bca3d5edff3e5e29b7fedc9d12f4..f20297d31da9041562a4acd9cdf44ecd130f3ba4 100644
(file)
--- 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.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()
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)
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:
"""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):
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]
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)
world_db["Things"][id] = new_Thing(type)
@@
-305,7
+307,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" \
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
world_db["ThingActions"][command_taid.id]["TA_NAME"] = name
if 1 == world_db["WORLD_ACTIVE"]:
wait_defined = False
@@
-429,14
+431,14
@@
def play_wait():
def action_exists(action):
matching_actions = [x for x in world_db["ThingActions"]
if world_db["ThingActions"][x]["TA_NAME"] == action]
def action_exists(action):
matching_actions = [x for x in world_db["ThingActions"]
if world_db["ThingActions"][x]["TA_NAME"] == action]
- if len(matching_actions) > 1:
+ if len(matching_actions) >
=
1:
return True
print("No appropriate ThingAction defined.")
return False
def play_pickup():
return True
print("No appropriate ThingAction defined.")
return False
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
if action_exists("pickup"):
t = world_db["Things"][0]
ids = [id for id in world_db["Things"] if id
@@
-446,7
+448,7
@@
def play_pickup():
if not len(ids):
log("NOTHING to pick up.")
else:
if not len(ids):
log("NOTHING to pick up.")
else:
- set_command("pick
_
up")
+ set_command("pickup")
def play_drop(str_arg):
def play_drop(str_arg):
@@
-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"):
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.")
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]
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
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()."""
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()
turn_over()