playermove() never returns false; simplify accordingly
This commit is contained in:
parent
f8166fdb89
commit
7740b163c8
1 changed files with 17 additions and 21 deletions
34
main.c
34
main.c
|
@ -515,14 +515,14 @@ static bool traveleq(long a, long b)
|
||||||
* him, so we need game.oldlc2, which is the last place he was
|
* him, so we need game.oldlc2, which is the last place he was
|
||||||
* safe.) */
|
* safe.) */
|
||||||
|
|
||||||
static bool playermove( int motion)
|
static void playermove( int motion)
|
||||||
{
|
{
|
||||||
int scratchloc, travel_entry = tkey[game.loc];
|
int scratchloc, travel_entry = tkey[game.loc];
|
||||||
game.newloc = game.loc;
|
game.newloc = game.loc;
|
||||||
if (travel_entry == 0)
|
if (travel_entry == 0)
|
||||||
BUG(LOCATION_HAS_NO_TRAVEL_ENTRIES); // LCOV_EXCL_LINE
|
BUG(LOCATION_HAS_NO_TRAVEL_ENTRIES); // LCOV_EXCL_LINE
|
||||||
if (motion == NUL)
|
if (motion == NUL)
|
||||||
return true;
|
return;
|
||||||
else if (motion == BACK) {
|
else if (motion == BACK) {
|
||||||
/* Handle "go back". Look for verb which goes from game.loc to
|
/* Handle "go back". Look for verb which goes from game.loc to
|
||||||
* game.oldloc, or to game.oldlc2 If game.oldloc has forced-motion.
|
* game.oldloc, or to game.oldlc2 If game.oldloc has forced-motion.
|
||||||
|
@ -554,7 +554,7 @@ static bool playermove( int motion)
|
||||||
travel_entry = te_tmp;
|
travel_entry = te_tmp;
|
||||||
if (travel_entry == 0) {
|
if (travel_entry == 0) {
|
||||||
rspeak(NOT_CONNECTED);
|
rspeak(NOT_CONNECTED);
|
||||||
return true;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -564,7 +564,7 @@ static bool playermove( int motion)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
rspeak(spk);
|
rspeak(spk);
|
||||||
return true;
|
return;
|
||||||
}
|
}
|
||||||
} else if (motion == LOOK) {
|
} else if (motion == LOOK) {
|
||||||
/* Look. Can't give more detail. Pretend it wasn't dark
|
/* Look. Can't give more detail. Pretend it wasn't dark
|
||||||
|
@ -575,11 +575,11 @@ static bool playermove( int motion)
|
||||||
++game.detail;
|
++game.detail;
|
||||||
game.wzdark = false;
|
game.wzdark = false;
|
||||||
game.abbrev[game.loc] = 0;
|
game.abbrev[game.loc] = 0;
|
||||||
return true;
|
return;
|
||||||
} else if (motion == CAVE) {
|
} else if (motion == CAVE) {
|
||||||
/* Cave. Different messages depending on whether above ground. */
|
/* Cave. Different messages depending on whether above ground. */
|
||||||
rspeak((OUTSID(game.loc) && game.loc != LOC_GRATE) ? FOLLOW_STREAM : NEED_DETAIL);
|
rspeak((OUTSID(game.loc) && game.loc != LOC_GRATE) ? FOLLOW_STREAM : NEED_DETAIL);
|
||||||
return true;
|
return;
|
||||||
} else {
|
} else {
|
||||||
/* none of the specials */
|
/* none of the specials */
|
||||||
game.oldlc2 = game.oldloc;
|
game.oldlc2 = game.oldloc;
|
||||||
|
@ -614,7 +614,7 @@ static bool playermove( int motion)
|
||||||
if (motion == CRAWL)
|
if (motion == CRAWL)
|
||||||
spk = WHICH_WAY;
|
spk = WHICH_WAY;
|
||||||
rspeak(spk);
|
rspeak(spk);
|
||||||
return true;
|
return;
|
||||||
}
|
}
|
||||||
++travel_entry;
|
++travel_entry;
|
||||||
}
|
}
|
||||||
|
@ -659,13 +659,13 @@ static bool playermove( int motion)
|
||||||
/* Found an eligible rule, now execute it */
|
/* Found an eligible rule, now execute it */
|
||||||
game.newloc = travel[travel_entry].dest;
|
game.newloc = travel[travel_entry].dest;
|
||||||
if (!SPECIAL(game.newloc))
|
if (!SPECIAL(game.newloc))
|
||||||
return true;
|
return;
|
||||||
|
|
||||||
if (game.newloc > 500) {
|
if (game.newloc > 500) {
|
||||||
/* Execute a speak rule */
|
/* Execute a speak rule */
|
||||||
rspeak(L_SPEAK(game.newloc));
|
rspeak(L_SPEAK(game.newloc));
|
||||||
game.newloc = game.loc;
|
game.newloc = game.loc;
|
||||||
return true;
|
return;
|
||||||
} else {
|
} else {
|
||||||
game.newloc -= SPECIALBASE;
|
game.newloc -= SPECIALBASE;
|
||||||
switch (game.newloc) {
|
switch (game.newloc) {
|
||||||
|
@ -681,7 +681,7 @@ static bool playermove( int motion)
|
||||||
game.newloc = game.loc;
|
game.newloc = game.loc;
|
||||||
rspeak(MUST_DROP);
|
rspeak(MUST_DROP);
|
||||||
}
|
}
|
||||||
return true;
|
return;
|
||||||
case 2:
|
case 2:
|
||||||
/* Travel 302. Plover transport. Drop the
|
/* Travel 302. Plover transport. Drop the
|
||||||
* emerald (only use special travel if toting
|
* emerald (only use special travel if toting
|
||||||
|
@ -717,13 +717,13 @@ static bool playermove( int motion)
|
||||||
move(TROLL + NOBJECTS, objects[TROLL].fixd);
|
move(TROLL + NOBJECTS, objects[TROLL].fixd);
|
||||||
juggle(CHASM);
|
juggle(CHASM);
|
||||||
game.newloc = game.loc;
|
game.newloc = game.loc;
|
||||||
return true;
|
return;
|
||||||
} else {
|
} else {
|
||||||
game.newloc = objects[TROLL].plac + objects[TROLL].fixd - game.loc;
|
game.newloc = objects[TROLL].plac + objects[TROLL].fixd - game.loc;
|
||||||
if (game.prop[TROLL] == TROLL_UNPAID)
|
if (game.prop[TROLL] == TROLL_UNPAID)
|
||||||
game.prop[TROLL] = TROLL_PAIDONCE;
|
game.prop[TROLL] = TROLL_PAIDONCE;
|
||||||
if (!TOTING(BEAR))
|
if (!TOTING(BEAR))
|
||||||
return true;
|
return;
|
||||||
rspeak(BRIDGE_COLLAPSE);
|
rspeak(BRIDGE_COLLAPSE);
|
||||||
game.prop[CHASM] = BRIDGE_WRECKED;
|
game.prop[CHASM] = BRIDGE_WRECKED;
|
||||||
game.prop[TROLL] = TROLL_GONE;
|
game.prop[TROLL] = TROLL_GONE;
|
||||||
|
@ -732,7 +732,7 @@ static bool playermove( int motion)
|
||||||
game.prop[BEAR] = BEAR_DEAD;
|
game.prop[BEAR] = BEAR_DEAD;
|
||||||
game.oldlc2 = game.newloc;
|
game.oldlc2 = game.newloc;
|
||||||
croak();
|
croak();
|
||||||
return true;
|
return;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
BUG(SPECIAL_TRAVEL_500_GT_L_GT_300_EXCEEDS_GOTO_LIST); // LCOV_EXCL_LINE
|
BUG(SPECIAL_TRAVEL_500_GT_L_GT_300_EXCEEDS_GOTO_LIST); // LCOV_EXCL_LINE
|
||||||
|
@ -1002,10 +1002,8 @@ static bool do_command()
|
||||||
rspeak(TAME_BEAR);
|
rspeak(TAME_BEAR);
|
||||||
speak(msg);
|
speak(msg);
|
||||||
if (FORCED(game.loc)) {
|
if (FORCED(game.loc)) {
|
||||||
if (playermove(HERE))
|
playermove(HERE);
|
||||||
return true;
|
return true;
|
||||||
else
|
|
||||||
continue; /* back to top of main interpreter loop */
|
|
||||||
}
|
}
|
||||||
if (game.loc == LOC_Y2 && PCT(25) && !game.closng)
|
if (game.loc == LOC_Y2 && PCT(25) && !game.closng)
|
||||||
rspeak(SAYS_PLUGH);
|
rspeak(SAYS_PLUGH);
|
||||||
|
@ -1144,10 +1142,8 @@ Lookup:
|
||||||
kmod = MOD(defn, 1000);
|
kmod = MOD(defn, 1000);
|
||||||
switch (defn / 1000) {
|
switch (defn / 1000) {
|
||||||
case 0:
|
case 0:
|
||||||
if (playermove(kmod))
|
playermove(kmod);
|
||||||
return true;
|
return true;
|
||||||
else
|
|
||||||
continue; /* back to top of main interpreter loop */
|
|
||||||
case 1:
|
case 1:
|
||||||
command.part = unknown;
|
command.part = unknown;
|
||||||
command.obj = kmod;
|
command.obj = kmod;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue