Move MAXDIE computation to dungeonmaker.
[open-adventure.git] / advent.h
index 23f34067b48bc1cb4ffa17822902bc7bcdccda53..36cf3456a712d8b399d3ecbb44634829f5fa6f8f 100644 (file)
--- a/advent.h
+++ b/advent.h
@@ -6,6 +6,9 @@
 #define LINESIZE       100
 #define NDWARVES       6
 #define PIRATE         NDWARVES        /* must be NDWARVES-1 when zero-origin */
+#define DALTLC         18              /* alternate dwarf location; low room */
+#define MINTRS         50
+#define MAXTRS         79
 
 typedef struct lcg_state
 {
@@ -37,6 +40,7 @@ struct game_t {
     long knfloc;
     long limit;
     long lmwarn;
+    long loc;
     long newloc;
     long novice;
     long numdie;
@@ -54,16 +58,21 @@ struct game_t {
     long wzdark;
     long zzword;
     long abbrev[LOCSIZ+1];
+    long atloc[LOCSIZ+1];
     long dseen[NDWARVES+1];
     long dloc[NDWARVES+1];
     long odloc[NDWARVES+1];
+    long fixed[NOBJECTS+1];
+    long link[NOBJECTS*2 + 1];
+    long place[NOBJECTS+1];
+    long hinted[HNTSIZ+1];
+    long hintlc[HNTSIZ+1];
+    long prop[NOBJECTS+1];
 };
 
 extern struct game_t game;
 
-extern long ATLOC[], FIXED[],
-               LINK[], LNLENG, LNPOSN,
-               PARMS[], PLACE[];
+extern long LNLENG, LNPOSN, PARMS[];
 extern char rawbuf[LINESIZE], INLINE[LINESIZE+1], MAP1[], MAP2[];
 extern FILE *logfp;
 extern bool oldstyle;
@@ -123,21 +132,18 @@ extern long MOD(long,long);
 extern void set_seed(long);
 extern unsigned long get_next_lcg_value(void);
 extern long randrange(long);
-
 extern void score(long);
+
+/* vocabulary items */ 
 extern long AMBER, ATTACK, AXE, BACK, BATTER, BEAR,
    BIRD, BLOOD, BOTTLE, CAGE, CAVE, CAVITY, CHAIN, CHASM, CHEST,
-   CLAM, COINS, DALTLC, DOOR, DPRSSN, DRAGON, DWARF, EGGS,
-   EMRALD, ENTER, ENTRNC, FIND, FISSUR, FOOD,
-   GRATE, HINT, HINTED[], HINTLC[],
-   I, INVENT, IGO, J, JADE, K, K2, KEYS, KK,
-   KNIFE, KQ, L, LAMP, LL, LOC, LOCK, LOOK,
-   MAGZIN, MAXDIE, MAXTRS, MESSAG, MIRROR, MXSCOR, NUGGET, NUL, OBJ,
-   OGRE, OIL, OLDOBJ, OYSTER,
-   PANIC, PEARL, PILLOW, PLANT, PLANT2, PROP[], PYRAM,
-   RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAY,
-   SCORE, SECT, SIGN, SNAKE, SPK, STEPS, STICK,
-   STREAM, THROW, TK[], TRIDNT, TROLL, TROLL2,
-   URN, V1, V2, VASE, VEND, VERB,
-   VOLCAN, VRSION, WATER, WD1, WD1X, WD2, WD2X;
+   CLAM, COINS, DOOR, DPRSSN, DRAGON, DWARF, EGGS,
+   EMRALD, ENTER, ENTRNC, FIND, FISSUR, FOOD, GRATE, HINT, INVENT,
+   JADE, KEYS, KNIFE, LAMP, LOCK, LOOK, MAGZIN, MESSAG, MIRROR, NUGGET, NUL,
+   OGRE, OIL, OYSTER, PANIC, PEARL, PILLOW, PLANT, PLANT2, PYRAM,
+   RESER, ROD, ROD2, RUBY, RUG, SAPPH, SAY, SECT, SIGN, SNAKE,
+   STEPS, STICK, STREAM, THROW, TRIDNT, TROLL, TROLL2,
+   URN, VASE, VEND, VOLCAN, WATER;
+/* evrything else */
+extern long I, J, K, L, SPK, V1, V2, VRSION, WD1, WD1X, WD2, WD2X;