From: Christian Heller <c.heller@plomlompom.de>
Date: Wed, 2 Mar 2016 00:57:24 +0000 (+0100)
Subject: Server: Simplify code.
X-Git-Tag: tce~104
X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/static/%7B%7Bdb.prefix%7D%7D/%7B%7Bprefix%7D%7D/processes?a=commitdiff_plain;h=02d039896bd170cd57fbdaf9408405eabf0d6b54;p=plomrogue

Server: Simplify code.
---

diff --git a/server/ai.py b/server/ai.py
index 8543409..415d533 100644
--- a/server/ai.py
+++ b/server/ai.py
@@ -84,35 +84,28 @@ def get_dir_to_target(t, filter):
         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():