Introduce a spell enum, and use it everywhere for PC spellcasting
- Monster spellcasting is untouched - Also updated the spells documentation, which had some old information from Exile III and omitted a lot of ranges.
This commit is contained in:
@@ -808,4 +808,158 @@ enum eFieldType {
|
||||
// TODO: Sfx fields, objects
|
||||
};
|
||||
|
||||
enum class eSpell {
|
||||
NONE = -1,
|
||||
// Mage spells
|
||||
LIGHT = 0,
|
||||
SPARK = 1,
|
||||
HASTE_MINOR = 2,
|
||||
STRENGTH = 3,
|
||||
SCARE = 4,
|
||||
CLOUD_FLAME = 5,
|
||||
IDENTIFY = 6,
|
||||
SCRY_MONSTER = 7,
|
||||
GOO = 8,
|
||||
TRUE_SIGHT = 9,
|
||||
POISON_MINOR = 10,
|
||||
FLAME = 11,
|
||||
SLOW = 12,
|
||||
DUMBFOUND = 13,
|
||||
ENVENOM = 14,
|
||||
CLOUD_STINK = 15,
|
||||
SUMMON_BEAST = 16,
|
||||
CONFLAGRATION = 17,
|
||||
DISPEL_SQUARE = 18,
|
||||
CLOUD_SLEEP = 19,
|
||||
UNLOCK = 20,
|
||||
HASTE = 21,
|
||||
FIREBALL = 22,
|
||||
LIGHT_LONG = 23,
|
||||
FEAR = 24,
|
||||
WALL_FORCE = 25,
|
||||
SUMMON_WEAK = 26,
|
||||
ARROWS_FLAME = 27,
|
||||
WEB = 28,
|
||||
RESIST_MAGIC = 29,
|
||||
POISON = 30,
|
||||
ICE_BOLT = 31,
|
||||
SLOW_GROUP = 32,
|
||||
MAGIC_MAP = 33,
|
||||
CAPTURE_SOUL = 34,
|
||||
SIMULACRUM = 35,
|
||||
ARROWS_VENOM = 36,
|
||||
WALL_ICE = 37,
|
||||
STEALTH = 38,
|
||||
HASTE_MAJOR = 39,
|
||||
FIRESTORM = 40,
|
||||
DISPEL_BARRIER = 41,
|
||||
BARRIER_FIRE = 42,
|
||||
SUMMON = 43,
|
||||
SHOCKSTORM = 44,
|
||||
SPRAY_FIELDS = 45,
|
||||
POISON_MAJOR = 46,
|
||||
FEAR_GROUP = 47,
|
||||
KILL = 48,
|
||||
PARALYZE = 49,
|
||||
DEMON = 50,
|
||||
ANTIMAGIC = 51,
|
||||
MINDDUEL = 52,
|
||||
FLIGHT = 53,
|
||||
SHOCKWAVE = 54,
|
||||
BLESS_MAJOR = 55,
|
||||
PARALYSIS_MASS = 56,
|
||||
PROTECTION = 57,
|
||||
SUMMON_MAJOR = 58,
|
||||
BARRIER_FORCE = 59,
|
||||
QUICKFIRE = 60,
|
||||
ARROWS_DEATH = 61,
|
||||
// Special spells
|
||||
STRENGTHEN_TARGET = 62,
|
||||
SUMMON_RAT = 63,
|
||||
WALL_ICE_BALL = 64,
|
||||
GOO_BOMB = 65,
|
||||
FOUL_VAPOR = 66,
|
||||
CLOUD_SLEEP_LARGE = 67,
|
||||
ACID_SPRAY = 68,
|
||||
PARALYZE_BEAM = 69,
|
||||
SLEEP_MASS = 70,
|
||||
RAVAGE_ENEMIES = 71,
|
||||
// Priest spells
|
||||
BLESS_MINOR = 100,
|
||||
HEAL_MINOR = 101,
|
||||
POISON_WEAKEN = 102,
|
||||
TURN_UNDEAD = 103,
|
||||
LOCATION = 104,
|
||||
SANCTUARY = 105,
|
||||
SYMBIOSIS = 106,
|
||||
MANNA_MINOR = 107,
|
||||
RITUAL_SANCTIFY = 108,
|
||||
STUMBLE = 109,
|
||||
BLESS = 110,
|
||||
POISON_CURE = 111,
|
||||
CURSE = 112,
|
||||
LIGHT_DIVINE = 113,
|
||||
WOUND = 114,
|
||||
SUMMON_SPIRIT = 115,
|
||||
MOVE_MOUNTAINS = 116,
|
||||
CHARM_FOE = 117,
|
||||
DISEASE = 118,
|
||||
AWAKEN = 119,
|
||||
HEAL = 120,
|
||||
HEAL_ALL_LIGHT = 121,
|
||||
HOLY_SCOURGE = 122,
|
||||
DETECT_LIFE = 123,
|
||||
PARALYSIS_CURE = 124,
|
||||
MANNA = 125,
|
||||
FORCEFIELD = 126,
|
||||
DISEASE_CURE = 127,
|
||||
RESTORE_MIND = 128,
|
||||
SMITE = 129,
|
||||
POISON_CURE_ALL = 130,
|
||||
CURSE_ALL = 131,
|
||||
DISPEL_UNDEAD = 132,
|
||||
CURSE_REMOVE = 133,
|
||||
STICKS_TO_SNAKES = 134,
|
||||
MARTYRS_SHIELD = 135,
|
||||
CLEANSE = 136,
|
||||
FIREWALK = 137,
|
||||
BLESS_PARTY = 138,
|
||||
HEAL_MAJOR = 139,
|
||||
RAISE_DEAD = 140,
|
||||
FLAMESTRIKE = 141,
|
||||
SANCTUARY_MASS = 142,
|
||||
SUMMON_HOST = 143,
|
||||
SHATTER = 144,
|
||||
DISPEL_SPHERE = 145,
|
||||
HEAL_ALL = 146,
|
||||
REVIVE = 147,
|
||||
HYPERACTIVITY = 148,
|
||||
DESTONE = 149,
|
||||
SUMMON_GUARDIAN = 150,
|
||||
CHARM_MASS = 151,
|
||||
PROTECTIVE_CIRCLE = 152,
|
||||
PESTILENCE = 153,
|
||||
REVIVE_ALL = 154,
|
||||
RAVAGE_SPIRIT = 155,
|
||||
RESURRECT = 156,
|
||||
DIVINE_THUD = 157,
|
||||
AVATAR = 158,
|
||||
WALL_BLADES = 159,
|
||||
WORD_RECALL = 160,
|
||||
CLEANSE_MAJOR = 161,
|
||||
// Special spells
|
||||
DISPEL_FIELD = 162,
|
||||
MOVE_MOUNTAINS_MASS = 163,
|
||||
};
|
||||
|
||||
inline bool isMage(eSpell spell) {
|
||||
int code = (int) spell;
|
||||
return code >= 0 && code < 62;
|
||||
}
|
||||
|
||||
inline bool isPriest(eSpell spell) {
|
||||
int code = (int) spell;
|
||||
return code >= 100 && code < 162;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user