-#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
* 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;
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(randrange(7) < DFLAG) goto L9175;
DSEEN[I]=false;
DLOC[I]=0;
SPK=47;