Unspk'd fly command

This commit is contained in:
NHOrus 2017-07-03 06:29:02 +03:00
parent 8b3ef7ca78
commit ac65f3fd5f

View file

@ -700,36 +700,36 @@ static int find(token_t verb, token_t obj)
static int fly(token_t verb, token_t obj) static int fly(token_t verb, token_t obj)
/* Fly. Snide remarks unless hovering rug is here. */ /* Fly. Snide remarks unless hovering rug is here. */
{ {
int spk = actions[verb].message;
if (obj == INTRANSITIVE) { if (obj == INTRANSITIVE) {
if (game.prop[RUG] != RUG_HOVER) if (!HERE(RUG)) {
spk = RUG_NOTHING2; rspeak(FLAP_ARMS);
if (!HERE(RUG)) return GO_CLEAROBJ;
spk = FLAP_ARMS; }
if (spk == RUG_NOTHING2 || spk == FLAP_ARMS) { if (game.prop[RUG] != RUG_HOVER) {
rspeak(spk); rspeak(RUG_NOTHING2);
return GO_CLEAROBJ; return GO_CLEAROBJ;
} }
obj = RUG; obj = RUG;
} }
if (obj != RUG) { if (obj != RUG) {
rspeak(spk); rspeak(actions[verb].message);
return GO_CLEAROBJ; return GO_CLEAROBJ;
} }
spk = RUG_NOTHING1;
if (game.prop[RUG] != RUG_HOVER) { if (game.prop[RUG] != RUG_HOVER) {
rspeak(spk); rspeak(RUG_NOTHING1);
return GO_CLEAROBJ; return GO_CLEAROBJ;
} }
game.oldlc2 = game.oldloc; game.oldlc2 = game.oldloc;
game.oldloc = game.loc; game.oldloc = game.loc;
/* FIXME: Arithmetic on location values */ /* FIXME: Arithmetic on location values */
game.newloc = game.place[RUG] + game.fixed[RUG] - game.loc; game.newloc = game.place[RUG] + game.fixed[RUG] - game.loc;
spk = RUG_GOES;
if (game.prop[SAPPH] >= 0) if (game.prop[SAPPH] >= 0) {
spk = RUG_RETURNS; rspeak(RUG_RETURNS);
rspeak(spk); } else {
rspeak(RUG_GOES);
}
return GO_TERMINATE; return GO_TERMINATE;
} }