X-Git-Url: https://plomlompom.com/repos/day_todos?a=blobdiff_plain;f=plomrogue-server.py;h=b96794611a06dac718763e61b983400a199bcb97;hb=2abda4a2cf9ab42970b5fda00a433c7bcdb0f16e;hp=cd54c86965c46d9cdd87530f2948d15c8df61e16;hpb=2b4005f1f4b4ca64d86af9ac35a92d60f6e7bc48;p=plomrogue diff --git a/plomrogue-server.py b/plomrogue-server.py index cd54c86..b967946 100755 --- a/plomrogue-server.py +++ b/plomrogue-server.py @@ -164,7 +164,7 @@ def save_world(): string = "" for key in world_db: - if dict != type(world_db[key]): + if dict != type(world_db[key]) and key != "MAP": string = string + key + " " + str(world_db[key]) + "\n" string = string + helper("ThingActions", "TA_ID") string = string + helper("ThingTypes", "TT_ID", {"TT_CORPSE_ID": False}) @@ -482,19 +482,24 @@ def command_makeworld(seed_string): } # generate fov map? # TODO: Generate things (player first, with updated memory) - atomic_write(io_db["path_out"], "NEW_WORLD\n", do_append=True) + strong_write(io_db["file_out"], "NEW_WORLD\n") def command_maplength(maplength_string): - # DUMMY. + """Redefine map length. Invalidate map, therefore lose all things on it.""" set_world_inactive() - # TODO: remove map (is this necessary? no memory management trouble …) world_db["Things"] = {} setter(None, "MAP_LENGTH", 1, 256)(maplength_string) def command_worldactive(worldactive_string): - # DUMMY. + """Toggle world_db["WORLD_ACTIVE"] if possible. + + An active world can always be set inactive. An inactive world can only be + set active with a "wait" ThingAction, and a player Thing (of ID 0). On + activation, rebuild all Things' FOVs and map memories. + """ + # In original version, map existence was also tested (unnecessarily?). val = integer_test(worldactive_string, 0, 1) if val: if 0 != world_db["WORLD_ACTIVE"]: @@ -513,8 +518,7 @@ def command_worldactive(worldactive_string): if 0 == Thing: player_exists = True break - map_exists = "MAP" in world_db - if wait_exists and player_exists and map_exists: + if wait_exists and player_exists: # TODO: rebuild all things' FOVs, map memories world_db["WORLD_ACTIVE"] = 1 @@ -800,7 +804,7 @@ commands_db = { """World state database. With sane default values.""" world_db = { - "TURN": 1, + "TURN": 0, "SEED_MAP": 0, "SEED_RANDOMNESS": 0, "PLAYER_TYPE": 0,