+/*
+ * Dungeon types and macros.
+ *
+ * SPDX-FileCopyrightText: 1977, 2005 by Will Crowther and Don Woods
+ * SPDX-FileCopyrightText: 2017 by Eric S. Raymond
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define BATTERYLIFE 2500 // turn limit increment from batteries
#define WORD_NOT_FOUND -1 // "Word not found" flag value for the vocab hash functions.
#define WORD_EMPTY 0 // "Word empty" flag value for the vocab hash functions
+#define PIT_KILL_PROB 35 // Percentage probability of dying from fall in pit.
#define CARRIED -1 // Player is toting it
#define READ_MODE "rb" // b is not needed for POSIX but harmless
#define WRITE_MODE "wb" // b is not needed for POSIX but harmless
/* Phase codes for action returns.
* These were at one time FORTRAN line numbers.
- * The values don't matter, but perturb their order at your peril.
*/
typedef enum {
GO_TERMINATE,
int saved; // point penalty for saves
int tally; // count of treasures gained
int thresh; // current threshold for endgame scoring tier
- turn_t trndex; // FIXME: not used, remove on next format bump
+ bool seenbigwords; // have we red the grafitti in the Giant's Room?
turn_t trnluz; // # points lost so far due to turns used
turn_t turns; // counts commands given (ignores yes/no)
char zzword[TOKLEN + 1]; // randomly generated magic word from bird
int argc;
int optind;
FILE *scriptfp;
+ int debug;
};
typedef struct {