X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;f=roguelike-server;h=959d769ea899e0eb6cfbae6315cc7af0f9d6df5e;hb=1acf96881e079649fae9504f7fe209c6c71005ca;hp=792b7c4f47db887b5593b49c256b37b55d1b4ef8;hpb=b6c6c07fcbf02e86dd1cc6d9482e7afae4211d88;p=plomrogue diff --git a/roguelike-server b/roguelike-server index 792b7c4..959d769 100755 --- a/roguelike-server +++ b/roguelike-server @@ -614,12 +614,13 @@ def log_help(): 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") + + "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 " + + "Use 'PgUp'/PgDn' to scroll the 'Things here' window.\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): @@ -809,7 +810,8 @@ def actor_move(t): strong_write(io_db["file_out"], "LOG With your " # # + axe_name # # + ", you chop!\n") # # - add_gods_favor(-1) # # + if ord("X") == world_db["MAP"][pos]: # # + add_gods_favor(-1) # # chop_power = world_db["ThingTypes"][type]["TT_TOOLPOWER"] case_X = world_db["MAP"][pos] == ord("X") # # if (chop_power > 0 # # @@ -820,7 +822,8 @@ def actor_move(t): if t == world_db["Things"][0]: # # strong_write(io_db["file_out"], # # "LOG You chop it down.\n") # # - add_gods_favor(-10) # # + if world_db["MAP"][pos] == ord("X"): # # + add_gods_favor(-10) # # world_db["MAP"][pos] = ord(".") # # i = 3 if case_X else 1 # # for i in range(i): # # @@ -990,23 +993,31 @@ def thingproliferation(t, prol_map): selected randomly. """ # 7DRL: success increments God's mood - # 7DRL: Things proliferate only on ":" ground. + # 7DRL: Plants (no TT_LIFEPOINTS) proliferate only on ":" ground. prolscore = world_db["ThingTypes"][t["T_TYPE"]]["TT_PROLIFERATE"] if prolscore and (1 == prolscore or 1 == (rand.next() % prolscore)): candidates = [] for dir in [directions_db[key] for key in directions_db]: mv_result = mv_yx_in_dir_legal(dir, t["T_POSY"], t["T_POSX"]) - if mv_result[0] and ord(":") == prol_map[mv_result[1] # # + pos = mv_result[1] * world_db["MAP_LENGTH"] + mv_result[2] + if mv_result[0] and \ + (ord(":") == prol_map[pos] # # + or (world_db["ThingTypes"][t["T_TYPE"]]["TT_LIFEPOINTS"] # # + and ord(".") == prol_map[pos])): # if mv_result[0] and ord(".") == prol_map[mv_result[1] - * world_db["MAP_LENGTH"] - + mv_result[2]]: + # * world_db["MAP_LENGTH"] + # + mv_result[2]]: candidates.append((mv_result[1], mv_result[2])) if len(candidates): i = rand.next() % len(candidates) id = id_setter(-1, "Things") newT = new_Thing(t["T_TYPE"], (candidates[i][0], candidates[i][1])) world_db["Things"][id] = newT - world_db["GOD_MOOD"] += 1 # # + animacy = world_db["ThingTypes"][t["T_TYPE"]]["TT_LIFEPOINTS"] # # + if animacy: # # + world_db["GOD_MOOD"] += animacy # # + else: # # + world_db["GOD_MOOD"] += 1 # # if (world_db["FAVOR_STAGE"] > 0 # # and t["T_TYPE"] == world_db["PLANT_0"]): # # world_db["GOD_FAVOR"] += 5 # # @@ -1416,6 +1427,7 @@ def command_quit(): def command_thingshere(str_y, str_x): """Write to out file list of Things known to player at coordinate y, x.""" + # 7DRL: terrain, too if world_db["WORLD_ACTIVE"]: y = integer_test(str_y, 0, 255) x = integer_test(str_x, 0, 255) @@ -1423,6 +1435,20 @@ 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") + pos = y * world_db["MAP_LENGTH"] + x; # # + if world_db["Things"][0]["T_MEMMAP"][pos] == ord("~"): # # + name = "(terrain: SEA)" # # + elif world_db["Things"][0]["T_MEMMAP"][pos] == ord("."): # # + name = "(terrain: EARTH)" # # + elif world_db["Things"][0]["T_MEMMAP"][pos] == ord(":"): # # + name = "(terrain: SOIL)" # # + elif world_db["Things"][0]["T_MEMMAP"][pos] == ord("X"): # # + name = "(terrain: TREE)" # # + elif world_db["Things"][0]["T_MEMMAP"][pos] == ord("|"): # # + name = "(terrain: WALL)" # # + elif world_db["Things"][0]["T_MEMMAP"][pos] == ord("_"): # # + name = "(terrain: ALTAR)" # # + strong_write(io_db["file_out"], name + "\n") # # if "v" == chr(world_db["Things"][0]["fovmap"][pos]): for id in world_db["Things"]: if y == world_db["Things"][id]["T_POSY"] \