1 #pragma once
2 
3 #include "tag-version.h"
4 
5 // This list must match the enchant_names array in mon-ench.cc
6 // Enchantments that imply other enchantments should come first
7 // to avoid timeout message confusion. Currently:
8 //     berserk -> haste, might; fatigue -> slow
9 enum enchant_type
10 {
11     ENCH_NONE = 0,
12     ENCH_BERSERK,
13     ENCH_HASTE,
14     ENCH_MIGHT,
15     ENCH_FATIGUE,        // Post-berserk fatigue.
16     ENCH_SLOW,
17     ENCH_FEAR,
18     ENCH_CONFUSION,
19     ENCH_INVIS,
20     ENCH_POISON,
21 #if TAG_MAJOR_VERSION == 34
22     ENCH_ROT,
23 #endif
24     ENCH_SUMMON,
25     ENCH_ABJ,
26     ENCH_CORONA,
27     ENCH_CHARM,
28     ENCH_STICKY_FLAME,
29     ENCH_GLOWING_SHAPESHIFTER,
30     ENCH_SHAPESHIFTER,
31     ENCH_TP,
32     ENCH_SLEEP_WARY,
33     ENCH_SUBMERGED,
34     ENCH_SHORT_LIVED,
35     ENCH_PARALYSIS,
36     ENCH_SICK,
37 #if TAG_MAJOR_VERSION == 34
38     ENCH_SLEEPY,         //   Monster can't wake until this wears off.
39 #endif
40     ENCH_HELD,           //   Caught in a net.
41 #if TAG_MAJOR_VERSION == 34
42     ENCH_OLD_BATTLE_FRENZY,
43     ENCH_TEMP_PACIF,
44 #endif
45     ENCH_PETRIFYING,
46     ENCH_PETRIFIED,
47     ENCH_LOWERED_WL,
48     ENCH_SOUL_RIPE,
49     ENCH_SLOWLY_DYING,
50 #if TAG_MAJOR_VERSION == 34
51     ENCH_EAT_ITEMS,
52 #endif
53     ENCH_AQUATIC_LAND,   // Water monsters lose hp while on land.
54 #if TAG_MAJOR_VERSION == 34
55     ENCH_SPORE_PRODUCTION,
56     ENCH_SLOUCH,
57 #endif
58     ENCH_SWIFT,
59     ENCH_TIDE,
60     ENCH_INSANE,         // Berserk + changed attitude.
61     ENCH_SILENCE,
62     ENCH_AWAKEN_FOREST,
63     ENCH_EXPLODING,
64 #if TAG_MAJOR_VERSION == 34
65     ENCH_BLEED,
66 #endif
67     ENCH_PORTAL_TIMER,
68     ENCH_SEVERED,
69     ENCH_ANTIMAGIC,
70 #if TAG_MAJOR_VERSION == 34
71     ENCH_FADING_AWAY,
72     ENCH_PREPARING_RESURRECT,
73 #endif
74     ENCH_REGENERATION,
75     ENCH_STRONG_WILLED,
76     ENCH_MIRROR_DAMAGE,
77 #if TAG_MAJOR_VERSION == 34
78     ENCH_MAGIC_ARMOUR,
79     ENCH_FEAR_INSPIRING,
80 #endif
81     ENCH_PORTAL_PACIFIED,
82 #if TAG_MAJOR_VERSION == 34
83     ENCH_WITHDRAWN,
84     ENCH_ATTACHED,
85 #endif
86     ENCH_LIFE_TIMER,     // Minimum time demonic guardian must exist.
87     ENCH_FLIGHT,
88     ENCH_LIQUEFYING,
89     ENCH_POLAR_VORTEX,
90     ENCH_FAKE_ABJURATION,
91     ENCH_DAZED,          // Dazed - less chance of acting each turn.
92     ENCH_MUTE,           // Silenced.
93     ENCH_BLIND,          // Blind (everything is invisible).
94     ENCH_DUMB,           // Stupefied (paralysis by a different name).
95     ENCH_MAD,            // Confusion by another name.
96     ENCH_SILVER_CORONA,  // Zin's silver light.
97     ENCH_RECITE_TIMER,   // Was recited against.
98     ENCH_INNER_FLAME,
99 #if TAG_MAJOR_VERSION == 34
100     ENCH_OLD_ROUSED,
101 #endif
102     ENCH_BREATH_WEAPON,  // timer for breathweapon/similar spam
103 #if TAG_MAJOR_VERSION == 34
104     ENCH_DEATHS_DOOR,
105 #endif
106     ENCH_ROLLING,        // Boulder Beetle in ball form
107 #if TAG_MAJOR_VERSION == 34
108     ENCH_OZOCUBUS_ARMOUR,
109 #endif
110     ENCH_WRETCHED,       // An abstract placeholder for monster mutations
111     ENCH_SCREAMED,       // Starcursed scream timer
112     ENCH_WORD_OF_RECALL, // Chanting word of recall
113     ENCH_INJURY_BOND,
114     ENCH_WATER_HOLD,     // Silence and asphyxiation damage
115     ENCH_FLAYED,
116     ENCH_HAUNTING,
117 #if TAG_MAJOR_VERSION == 34
118     ENCH_RETCHING,
119 #endif
120     ENCH_WEAK,
121     ENCH_DIMENSION_ANCHOR,
122     ENCH_AWAKEN_VINES,   // Is presently animating snaplasher vines
123 #if TAG_MAJOR_VERSION == 34
124     ENCH_CONTROL_WINDS,
125     ENCH_WIND_AIDED,
126 #endif
127     ENCH_SUMMON_CAPPED,  // Abjuring quickly because a summon cap was hit
128     ENCH_TOXIC_RADIANCE,
129 #if TAG_MAJOR_VERSION == 34
130     ENCH_GRASPING_ROOTS_SOURCE, // Not actually entangled, but entangling others
131 #endif
132     ENCH_GRASPING_ROOTS,
133     ENCH_SPELL_CHARGED,
134     ENCH_FIRE_VULN,
135     ENCH_POLAR_VORTEX_COOLDOWN,
136     ENCH_MERFOLK_AVATAR_SONG,
137     ENCH_BARBS,
138 #if TAG_MAJOR_VERSION == 34
139     ENCH_BUILDING_CHARGE,
140 #endif
141     ENCH_POISON_VULN,
142     ENCH_ICEMAIL,
143     ENCH_AGILE,
144     ENCH_FROZEN,
145 #if TAG_MAJOR_VERSION == 34
146     ENCH_EPHEMERAL_INFUSION,
147 #endif
148     ENCH_BLACK_MARK,
149 #if TAG_MAJOR_VERSION == 34
150     ENCH_GRAND_AVATAR,
151 #endif
152     ENCH_SAP_MAGIC,
153 #if TAG_MAJOR_VERSION == 34
154     ENCH_SHROUD,
155 #endif
156     ENCH_PHANTOM_MIRROR,
157     ENCH_NEUTRAL_BRIBED,
158     ENCH_FRIENDLY_BRIBED,
159     ENCH_CORROSION,
160     ENCH_GOLD_LUST,
161     ENCH_DRAINED,
162     ENCH_REPEL_MISSILES,
163 #if TAG_MAJOR_VERSION == 34
164     ENCH_DEFLECT_MISSILES,
165     ENCH_NEGATIVE_VULN,
166     ENCH_CONDENSATION_SHIELD,
167 #endif
168     ENCH_RESISTANCE,
169     ENCH_HEXED,
170 #if TAG_MAJOR_VERSION == 34
171     ENCH_BONE_ARMOUR,
172     ENCH_CHANT_FIRE_STORM, // chanting the fire storm spell
173     ENCH_CHANT_WORD_OF_ENTROPY, // chanting word of entropy
174 #endif
175     ENCH_BRILLIANCE_AURA, // emanating a brilliance aura
176     ENCH_EMPOWERED_SPELLS, // affected by above
177     ENCH_GOZAG_INCITE,
178     ENCH_PAIN_BOND, // affected by above
179     ENCH_IDEALISED,
180     ENCH_BOUND_SOUL,
181     ENCH_INFESTATION,
182     ENCH_STILL_WINDS,
183     ENCH_RING_OF_THUNDER,
184 #if TAG_MAJOR_VERSION == 34
185     ENCH_WHIRLWIND_PINNED,
186     ENCH_VORTEX,
187     ENCH_VORTEX_COOLDOWN,
188 #endif
189     ENCH_VILE_CLUTCH,
190     ENCH_WATERLOGGED,
191     ENCH_RING_OF_FLAMES,
192     ENCH_RING_OF_CHAOS,
193     ENCH_RING_OF_MUTATION,
194     ENCH_RING_OF_FOG,
195     ENCH_RING_OF_ICE,
196     ENCH_RING_OF_DRAINING,
197     ENCH_RING_OF_ACID,
198     ENCH_RING_OF_MIASMA,
199     ENCH_CONCENTRATE_VENOM,
200     // Update enchant_names[] in mon-ench.cc when adding or removing
201     // enchantments.
202     NUM_ENCHANTMENTS
203 };
204