home · contact · privacy
TCE: Fix AI bug.
[plomrogue] / plugins / server / TheCrawlingEater.py
index 798ad57c0e31fd14e85d6412e97f3f6030c8aec3..b7bbee56d07f3632822dc66e734279454ce67ffe 100644 (file)
@@ -254,13 +254,16 @@ def actor_move(t):
         world_db["soundmap"][t["pos"]] = ord("9")
         if t == world_db["Things"][0] and world_db["MAP"][t["pos"]] == ord("$"):
             world_db["MAP"][t["pos"]] = ord("0")
-            if world_db["GRACE"] < 8:
+            if world_db["GRACE"] == 0:
                 log("You can now eat ALL walls.")
-            if world_db["GRACE"] < 16:
+            if world_db["GRACE"] == 8:
                 log("You now have the DEATH touch.")
-            if world_db["GRACE"] < 24:
+            if world_db["GRACE"] == 16:
                 log("You will now LEVITATE over holes.")
-            world_db["GRACE"] += 8
+            if world_db["GRACE"] == 24:
+                log("You are now READY to fly through the exit portal.")
+            if world_db["GRACE"] <= 24:
+                world_db["GRACE"] += 8
     elif t == world_db["Things"][0]:
         log("You try to MOVE there, but fail.")
 
@@ -481,7 +484,7 @@ def turn_over():
                 dirs = "edcxsw"
                 for i in range(len(dirs)):
                     score += libpr.get_neighbor_score(i)
-                if score == 5 or score == 6:
+                if score == 6:
                     world_db["MAP"][pos] = ord("&")
         libpr.free_score_map()
         world_db["TURN"] += 1
@@ -817,7 +820,7 @@ def ai(t):
                         world_db["terrain_fullness"](t["pos"]) <= 3:
                     t["T_COMMAND"] = thing_action_id("drop")
                     return
-                elif world_db["get_dir_to_target"](t, "crack"):
+                elif world_db["get_dir_to_target"](t, "crack")[0]:
                     return
             if need[0] in {"fluid_certain", "fluid_potential"}:
                 if standing_on_fluid(t):