} else {
DESTROY(BLOOD);
game.prop[DRAGON] = 2;
- OBJSND[BIRD] = OBJSND[BIRD] + 3;
+ game.blooded = true;
spk = HEAD_BUZZES;
}
rspeak(spk);
for (int i = 1; i <= NOBJECTS; i++) {
if (!HERE(i) || OBJSND[i] == 0 || game.prop[i] < 0)
continue;
- pspeak(i, OBJSND[i] + game.prop[i], game.zzword);
+ int mi = OBJSND[i] + game.prop[i];
+ if (i == BIRD)
+ mi += 3 * game.blooded;
+ pspeak(i, mi, game.zzword);
spk = NO_MESSAGE;
if (i == BIRD && OBJSND[i] + game.prop[i] == 8)
DESTROY(BIRD);
if (DARK(game.loc)) {
rspeak(NO_SEE, command.wd1, command.wd1x);
+ } else if (command.obj == OYSTER && !game.clshnt && game.closed) {
+ game.clshnt = YES(arbitrary_messages[CLUE_QUERY], arbitrary_messages[WAYOUT_CLUE], arbitrary_messages[OK_MAN]);
} else if (OBJTXT[command.obj] == 0 || game.prop[command.obj] < 0) {
rspeak(ACTSPK[command.verb]);
- } else if (command.obj == OYSTER && !game.clshnt) {
- game.clshnt = YES(arbitrary_messages[CLUE_QUERY], arbitrary_messages[WAYOUT_CLUE], arbitrary_messages[OK_MAN]);
} else
pspeak(command.obj, OBJTXT[command.obj] + game.prop[command.obj]);
return GO_CLEAROBJ;