RSPEAK(spk);
return GO_CLEAROBJ;
}
- DSTROY(BIRD);
+ DESTROY(BIRD);
game.prop[BIRD]=0;
spk=BIRD_DEAD;
}
if (obj == OGRE && d > 0) {
RSPEAK(spk);
RSPEAK(KNIFE_THROWN);
- DSTROY(OGRE);
+ DESTROY(OGRE);
int dwarves=0;
for (int i=1; i < PIRATE; i++) {
if (game.dloc[i] == game.loc) {
if (!TOTING(TRIDNT))spk= is_oyster ? OYSTER_OPENER : CLAM_OPENER;
if (verb == LOCK)spk=HUH_MAN;
if (spk == PEARL_FALLS) {
- DSTROY(CLAM);
+ DESTROY(CLAM);
DROP(OYSTER,game.loc);
DROP(PEARL,LOC_CULDESAC);
}
if (obj == SIGN)spk=HAND_PASSTHROUGH;
if (obj == MESSAG) {
RSPEAK(REMOVE_MESSAGE);
- DSTROY(MESSAG);
+ DESTROY(MESSAG);
return GO_CLEAROBJ;
}
if (game.fixed[obj] != 0) {
}
else if (obj == BIRD && game.prop[BIRD] != 1 && -1-game.prop[BIRD] != 1) {
if (game.prop[BIRD] == 2) {
- DSTROY(BIRD);
+ DESTROY(BIRD);
RSPEAK(BIRD_CRAP);
return GO_CLEAROBJ;
}
if (obj == BIRD && HERE(SNAKE)) {
RSPEAK(BIRD_ATTACKS);
if (game.closed) return GO_DWARFWAKE;
- DSTROY(SNAKE);
+ DESTROY(SNAKE);
/* Set game.prop for use by travel options */
game.prop[SNAKE]=1;
}
}
} else if (obj == COINS && HERE(VEND)) {
- DSTROY(COINS);
+ DESTROY(COINS);
DROP(BATTER,game.loc);
PSPEAK(BATTER,0);
return GO_CLEAROBJ;
} else if (obj == BIRD && AT(DRAGON) && game.prop[DRAGON] == 0) {
RSPEAK(BIRD_BURNT);
- DSTROY(BIRD);
+ DESTROY(BIRD);
game.prop[BIRD]=0;
return GO_CLEAROBJ;
} else if (obj == BEAR && AT(TROLL)) {
spk=BOTTLE_EMPTY;
}
} else {
- DSTROY(BLOOD);
+ DESTROY(BLOOD);
game.prop[DRAGON]=2;
OBJSND[BIRD]=OBJSND[BIRD]+3;
spk=HEAD_BUZZES;
if (obj == INTRANSITIVE) {
if (!HERE(FOOD))
return GO_UNKNOWN;
- DSTROY(FOOD);
+ DESTROY(FOOD);
spk=THANKS_DELICIOUS;
} else {
if (obj == FOOD) {
- DSTROY(FOOD);
+ DESTROY(FOOD);
spk=THANKS_DELICIOUS;
}
if (obj == BIRD || obj == SNAKE || obj == CLAM || obj == OYSTER || obj ==
if (obj == DRAGON && game.prop[DRAGON] != 0)spk=RIDICULOUS_ATTEMPT;
if (obj == TROLL)spk=TROLL_VICES;
if (obj == SNAKE && !game.closed && HERE(BIRD)) {
- DSTROY(BIRD);
+ DESTROY(BIRD);
game.prop[BIRD]=0;
spk = BIRD_DEVOURED;
}
if (game.prop[BEAR] == 0)spk=NOTHING_EDIBLE;
if (game.prop[BEAR] == 3)spk=RIDICULOUS_ATTEMPT;
if (HERE(FOOD)) {
- DSTROY(FOOD);
+ DESTROY(FOOD);
game.prop[BEAR]=1;
game.fixed[AXE]=0;
game.prop[AXE]=0;
PSPEAK(i,OBJSND[i]+game.prop[i]);
spk=ARB_0;
if (i == BIRD && OBJSND[i]+game.prop[i] == 8)
- DSTROY(BIRD);
+ DESTROY(BIRD);
}
RSPEAK(spk);
return GO_CLEAROBJ;
if (obj != LAMP)
spk=PECULIAR_NOTHING;
if (obj == URN && game.prop[URN] == 2) {
- DSTROY(URN);
+ DESTROY(URN);
DROP(AMBER,game.loc);
game.prop[AMBER]=1;
--game.tally;
extern token_t MAKEWD(long);
extern void TYPE0(void);
extern long VOCAB(long,long);
-extern void DSTROY(long);
extern void JUGGLE(long);
extern void MOVE(long,long);
extern long PUT(long,long,long);
* PCT(N) = true N% of the time (N integer from 0 to 100)
* TOTING(OBJ) = true if the OBJ is being carried */
+#define DESTROY(N) MOVE(N, NOWHERE)
#define MOD(N,M) ((N) % (M))
#define TOTING(OBJ) (game.place[OBJ] == CARRIED)
#define AT(OBJ) (game.place[OBJ] == game.loc || game.fixed[OBJ] == game.loc)
#define CNDBIT(L,N) (TSTBIT(COND[L],N))
#define FORCED(LOC) (COND[LOC] == 2)
#define DARK(DUMMY) ((!CNDBIT(game.loc,LIGHT)) && (game.prop[LAMP] == 0 || !HERE(LAMP)))
-#define PCT(N) (randrange(100) < (N))
+#define PCT(N) (randrange(100) < (N))
#define GSTONE(OBJ) ((OBJ) == EMRALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH)
#define FOREST(LOC) ((LOC) >= LOC_FOREST1 && (LOC) <= LOC_FOREST22)
#define VOCWRD(LETTRS,SECT) (VOCAB(MAKEWD(LETTRS),SECT))
MOVE(TROLL2,PLAC[TROLL]);
MOVE(TROLL2+NOBJECTS,FIXD[TROLL]);
JUGGLE(CHASM);
- if (game.prop[BEAR] != 3)DSTROY(BEAR);
+ if (game.prop[BEAR] != 3)DESTROY(BEAR);
game.prop[CHAIN]=0;
game.fixed[CHAIN]=0;
game.prop[AXE]=0;
for (int i=1; i<=NOBJECTS; i++) {
if (TOTING(i))
- DSTROY(i);
+ DESTROY(i);
}
RSPEAK(CAVE_CLOSED);
BUG(21);
}
-void DSTROY(long object)
-/* Permanently eliminate "object" by moving to a non-existent location. */
-{
- MOVE(object,0);
-}
-
void JUGGLE(long object)
/* Juggle an object by picking it up and putting it down again, the purpose
* being to get the object to the front of the chain of things at its loc. */