home · contact · privacy
TCE: Eat on every wall attack, not just on successful ones.
[plomrogue] / plugins / server / TheCrawlingEater.py
index b1dc407898d86bb25092012585a9a023b156b6fe..ab88cadd54766d0e994fcb7be0f4f79d324635e7 100644 (file)
@@ -126,14 +126,10 @@ def actor_eat(t):
         height = world_db["MAP"][pos] - ord("0")
         if t["T_STOMACH"] >= 32 or height == 5:
             return
-        eaten = False
-        if height == 3 and 0 == int(rand.next() % 2):
-            t["T_STOMACH"] += height
-            eaten = True
-        elif height == 4 and 0 == int(rand.next() % 5):
-            t["T_STOMACH"] += height
-            eaten = True
+        t["T_STOMACH"] += 1
         log("You EAT.")
+        eaten = (height == 3 and 0 == int(rand.next() % 2)) or \
+                (height == 4 and 0 == int(rand.next() % 5))
         if eaten:
             world_db["MAP"][pos] = ord("0")
             if t["T_STOMACH"] > 32:
@@ -281,14 +277,15 @@ def turn_over():
                     if t["T_BLADDER"] > 16:
                         if 0 == (rand.next() % (33 - t["T_BLADDER"])):
                             action_db["actor_pee"](t)
-                    t["T_STOMACH"] -= 1
-                    t["T_BOWEL"] += 1
-                    t["T_KIDNEY"] -= 1
-                    t["T_BLADDER"] += 1
-                    if t["T_STOMACH"] == 0:
-                        world_db["die"](t, "You DIE of hunger.")
-                    elif t["T_KIDNEY"] == 0:
-                        world_db["die"](t, "You DIE of dehydration.")
+                    if 0 == world_db["TURN"] % 5:
+                        t["T_STOMACH"] -= 1
+                        t["T_BOWEL"] += 1
+                        t["T_KIDNEY"] -= 1
+                        t["T_BLADDER"] += 1
+                        if t["T_STOMACH"] == 0:
+                            world_db["die"](t, "You DIE of hunger.")
+                        elif t["T_KIDNEY"] == 0:
+                            world_db["die"](t, "You DIE of dehydration.")
         water = 0
         positions_to_wet = []
         for pos in range(world_db["MAP_LENGTH"] ** 2):