No longer restricted to 6-character FORTRAN identifiers.
This commit is contained in:
parent
83ff9d0c0e
commit
fa9b6d317f
7 changed files with 49 additions and 49 deletions
18
actions.c
18
actions.c
|
@ -153,7 +153,7 @@ static int bivalve(token_t verb, token_t obj)
|
||||||
bool is_oyster = (obj == OYSTER);
|
bool is_oyster = (obj == OYSTER);
|
||||||
spk = is_oyster ? OYSTER_OPENS : PEARL_FALLS;
|
spk = is_oyster ? OYSTER_OPENS : PEARL_FALLS;
|
||||||
if (TOTING(obj))spk = is_oyster ? DROP_OYSTER : DROP_CLAM;
|
if (TOTING(obj))spk = is_oyster ? DROP_OYSTER : DROP_CLAM;
|
||||||
if (!TOTING(TRIDNT))spk = is_oyster ? OYSTER_OPENER : CLAM_OPENER;
|
if (!TOTING(TRIDENT))spk = is_oyster ? OYSTER_OPENER : CLAM_OPENER;
|
||||||
if (verb == LOCK)spk = HUH_MAN;
|
if (verb == LOCK)spk = HUH_MAN;
|
||||||
if (spk == PEARL_FALLS) {
|
if (spk == PEARL_FALLS) {
|
||||||
DESTROY(CLAM);
|
DESTROY(CLAM);
|
||||||
|
@ -346,7 +346,7 @@ static int discard(token_t verb, token_t obj, bool just_do_it)
|
||||||
RSPEAK(GEM_FITS);
|
RSPEAK(GEM_FITS);
|
||||||
game.prop[obj] = 1;
|
game.prop[obj] = 1;
|
||||||
game.prop[CAVITY] = 0;
|
game.prop[CAVITY] = 0;
|
||||||
if (HERE(RUG) && ((obj == EMRALD && game.prop[RUG] != 2) || (obj == RUBY &&
|
if (HERE(RUG) && ((obj == EMERALD && game.prop[RUG] != 2) || (obj == RUBY &&
|
||||||
game.prop[RUG] == 2))) {
|
game.prop[RUG] == 2))) {
|
||||||
spk = RUG_RISES;
|
spk = RUG_RISES;
|
||||||
if (TOTING(RUG))spk = RUG_WIGGLES;
|
if (TOTING(RUG))spk = RUG_WIGGLES;
|
||||||
|
@ -361,8 +361,8 @@ static int discard(token_t verb, token_t obj, bool just_do_it)
|
||||||
}
|
}
|
||||||
} else if (obj == COINS && HERE(VEND)) {
|
} else if (obj == COINS && HERE(VEND)) {
|
||||||
DESTROY(COINS);
|
DESTROY(COINS);
|
||||||
DROP(BATTER, game.loc);
|
DROP(BATTERY, game.loc);
|
||||||
PSPEAK(BATTER, 0);
|
PSPEAK(BATTERY, 0);
|
||||||
return GO_CLEAROBJ;
|
return GO_CLEAROBJ;
|
||||||
} else if (obj == BIRD && AT(DRAGON) && game.prop[DRAGON] == 0) {
|
} else if (obj == BIRD && AT(DRAGON) && game.prop[DRAGON] == 0) {
|
||||||
RSPEAK(BIRD_BURNT);
|
RSPEAK(BIRD_BURNT);
|
||||||
|
@ -462,7 +462,7 @@ static int extinguish(token_t verb, int obj)
|
||||||
game.prop[LAMP] = 0;
|
game.prop[LAMP] = 0;
|
||||||
RSPEAK(LAMP_OFF);
|
RSPEAK(LAMP_OFF);
|
||||||
spk = DARK(game.loc) ? PITCH_DARK : NO_MESSAGE;
|
spk = DARK(game.loc) ? PITCH_DARK : NO_MESSAGE;
|
||||||
} else if (obj == DRAGON || obj == VOLCAN)
|
} else if (obj == DRAGON || obj == VOLCANO)
|
||||||
spk = BEYOND_POWER;
|
spk = BEYOND_POWER;
|
||||||
RSPEAK(spk);
|
RSPEAK(spk);
|
||||||
return GO_CLEAROBJ;
|
return GO_CLEAROBJ;
|
||||||
|
@ -969,7 +969,7 @@ static int wave(token_t verb, token_t obj)
|
||||||
if ((!TOTING(obj)) && (obj != ROD || !TOTING(ROD2)))spk = ARENT_CARRYING;
|
if ((!TOTING(obj)) && (obj != ROD || !TOTING(ROD2)))spk = ARENT_CARRYING;
|
||||||
if (obj != ROD ||
|
if (obj != ROD ||
|
||||||
!TOTING(obj) ||
|
!TOTING(obj) ||
|
||||||
(!HERE(BIRD) && (game.closng || !AT(FISSUR)))) {
|
(!HERE(BIRD) && (game.closng || !AT(FISSURE)))) {
|
||||||
RSPEAK(spk);
|
RSPEAK(spk);
|
||||||
return GO_CLEAROBJ;
|
return GO_CLEAROBJ;
|
||||||
}
|
}
|
||||||
|
@ -986,13 +986,13 @@ static int wave(token_t verb, token_t obj)
|
||||||
RSPEAK(spk);
|
RSPEAK(spk);
|
||||||
return GO_DWARFWAKE;
|
return GO_DWARFWAKE;
|
||||||
}
|
}
|
||||||
if (game.closng || !AT(FISSUR)) {
|
if (game.closng || !AT(FISSURE)) {
|
||||||
RSPEAK(spk);
|
RSPEAK(spk);
|
||||||
return GO_CLEAROBJ;
|
return GO_CLEAROBJ;
|
||||||
}
|
}
|
||||||
if (HERE(BIRD))RSPEAK(spk);
|
if (HERE(BIRD))RSPEAK(spk);
|
||||||
game.prop[FISSUR] = 1 - game.prop[FISSUR];
|
game.prop[FISSURE] = 1 - game.prop[FISSURE];
|
||||||
PSPEAK(FISSUR, 2 - game.prop[FISSUR]);
|
PSPEAK(FISSURE, 2 - game.prop[FISSURE]);
|
||||||
return GO_CLEAROBJ;
|
return GO_CLEAROBJ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
14
advent.h
14
advent.h
|
@ -147,7 +147,7 @@ extern int restore(FILE *);
|
||||||
#define FORCED(LOC) (COND[LOC] == 2)
|
#define FORCED(LOC) (COND[LOC] == 2)
|
||||||
#define DARK(DUMMY) ((!CNDBIT(game.loc,LIGHT)) && (game.prop[LAMP] == 0 || !HERE(LAMP)))
|
#define DARK(DUMMY) ((!CNDBIT(game.loc,LIGHT)) && (game.prop[LAMP] == 0 || !HERE(LAMP)))
|
||||||
#define PCT(N) (randrange(100) < (N))
|
#define PCT(N) (randrange(100) < (N))
|
||||||
#define GSTONE(OBJ) ((OBJ) == EMRALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH)
|
#define GSTONE(OBJ) ((OBJ) == EMERALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH)
|
||||||
#define FOREST(LOC) ((LOC) >= LOC_FOREST1 && (LOC) <= LOC_FOREST22)
|
#define FOREST(LOC) ((LOC) >= LOC_FOREST1 && (LOC) <= LOC_FOREST22)
|
||||||
#define VOCWRD(LETTRS,SECT) (VOCAB(MAKEWD(LETTRS),SECT))
|
#define VOCWRD(LETTRS,SECT) (VOCAB(MAKEWD(LETTRS),SECT))
|
||||||
#define SPECIAL(LOC) ((LOC) > SPECIALBASE)
|
#define SPECIAL(LOC) ((LOC) > SPECIALBASE)
|
||||||
|
@ -162,15 +162,15 @@ extern int restore(FILE *);
|
||||||
#define INDEEP(LOC) ((LOC) >= LOC_MISTHALL && !OUTSID(LOC) && (LOC) != LOC_FOOF1)
|
#define INDEEP(LOC) ((LOC) >= LOC_MISTHALL && !OUTSID(LOC) && (LOC) != LOC_FOOF1)
|
||||||
|
|
||||||
/* vocabulary items */
|
/* vocabulary items */
|
||||||
extern long AMBER, ATTACK, AXE, BACK, BATTER, BEAR,
|
extern long AMBER, ATTACK, AXE, BACK, BATTERY, BEAR,
|
||||||
BIRD, BLOOD, BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST,
|
BIRD, BLOOD, BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST,
|
||||||
CLAM, COINS, DOOR, DPRSSN, DRAGON, DWARF, EGGS,
|
CLAM, COINS, DOOR, DPRSSN, DRAGON, DWARF, EGGS,
|
||||||
EMRALD, ENTER, ENTRNC, FIND, FISSUR, FOOD, GRATE, HINT, INVENT,
|
EMERALD, ENTER, ENTRNC, FIND, FISSURE, FOOD, GRATE, HINT, INVENT,
|
||||||
JADE, KEYS, KNIFE, LAMP, LOCK, LOOK, MAGZIN, MESSAG, MIRROR, NUGGET, NUL,
|
JADE, KEYS, KNIFE, LAMP, LOCK, LOOK, MAGAZINE, MESSAG, MIRROR, NUGGET, NUL,
|
||||||
OGRE, OIL, OYSTER, PANIC, PEARL, PILLOW, PLANT, PLANT2, PYRAM,
|
OGRE, OIL, OYSTER, PANIC, PEARL, PILLOW, PLANT, PLANT2, PYRAMID,
|
||||||
RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAY, SIGN, SNAKE,
|
RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAY, SIGN, SNAKE,
|
||||||
STEPS, STICK, STREAM, THROW, TRIDNT, TROLL, TROLL2,
|
STEPS, STICK, STREAM, THROW, TRIDENT, TROLL, TROLL2,
|
||||||
URN, VASE, VEND, VOLCAN, WATER;
|
URN, VASE, VEND, VOLCANO, WATER;
|
||||||
|
|
||||||
enum speechpart {unknown, intransitive, transitive};
|
enum speechpart {unknown, intransitive, transitive};
|
||||||
|
|
||||||
|
|
|
@ -1219,7 +1219,7 @@
|
||||||
1035 BEAR
|
1035 BEAR
|
||||||
1036 MESSA
|
1036 MESSA
|
||||||
1037 VOLCA
|
1037 VOLCA
|
||||||
1037 GEYSE (SAME AS VOLCANO)
|
1037 GEYSE (SAME AS VOLCANOO)
|
||||||
1038 MACHI
|
1038 MACHI
|
||||||
1038 VENDI
|
1038 VENDI
|
||||||
1039 BATTE
|
1039 BATTE
|
||||||
|
@ -1256,7 +1256,7 @@
|
||||||
1058 POTTE
|
1058 POTTE
|
||||||
1059 EMERA
|
1059 EMERA
|
||||||
1060 PLATI
|
1060 PLATI
|
||||||
1060 PYRAM
|
1060 PYRAMID
|
||||||
1061 PEARL
|
1061 PEARL
|
||||||
1062 RUG
|
1062 RUG
|
||||||
1062 PERSI
|
1062 PERSI
|
||||||
|
|
|
@ -932,9 +932,9 @@ arbitrary_messages: !!omap
|
||||||
- LAMP_OUT: 'Your lamp has run out of power.'
|
- LAMP_OUT: 'Your lamp has run out of power.'
|
||||||
- PLEASE_ANSWER: 'Please answer the question.'
|
- PLEASE_ANSWER: 'Please answer the question.'
|
||||||
- PIRATE_SPOTTED: 'There are faint rustling noises from the darkness behind you. As you\nturn toward them, the beam of your lamp falls across a bearded pirate.\nHe is carrying a large chest. "Shiver me timbers!" he cries, "I''ve\nbeen spotted! I''d best hie meself off to the maze to hide me chest!"\nWith that, he vanishes into the gloom.'
|
- PIRATE_SPOTTED: 'There are faint rustling noises from the darkness behind you. As you\nturn toward them, the beam of your lamp falls across a bearded pirate.\nHe is carrying a large chest. "Shiver me timbers!" he cries, "I''ve\nbeen spotted! I''d best hie meself off to the maze to hide me chest!"\nWith that, he vanishes into the gloom.'
|
||||||
- GET_BATTERIES: 'Your lamp is getting dim. You''d best go back for those batteries.'
|
- GET_BATTERYIES: 'Your lamp is getting dim. You''d best go back for those batteries.'
|
||||||
- REPLACE_BATTERIES: 'Your lamp is getting dim. I''m taking the liberty of replacing the\nbatteries.'
|
- REPLACE_BATTERYIES: 'Your lamp is getting dim. I''m taking the liberty of replacing the\nbatteries.'
|
||||||
- MISSING_BATTERIES: 'Your lamp is getting dim, and you''re out of spare batteries. You''d\nbest start wrapping this up.'
|
- MISSING_BATTERYIES: 'Your lamp is getting dim, and you''re out of spare batteries. You''d\nbest start wrapping this up.'
|
||||||
- REMOVE_MESSAGE: 'You sift your fingers through the dust, but succeed only in\nobliterating the cryptic message.'
|
- REMOVE_MESSAGE: 'You sift your fingers through the dust, but succeed only in\nobliterating the cryptic message.'
|
||||||
- OGRE_QUERY: 'Do you need help dealing with the ogre?'
|
- OGRE_QUERY: 'Do you need help dealing with the ogre?'
|
||||||
- CLUE_QUERY: 'Hmmm, this looks like a clue, which means it''ll cost you 10 points to\nread it. Should I go ahead and read it anyway?'
|
- CLUE_QUERY: 'Hmmm, this looks like a clue, which means it''ll cost you 10 points to\nread it. Should I go ahead and read it anyway?'
|
||||||
|
|
14
init.c
14
init.c
|
@ -233,7 +233,7 @@ void initialise(void)
|
||||||
|
|
||||||
/* Define some handy mnemonics. These correspond to object numbers. */
|
/* Define some handy mnemonics. These correspond to object numbers. */
|
||||||
AXE = VOCWRD(12405, 1);
|
AXE = VOCWRD(12405, 1);
|
||||||
BATTER = VOCWRD(201202005, 1);
|
BATTERY = VOCWRD(201202005, 1);
|
||||||
BEAR = VOCWRD(2050118, 1);
|
BEAR = VOCWRD(2050118, 1);
|
||||||
BIRD = VOCWRD(2091804, 1);
|
BIRD = VOCWRD(2091804, 1);
|
||||||
BLOOD = VOCWRD(212151504, 1);
|
BLOOD = VOCWRD(212151504, 1);
|
||||||
|
@ -245,13 +245,13 @@ void initialise(void)
|
||||||
DOOR = VOCWRD(4151518, 1);
|
DOOR = VOCWRD(4151518, 1);
|
||||||
DRAGON = VOCWRD(418010715, 1);
|
DRAGON = VOCWRD(418010715, 1);
|
||||||
DWARF = VOCWRD(423011806, 1);
|
DWARF = VOCWRD(423011806, 1);
|
||||||
FISSUR = VOCWRD(609191921, 1);
|
FISSURE = VOCWRD(609191921, 1);
|
||||||
FOOD = VOCWRD(6151504, 1);
|
FOOD = VOCWRD(6151504, 1);
|
||||||
GRATE = VOCWRD(718012005, 1);
|
GRATE = VOCWRD(718012005, 1);
|
||||||
KEYS = VOCWRD(11052519, 1);
|
KEYS = VOCWRD(11052519, 1);
|
||||||
KNIFE = VOCWRD(1114090605, 1);
|
KNIFE = VOCWRD(1114090605, 1);
|
||||||
LAMP = VOCWRD(12011316, 1);
|
LAMP = VOCWRD(12011316, 1);
|
||||||
MAGZIN = VOCWRD(1301070126, 1);
|
MAGAZINE = VOCWRD(1301070126, 1);
|
||||||
MESSAG = VOCWRD(1305191901, 1);
|
MESSAG = VOCWRD(1305191901, 1);
|
||||||
MIRROR = VOCWRD(1309181815, 1);
|
MIRROR = VOCWRD(1309181815, 1);
|
||||||
OGRE = VOCWRD(15071805, 1);
|
OGRE = VOCWRD(15071805, 1);
|
||||||
|
@ -270,7 +270,7 @@ void initialise(void)
|
||||||
TROLL2 = TROLL + 1;
|
TROLL2 = TROLL + 1;
|
||||||
URN = VOCWRD(211814, 1);
|
URN = VOCWRD(211814, 1);
|
||||||
VEND = VOCWRD(1755140409, 1);
|
VEND = VOCWRD(1755140409, 1);
|
||||||
VOLCAN = VOCWRD(1765120301, 1);
|
VOLCANO = VOCWRD(1765120301, 1);
|
||||||
WATER = VOCWRD(1851200518, 1);
|
WATER = VOCWRD(1851200518, 1);
|
||||||
|
|
||||||
/* Objects from MINTRS through MAXTRS are treasures. Here are a few. */
|
/* Objects from MINTRS through MAXTRS are treasures. Here are a few. */
|
||||||
|
@ -279,15 +279,15 @@ void initialise(void)
|
||||||
CHEST = VOCWRD(308051920, 1);
|
CHEST = VOCWRD(308051920, 1);
|
||||||
COINS = VOCWRD(315091419, 1);
|
COINS = VOCWRD(315091419, 1);
|
||||||
EGGS = VOCWRD(5070719, 1);
|
EGGS = VOCWRD(5070719, 1);
|
||||||
EMRALD = VOCWRD(513051801, 1);
|
EMERALD = VOCWRD(513051801, 1);
|
||||||
JADE = VOCWRD(10010405, 1);
|
JADE = VOCWRD(10010405, 1);
|
||||||
NUGGET = VOCWRD(7151204, 1);
|
NUGGET = VOCWRD(7151204, 1);
|
||||||
PEARL = VOCWRD(1605011812, 1);
|
PEARL = VOCWRD(1605011812, 1);
|
||||||
PYRAM = VOCWRD(1625180113, 1);
|
PYRAMID = VOCWRD(1625180113, 1);
|
||||||
RUBY = VOCWRD(18210225, 1);
|
RUBY = VOCWRD(18210225, 1);
|
||||||
RUG = VOCWRD(182107, 1);
|
RUG = VOCWRD(182107, 1);
|
||||||
SAPPH = VOCWRD(1901161608, 1);
|
SAPPH = VOCWRD(1901161608, 1);
|
||||||
TRIDNT = VOCWRD(2018090405, 1);
|
TRIDENT = VOCWRD(2018090405, 1);
|
||||||
VASE = VOCWRD(22011905, 1);
|
VASE = VOCWRD(22011905, 1);
|
||||||
|
|
||||||
/* These are motion-verb numbers. */
|
/* These are motion-verb numbers. */
|
||||||
|
|
40
main.c
40
main.c
|
@ -30,17 +30,17 @@ struct game_t game;
|
||||||
long LNLENG, LNPOSN, PARMS[MAXPARMS + 1];
|
long LNLENG, LNPOSN, PARMS[MAXPARMS + 1];
|
||||||
char rawbuf[LINESIZE], INLINE[LINESIZE + 1];
|
char rawbuf[LINESIZE], INLINE[LINESIZE + 1];
|
||||||
|
|
||||||
long AMBER, AXE, BACK, BATTER, BEAR, BIRD, BLOOD,
|
long AMBER, AXE, BACK, BATTERY, BEAR, BIRD, BLOOD,
|
||||||
BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST,
|
BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST,
|
||||||
CLAM, COINS, DOOR, DPRSSN, DRAGON, DWARF, EGGS,
|
CLAM, COINS, DOOR, DPRSSN, DRAGON, DWARF, EGGS,
|
||||||
EMRALD, ENTER, ENTRNC, FIND, FISSUR, FOOD,
|
EMERALD, ENTER, ENTRNC, FIND, FISSURE, FOOD,
|
||||||
GRATE, HINT, INVENT, JADE, KEYS,
|
GRATE, HINT, INVENT, JADE, KEYS,
|
||||||
KNIFE, LAMP, LOCK, LOOK, MAGZIN,
|
KNIFE, LAMP, LOCK, LOOK, MAGAZINE,
|
||||||
MESSAG, MIRROR, NUGGET, NUL, OGRE, OIL, OYSTER,
|
MESSAG, MIRROR, NUGGET, NUL, OGRE, OIL, OYSTER,
|
||||||
PEARL, PILLOW, PLANT, PLANT2, PYRAM, RESER, ROD, ROD2,
|
PEARL, PILLOW, PLANT, PLANT2, PYRAMID, RESER, ROD, ROD2,
|
||||||
RUBY, RUG, SAPPH, SAY, SIGN, SNAKE,
|
RUBY, RUG, SAPPH, SAY, SIGN, SNAKE,
|
||||||
STEPS, STREAM, THROW, TRIDNT, TROLL, TROLL2,
|
STEPS, STREAM, THROW, TRIDENT, TROLL, TROLL2,
|
||||||
URN, VASE, VEND, VOLCAN, WATER;
|
URN, VASE, VEND, VOLCANO, WATER;
|
||||||
long WD1, WD1X, WD2, WD2X;
|
long WD1, WD1X, WD2, WD2X;
|
||||||
|
|
||||||
FILE *logfp = NULL, *rfp = NULL;
|
FILE *logfp = NULL, *rfp = NULL;
|
||||||
|
@ -226,7 +226,7 @@ static void checkhints(void)
|
||||||
game.hintlc[hint] = 0;
|
game.hintlc[hint] = 0;
|
||||||
return;
|
return;
|
||||||
case 4: /* dark */
|
case 4: /* dark */
|
||||||
if (game.prop[EMRALD] != -1 && game.prop[PYRAM] == -1)
|
if (game.prop[EMERALD] != -1 && game.prop[PYRAMID] == -1)
|
||||||
break;
|
break;
|
||||||
game.hintlc[hint] = 0;
|
game.hintlc[hint] = 0;
|
||||||
return;
|
return;
|
||||||
|
@ -294,7 +294,7 @@ static bool spotted_by_pirate(int i)
|
||||||
for (int treasure = MINTRS; treasure <= MAXTRS; treasure++) {
|
for (int treasure = MINTRS; treasure <= MAXTRS; treasure++) {
|
||||||
/* Pirate won't take pyramid from plover room or dark
|
/* Pirate won't take pyramid from plover room or dark
|
||||||
* room (too easy!). */
|
* room (too easy!). */
|
||||||
if (treasure == PYRAM && (game.loc == PLAC[PYRAM] || game.loc == PLAC[EMRALD])) {
|
if (treasure == PYRAMID && (game.loc == PLAC[PYRAMID] || game.loc == PLAC[EMERALD])) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (TOTING(treasure) || HERE(treasure))
|
if (TOTING(treasure) || HERE(treasure))
|
||||||
|
@ -326,7 +326,7 @@ static bool spotted_by_pirate(int i)
|
||||||
if (robplayer) {
|
if (robplayer) {
|
||||||
RSPEAK(PIRATE_POUNCES);
|
RSPEAK(PIRATE_POUNCES);
|
||||||
for (int treasure = MINTRS; treasure <= MAXTRS; treasure++) {
|
for (int treasure = MINTRS; treasure <= MAXTRS; treasure++) {
|
||||||
if (!(treasure == PYRAM && (game.loc == PLAC[PYRAM] || game.loc == PLAC[EMRALD]))) {
|
if (!(treasure == PYRAMID && (game.loc == PLAC[PYRAMID] || game.loc == PLAC[EMERALD]))) {
|
||||||
if (AT(treasure) && game.fixed[treasure] == 0)
|
if (AT(treasure) && game.fixed[treasure] == 0)
|
||||||
CARRY(treasure, game.loc);
|
CARRY(treasure, game.loc);
|
||||||
if (TOTING(treasure))
|
if (TOTING(treasure))
|
||||||
|
@ -660,7 +660,7 @@ L12:
|
||||||
* actual motion, but can be spotted by "go back". */
|
* actual motion, but can be spotted by "go back". */
|
||||||
/* FIXME: Arithmetic on location numbers */
|
/* FIXME: Arithmetic on location numbers */
|
||||||
game.newloc = 99 + 100 - game.loc;
|
game.newloc = 99 + 100 - game.loc;
|
||||||
if (game.holdng > 1 || (game.holdng == 1 && !TOTING(EMRALD))) {
|
if (game.holdng > 1 || (game.holdng == 1 && !TOTING(EMERALD))) {
|
||||||
game.newloc = game.loc;
|
game.newloc = game.loc;
|
||||||
RSPEAK(MUST_DROP);
|
RSPEAK(MUST_DROP);
|
||||||
}
|
}
|
||||||
|
@ -670,7 +670,7 @@ L12:
|
||||||
* special travel if toting it), so he's forced to use the
|
* special travel if toting it), so he's forced to use the
|
||||||
* plover-passage to get it out. Having dropped it, go back and
|
* plover-passage to get it out. Having dropped it, go back and
|
||||||
* pretend he wasn't carrying it after all. */
|
* pretend he wasn't carrying it after all. */
|
||||||
DROP(EMRALD, game.loc);
|
DROP(EMERALD, game.loc);
|
||||||
goto L12;
|
goto L12;
|
||||||
case 3:
|
case 3:
|
||||||
/* Travel 303. Troll bridge. Must be done only as special
|
/* Travel 303. Troll bridge. Must be done only as special
|
||||||
|
@ -753,7 +753,7 @@ static bool closecheck(void)
|
||||||
* have been activated, since we've found chest. */
|
* have been activated, since we've found chest. */
|
||||||
if (game.clock1 == 0) {
|
if (game.clock1 == 0) {
|
||||||
game.prop[GRATE] = 0;
|
game.prop[GRATE] = 0;
|
||||||
game.prop[FISSUR] = 0;
|
game.prop[FISSURE] = 0;
|
||||||
for (int i = 1; i <= NDWARVES; i++) {
|
for (int i = 1; i <= NDWARVES; i++) {
|
||||||
game.dseen[i] = false;
|
game.dseen[i] = false;
|
||||||
game.dloc[i] = 0;
|
game.dloc[i] = 0;
|
||||||
|
@ -840,11 +840,11 @@ static void lampcheck(void)
|
||||||
* Second is for other cases of lamp dying. 12400 is when it
|
* Second is for other cases of lamp dying. 12400 is when it
|
||||||
* goes out. Even then, he can explore outside for a while
|
* goes out. Even then, he can explore outside for a while
|
||||||
* if desired. */
|
* if desired. */
|
||||||
if (game.limit <= WARNTIME && HERE(BATTER) && game.prop[BATTER] == 0 && HERE(LAMP)) {
|
if (game.limit <= WARNTIME && HERE(BATTERY) && game.prop[BATTERY] == 0 && HERE(LAMP)) {
|
||||||
RSPEAK(REPLACE_BATTERIES);
|
RSPEAK(REPLACE_BATTERYIES);
|
||||||
game.prop[BATTER] = 1;
|
game.prop[BATTERY] = 1;
|
||||||
if (TOTING(BATTER))
|
if (TOTING(BATTERY))
|
||||||
DROP(BATTER, game.loc);
|
DROP(BATTERY, game.loc);
|
||||||
game.limit = game.limit + 2500;
|
game.limit = game.limit + 2500;
|
||||||
game.lmwarn = false;
|
game.lmwarn = false;
|
||||||
} else if (game.limit == 0) {
|
} else if (game.limit == 0) {
|
||||||
|
@ -855,9 +855,9 @@ static void lampcheck(void)
|
||||||
} else if (game.limit <= WARNTIME) {
|
} else if (game.limit <= WARNTIME) {
|
||||||
if (!game.lmwarn && HERE(LAMP)) {
|
if (!game.lmwarn && HERE(LAMP)) {
|
||||||
game.lmwarn = true;
|
game.lmwarn = true;
|
||||||
int spk = GET_BATTERIES;
|
int spk = GET_BATTERYIES;
|
||||||
if (game.place[BATTER] == NOWHERE)spk = LAMP_DIM;
|
if (game.place[BATTERY] == NOWHERE)spk = LAMP_DIM;
|
||||||
if (game.prop[BATTER] == 1)spk = MISSING_BATTERIES;
|
if (game.prop[BATTERY] == 1)spk = MISSING_BATTERYIES;
|
||||||
RSPEAK(spk);
|
RSPEAK(spk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2
score.c
2
score.c
|
@ -78,7 +78,7 @@ long score(enum termination mode)
|
||||||
mxscor += 45;
|
mxscor += 45;
|
||||||
|
|
||||||
/* Did he come to Witt's End as he should? */
|
/* Did he come to Witt's End as he should? */
|
||||||
if (game.place[MAGZIN] == LOC_WITTSEND)
|
if (game.place[MAGAZINE] == LOC_WITTSEND)
|
||||||
score += 1;
|
score += 1;
|
||||||
mxscor += 1;
|
mxscor += 1;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue