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 # #
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): # #
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 # #
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)
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"] \