rspeak(RUG_NOTHING1);
return GO_CLEAROBJ;
}
- game.oldlc2 = game.oldloc;
- game.oldloc = game.loc;
- if (game.prop[SAPPH] == STATE_NOTFOUND) {
- game.newloc = game.place[SAPPH];
+ if (game.loc == LOC_CLIFF) {
+ game.oldlc2 = game.oldloc;
+ game.oldloc = game.loc;
+ game.newloc = LOC_LEDGE;
rspeak(RUG_GOES);
- } else {
+ } else if (game.loc == LOC_LEDGE) {
+ game.oldlc2 = game.oldloc;
+ game.oldloc = game.loc;
game.newloc = LOC_CLIFF;
rspeak(RUG_RETURNS);
+ } else {
+ /* should never happen */
+ rspeak(NOTHING_HAPPENS);
}
return GO_TERMINATE;
}
/* FALL THROUGH */;
else if (command.obj == DWARF && atdwrf(game.loc) > 0)
/* FALL THROUGH */;
- else if ((LIQUID() == command.obj && HERE(BOTTLE)) ||
- command.obj == LIQLOC(game.loc))
+ else if (!game.closed && ((LIQUID() == command.obj && HERE(BOTTLE)) ||
+ command.obj == LIQLOC(game.loc)))
/* FALL THROUGH */;
else if (command.obj == OIL && HERE(URN) && game.prop[URN] != URN_EMPTY) {
command.obj = URN;