bool aware; /* The player is "aware" of the item's effects */
bool tried; /* The player has "tried" one of the items */
+
+ byte act_idx; /* Activative ability index */
};
byte max_num; /* Unused (should be "1") */
s16b floor_id; /* Leaved on this location last time */
+
+ byte act_idx; /* Activative ability index */
};
u32b flags[TR_FLAG_SIZE]; /* Ego-Item Flags */
u32b gen_flags; /* flags for generate */
+
+ byte act_idx; /* Activative ability index */
};
byte name2; /* Ego-Item type, if any */
byte xtra1; /* Extra info type (now unused) */
- byte xtra2; /* Extra info index */
- byte xtra3; /* Extra info */
- s16b xtra4; /* Extra info */
- s16b xtra5; /* Extra info */
+ byte xtra2; /* Extra info activation index */
+ byte xtra3; /* Extra info for weaponsmith */
+ s16b xtra4; /* Extra info fuel or captured monster's current HP */
+ s16b xtra5; /* Extra info captured monster's max HP */
s16b to_h; /* Plusses to hit */
s16b to_d; /* Plusses to damage */
s16b hp; /* Current Hit points */
s16b maxhp; /* Max Hit points */
s16b max_maxhp; /* Max Max Hit points */
+ u32b dealt_damage; /* Sum of damages dealt by player */
s16b mtimed[MAX_MTIMED]; /* Timed status counter */
byte recall_dungeon; /* Dungeon set to be recalled */
s16b energy_need; /* Energy needed for next move */
+ s16b enchant_energy_need; /* Energy needed for next upkeep effect */
s16b food; /* Current nutrition */
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 */
struct tag_type
{
int tag;
- void *pointer;
+ int index;
};
typedef bool (*monster_hook_type)(int r_idx);
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; /* Remaining grid number */
+ int cost[MAX_HGT][MAX_WID];
+ int x; /* Target X */
+ int y; /* Target Y */
+ int dir; /* Running direction */
+} travel_type;
+#endif
+
+typedef struct {
+ cptr flag;
+ byte index;
+ byte level;
+ s32b value;
+ struct {
+ int constant;
+ int dice;
+ } timeout;
+ cptr desc;
+} activation_type;
+
+typedef struct {
+ int flag;
+ int type;
+ cptr name;
+} dragonbreath_type;