-L5110: if(K == DWARF && ATDWRF(LOC) > 0) goto L5010;
- if((LIQ(0) == K && HERE(BOTTLE)) || K == LIQLOC(LOC)) goto L5010;
- if(OBJ != OIL || !HERE(URN) || PROP[URN] == 0) goto L5120;
+L5110: if(K == DWARF && ATDWRF(game.loc) > 0) goto L5010;
+ if((LIQ(0) == K && HERE(BOTTLE)) || K == LIQLOC(game.loc)) goto L5010;
+ if(OBJ != OIL || !HERE(URN) || game.prop[URN] == 0) goto L5120;
-L9043: K=34+PROP[GRATE];
- PROP[GRATE]=1;
- if(VERB == LOCK)PROP[GRATE]=0;
- K=K+2*PROP[GRATE];
+L9043: K=34+game.prop[GRATE];
+ game.prop[GRATE]=1;
+ if(VERB == LOCK)game.prop[GRATE]=0;
+ K=K+2*game.prop[GRATE];
-L8070: if(HERE(LAMP) && PROP[LAMP] == 0 && game.limit >= 0)OBJ=LAMP;
- if(HERE(URN) && PROP[URN] == 1)OBJ=OBJ*NOBJECTS+URN;
+L8070: if(HERE(LAMP) && game.prop[LAMP] == 0 && game.limit >= 0)OBJ=LAMP;
+ if(HERE(URN) && game.prop[URN] == 1)OBJ=OBJ*NOBJECTS+URN;
if(OBJ == 0 || OBJ > NOBJECTS) return(8000);
L9070: if(OBJ == URN) goto L9073;
if(OBJ != LAMP) return(2011);
SPK=184;
if(game.limit < 0) return(2011);
if(OBJ == 0 || OBJ > NOBJECTS) return(8000);
L9070: if(OBJ == URN) goto L9073;
if(OBJ != LAMP) return(2011);
SPK=184;
if(game.limit < 0) return(2011);
-L8080: if(HERE(LAMP) && PROP[LAMP] == 1)OBJ=LAMP;
- if(HERE(URN) && PROP[URN] == 2)OBJ=OBJ*NOBJECTS+URN;
+L8080: if(HERE(LAMP) && game.prop[LAMP] == 1)OBJ=LAMP;
+ if(HERE(URN) && game.prop[URN] == 2)OBJ=OBJ*NOBJECTS+URN;
L9090: if((!TOTING(OBJ)) && (OBJ != ROD || !TOTING(ROD2)))SPK=29;
if(OBJ != ROD || !TOTING(OBJ) || (!HERE(BIRD) && (game.closng || !AT(FISSUR))))
return(2011);
L9090: if((!TOTING(OBJ)) && (OBJ != ROD || !TOTING(ROD2)))SPK=29;
if(OBJ != ROD || !TOTING(OBJ) || (!HERE(BIRD) && (game.closng || !AT(FISSUR))))
return(2011);
- if(HERE(BIRD))SPK=206+MOD(PROP[BIRD],2);
- if(SPK == 206 && LOC == game.place[STEPS] && PROP[JADE] < 0) goto L9094;
+ if(HERE(BIRD))SPK=206+MOD(game.prop[BIRD],2);
+ if(SPK == 206 && game.loc == game.place[STEPS] && game.prop[JADE] < 0) goto L9094;
if(game.closed) return(18999);
if(game.closng || !AT(FISSUR)) return(2011);
if(HERE(BIRD))RSPEAK(SPK);
if(game.closed) return(18999);
if(game.closng || !AT(FISSUR)) return(2011);
if(HERE(BIRD))RSPEAK(SPK);
- PROP[FISSUR]=1-PROP[FISSUR];
- PSPEAK(FISSUR,2-PROP[FISSUR]);
+ game.prop[FISSUR]=1-game.prop[FISSUR];
+ PSPEAK(FISSUR,2-game.prop[FISSUR]);
/* Pour. If no object, or object is bottle, assume contents of bottle.
* special tests for pouring water or oil on plant or rusty door. */
/* Pour. If no object, or object is bottle, assume contents of bottle.
* special tests for pouring water or oil on plant or rusty door. */
- PSPEAK(PLANT,PROP[PLANT]+3);
- PROP[PLANT]=MOD(PROP[PLANT]+1,3);
- PROP[PLANT2]=PROP[PLANT];
+ PSPEAK(PLANT,game.prop[PLANT]+3);
+ game.prop[PLANT]=MOD(game.prop[PLANT]+1,3);
+ game.prop[PLANT2]=game.prop[PLANT];
/* Drink. If no object, assume water and look for it here. If water is in
* the bottle, drink that, else must be at a water loc, so drink stream. */
/* Drink. If no object, assume water and look for it here. If water is in
* the bottle, drink that, else must be at a water loc, so drink stream. */
return(8000);
if(OBJ == BLOOD) goto L9153;
if(OBJ != 0 && OBJ != WATER)SPK=110;
if(SPK == 110 || LIQ(0) != WATER || !HERE(BOTTLE)) return(2011);
return(8000);
if(OBJ == BLOOD) goto L9153;
if(OBJ != 0 && OBJ != WATER)SPK=110;
if(SPK == 110 || LIQ(0) != WATER || !HERE(BOTTLE)) return(2011);
-L9190: if(AT(OBJ) || (LIQ(0) == OBJ && AT(BOTTLE)) || K == LIQLOC(LOC) || (OBJ ==
- DWARF && ATDWRF(LOC) > 0))SPK=94;
+L9190: if(AT(OBJ) || (LIQ(0) == OBJ && AT(BOTTLE)) || K == LIQLOC(game.loc) || (OBJ ==
+ DWARF && ATDWRF(game.loc) > 0))SPK=94;
-/* FEE FIE FOE FOO (AND FUM). ADVANCE TO NEXT STATE IF GIVEN IN PROPER ORDER.
- * LOOK UP WD1 IN SECTION 3 OF VOCAB TO DETERMINE WHICH WORD WE'VE GOT. LAST
- * WORD ZIPS THE EGGS BACK TO THE GIANT ROOM (UNLESS ALREADY THERE). */
+/* FEE FIE FOE FOO (AND FUM). Advance to next state if given in proper order.
+ * Look up WD1 in section 3 of vocab to determine which word we've got. Last
+ * word zips the eggs back to the giant room (unless already there). */
/* Read. Print stuff based on objtxt. Oyster (?) is special case. */
L8270: for (I=1; I<=NOBJECTS; I++) {
/* Read. Print stuff based on objtxt. Oyster (?) is special case. */
L8270: for (I=1; I<=NOBJECTS; I++) {
return(2012);
L9275: game.clshnt=YES(input,192,193,54);
return(2012);
L9275: game.clshnt=YES(input,192,193,54);
/* Break. Only works for mirror in repository and, of course, the vase. */
L9280: if(OBJ == MIRROR)SPK=148;
/* Break. Only works for mirror in repository and, of course, the vase. */
L9280: if(OBJ == MIRROR)SPK=148;
* with junk variables to bring it up to 7 values. */
SAVWDS(game.abbnum,game.blklin,game.bonus,game.clock1,game.clock2,game.closed,game.closng);
SAVWDS(game.detail,game.dflag,game.dkill,game.dtotal,game.foobar,game.holdng,game.iwest);
* with junk variables to bring it up to 7 values. */
SAVWDS(game.abbnum,game.blklin,game.bonus,game.clock1,game.clock2,game.closed,game.closng);
SAVWDS(game.detail,game.dflag,game.dkill,game.dtotal,game.foobar,game.holdng,game.iwest);
- SAVWDS(game.knfloc,game.limit,LL,game.lmwarn,LOC,game.newloc,game.numdie);
+ SAVWDS(game.knfloc,game.limit,K,game.lmwarn,game.loc,game.newloc,game.numdie);
SAVWDS(OBJ,game.oldlc2,game.oldloc,game.oldobj,game.panic,game.saved,game.setup);
SAVWDS(SPK,game.tally,game.thresh,game.trndex,game.trnluz,game.turns,OBJTXT[OYSTER]);
SAVWDS(VERB,WD1,WD1X,WD2,game.wzdark,game.zzword,OBJSND[BIRD]);
SAVWDS(OBJ,game.oldlc2,game.oldloc,game.oldobj,game.panic,game.saved,game.setup);
SAVWDS(SPK,game.tally,game.thresh,game.trndex,game.trnluz,game.turns,OBJTXT[OYSTER]);
SAVWDS(VERB,WD1,WD1X,WD2,game.wzdark,game.zzword,OBJSND[BIRD]);
SAVARR(game.dseen,NDWARVES);
SAVARR(game.fixed,NOBJECTS);
SAVARR(game.hinted,HNTSIZ);
SAVARR(game.dseen,NDWARVES);
SAVARR(game.fixed,NOBJECTS);
SAVARR(game.hinted,HNTSIZ);
SAVARR(game.link,NOBJECTS*2);
SAVARR(game.odloc,NDWARVES);
SAVARR(game.place,NOBJECTS);
SAVARR(game.link,NOBJECTS*2);
SAVARR(game.odloc,NDWARVES);
SAVARR(game.place,NOBJECTS);
RSPEAK(268);
if(!YES(input,200,54,54)) return(2012);
goto L8305;
RSPEAK(268);
if(!YES(input,200,54,54)) return(2012);
goto L8305;
if(K == 0) goto L8332;
RSPEAK(labs(K));
if(K < 0) return(2012);
SPK=0;
L8332: SETPRM(1,game.zzword,0);
/* 8335 */ for (I=1; I<=NOBJECTS; I++) {
if(K == 0) goto L8332;
RSPEAK(labs(K));
if(K < 0) return(2012);
SPK=0;
L8332: SETPRM(1,game.zzword,0);
/* 8335 */ for (I=1; I<=NOBJECTS; I++) {
- if(!HERE(I) || OBJSND[I] == 0 || PROP[I] < 0) goto L8335;
- PSPEAK(I,OBJSND[I]+PROP[I]);
+ if(!HERE(I) || OBJSND[I] == 0 || game.prop[I] < 0) goto L8335;
+ PSPEAK(I,OBJSND[I]+game.prop[I]);
-L8340: if(!AT(RESER) && LOC != game.fixed[RESER]-1) return(2011);
- PSPEAK(RESER,PROP[RESER]+1);
- PROP[RESER]=1-PROP[RESER];
+L8340: if(!AT(RESER) && game.loc != game.fixed[RESER]-1) return(2011);
+ PSPEAK(RESER,game.prop[RESER]+1);
+ game.prop[RESER]=1-game.prop[RESER];