Experimental test production.
[open-adventure.git] / actions.c
index c09331a8a7a3f812e8585381993189392a8f6a25..4c2fcdbad111c600cfe745544de3898eb95c09f4 100644 (file)
--- a/actions.c
+++ b/actions.c
@@ -192,11 +192,13 @@ static phase_codes_t bigwords(vocab_t id)
  * word we've got. Last word zips the eggs back to the giant room (unless
  * already there). */
 {
-    if ((game.foobar == WORD_EMPTY && id == FEE) ||
-        (game.foobar == FEE && id == FIE) ||
-        (game.foobar == FIE && id == FOE) ||
-        (game.foobar == FOE && id == FOO) ||
-        (game.foobar == FOE && id == FUM)) {
+    int foobar = abs(game.foobar);
+
+    if ((foobar == WORD_EMPTY && id == FEE) ||
+        (foobar == FEE && id == FIE) ||
+        (foobar == FIE && id == FOE) ||
+        (foobar == FOE && id == FOO) ||
+        (foobar == FOE && id == FUM)) {
         game.foobar = id;
         if ((id != FOO) && (id != FUM)) {
             rspeak(OK_MAN);
@@ -226,7 +228,7 @@ static phase_codes_t bigwords(vocab_t id)
         }
     } else {
 fum:
-        if (game.loc == LOC_GIANTROOM) {
+        if (game.loc == LOC_GIANTROOM || settings.oldstyle) {
             rspeak(START_OVER);
         } else {
             /* This is new behavior in Open Adventure - sounds better when