/* Clam and oyster both treated as clam for intransitive case;
* no harm done. */
if (HERE(CLAM) || HERE(OYSTER))obj=NOBJECTS*obj+CLAM;
/* Clam and oyster both treated as clam for intransitive case;
* no harm done. */
if (HERE(CLAM) || HERE(OYSTER))obj=NOBJECTS*obj+CLAM;
PSPEAK(VEND,game.prop[VEND]+2);
game.prop[VEND]=3-game.prop[VEND];
return GO_CLEAROBJ;
PSPEAK(VEND,game.prop[VEND]+2);
game.prop[VEND]=3-game.prop[VEND];
return GO_CLEAROBJ;
/* Blast. No effect unless you've got dynamite, which is a neat trick! */
{
if (game.prop[ROD2] < 0 || !game.closed)
/* Blast. No effect unless you've got dynamite, which is a neat trick! */
{
if (game.prop[ROD2] < 0 || !game.closed)
if (!HERE(BOTTLE) || LIQUID() != obj) {
if (TOTING(BOTTLE) && game.prop[BOTTLE] == 1)
return(fill(verb, BOTTLE));
if (!HERE(BOTTLE) || LIQUID() != obj) {
if (TOTING(BOTTLE) && game.prop[BOTTLE] == 1)
return(fill(verb, BOTTLE));
}
SETPRM(1,game.zzword,0);
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]);
}
SETPRM(1,game.zzword,0);
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]);
/* Z'ZZZ (word gets recomputed at startup; different each game). */
{
if (!AT(RESER) && game.loc != game.fixed[RESER]-1) {
/* Z'ZZZ (word gets recomputed at startup; different each game). */
{
if (!AT(RESER) && game.loc != game.fixed[RESER]-1) {
}
return(attack(cmdin, verb, 0));
}
if (randrange(NDWARVES+1) < game.dflag) {
}
return(attack(cmdin, verb, 0));
}
if (randrange(NDWARVES+1) < game.dflag) {
static int wake(token_t verb, token_t obj)
/* Wake. Only use is to disturb the dwarves. */
{
static int wake(token_t verb, token_t obj)
/* Wake. Only use is to disturb the dwarves. */
{
case 19: /* INVEN */ return inven();
case 20: /* FEED */ return GO_UNKNOWN;
case 21: /* FILL */ return fill(verb, obj);
case 19: /* INVEN */ return inven();
case 20: /* FEED */ return GO_UNKNOWN;
case 21: /* FILL */ return fill(verb, obj);
case 23: /* SCOR */ return vscore();
case 24: /* FOO */ return bigwords(WD1);
case 25: /* BRIEF */ return brief();
case 23: /* SCOR */ return vscore();
case 24: /* FOO */ return bigwords(WD1);
case 25: /* BRIEF */ return brief();
case 19: /* INVEN */ return find(verb, obj);
case 20: /* FEED */ return feed(verb, obj);
case 21: /* FILL */ return fill(verb, obj);
case 19: /* INVEN */ return find(verb, obj);
case 20: /* FEED */ return feed(verb, obj);
case 21: /* FILL */ return fill(verb, obj);
case 23: /* SCOR */ {RSPEAK(spk); return GO_CLEAROBJ;}
case 24: /* FOO */ {RSPEAK(spk); return GO_CLEAROBJ;}
case 25: /* BRIEF */ {RSPEAK(spk); return GO_CLEAROBJ;}
case 23: /* SCOR */ {RSPEAK(spk); return GO_CLEAROBJ;}
case 24: /* FOO */ {RSPEAK(spk); return GO_CLEAROBJ;}
case 25: /* BRIEF */ {RSPEAK(spk); return GO_CLEAROBJ;}