Fix another ob1 error.
[open-adventure.git] / main.c
diff --git a/main.c b/main.c
index b99eb22969bc27a929cceb3fdaaf5a8abcfb93e4..15e723086487d0cebcf23de6c84653ef274c45d1 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1024,14 +1024,18 @@ L2600:
 L2607:
         game.foobar = (game.foobar > 0 ? -game.foobar : 0);
         ++game.turns;
-        if (game.turns == game.thresh) {
-            speak(turn_threshold_messages[game.trndex]);
-            game.trnluz = game.trnluz + TRNVAL[game.trndex] / 100000;
-            ++game.trndex;
-            game.thresh = -1;
-            if (game.trndex <= TRNVLS)
-                game.thresh = MOD(TRNVAL[game.trndex], 100000) + 1;
-        }
+
+       /* If a turn threshold has been met, apply penalties and tell
+        * the player about it. */
+       for (int i = 0; i < turn_threshold_count; ++i)
+         {
+           if (game.turns == turn_thresholds[i].threshold + 1)
+             {
+               game.trnluz += turn_thresholds[i].point_loss;
+               speak(turn_thresholds[i].message);
+             }
+         }
+
         if (command.verb == SAY && WD2 > 0)
             command.verb = 0;
         if (command.verb == SAY) {