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