X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;ds=sidebyside;f=roguelike-server;h=4de557c205b9f0d9bbd8a7a532025deb9a735bf5;hb=f4993573d69a6a5b1887ad6a9fa65b3fdcd565de;hp=344ef80355d984171f5cf077a89a988e2f83987e;hpb=649df4cceaf482328a3b4698bfa382e6b87cb3e5;p=plomrogue diff --git a/roguelike-server b/roguelike-server index 344ef80..4de557c 100755 --- a/roguelike-server +++ b/roguelike-server @@ -212,6 +212,7 @@ def save_world(): string = "" for key in world_db: if (dict != type(world_db[key]) + and key != "altar" # # and key != "MAP" and key != "WORLD_ACTIVE"): string = string + key + " " + str(world_db[key]) + "\n" string = string + mapsetter("MAP")() @@ -605,6 +606,23 @@ def build_fov_map(t): raise RuntimeError("Malloc error in build_fov_Map().") +def log_help(): + """Send quick usage info to log.""" + strong_write(io_db["file_out"], "LOG " + + "Use 'w'/'e'/'s'/'d'/'x'/'c' to move, and 'w' to wait.\n") + strong_write(io_db["file_out"], "LOG " + + "Use 'p' to pick up objects, and 'D' to drop them.\n") + strong_write(io_db["file_out"], "LOG " + + "Some objects can be used (such as: eaten) by 'u' if " + + "they are in your inventory. " + + "Use 'UP'/'DOWN' to navigate the inventory.\n") + strong_write(io_db["file_out"], "LOG " + + "Use 'l' to toggle 'look' mode (move an exploration cursor " + + "instead of the player over the map).\n") + strong_write(io_db["file_out"], "LOG See README file for more details.\n") + strong_write(io_db["file_out"], "LOG \n") + + def decrement_lifepoints(t): """Decrement t's lifepoints by 1, and if to zero, corpse it. @@ -628,6 +646,8 @@ def decrement_lifepoints(t): if world_db["Things"][0] == t: t["fovmap"] = bytearray(b' ' * (world_db["MAP_LENGTH"] ** 2)) strong_write(io_db["file_out"], "LOG You die.\n") + strong_write(io_db["file_out"], + "LOG See README on how to start over.\n") else: t["fovmap"] = False t["T_MEMMAP"] = False @@ -1334,6 +1354,7 @@ def command_makeworld(seed_string): according to ThingTypes' TT_START_NUMBERS, with Thing of ID 0 to ThingType of ID = world["PLAYER_TYPE"]. Place Things randomly, and actors not on each other. Init player's memory map. Write "NEW_WORLD" line to out file. + Call log_help(). """ # def free_pos(plant=False): @@ -1403,6 +1424,7 @@ def command_makeworld(seed_string): plantness = world_db["ThingTypes"][type]["TT_PROLIFERATE"] # # world_db["Things"][id] = new_Thing(type, free_pos(plantness)) strong_write(io_db["file_out"], "NEW_WORLD\n") + log_help() def command_maplength(maplength_string): @@ -1422,6 +1444,7 @@ def command_worldactive(worldactive_string): 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), and a map. On activation, rebuild all Things' FOVs, and the player's map memory. + Also call log_help(). """ # 7DRL: altar must be on map, and (valid) SLIPPERS must be set for world # activation. @@ -1463,6 +1486,7 @@ def command_worldactive(worldactive_string): empty_fovmap = bytearray(b" " * world_db["MAP_LENGTH"] ** 2) world_db["Things"][0]["fovmap"] = empty_fovmap world_db["WORLD_ACTIVE"] = 1 + log_help() else: print("Ignoring: Not all conditions for world activation met.") @@ -1763,7 +1787,7 @@ commands_db = { "TT_START_NUMBER": (1, False, setter("ThingType", "TT_START_NUMBER", 0, 255)), "TT_PROLIFERATE": (1, False, setter("ThingType", "TT_PROLIFERATE", - 0, 255)), + 0, 65535)), "TT_LIFEPOINTS": (1, False, setter("ThingType", "TT_LIFEPOINTS", 0, 255)), "TT_STORAGE": (1, False, setter("ThingType", "TT_STORAGE", 0, 255)), # # "T_ID": (1, False, command_tid),