/* Start-up, dwarf stuff */
game.zzword=RNDVOC(3,0);
game.novice=YES(stdin, WELCOME_YOU,CAVE_NEARBY,ARB_0);
- game.newloc = LOC_1;
- game.loc = LOC_1;
+ game.newloc = LOC_START;
+ game.loc = LOC_START;
game.limit=330;
if (game.novice)game.limit=1000;
++game.hintlc[hint];
/* Come here if he's been long enough at required loc(s) for some
* unused hint. */
- if (game.hintlc[hint] >= HINTS[hint][1])
+ if (game.hintlc[hint] >= HINTS[hint][1])
{
int i;
int kk, stick, attack;
long tk[21];
- /* Dwarf stuff. See earlier comments for description of
+ /* Dwarf stuff. See earlier comments for description of
* variables. Remember sixth dwarf is pirate and is thus
* very different except for motion rules. */
int i=NOBJECTS + 1 - j;
if (TOTING(i)) {
/* Always leave lamp where it's accessible aboveground */
- DROP(i, (i == LAMP) ? 1 : game.oldlc2);
+ DROP(i, (i == LAMP) ? LOC_START : game.oldlc2);
}
}
- game.loc = LOC_3;
+ game.loc = LOC_BUILDING;
game.oldloc=game.loc;
}
}
/* Look. Can't give more detail. Pretend it wasn't dark
* (though it may "now" be dark) so he won't fall into a
* pit while staring into the gloom. */
- if (game.detail < 3)RSPEAK(NO_MORE_DETAIL);
+ if (game.detail < 3)
+ RSPEAK(NO_MORE_DETAIL);
++game.detail;
game.wzdark=false;
game.abbrev[game.loc]=0;
* emerald. Note: travel table must include "useless"
* entries going through passage, which can never be used for
* actual motion, but can be spotted by "go back". */
+ /* FIXME: Arithmetic on location numbers */
game.newloc=99+100-game.loc;
if (game.holdng == 0 || (game.holdng == 1 && TOTING(EMRALD)))
return true;
* objects he might be carrying (lest he have some which
* could cause trouble, such as the keys). We describe the
* flash of light and trundle back. */
- game.prop[BOTTLE]=PUT(BOTTLE,LOC_115,1);
- game.prop[PLANT]=PUT(PLANT,LOC_115,0);
- game.prop[OYSTER]=PUT(OYSTER,LOC_115,0);
+ game.prop[BOTTLE]=PUT(BOTTLE,LOC_NE,1);
+ game.prop[PLANT]=PUT(PLANT,LOC_NE,0);
+ game.prop[OYSTER]=PUT(OYSTER,LOC_NE,0);
OBJTXT[OYSTER]=3;
- game.prop[LAMP]=PUT(LAMP,LOC_115,0);
- game.prop[ROD]=PUT(ROD,LOC_115,0);
- game.prop[DWARF]=PUT(DWARF,LOC_115,0);
- game.loc = LOC_115;
- game.oldloc = LOC_115;
- game.newloc = LOC_115;
+ game.prop[LAMP]=PUT(LAMP,LOC_NE,0);
+ game.prop[ROD]=PUT(ROD,LOC_NE,0);
+ game.prop[DWARF]=PUT(DWARF,LOC_NE,0);
+ game.loc = LOC_NE;
+ game.oldloc = LOC_NE;
+ game.newloc = LOC_NE;
/* Leave the grate with normal (non-negative) property.
* Reuse sign. */
- PUT(GRATE,LOC_116,0);
- PUT(SIGN,LOC_116,0);
+ PUT(GRATE,LOC_SW,0);
+ PUT(SIGN,LOC_SW,0);
++OBJTXT[SIGN];
- game.prop[SNAKE]=PUT(SNAKE,LOC_116,1);
- game.prop[BIRD]=PUT(BIRD,LOC_116,1);
- game.prop[CAGE]=PUT(CAGE,LOC_116,0);
- game.prop[ROD2]=PUT(ROD2,LOC_116,0);
- game.prop[PILLOW]=PUT(PILLOW,LOC_116,0);
+ game.prop[SNAKE]=PUT(SNAKE,LOC_SW,1);
+ game.prop[BIRD]=PUT(BIRD,LOC_SW,1);
+ game.prop[CAGE]=PUT(CAGE,LOC_SW,0);
+ game.prop[ROD2]=PUT(ROD2,LOC_SW,0);
+ game.prop[PILLOW]=PUT(PILLOW,LOC_SW,0);
- game.prop[MIRROR]=PUT(MIRROR,LOC_115,0);
- game.fixed[MIRROR]=LOC_116;
+ game.prop[MIRROR]=PUT(MIRROR,LOC_NE,0);
+ game.fixed[MIRROR]=LOC_SW;
for (int i=1; i<=NOBJECTS; i++) {
if (TOTING(i))
croak(cmdin);
continue; /* back to top of main interpreter loop */
}
- msg=arbitrary_messages[16];
+ msg=arbitrary_messages[PITCH_DARK];
}
if (TOTING(BEAR))RSPEAK(TAME_BEAR);
newspeak(msg);