1 #pragma once
2 
3 #include "tag-version.h"
4 
5 enum attribute_type
6 {
7 #if TAG_MAJOR_VERSION == 34
8     ATTR_DIVINE_LIGHTNING_PROTECTION,
9     ATTR_DIVINE_REGENERATION,
10 #endif
11     ATTR_DIVINE_DEATH_CHANNEL,
12     ATTR_CARD_COUNTDOWN,
13     ATTR_BANISHMENT_IMMUNITY,   // banishment immunity until
14 #if TAG_MAJOR_VERSION == 34
15     ATTR_DELAYED_FIREBALL,      // bwr: reserve fireballs
16 #endif
17     ATTR_HELD,                  // caught in a net or web
18     ATTR_ABYSS_ENTOURAGE,       // maximum number of hostile monsters in
19                                 // sight of the player while in the Abyss.
20     ATTR_DIVINE_VIGOUR,         // strength of Ely's Divine Vigour
21     ATTR_DIVINE_STAMINA,        // strength of Zin's Divine Stamina
22     ATTR_DIVINE_SHIELD,         // strength of TSO's Divine Shield
23 #if TAG_MAJOR_VERSION == 34
24     ATTR_WEAPON_SWAP_INTERRUPTED,
25 #endif
26     ATTR_GOLD_FOUND,
27     ATTR_PURCHASES,            // Gold amount spent at shops.
28     ATTR_DONATIONS,            // Gold amount donated to Zin.
29     ATTR_MISC_SPENDING,        // Spending for things like ziggurats.
30 #if TAG_MAJOR_VERSION == 34
31     ATTR_UNUSED1,              // was ATTR_RND_LVL_BOOKS
32     ATTR_NOISES,
33     ATTR_SHADOWS,              // Lantern of shadows effect.
34     ATTR_UNUSED2,              // was ATTR_FRUIT_FOUND
35     ATTR_FLIGHT_UNCANCELLABLE, // Potion of flight is in effect.
36     ATTR_INVIS_UNCANCELLABLE,  // Spell/potion of invis is in effect.
37 #endif
38     ATTR_PERM_FLIGHT,          // Cache for flight from equipment
39     ATTR_SEEN_INVIS_TURN,      // Last turn you saw something invisible.
40     ATTR_SEEN_INVIS_SEED,      // Random seed for invis monster positions.
41 #if TAG_MAJOR_VERSION == 34
42     ATTR_UNUSED3,            // old Beastly Appendage
43 #endif
44     ATTR_TITHE_BASE,           // Remainder of untithed gold.
45     ATTR_EVOL_XP,              // XP gained since last evolved mutation
46     ATTR_LIFE_GAINED,          // XL when a felid gained a life.
47     ATTR_TEMP_MUTATIONS,       // Number of temporary mutations the player has.
48     ATTR_TEMP_MUT_XP,          // Amount of XP remaining before some temp muts
49                                // will be removed
50     ATTR_NEXT_RECALL_TIME,     // aut remaining until next ally will be recalled
51     ATTR_NEXT_RECALL_INDEX,    // index+1 into recall_list for next recall
52 #if TAG_MAJOR_VERSION == 34
53     ATTR_EVOKER_XP,            // How much xp remaining until next evoker charge
54 #endif
55     ATTR_SEEN_BEOGH,           // Did an orc priest already offer conversion?
56 #if TAG_MAJOR_VERSION == 34
57     ATTR_XP_DRAIN,             // Severity of current skill drain
58 #endif
59     ATTR_SEARING_RAY,          // Are we currently firing a searing ray?
60     ATTR_RECITE_TYPE,          // Recitation type.
61     ATTR_RECITE_SEED,          // Recite text seed.
62 #if TAG_MAJOR_VERSION == 34
63     ATTR_RECITE_HP,            // HP on start of recitation.
64 #endif
65     ATTR_SWIFTNESS,            // Duration of future antiswiftness.
66 #if TAG_MAJOR_VERSION == 34
67     ATTR_BARBS_MSG,            // Have we already printed a message on move?
68 #endif
69     ATTR_BARBS_POW,            // How badly we are currently skewered
70 #if TAG_MAJOR_VERSION == 34
71     ATTR_REPEL_MISSILES,       // Repel missiles active
72     ATTR_DEFLECT_MISSILES,     // Deflect missiles active
73 #endif
74     ATTR_PORTAL_PROJECTILE,    // Accuracy bonus during portal projectile
75     ATTR_GOD_WRATH_XP,         // How much XP before our next god wrath check?
76     ATTR_GOD_WRATH_COUNT,      // Number of stored retributions
77     ATTR_NEXT_DRAGON_TIME,     // aut remaining until Dragon's Call summons another
78     ATTR_GOLD_GENERATED,       // Count gold generated on non-Abyss levels this game.
79 #if TAG_MAJOR_VERSION == 34
80     ATTR_GOZAG_POTIONS,        // Number of times you've bought potions from Gozag.
81 #endif
82     ATTR_GOZAG_SHOPS,          // Number of shops you've funded from Gozag.
83     ATTR_GOZAG_SHOPS_CURRENT,  // As above, but since most recent time worshipping.
84 #if TAG_MAJOR_VERSION == 34
85     ATTR_DIVINE_FIRE_RES,      // Divine fire resistance (Qazlal).
86     ATTR_DIVINE_COLD_RES,      // Divine cold resistance (Qazlal).
87     ATTR_DIVINE_ELEC_RES,      // Divine electricity resistance (Qazlal).
88     ATTR_DIVINE_AC,            // Divine AC bonus (Qazlal).
89 #endif
90     ATTR_GOZAG_GOLD_USED,      // Gold spent for Gozag abilities.
91 #if TAG_MAJOR_VERSION == 34
92     ATTR_BONE_ARMOUR,          // Current amount of bony armour (from the spell)
93     ATTR_LAST_FLIGHT_STATUS,   // Whether SPARM_FLIGHT should be restored after form change
94     ATTR_GOZAG_FIRST_POTION,   // Gozag's free first usage of Potion Petition.
95 #endif
96     ATTR_STAT_LOSS_XP,         // Unmodified XP needed for stat recovery.
97 #if TAG_MAJOR_VERSION == 34
98     ATTR_SURGE_REMOVED,        // Was surge power applied to next evocation.
99     ATTR_PAKELLAS_EXTRA_MP,    // MP to be collected to get a !magic from P
100     ATTR_DIVINE_ENERGY,        // Divine energy from Sif to cast with no MP.
101 #endif
102     ATTR_SERPENTS_LASH,        // Remaining instant movement actions.
103 #if TAG_MAJOR_VERSION == 34
104     ATTR_HEAVENLY_STORM,       // Strength of Heavenly Storm slaying.
105     ATTR_WALL_JUMP_READY,      // Ready to perform a wall jump.
106 #endif
107     ATTR_DEATHS_DOOR_HP,       // How much HP we should have under Death's Door
108     NUM_ATTRIBUTES
109 };
110