#define DARK(DUMMY) ((!TSTBIT(conditions[game.loc],COND_LIT)) && (game.prop[LAMP] == 0 || !HERE(LAMP)))
#define PCT(N) (randrange(100) < (N))
#define GSTONE(OBJ) ((OBJ) == EMERALD || (OBJ) == RUBY || (OBJ) == AMBER || (OBJ) == SAPPH)
-#define FOREST(LOC) ((LOC) >= LOC_FOREST1 && (LOC) <= LOC_FOREST22)
+#define FOREST(LOC) CNDBIT(LOC, COND_FOREST)
#define VOCWRD(LETTRS,SECT) (VOCAB(MAKEWD(LETTRS),SECT))
#define SPECIAL(LOC) ((LOC) > SPECIALBASE)
+#define OUTSID(LOC) (CNDBIT(LOC, COND_ABOVE) || FOREST(LOC))
-/* The following two functions were added to fix a bug (game.clock1 decremented
- * while in forest). They should probably be replaced by using another
- * "cond" bit. For now, however, a quick fix... OUTSID(LOC) is true if
- * LOC is outside, INDEEP(LOC) is true if LOC is "deep" in the cave (hall
- * of mists or deeper). Note special kludges for "Foof!" locs. */
-
-#define OUTSID(LOC) ((LOC) <= LOC_GRATE || FOREST(LOC) || (LOC) == PLAC[SAPPH] || (LOC) == LOC_FOOF2 || (LOC) == LOC_FOOF4)
-#define INDEEP(LOC) ((LOC) >= LOC_MISTHALL && !OUTSID(LOC) && (LOC) != LOC_FOOF1)
+#define INDEEP(LOC) ((LOC) >= LOC_MISTHALL && !OUTSID(LOC))
/* vocabulary items */
extern long AMBER, ATTACK, AXE, BACK, BATTERY, BEAR,
# array.
#
# locations: Each item contains a long and short description. Some
-# short descriptions are empty. Order of these locations is significant;
-# see the macros OUTSID and INDEEP. Location conditions can be read
-# as follows:
+# short descriptions are empty. Order of these locations is not significant.
+# Location conditions can be read as follows:
# LIT Light
# OILY If FLUID flag is on: true for oil, false for water
# FLUID Liquid asset
description:
long: 'You are at one end of a vast hall stretching forward out of sight to\nthe west. There are openings to either side. Nearby, a wide stone\nstaircase leads downward. The hall is filled with wisps of white mist\nswaying to and fro almost as if alive. A cold wind blows up the\nstaircase. There is a passage at the top of a dome behind you.'
short: 'You''re in Hall of Mists.'
- conditions: {}
+ conditions: {DEEP: true}
hints: [*jade]
- LOC_CRACK:
description:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST2:
description:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST4:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: { FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST5:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST6:
description:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST8:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST9:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST10:
description:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST12:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST13:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST14:
description:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST16:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST17:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST18:
description:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST20:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST21:
description:
long: 'You are wandering aimlessly through the forest.'
short: !!null
- conditions: {FOREST: true, NOBACK: true, LIT: true, DEEP: true}
+ conditions: {FOREST: true, NOBACK: true, LIT: true}
hints: [*forest]
- LOC_FOREST22:
description:
description:
long: 'You are on a small ledge on one face of a sheer cliff. There are no\npaths away from the ledge. Across the chasm is a small clearing\nsurrounded by forest.'
short: 'You''re on ledge.'
- conditions: {DEEP: true, LIT: true}
+ conditions: {ABOVE: true, LIT: true}
- LOC_RESBOTTOM:
description:
long: 'You are walking across the bottom of the reservoir. Walls of water\nrear up on either side. The roar of the water cascading past is\nnearly deafening, and the mist is so thick you can barely see.'
description:
long: '>>Foof!<<'
short: !!null
- conditions: {DEEP: true}
+ conditions: {}
- LOC_FOOF2:
description:
long: '>>Foof!<<'
short: !!null
- conditions: {DEEP: true}
+ conditions: {ABOVE: true}
- LOC_FOOF3:
description:
long: '>>Foof!<<'
description:
long: '>>Foof!<<'
short: !!null
- conditions: {DEEP: true}
+ conditions: {ABOVE: true}
- LOC_FOOF5:
description:
long: '>>Foof!<<'