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, plugin: Refactor make_world modularity.
[plomrogue]
/
server
/
commands.py
diff --git
a/server/commands.py
b/server/commands.py
index f55400b4b8595f7113702a523952ba47a013934f..72018be4006a93a58a94d8e69144fed3004d9466 100644
(file)
--- a/
server/commands.py
+++ b/
server/commands.py
@@
-49,6
+49,9
@@
def command_thingshere(str_y, str_x):
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")
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"]
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"]
@@
-84,8
+87,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.
config.misc import make_world_func
- make_world
_func
(val)
+ from server.
make_world import make_world
+ make_world(val)
def command_maplength(maplength_string):
def command_maplength(maplength_string):
@@
-115,17
+118,19
@@
def command_worldactive(worldactive_string):
else:
print("World already active.")
elif 0 == world_db["WORLD_ACTIVE"]:
else:
print("World already active.")
elif 0 == world_db["WORLD_ACTIVE"]:
- wait_exists = False
for ThingAction in world_db["ThingActions"]:
if "wait" == world_db["ThingActions"][ThingAction]["TA_NAME"]:
for ThingAction in world_db["ThingActions"]:
if "wait" == world_db["ThingActions"][ThingAction]["TA_NAME"]:
- wait_exists = True
break
break
- player_exists = False
+ else:
+ print("Ignored: No wait action defined for world to activate.")
+ return
for Thing in world_db["Things"]:
if 0 == Thing:
for Thing in world_db["Things"]:
if 0 == Thing:
- player_exists = True
break
break
- if wait_exists and player_exists and world_db["MAP"]:
+ else:
+ print("Ignored: No player defined for world to activate.")
+ return
+ if world_db["MAP"]:
for id in world_db["Things"]:
if world_db["Things"][id]["T_LIFEPOINTS"]:
build_fov_map(world_db["Things"][id])
for id in world_db["Things"]:
if world_db["Things"][id]["T_LIFEPOINTS"]:
build_fov_map(world_db["Things"][id])
@@
-136,7
+141,7
@@
def command_worldactive(worldactive_string):
world_db["Things"][0]["fovmap"] = empty_fovmap
world_db["WORLD_ACTIVE"] = 1
else:
world_db["Things"][0]["fovmap"] = empty_fovmap
world_db["WORLD_ACTIVE"] = 1
else:
- print("Ignoring: No
t all conditions for world activation met
.")
+ print("Ignoring: No
map defined for world to activate
.")
def command_tid(id_string):
def command_tid(id_string):
@@
-310,16
+315,13
@@
def command_taname(name):
or name == "pickup":
world_db["ThingActions"][command_taid.id]["TA_NAME"] = name
if 1 == world_db["WORLD_ACTIVE"]:
or name == "pickup":
world_db["ThingActions"][command_taid.id]["TA_NAME"] = name
if 1 == world_db["WORLD_ACTIVE"]:
- wait_defined = False
for id in world_db["ThingActions"]:
if "wait" == world_db["ThingActions"][id]["TA_NAME"]:
for id in world_db["ThingActions"]:
if "wait" == world_db["ThingActions"][id]["TA_NAME"]:
- wait_defined = True
break
break
-
if not wait_defined
:
+
else
:
set_world_inactive()
else:
print("Ignoring: Invalid action name.")
set_world_inactive()
else:
print("Ignoring: Invalid action name.")
- # In contrast to the original,naming won't map a function to a ThingAction.
def setter(category, key, min, max=None):
def setter(category, key, min, max=None):
@@
-489,7
+491,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.")
@@
-499,7
+501,10
@@
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 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
world_db["Things"][0]["T_ARGUMENT"] = dir
set_command("move")
return