* Feature state structure
*
* - Action (FF_*)
- * - Result (FEAT_*)
+ * - Result (f_info ID)
*/
typedef struct feature_state feature_state;
feature_state state[MAX_FEAT_STATES];
+ byte subtype;
byte power;
byte d_attr[F_LIT_MAX]; /* Default feature attribute */
{
u32b name; /* Name (offset) */
u32b text; /* Text (offset) */
+ u32b flavor_name; /* Flavor name (offset) */
byte tval; /* Object type */
byte sval; /* Object sub type */
byte x_char; /* Desired object character */
- byte flavor; /* Special object flavor (or zero) */
+ s16b flavor; /* Special object flavor (or zero) */
bool easy_know; /* This object is always known (if aware) */
s16b r_sights; /* Count sightings of this monster */
s16b r_deaths; /* Count deaths from this monster */
- s16b r_pkills; /* Count monsters killed in this life */
+ s16b r_pkills; /* Count visible monsters killed in this life */
+ s16b r_akills; /* Count all monsters killed in this life */
s16b r_tkills; /* Count monsters killed in all lives */
byte r_wake; /* Number of times woken up (?) */
s16b next_o_idx; /* Next object in stack (if any) */
s16b held_m_idx; /* Monster holding us (if any) */
-
-#ifdef SCRIPT_OBJ_KIND
- char *name;
-
- byte d_attr; /* Default object attribute */
- byte d_char; /* Default object character */
-
-
- byte x_attr; /* Desired object attribute */
- byte x_char; /* Desired object character */
-
-
- byte flavor; /* Special object flavor (or zero) */
-
- bool easy_know; /* This object is always known (if aware) */
-
-
- bool aware; /* The player is "aware" of the item's effects */
-
- bool tried; /* The player has "tried" one of the items */
-#endif /* SCRIPT_OBJ_KIND */
};
s16b maxhp; /* Max Hit points */
s16b max_maxhp; /* Max Max Hit points */
- s16b csleep; /* Inactive counter */
+ s16b mtimed[MAX_MTIMED]; /* Timed status counter */
byte mspeed; /* Monster "speed" */
s16b energy_need; /* Monster "energy" */
- byte fast; /* Monster is stunned */
- byte slow; /* Monster is stunned */
- byte stunned; /* Monster is stunned */
- byte confused; /* Monster is confused */
- byte monfear; /* Monster is afraid */
- byte invulner; /* Monster is temporarily invulnerable */
-
byte cdis; /* Current dis from player */
byte mflag; /* Extra monster flags */
s32b max_max_exp; /* Max max experience (only to calculate score) */
s32b max_exp; /* Max experience */
s32b exp; /* Cur experience */
- u16b exp_frac; /* Cur exp frac (times 2^16) */
+ u32b exp_frac; /* Cur exp frac (times 2^16) */
s16b lev; /* Level */
s32b wilderness_y;
bool wild_mode;
- s16b mhp; /* Max hit pts */
- s16b chp; /* Cur hit pts */
- u16b chp_frac; /* Cur hit frac (times 2^16) */
+ s32b mhp; /* Max hit pts */
+ s32b chp; /* Cur hit pts */
+ u32b chp_frac; /* Cur hit frac (times 2^16) */
- s16b msp; /* Max mana pts */
- s16b csp; /* Cur mana pts */
- u16b csp_frac; /* Cur mana frac (times 2^16) */
+ s32b msp; /* Max mana pts */
+ s32b csp; /* Cur mana pts */
+ u32b csp_frac; /* Cur mana frac (times 2^16) */
s16b max_plv; /* Max Player Level */
s16b tim_regen;
s16b kabenuke;
s16b tim_stealth;
- s16b tim_ffall;
+ s16b tim_levitation;
s16b tim_sh_touki;
s16b lightspeed;
s16b tsubureru;
s16b mane_dam[MAX_MANE];
s16b mane_num;
+ s16b concent; /* Sniper's concentration level */
+
s16b player_hp[PY_MAX_LEVEL];
char died_from[80]; /* What killed the player */
cptr last_message; /* Last message on death or retirement */
bool autopick_autoregister; /* auto register is in-use or not */
+ byte feeling; /* Most recent dungeon feeling */
+ s32b feeling_turn; /* The turn of the last dungeon feeling */
+
/*** Temporary fields ***/
u32b cursed; /* Player is cursed */
bool can_swim; /* No damage falling */
- bool ffall; /* No damage falling */
+ bool levitation; /* No damage falling */
bool lite; /* Permanent light */
bool free_act; /* Never paralyzed */
bool see_inv; /* Can see invisible */
byte tval; /* tval of prize (0 means no prize) */
byte sval; /* sval of prize */
} arena_type;
+
+
+/*
+ * A structure type for doors
+ */
+typedef struct
+{
+ s16b open;
+ s16b broken;
+ s16b closed;
+ s16b locked[MAX_LJ_DOORS];
+ s16b num_locked;
+ s16b jammed[MAX_LJ_DOORS];
+ s16b num_jammed;
+} door_type;
+
+
+#ifdef TRAVEL
+/*
+ * A structure type for travel command
+ */
+typedef struct {
+ int run;
+ int cost[MAX_HGT][MAX_WID];
+ int x;
+ int y;
+ int dir;
+} travel_type;
+#endif