Abstract out NOBJECTS (formerly magic number 100).
This commit is contained in:
parent
00c0da471d
commit
fd10d380df
6 changed files with 88 additions and 80 deletions
34
actions2.c
34
actions2.c
|
@ -89,7 +89,7 @@ L9023: if(!(GSTONE(OBJ) && AT(CAVITY) && PROP[CAVITY] != 0)) goto L9024;
|
|||
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;
|
||||
|
@ -107,9 +107,9 @@ L9025: if(OBJ != BIRD || !AT(DRAGON) || PROP[DRAGON] != 0) goto L9026;
|
|||
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;
|
||||
|
@ -133,19 +133,19 @@ int attack(FILE *input) {
|
|||
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);
|
||||
if(HERE(CLAM) || HERE(OYSTER))OBJ=NOBJECTS*OBJ+CLAM;
|
||||
if(OBJ > NOBJECTS) return(8000);
|
||||
L9124: if(OBJ == BIRD) {
|
||||
SPK=137;
|
||||
if(CLOSED) return(2011);
|
||||
|
@ -181,12 +181,12 @@ L9126: if(OBJ == 0)SPK=44;
|
|||
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 */
|
||||
|
@ -259,9 +259,9 @@ L9178: SPK=159;
|
|||
/* 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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue