if(!TOTING(BOTTLE))SPK=104;
return(2011);
L9017: SPK=92;
- if(HOLDNG >= 7) return(2011);
+ if(game.holdng >= 7) return(2011);
if(OBJ != BIRD || PROP[BIRD] == 1 || -1-PROP[BIRD] == 1) goto L9014;
if(PROP[BIRD] == 2) goto L9015;
if(!TOTING(CAGE))SPK=27;
if(!TOTING(OBJ)) return(2011);
if(OBJ != BIRD || !HERE(SNAKE)) goto L9023;
RSPEAK(30);
- if(CLOSED) return(19000);
+ if(game.closed) return(19000);
DSTROY(SNAKE);
/* SET PROP FOR USE BY TRAVEL OPTIONS */
PROP[SNAKE]=1;
* objects fall into two categories: enemies (snake, dwarf, etc.) and others
* (bird, clam, machine). Ambiguous if 2 enemies, or no enemies but 2 others. */
-int attack() {
+int attack(FILE *input) {
I=ATDWRF(LOC);
if(OBJ != 0) goto L9124;
if(I > 0)OBJ=DWARF;
if(OBJ > 100) return(8000);
L9124: if(OBJ != BIRD) goto L9125;
SPK=137;
- if(CLOSED) return(2011);
+ if(game.closed) return(2011);
DSTROY(BIRD);
PROP[BIRD]=0;
SPK=45;
if(OBJ == CLAM || OBJ == OYSTER)SPK=150;
if(OBJ == SNAKE)SPK=46;
if(OBJ == DWARF)SPK=49;
- if(OBJ == DWARF && CLOSED) return(19000);
+ if(OBJ == DWARF && game.closed) return(19000);
if(OBJ == DRAGON)SPK=167;
if(OBJ == TROLL)SPK=157;
if(OBJ == OGRE)SPK=203;
if(OBJ != DRAGON || PROP[DRAGON] != 0) return(2011);
/* Fun stuff for dragon. If he insists on attacking it, win! Set PROP to dead,
* move dragon to central loc (still fixed), move rug there (not fixed), and
- * move him there, too. then do a null motion to get new description. */
+ * move him there, too. Then do a null motion to get new description. */
RSPEAK(49);
VERB=0;
OBJ=0;
- GETIN(WD1,WD1X,WD2,WD2X);
+ GETIN(input,WD1,WD1X,WD2,WD2X);
if(WD1 != MAKEWD(25) && WD1 != MAKEWD(250519)) return(2607);
PSPEAK(DRAGON,3);
PROP[DRAGON]=1;
* and if dwarf is present then one might be killed. (Only way to do so!)
* Axe also special for dragon, bear, and troll. Treasures special for troll. */
-int throw() {
+int throw(FILE *cmdin) {
if(TOTING(ROD2) && OBJ == ROD && !TOTING(ROD))OBJ=ROD2;
if(!TOTING(OBJ)) return(2011);
if(OBJ >= 50 && OBJ <= MAXTRS && AT(TROLL)) goto L9178;
if(AT(OGRE)) goto L9175;
if(HERE(BEAR) && PROP[BEAR] == 0) goto L9176;
OBJ=0;
- return(attack());
+ return(attack(cmdin));
L9172: SPK=48;
- if(RAN(7) < DFLAG) goto L9175;
+ if(RAN(7) < game.dflag) goto L9175;
DSEEN[I]=false;
DLOC[I]=0;
SPK=47;
- DKILL=DKILL+1;
- if(DKILL == 1)SPK=149;
+ game.dkill=game.dkill+1;
+ if(game.dkill == 1)SPK=149;
L9175: RSPEAK(SPK);
DROP(AXE,LOC);
K=NUL;
return(2011);
}
-/* Feed. If bird, no seed. snake, dragon, troll: quip. If dwarf, make him
+/* Feed. If bird, no seed. Snake, dragon, troll: quip. If dwarf, make him
* mad. Bear, special. */
int feed() {
SPK=102;
if(OBJ == DRAGON && PROP[DRAGON] != 0)SPK=110;
if(OBJ == TROLL)SPK=182;
- if(OBJ != SNAKE || CLOSED || !HERE(BIRD)) return(2011);
+ if(OBJ != SNAKE || game.closed || !HERE(BIRD)) return(2011);
SPK=101;
DSTROY(BIRD);
PROP[BIRD]=0;
L9213: if(OBJ != DWARF) goto L9214;
if(!HERE(FOOD)) return(2011);
SPK=103;
- DFLAG=DFLAG+2;
+ game.dflag=game.dflag+2;
return(2011);
L9214: if(OBJ != BEAR) goto L9215;