From a5478639b6ea18b84fcd2eac15b82a0f5dff20d4 Mon Sep 17 00:00:00 2001 From: NHOrus Date: Sun, 2 Jul 2017 10:50:07 +0300 Subject: [PATCH] Capture wonkyness of extinguishing urn --- actions.c | 2 +- main.c | 40 ++++++++++++++++++++-------------------- tests/urntest.chk | 6 +++++- tests/urntest.log | 1 + tests/urntest2.chk | 6 +++++- tests/urntest2.log | 1 + 6 files changed, 33 insertions(+), 23 deletions(-) diff --git a/actions.c b/actions.c index b866007..409e58e 100644 --- a/actions.c +++ b/actions.c @@ -888,7 +888,7 @@ static int pour(token_t verb, token_t obj) game.prop[PLANT2] = game.prop[PLANT]; return GO_MOVE; } else { - state_change(DOOR, (obj == OIL) ? DOOR_UNRUSTED: DOOR_RUSTED); + state_change(DOOR, (obj == OIL) ? DOOR_UNRUSTED : DOOR_RUSTED); return GO_CLEAROBJ; } } diff --git a/main.c b/main.c index 345a7b2..cf5d396 100644 --- a/main.c +++ b/main.c @@ -378,26 +378,26 @@ static bool dwarfmove(void) game.newloc = travel[kk].dest; /* Have we avoided a dwarf encounter? */ if (SPECIAL(game.newloc)) - continue; + continue; else if (!INDEEP(game.newloc)) - continue; - else if (game.newloc == game.odloc[i]) - continue; + continue; + else if (game.newloc == game.odloc[i]) + continue; else if (j > 1 && game.newloc == tk[j - 1]) - continue; - else if (j >= DIM(tk) - 1) - continue; - else if (game.newloc == game.dloc[i]) - continue; - else if (FORCED(game.newloc)) - continue; - else if (i == PIRATE && CNDBIT(game.newloc, COND_NOARRR)) - continue; - else if (travel[kk].nodwarves) - continue; - tk[j++] = game.newloc; + continue; + else if (j >= DIM(tk) - 1) + continue; + else if (game.newloc == game.dloc[i]) + continue; + else if (FORCED(game.newloc)) + continue; + else if (i == PIRATE && CNDBIT(game.newloc, COND_NOARRR)) + continue; + else if (travel[kk].nodwarves) + continue; + tk[j++] = game.newloc; } while - (!travel[kk++].stop); + (!travel[kk++].stop); tk[j] = game.odloc[i]; if (j >= 2) --j; @@ -497,7 +497,7 @@ static bool traveleq(long a, long b) /* Are two travel entries equal for purposes of skip after failed condition? */ { return (travel[a].cond == travel[b].cond) - && (travel[a].dest == travel[b].dest); + && (travel[a].dest == travel[b].dest); } /* Given the current location in "game.loc", and a motion verb number in @@ -637,7 +637,7 @@ static bool playermove( int motion) BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE ++te_tmp; } while - (traveleq(travel_entry, te_tmp)); + (traveleq(travel_entry, te_tmp)); travel_entry = te_tmp; } @@ -679,7 +679,7 @@ static bool playermove( int motion) BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE ++te_tmp; } while - (traveleq(travel_entry, te_tmp)); + (traveleq(travel_entry, te_tmp)); travel_entry = te_tmp; continue; /* goto L12 */ case 3: diff --git a/tests/urntest.chk b/tests/urntest.chk index 99c9071..328ab84 100644 --- a/tests/urntest.chk +++ b/tests/urntest.chk @@ -2009,13 +2009,17 @@ I'm afraid I don't understand. The urn is now dark. +> extinguish urn + +The urn is now dark. + > fly If you mean to use the persian rug, it does not appear inclined to cooperate. -You scored 267 out of a possible 430, using 340 turns. +You scored 267 out of a possible 430, using 341 turns. You have reached "Junior Master" status. diff --git a/tests/urntest.log b/tests/urntest.log index 1966e86..790ca48 100644 --- a/tests/urntest.log +++ b/tests/urntest.log @@ -343,4 +343,5 @@ fill urn read urn extinguish extinguish urn +extinguish urn fly diff --git a/tests/urntest2.chk b/tests/urntest2.chk index 6edab41..90bb4ff 100644 --- a/tests/urntest2.chk +++ b/tests/urntest2.chk @@ -1981,8 +1981,12 @@ A small urn is embedded in the rock. There is nothing here with which to fill it. +> extinguish urn -You scored 267 out of a possible 430, using 332 turns. +The urn is now dark. + + +You scored 267 out of a possible 430, using 333 turns. You have reached "Junior Master" status. diff --git a/tests/urntest2.log b/tests/urntest2.log index 535aeb1..af0dd87 100644 --- a/tests/urntest2.log +++ b/tests/urntest2.log @@ -334,3 +334,4 @@ n drop bottle n fill urn +extinguish urn -- 2.31.1