X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=actions1.c;h=9c4978b2929075453a0286c9d06a5a2a5ef79e8c;hb=0b02763bf07618d3b3b88d9a8c907d0d60b33014;hp=fb2882722b761842275d54defb6aee143f2dddc0;hpb=91ad0185ffcbda83f115433c630b40e4ea6f7a41;p=open-adventure.git diff --git a/actions1.c b/actions1.c index fb28827..9c4978b 100644 --- a/actions1.c +++ b/actions1.c @@ -156,8 +156,8 @@ L5190: if((VERB == FIND || VERB == INVENT) && WD2 <= 0) goto L5010; /* Carry, no object given yet. OK if only one object present. */ -L8010: if(ATLOC[LOC] == 0 || LINK[ATLOC[LOC]] != 0 || ATDWRF(LOC) > 0) return(8000); - OBJ=ATLOC[LOC]; +L8010: if(game.atloc[LOC] == 0 || game.link[game.atloc[LOC]] != 0 || ATDWRF(LOC) > 0) return(8000); + OBJ=game.atloc[LOC]; /* Transitive carry/drop are in separate file. */ @@ -201,8 +201,8 @@ L9040: if(OBJ == CLAM || OBJ == OYSTER) goto L9046; if(OBJ == CHAIN) goto L9048; if(!game.closng) goto L9043; K=130; - if(!PANIC)game.clock2=15; - PANIC=true; + if(!game.panic)game.clock2=15; + game.panic=true; return(2010); L9043: K=34+PROP[GRATE]; @@ -231,9 +231,9 @@ L9048: if(VERB == LOCK) goto L9049; if(PROP[CHAIN] == 0)SPK=37; if(SPK != 171) return(2011); PROP[CHAIN]=0; - FIXED[CHAIN]=0; + game.fixed[CHAIN]=0; if(PROP[BEAR] != 3)PROP[BEAR]=2; - FIXED[BEAR]=2-PROP[BEAR]; + game.fixed[BEAR]=2-PROP[BEAR]; return(2011); L9049: SPK=172; @@ -242,7 +242,7 @@ L9049: SPK=172; if(SPK != 172) return(2011); PROP[CHAIN]=2; if(TOTING(CHAIN))DROP(CHAIN,LOC); - FIXED[CHAIN]= -1; + game.fixed[CHAIN]= -1; return(2011); /* Light. Applicable only to lamp and urn. */ @@ -292,7 +292,7 @@ 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 == PLACE[STEPS] && PROP[JADE] < 0) goto L9094; + if(SPK == 206 && LOC == game.place[STEPS] && PROP[JADE] < 0) goto L9094; if(game.closed) return(18999); if(game.closng || !AT(FISSUR)) return(2011); if(HERE(BIRD))RSPEAK(SPK); @@ -302,7 +302,7 @@ L9090: if((!TOTING(OBJ)) && (OBJ != ROD || !TOTING(ROD2)))SPK=29; L9094: DROP(JADE,LOC); PROP[JADE]=0; - TALLY=TALLY-1; + game.tally=game.tally-1; SPK=208; return(2011); @@ -320,7 +320,7 @@ L9130: if(OBJ == BOTTLE || OBJ == 0)OBJ=LIQ(0); if(OBJ != OIL && OBJ != WATER) return(2011); if(HERE(URN) && PROP[URN] == 0) goto L9134; PROP[BOTTLE]=1; - PLACE[OBJ]=0; + game.place[OBJ]=0; SPK=77; if(!(AT(PLANT) || AT(DOOR))) return(2011); @@ -364,7 +364,7 @@ L9150: if(OBJ == 0 && LIQLOC(LOC) != WATER && (LIQ(0) != WATER || !HERE(BOTTLE)) if(OBJ != 0 && OBJ != WATER)SPK=110; if(SPK == 110 || LIQ(0) != WATER || !HERE(BOTTLE)) return(2011); PROP[BOTTLE]=1; - PLACE[WATER]=0; + game.place[WATER]=0; SPK=74; return(2011); @@ -381,7 +381,7 @@ L9160: if(OBJ != LAMP)SPK=76; DSTROY(URN); DROP(AMBER,LOC); PROP[AMBER]=1; - TALLY=TALLY-1; + game.tally=game.tally-1; DROP(CAVITY,LOC); SPK=216; return(2011); @@ -436,7 +436,7 @@ L9230: if(PROP[ROD2] < 0 || !game.closed) return(2011); L8240: score(-1); SETPRM(1,SCORE,MXSCOR); - SETPRM(3,TURNS,TURNS); + SETPRM(3,game.turns,game.turns); RSPEAK(259); return(2012); @@ -453,10 +453,10 @@ L8250: K=VOCAB(WD1,3); L8252: game.foobar=K; if(K != 4) return(2009); game.foobar=0; - if(PLACE[EGGS] == PLAC[EGGS] || (TOTING(EGGS) && LOC == PLAC[EGGS])) + if(game.place[EGGS] == PLAC[EGGS] || (TOTING(EGGS) && LOC == PLAC[EGGS])) return(2011); /* Bring back troll if we steal the eggs back from him before crossing. */ - if(PLACE[EGGS] == 0 && PLACE[TROLL] == 0 && PROP[TROLL] == + if(game.place[EGGS] == 0 && game.place[TROLL] == 0 && PROP[TROLL] == 0)PROP[TROLL]=1; K=2; if(HERE(EGGS))K=1; @@ -481,11 +481,11 @@ L8270: for (I=1; I<=NOBJECTS; I++) { L9270: if(DARK(0)) goto L5190; if(OBJTXT[OBJ] == 0 || PROP[OBJ] < 0) return(2011); - if(OBJ == OYSTER && !CLSHNT) goto L9275; + if(OBJ == OYSTER && !game.clshnt) goto L9275; PSPEAK(OBJ,OBJTXT[OBJ]+PROP[OBJ]); return(2012); -L9275: CLSHNT=YES(input,192,193,54); +L9275: game.clshnt=YES(input,192,193,54); return(2012); /* Break. Only works for mirror in repository and, of course, the vase. */ @@ -499,7 +499,7 @@ L9280: if(OBJ == MIRROR)SPK=148; L9282: SPK=198; if(TOTING(VASE))DROP(VASE,LOC); PROP[VASE]=2; - FIXED[VASE]= -1; + game.fixed[VASE]= -1; return(2011); /* Wake. Only use is to disturb the dwarves. */ @@ -515,7 +515,7 @@ L9290: if(OBJ != DWARF || !game.closed) return(2011); L8300: SPK=201; RSPEAK(260); if(!YES(input,200,54,54)) return(2012); - SAVED=SAVED+5; + game.saved=game.saved+5; KK= -1; /* This next part is shared with the "resume" code. The two cases are @@ -535,21 +535,21 @@ L8305: DATIME(&I,&K); * 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,NEWLOC,NUMDIE); - SAVWDS(OBJ,game.oldlc2,game.oldloc,OLDOBJ,PANIC,SAVED,SETUP); - SAVWDS(SPK,TALLY,THRESH,TRNDEX,TRNLUZ,TURNS,OBJTXT[OYSTER]); + 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(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(OBJTXT[SIGN],CLSHNT,NOVICE,K,K,K,K); - SAVARR(ABB,LOCSIZ); - SAVARR(ATLOC,LOCSIZ); + SAVWDS(OBJTXT[SIGN],game.clshnt,game.novice,K,K,K,K); + SAVARR(game.abbrev,LOCSIZ); + SAVARR(game.atloc,LOCSIZ); SAVARR(game.dloc,NDWARVES); SAVARR(game.dseen,NDWARVES); - SAVARR(FIXED,NOBJECTS); - SAVARR(HINTED,HNTSIZ); + SAVARR(game.fixed,NOBJECTS); + SAVARR(game.hinted,HNTSIZ); SAVARR(HINTLC,HNTSIZ); - SAVARR(LINK,NOBJECTS*2); + SAVARR(game.link,NOBJECTS*2); SAVARR(game.odloc,NDWARVES); - SAVARR(PLACE,NOBJECTS); + SAVARR(game.place,NOBJECTS); SAVARR(PROP,NOBJECTS); SAVWRD(KK,K); if(K != 0) goto L8318; @@ -562,7 +562,7 @@ L8305: DATIME(&I,&K); /* Resume. Read a suspended game back from a file. */ L8310: KK=1; - if(LOC == 1 && ABB[1] == 1) goto L8305; + if(LOC == 1 && game.abbrev[1] == 1) goto L8305; RSPEAK(268); if(!YES(input,200,54,54)) return(2012); goto L8305; @@ -587,7 +587,7 @@ L9320: if(OBJ != RUG) return(2011); if(PROP[RUG] != 2) return(2011); game.oldlc2=game.oldloc; game.oldloc=LOC; - NEWLOC=PLACE[RUG]+FIXED[RUG]-LOC; + game.newloc=game.place[RUG]+game.fixed[RUG]-LOC; SPK=226; if(PROP[SAPPH] >= 0)SPK=227; RSPEAK(SPK); @@ -613,12 +613,12 @@ L8335: /*etc*/ ; /* Z'ZZZ (word gets recomputed at startup; different each game). */ -L8340: if(!AT(RESER) && LOC != FIXED[RESER]-1) return(2011); +L8340: if(!AT(RESER) && LOC != game.fixed[RESER]-1) return(2011); PSPEAK(RESER,PROP[RESER]+1); PROP[RESER]=1-PROP[RESER]; if(AT(RESER)) return(2012); game.oldlc2=LOC; - NEWLOC=0; + game.newloc=0; RSPEAK(241); return(2);