-#include "misc.h"
-#include "main.h"
-#include "share.h"
+#include "advent.h"
#include "funcs.h"
/* Carry an object. Special cases for bird and cage (if bird in cage, can't
K=2-PROP[RUG];
PROP[RUG]=K;
if(K == 2)K=PLAC[SAPPH];
- MOVE(RUG+100,K);
+ MOVE(RUG+NOBJECTS,K);
goto L9021;
L9024: if(OBJ != COINS || !HERE(VEND)) goto L9025;
L9026: if(OBJ != BEAR || !AT(TROLL)) goto L9027;
RSPEAK(163);
MOVE(TROLL,0);
- MOVE(TROLL+100,0);
+ MOVE(TROLL+NOBJECTS,0);
MOVE(TROLL2,PLAC[TROLL]);
- MOVE(TROLL2+100,FIXD[TROLL]);
+ MOVE(TROLL2+NOBJECTS,FIXD[TROLL]);
JUGGLE(CHASM);
PROP[TROLL]=2;
goto L9021;
I=ATDWRF(LOC);
if(OBJ != 0) goto L9124;
if(I > 0)OBJ=DWARF;
- if(HERE(SNAKE))OBJ=OBJ*100+SNAKE;
- if(AT(DRAGON) && PROP[DRAGON] == 0)OBJ=OBJ*100+DRAGON;
- if(AT(TROLL))OBJ=OBJ*100+TROLL;
- if(AT(OGRE))OBJ=OBJ*100+OGRE;
- if(HERE(BEAR) && PROP[BEAR] == 0)OBJ=OBJ*100+BEAR;
- if(OBJ > 100) return(8000);
+ if(HERE(SNAKE))OBJ=OBJ*NOBJECTS+SNAKE;
+ if(AT(DRAGON) && PROP[DRAGON] == 0)OBJ=OBJ*NOBJECTS+DRAGON;
+ if(AT(TROLL))OBJ=OBJ*NOBJECTS+TROLL;
+ if(AT(OGRE))OBJ=OBJ*NOBJECTS+OGRE;
+ if(HERE(BEAR) && PROP[BEAR] == 0)OBJ=OBJ*NOBJECTS+BEAR;
+ if(OBJ > NOBJECTS) return(8000);
if(OBJ != 0) goto L9124;
/* CAN'T ATTACK BIRD OR MACHINE BY THROWING AXE. */
if(HERE(BIRD) && VERB != THROW)OBJ=BIRD;
- if(HERE(VEND) && VERB != THROW)OBJ=OBJ*100+VEND;
+ if(HERE(VEND) && VERB != THROW)OBJ=OBJ*NOBJECTS+VEND;
/* CLAM AND OYSTER BOTH TREATED AS CLAM FOR INTRANSITIVE CASE; NO HARM DONE. */
- if(HERE(CLAM) || HERE(OYSTER))OBJ=100*OBJ+CLAM;
- if(OBJ > 100) return(8000);
-L9124: if(OBJ != BIRD) goto L9125;
- SPK=137;
- if(CLOSED) return(2011);
- DSTROY(BIRD);
- PROP[BIRD]=0;
- SPK=45;
+ if(HERE(CLAM) || HERE(OYSTER))OBJ=NOBJECTS*OBJ+CLAM;
+ if(OBJ > NOBJECTS) return(8000);
+L9124: if(OBJ == BIRD) {
+ SPK=137;
+ if(CLOSED) return(2011);
+ DSTROY(BIRD);
+ PROP[BIRD]=0;
+ SPK=45;
+ }
L9125: if(OBJ != VEND) goto L9126;
PSPEAK(VEND,PROP[VEND]+2);
PROP[VEND]=3-PROP[VEND];
PROP[DRAGON]=1;
PROP[RUG]=0;
K=(PLAC[DRAGON]+FIXD[DRAGON])/2;
- MOVE(DRAGON+100,-1);
- MOVE(RUG+100,0);
+ MOVE(DRAGON+NOBJECTS,-1);
+ MOVE(RUG+NOBJECTS,0);
MOVE(DRAGON,K);
MOVE(RUG,K);
DROP(BLOOD,K);
- for (OBJ=1; OBJ<=100; OBJ++) {
+ for (OBJ=1; OBJ<=NOBJECTS; OBJ++) {
if(PLACE[OBJ] == PLAC[DRAGON] || PLACE[OBJ] == FIXD[DRAGON])MOVE(OBJ,K);
/*etc*/ ;
} /* end loop */
RSPEAK(6);
DSTROY(OGRE);
K=0;
- /* 9129 */ for (I=1; I<=5; I++) {
- if(DLOC[I] != LOC) goto L9129;
- K=K+1;
- DLOC[I]=61;
- DSEEN[I]=false;
-L9129: /*etc*/ ;
- } /* end loop */
+ for (I=1; I<=5; I++) {
+ if(DLOC[I] == LOC) {
+ K=K+1;
+ DLOC[I]=61;
+ DSEEN[I]=false;
+ }
+ }
SPK=SPK+1+1/K;
- return(2011);
+ return(2011);
}
/* Throw. Same as discard unless axe. Then same as attack except ignore bird,
return(attack(cmdin));
L9172: SPK=48;
- if(randrange(7) < DFLAG) goto L9175;
+ if(randrange(NDWARVES+1) < DFLAG) goto L9175;
DSEEN[I]=false;
DLOC[I]=0;
SPK=47;
/* Snarf a treasure for the troll. */
DROP(OBJ,0);
MOVE(TROLL,0);
- MOVE(TROLL+100,0);
+ MOVE(TROLL+NOBJECTS,0);
DROP(TROLL2,PLAC[TROLL]);
- DROP(TROLL2+100,FIXD[TROLL]);
+ DROP(TROLL2+NOBJECTS,FIXD[TROLL]);
JUGGLE(CHASM);
return(2011);
}