print("I'd (re-)make the map now, if only I knew how.")
+def set_world_inactive():
+ """Set world_db["WORLD_ACTIVE"] to 0 and remove worldstate file."""
+ server_test()
+ if os.access(io_db["path_worldstate"], os.F_OK):
+ os.remove(io_db["path_worldstate"])
+ world_db["WORLD_ACTIVE"] = 0
+
+
def worlddb_value_setter(key, min, max):
"""Generate: Set world_db[key] to int(val_string) if >= min and <= max."""
def func(val_string):
# DUMMY.
worlddb_value_setter("SEED_MAP", 0, 4294967295)(seed_string)
worlddb_value_setter("SEED_RANDOMNESS", 0, 4294967295)(seed_string)
+ # TODO: Test for existence of player thing and 'wait' thing action?
def command_maplength(maplength_string):
# DUMMY.
+ set_world_inactive()
+ # TODO: remove things, map
worlddb_value_setter("MAP_LENGTH", 1, 256)(maplength_string)
print("Ignoring: Please use integer 0 or 1.")
return
if 0 != world_db["WORLD_ACTIVE"] and 0 == val:
- world_db["WORLD_ACTIVE"] = 0
+ set_world_inactive()
elif 0 == world_db["WORLD_ACTIVE"]:
wait_exists = False
player_exists = False
world_db["WORLD_ACTIVE"] = 1
+def command_taid(id_string):
+ # DUMMY
+ def new(id):
+ """Add new ThingAction to world_db["thing_actions"]."""
+ if 0 == id:
+ while 1:
+ id = id + 1
+ if id not in world_db["thing actions"]:
+ break
+ if id > 255:
+ print("Ignoring: No unused ID available to add to ID list.")
+ return
+ world_db["thing actions"][id] = { "TA_EFFORT": 1, "TA_NAME": "wait" }
+ min = 0
+ max = 255
+ try:
+ id = int(id_string)
+ if id < min or id > max:
+ raise ValueError
+ except ValueError:
+ print("Ignoring: Please use integer >= " + str(min) + " and <= " +
+ str(max) + ".")
+ return
+ if id in world_db["thing actions"]:
+ pass # TODO: Assign ID to work on in other TA_ commands …
+ else:
+ new(id)
+ print(world_db)
+
+
"""Commands database.
Map command start tokens to ([0]) number of expected command arguments, ([1])
"TURN": (1, False, worlddb_value_setter("TURN", 0, 65535)),
"PLAYER_TYPE": (1, False, worlddb_value_setter("PLAYER_TYPE", 0, 255)),
"MAP_LENGTH": (1, False, command_maplength),
- "WORLD_ACTIVE": (1, False, command_worldactive)
+ "WORLD_ACTIVE": (1, False, command_worldactive),
+ "TA_ID": (1, False, command_taid)
}
"SEED_RANDOMNESS": 0,
"PLAYER_TYPE": 0,
"MAP_LENGTH": 64,
- "WORLD_ACTIVE": 0
+ "WORLD_ACTIVE": 0,
+ "thing actions": {},
+ "thing types": {},
+ "things": {}
}