/* This stuff was broken off as part of an effort to get the main program
* to compile without running out of memory. We're called with a number
/* This stuff was broken off as part of an effort to get the main program
* to compile without running out of memory. We're called with a number
/* Lock, unlock object. Special stuff for opening clam/oyster and for chain. */
L9040: if(OBJ == CLAM || OBJ == OYSTER) goto L9046;
/* Lock, unlock object. Special stuff for opening clam/oyster and for chain. */
L9040: if(OBJ == CLAM || OBJ == OYSTER) goto L9046;
- if(OBJ == DOOR)game.spk=111;
- if(OBJ == DOOR && PROP[DOOR] == 1)game.spk=54;
- if(OBJ == CAGE)game.spk=32;
- if(OBJ == KEYS)game.spk=55;
- if(OBJ == GRATE || OBJ == CHAIN)game.spk=31;
- if(game.spk != 31 || !HERE(KEYS)) return(2011);
+ if(OBJ == DOOR)SPK=111;
+ if(OBJ == DOOR && PROP[DOOR] == 1)SPK=54;
+ if(OBJ == CAGE)SPK=32;
+ if(OBJ == KEYS)SPK=55;
+ if(OBJ == GRATE || OBJ == CHAIN)SPK=31;
+ if(SPK != 31 || !HERE(KEYS)) return(2011);
- game.spk=124+K;
- if(TOTING(OBJ))game.spk=120+K;
- if(!TOTING(TRIDNT))game.spk=122+K;
- if(VERB == LOCK)game.spk=61;
- if(game.spk != 124) return(2011);
+ SPK=124+K;
+ if(TOTING(OBJ))SPK=120+K;
+ if(!TOTING(TRIDNT))SPK=122+K;
+ if(VERB == LOCK)SPK=61;
+ if(SPK != 124) return(2011);
- game.spk=171;
- if(PROP[BEAR] == 0)game.spk=41;
- if(PROP[CHAIN] == 0)game.spk=37;
- if(game.spk != 171) return(2011);
+ SPK=171;
+ if(PROP[BEAR] == 0)SPK=41;
+ if(PROP[CHAIN] == 0)SPK=37;
+ if(SPK != 171) return(2011);
-L9049: game.spk=172;
- if(PROP[CHAIN] != 0)game.spk=34;
- if(LOC != PLAC[CHAIN])game.spk=173;
- if(game.spk != 172) return(2011);
+L9049: SPK=172;
+ if(PROP[CHAIN] != 0)SPK=34;
+ if(LOC != PLAC[CHAIN])SPK=173;
+ if(SPK != 172) return(2011);
/* Light. Applicable only to lamp and urn. */
L8070: if(HERE(LAMP) && PROP[LAMP] == 0 && game.limit >= 0)OBJ=LAMP;
/* Light. Applicable only to lamp and urn. */
L8070: if(HERE(LAMP) && PROP[LAMP] == 0 && game.limit >= 0)OBJ=LAMP;
PROP[URN]=2;
return(2011);
/* Extinguish. Lamp, urn, dragon/volcano (nice try). */
L8080: if(HERE(LAMP) && PROP[LAMP] == 1)OBJ=LAMP;
PROP[URN]=2;
return(2011);
/* Extinguish. Lamp, urn, dragon/volcano (nice try). */
L8080: if(HERE(LAMP) && PROP[LAMP] == 1)OBJ=LAMP;
- if(HERE(BIRD))game.spk=206+MOD(PROP[BIRD],2);
- if(game.spk == 206 && LOC == PLACE[STEPS] && PROP[JADE] < 0) goto L9094;
+ if(HERE(BIRD))SPK=206+MOD(PROP[BIRD],2);
+ if(SPK == 206 && LOC == PLACE[STEPS] && PROP[JADE] < 0) goto L9094;
PROP[FISSUR]=1-PROP[FISSUR];
PSPEAK(FISSUR,2-PROP[FISSUR]);
return(2012);
PROP[FISSUR]=1-PROP[FISSUR];
PSPEAK(FISSUR,2-PROP[FISSUR]);
return(2012);
L9130: if(OBJ == BOTTLE || OBJ == 0)OBJ=LIQ(0);
if(OBJ == 0) return(8000);
if(!TOTING(OBJ)) return(2011);
L9130: if(OBJ == BOTTLE || OBJ == 0)OBJ=LIQ(0);
if(OBJ == 0) return(8000);
if(!TOTING(OBJ)) return(2011);
if(OBJ != WATER) return(2011);
PSPEAK(PLANT,PROP[PLANT]+3);
PROP[PLANT]=MOD(PROP[PLANT]+1,3);
if(OBJ != WATER) return(2011);
PSPEAK(PLANT,PROP[PLANT]+3);
PROP[PLANT]=MOD(PROP[PLANT]+1,3);
return(2011);
L9140: if(OBJ == FOOD) goto L8142;
if(OBJ == BIRD || OBJ == SNAKE || OBJ == CLAM || OBJ == OYSTER || OBJ ==
DWARF || OBJ == DRAGON || OBJ == TROLL || OBJ == BEAR || OBJ ==
return(2011);
L9140: if(OBJ == FOOD) goto L8142;
if(OBJ == BIRD || OBJ == SNAKE || OBJ == CLAM || OBJ == OYSTER || OBJ ==
DWARF || OBJ == DRAGON || OBJ == TROLL || OBJ == BEAR || OBJ ==
L9150: if(OBJ == 0 && LIQLOC(LOC) != WATER && (LIQ(0) != WATER || !HERE(BOTTLE)))
return(8000);
if(OBJ == BLOOD) goto L9153;
L9150: if(OBJ == 0 && LIQLOC(LOC) != WATER && (LIQ(0) != WATER || !HERE(BOTTLE)))
return(8000);
if(OBJ == BLOOD) goto L9153;
- if(OBJ != 0 && OBJ != WATER)game.spk=110;
- if(game.spk == 110 || LIQ(0) != WATER || !HERE(BOTTLE)) return(2011);
+ if(OBJ != 0 && OBJ != WATER)SPK=110;
+ if(SPK == 110 || LIQ(0) != WATER || !HERE(BOTTLE)) return(2011);
/* Find. Might be carrying it, or it might be here. Else give caveat. */
L9190: if(AT(OBJ) || (LIQ(0) == OBJ && AT(BOTTLE)) || K == LIQLOC(LOC) || (OBJ ==
/* Find. Might be carrying it, or it might be here. Else give caveat. */
L9190: if(AT(OBJ) || (LIQ(0) == OBJ && AT(BOTTLE)) || K == LIQLOC(LOC) || (OBJ ==
- DWARF && ATDWRF(LOC) > 0))game.spk=94;
- if(game.closed)game.spk=138;
- if(TOTING(OBJ))game.spk=24;
+ DWARF && ATDWRF(LOC) > 0))SPK=94;
+ if(game.closed)SPK=138;
+ if(TOTING(OBJ))SPK=24;
-L9275: game.clshint=YES(input,192,193,54);
+L9275: game.clshnt=YES(input,192,193,54);
/* Wake. Only use is to disturb the dwarves. */
L9290: if(OBJ != DWARF || !game.closed) return(2011);
/* Wake. Only use is to disturb the dwarves. */
L9290: if(OBJ != DWARF || !game.closed) return(2011);
return(18999);
/* Suspend. Offer to save things in a file, but charging some points (so
* can't win by using saved games to retry battles or to start over after
* learning zzword). */
return(18999);
/* Suspend. Offer to save things in a file, but charging some points (so
* can't win by using saved games to retry battles or to start over after
* learning zzword). */
RSPEAK(260);
if(!YES(input,200,54,54)) return(2012);
game.saved=game.saved+5;
RSPEAK(260);
if(!YES(input,200,54,54)) return(2012);
game.saved=game.saved+5;
/* This next part is shared with the "resume" code. The two cases are
* distinguished by the value of kk (-1 for suspend, +1 for resume). */
/* This next part is shared with the "resume" code. The two cases are
* distinguished by the value of kk (-1 for suspend, +1 for resume). */
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.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(OBJ,game.oldlc2,game.oldloc,game.oldobj,game.panic,game.saved,game.setup);
- SAVWDS(game.spk,game.tally,game.thresh,game.trndex,game.trnluz,game.turns,OBJTXT[OYSTER]);
+ SAVWDS(OBJ,game.oldlc2,game.oldloc,game.oldobj,game.panic,game.saved,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(VERB,WD1,WD1X,WD2,game.wzdark,game.zzword,OBJSND[BIRD]);
- SAVWDS(OBJTXT[SIGN],game.clshint,game.novice,K,K,K,K);
- SAVARR(ABB,LOCSIZ);
+ SAVWDS(OBJTXT[SIGN],game.clshnt,game.novice,K,K,K,K);
+ SAVARR(game.abbrev,LOCSIZ);
RSPEAK(268);
if(!YES(input,200,54,54)) return(2012);
goto L8305;
RSPEAK(268);
if(!YES(input,200,54,54)) return(2012);
goto L8305;
-L8320: if(PROP[RUG] != 2)game.spk=224;
- if(!HERE(RUG))game.spk=225;
- if(game.spk/2 == 112) return(2011);
+L8320: if(PROP[RUG] != 2)SPK=224;
+ if(!HERE(RUG))SPK=225;
+ if(SPK/2 == 112) return(2011);
- game.spk=0;
-L8332: SETPRM(1,game.zzword-MESH*2,0);
- /* 8335 */ for (I=1; I<=100; I++) {
+ 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 || PROP[I] < 0) goto L8335;
PSPEAK(I,OBJSND[I]+PROP[I]);