if None != y and None != x and y < length and x < length:
pos = (y * world_db["MAP_LENGTH"]) + x
strong_write(io_db["file_out"], "THINGS_HERE START\n")
+ terrain = chr(world_db["Things"][0]["T_MEMMAP"][pos])
+ terrain_name = world_db["terrain_names"][terrain]
+ strong_write(io_db["file_out"], "terrain: " + terrain_name + "\n")
if "v" == chr(world_db["Things"][0]["fovmap"][pos]):
for id in [id for tid in sorted(list(world_db["ThingTypes"]))
for id in world_db["Things"]
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.")
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 ord("~") == world_db["MAP"][pos]:
+ log("You can't SWIM.")
+ return
+ if chr(world_db["MAP"][pos]) in symbols_passable:
world_db["Things"][0]["T_ARGUMENT"] = dir
set_command("move")
return