return False
def seeing_thing():
- maplength = world_db["MAP_LENGTH"]
- if t["fovmap"] and "a" == filter:
+ def exists(gen):
try:
- next((Thing for Thing in animates_in_fov(maplength)
- if good_attack_target(Thing)))
+ next(gen)
except StopIteration:
return False
return True
+ maplength = world_db["MAP_LENGTH"]
+ if t["fovmap"] and "a" == filter:
+ return exists(Thing for Thing in animates_in_fov(maplength)
+ if good_attack_target(Thing))
elif t["fovmap"] and "f" == filter:
- try:
- next((Thing for Thing in animates_in_fov(maplength)
- if good_flee_target(Thing)))
- except StopIteration:
- return False
- return True
+ return exists(Thing for Thing in animates_in_fov(maplength)
+ if good_flee_target(Thing))
elif t["T_MEMMAP"] and "c" == filter:
eat_cost = eat_vs_hunger_threshold(t["T_TYPE"])
ord_blank = ord(" ")
map_len = world_db["MAP_LENGTH"]
- try:
- next(mt for mt in t["T_MEMTHING"]
- if ord_blank != t["T_MEMMAP"][mt[1] * map_len + mt[2]]
- and world_db["ThingTypes"][mt[0]]["TT_TOOL"] == "food"
- and world_db["ThingTypes"][mt[0]]["TT_TOOLPOWER"]
- > eat_cost)
- except StopIteration:
- return False
- return True
-
+ return exists(mt for mt in t["T_MEMTHING"]
+ if ord_blank != t["T_MEMMAP"][mt[1] * map_len + mt[2]]
+ and world_db["ThingTypes"][mt[0]]["TT_TOOL"] == "food"
+ and world_db["ThingTypes"][mt[0]]["TT_TOOLPOWER"]
+ > eat_cost)
return False
def set_cells_passable_on_memmap_to_65534_on_scoremap():