OSDN Git Service

ガラスの破片がモンスターを倒した時、ガラスの破片(who == -2)に対して経験値を与えようとするため配列外アクセスが起きていたバグを修正。
[hengband/hengband.git] / src / types.h
index cbb79b7..344150b 100644 (file)
@@ -52,7 +52,7 @@
  * Feature state structure
  *
  * - Action (FF_*)
- * - Result (FEAT_*)
+ * - Result (f_info ID)
  */
 typedef struct feature_state feature_state;
 
@@ -84,6 +84,7 @@ struct feature_type
 
        feature_state state[MAX_FEAT_STATES];
 
+       byte subtype;
        byte power;
 
        byte d_attr[F_LIT_MAX];   /* Default feature attribute */
@@ -106,6 +107,7 @@ struct object_kind
 {
        u32b name;                      /* Name (offset) */
        u32b text;                      /* Text (offset) */
+       u32b flavor_name;               /* Flavor name (offset) */
 
        byte tval;                      /* Object type */
        byte sval;                      /* Object sub type */
@@ -143,7 +145,7 @@ struct object_kind
        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) */
 
@@ -347,7 +349,8 @@ struct monster_race
        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 (?) */
@@ -583,18 +586,11 @@ struct monster_type
        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 */
@@ -1106,6 +1102,8 @@ struct player_type
        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 */
@@ -1140,6 +1138,9 @@ struct player_type
 
        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 ***/
 
@@ -1675,3 +1676,32 @@ typedef struct
        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