game.odloc[i] = game.dloc[i];
game.dloc[i] = tk[j];
game.dseen[i] = (game.dseen[i] && INDEEP(game.loc)) || (game.dloc[i] == game.loc || game.odloc[i] == game.loc);
- if (!game.dseen[i]) continue;
+ if (!game.dseen[i])
+ continue;
game.dloc[i] = game.loc;
if (spotted_by_pirate(i))
continue;
rspeak(game.dtotal == 1 ? DWARF_SINGLE : DWARF_PACK, game.dtotal);
if (attack == 0)
return true;
- if (game.dflag == 2)game.dflag = 3;
+ if (game.dflag == 2)
+ game.dflag = 3;
if (attack > 1) {
rspeak(THROWN_KNIVES, attack);
rspeak(stick > 1 ? MULTIPLE_HITS : (stick == 1 ? ONE_HIT : NONE_HIT), stick);
* If the current loc is zero, it means the clown got himself killed.
* We'll allow this maxdie times. NDEATHS is automatically set based
* on the number of snide messages available. Each death results in
- * a message (81, 83, etc.) which offers reincarnation; if accepted,
- * this results in message 82, 84, etc. The last time, if he wants
- * another chance, he gets a snide remark as we exit. When
- * reincarnated, all objects being carried get dropped at game.oldlc2
- * (presumably the last place prior to being killed) without change
- * of props. The loop runs backwards to assure that the bird is
- * dropped before the cage. (This kluge could be changed once we're
- * sure all references to bird and cage are done by keywords.) The
- * lamp is a special case (it wouldn't do to leave it in the cave).
- * It is turned off and left outside the building (only if he was
- * carrying it, of course). He himself is left inside the building
- * (and heaven help him if he tries to xyzzy back into the cave
- * without the lamp!). game.oldloc is zapped so he can't just
+ * a message (obituaries[n]) which offers reincarnation; if accepted,
+ * this results in message obituaries[0], obituaries[2], etc. The
+ * last time, if he wants another chance, he gets a snide remark as
+ * we exit. When reincarnated, all objects being carried get dropped
+ * at game.oldlc2 (presumably the last place prior to being killed)
+ * without change of props. The loop runs backwards to assure that
+ * the bird is dropped before the cage. (This kluge could be changed
+ * once we're sure all references to bird and cage are done by
+ * keywords.) The lamp is a special case (it wouldn't do to leave it
+ * in the cave). It is turned off and left outside the building (only
+ * if he was carrying it, of course). He himself is left inside the
+ * building (and heaven help him if he tries to xyzzy back into the
+ * cave without the lamp!). game.oldloc is zapped so he can't just
* "retreat". */
static void croak(void)
static bool playermove(token_t verb, int motion)
{
- int scratchloc, k2, kk = tkey[game.loc];
+ int scratchloc, travel_entry = tkey[game.loc];
game.newloc = game.loc;
- if (kk == 0)
+ if (travel_entry == 0)
BUG(LOCATION_HAS_NO_TRAVEL_ENTRIES); // LCOV_EXCL_LINE
if (motion == NUL)
return true;
else if (motion == BACK) {
/* Handle "go back". Look for verb which goes from game.loc to
* game.oldloc, or to game.oldlc2 If game.oldloc has forced-motion.
- * k2 saves entry -> forced loc -> previous loc. */
+ * te_tmp saves entry -> forced loc -> previous loc. */
motion = game.oldloc;
if (FORCED(motion))
motion = game.oldlc2;
game.oldlc2 = game.oldloc;
game.oldloc = game.loc;
- k2 = 0;
- if (motion == game.loc)k2 = FORGOT_PATH;
- if (CNDBIT(game.loc, COND_NOBACK))k2 = TWIST_TURN;
- if (k2 == 0) {
+ int spk = 0;
+ if (motion == game.loc)
+ spk = FORGOT_PATH;
+ if (CNDBIT(game.loc, COND_NOBACK))
+ spk = TWIST_TURN;
+ if (spk == 0) {
+ int te_tmp = 0;
for (;;) {
- scratchloc = T_DESTINATION(travel[kk]);
+ scratchloc = T_DESTINATION(travel[travel_entry]);
if (scratchloc != motion) {
if (!SPECIAL(scratchloc)) {
if (FORCED(scratchloc) && T_DESTINATION(travel[tkey[scratchloc]]) == motion)
- k2 = kk;
+ te_tmp = travel_entry;
}
- if (!travel[kk].stop) {
- ++kk; /* go to next travel entry for this location */
+ if (!travel[travel_entry].stop) {
+ ++travel_entry; /* go to next travel entry for this location */
continue;
}
/* we've reached the end of travel entries for game.loc */
- kk = k2;
- if (kk == 0) {
+ travel_entry = te_tmp;
+ if (travel_entry == 0) {
rspeak(NOT_CONNECTED);
return true;
}
}
- motion = travel[kk].motion;
- kk = tkey[game.loc];
+ motion = travel[travel_entry].motion;
+ travel_entry = tkey[game.loc];
break; /* fall through to ordinary travel */
}
} else {
- rspeak(k2);
+ rspeak(spk);
return true;
}
} else if (motion == LOOK) {
game.oldloc = game.loc;
}
- /* Look for a way to fulfil the motion verb passed in - kk indexes
+ /* Look for a way to fulfil the motion verb passed in - travel_entry indexes
* the beginning of the motion entries for here (game.loc). */
for (;;) {
- if (T_TERMINATE(travel[kk]) || travel[kk].motion == motion)
+ if (T_TERMINATE(travel[travel_entry]) || travel[travel_entry].motion == motion)
break;
- if (travel[kk].stop) {
- /* FIXME: Magic numbers! */
+ if (travel[travel_entry].stop) {
/* Couldn't find an entry matching the motion word passed
* in. Various messages depending on word given. */
int spk = CANT_APPLY;
- if (motion >= 43 && motion <= 50)spk = BAD_DIRECTION;
- if (motion == 29 || motion == 30)spk = BAD_DIRECTION;
- if (motion == 7 || motion == 36 || motion == 37)spk = UNSURE_FACING;
- if (motion == 11 || motion == 19)spk = NO_INOUT_HERE;
- if (verb == FIND || verb == INVENTORY)spk = NEARBY;
- if (motion == 62 || motion == 65)spk = NOTHING_HAPPENS;
- if (motion == 17)spk = WHICH_WAY;
+ if (motion >= EAST && motion <= NW)
+ spk = BAD_DIRECTION;
+ if (motion == UP || motion == DOWN)
+ spk = BAD_DIRECTION;
+ if (motion == FORWARD || motion == LEFT || motion == RIGHT)
+ spk = UNSURE_FACING;
+ if (motion == OUTSIDE || motion == INSIDE)
+ spk = NO_INOUT_HERE;
+ if (verb == FIND || verb == INVENTORY)
+ spk = NEARBY;
+ if (motion == XYZZY || motion == PLUGH)
+ spk = NOTHING_HAPPENS;
+ if (motion == CRAWL)
+ spk = WHICH_WAY;
rspeak(spk);
return true;
}
- ++kk;
+ ++travel_entry;
}
/* (ESR) We've found a destination that goes with the motion verb.
do {
for (;;) { /* L12 loop */
for (;;) {
- long cond = T_CONDITION(travel[kk]);
+ long cond = T_CONDITION(travel[travel_entry]);
long arg = MOD(cond, 100);
if (!SPECIAL(cond)) {
/* YAML N and [pct N] conditionals */
/* We arrive here on conditional failure.
* Skip to next non-matching destination */
- long k3 = kk;
+ long te_tmp = travel_entry;
do {
- if (travel[k3].stop)
+ if (travel[te_tmp].stop)
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
- ++k3;
+ ++te_tmp;
} while
- (T_HIGH(travel[kk]) == T_HIGH(travel[k3]));
- kk = k3;
+ (T_HIGH(travel[travel_entry]) == T_HIGH(travel[te_tmp]));
+ travel_entry = te_tmp;
}
/* Found an eligible rule, now execute it */
- game.newloc = T_DESTINATION(travel[kk]);
+ game.newloc = T_DESTINATION(travel[travel_entry]);
if (!SPECIAL(game.newloc))
return true;
* to get it out. Having dropped it, go back and
* pretend he wasn't carrying it after all. */
drop(EMERALD, game.loc);
- k2 = kk;
+ int te_tmp = travel_entry;
do {
- if (travel[k2].stop)
+ if (travel[te_tmp].stop)
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
- ++k2;
+ ++te_tmp;
} while
- (T_HIGH(travel[kk]) == T_HIGH(travel[k2]));
- kk = k2;
+ (T_HIGH(travel[travel_entry]) == T_HIGH(travel[te_tmp]));
+ travel_entry = te_tmp;
continue; /* goto L12 */
case 3:
/* Travel 303. Troll bridge. Must be done only
return true;
} else {
game.newloc = objects[TROLL].plac + objects[TROLL].fixd - game.loc;
- if (game.prop[TROLL] == 0)game.prop[TROLL] = 1;
- if (!TOTING(BEAR)) return true;
+ if (game.prop[TROLL] == 0)
+ game.prop[TROLL] = 1;
+ if (!TOTING(BEAR))
+ return true;
rspeak(BRIDGE_COLLAPSE);
game.prop[CHASM] = 1;
game.prop[TROLL] = 2;
if (!game.lmwarn && HERE(LAMP)) {
game.lmwarn = true;
int spk = GET_BATTERIES;
- if (game.place[BATTERY] == LOC_NOWHERE)spk = LAMP_DIM;
+ if (game.place[BATTERY] == LOC_NOWHERE)
+ spk = LAMP_DIM;
if (game.prop[BATTERY] == DEAD_BATTERIES)
spk = MISSING_BATTERIES;
rspeak(spk);
++game.abbrev[game.loc];
for (int i = game.atloc[game.loc]; i != 0; i = game.link[i]) {
long obj = i;
- if (obj > NOBJECTS)obj = obj - NOBJECTS;
+ if (obj > NOBJECTS)
+ obj = obj - NOBJECTS;
if (obj == STEPS && TOTING(NUGGET))
continue;
if (game.prop[obj] < 0) {
if (OUTSID(game.newloc) && game.newloc != 0 && game.closng) {
rspeak(EXIT_CLOSED);
game.newloc = game.loc;
- if (!game.panic)game.clock2 = PANICTIME;
+ if (!game.panic)
+ game.clock2 = PANICTIME;
game.panic = true;
}
}
msg = arbitrary_messages[PITCH_DARK];
}
- if (TOTING(BEAR))rspeak(TAME_BEAR);
+ if (TOTING(BEAR))
+ rspeak(TAME_BEAR);
speak(msg);
if (FORCED(game.loc)) {
if (playermove(command.verb, 1))