Code:
SPELL_EFFECT_NULL = 0,
SPELL_EFFECT_INSTANT_KILL, // 1
SPELL_EFFECT_SCHOOL_DAMAGE, // 2
SPELL_EFFECT_DUMMY, // 3
SPELL_EFFECT_PORTAL_TELEPORT, // 4
SPELL_EFFECT_TELEPORT_UNITS, // 5
SPELL_EFFECT_APPLY_AURA, // 6
SPELL_EFFECT_ENVIRONMENTAL_DAMAGE, // 7
SPELL_EFFECT_POWER_DRAIN, // 8
SPELL_EFFECT_HEALTH_LEECH, // 9
SPELL_EFFECT_HEAL, // 10
SPELL_EFFECT_BIND, // 11
SPELL_EFFECT_PORTAL, // 12
SPELL_EFFECT_RITUAL_BASE, // 13
SPELL_EFFECT_RITUAL_SPECIALIZE, // 14
SPELL_EFFECT_RITUAL_ACTIVATE_PORTAL, // 15
SPELL_EFFECT_QUEST_COMPLETE, // 16
SPELL_EFFECT_WEAPON_DAMAGE_NOSCHOOL, // 17
SPELL_EFFECT_RESURRECT, // 18
SPELL_EFFECT_ADD_EXTRA_ATTACKS, // 19
SPELL_EFFECT_DODGE, // 20
SPELL_EFFECT_EVADE, // 21
SPELL_EFFECT_PARRY, // 22
SPELL_EFFECT_BLOCK, // 23
SPELL_EFFECT_CREATE_ITEM, // 24
SPELL_EFFECT_WEAPON, // 25
SPELL_EFFECT_DEFENSE, // 26
SPELL_EFFECT_PERSISTENT_AREA_AURA, // 27
SPELL_EFFECT_SUMMON, // 28
SPELL_EFFECT_LEAP, // 29
SPELL_EFFECT_ENERGIZE, // 30
SPELL_EFFECT_WEAPON_PERCENT_DAMAGE, // 31
SPELL_EFFECT_TRIGGER_MISSILE, // 32
SPELL_EFFECT_OPEN_LOCK, // 33
SPELL_EFFECT_TRANSFORM_ITEM, // 34
SPELL_EFFECT_APPLY_AREA_AURA, // 35
SPELL_EFFECT_LEARN_SPELL, // 36
SPELL_EFFECT_SPELL_DEFENSE, // 37
SPELL_EFFECT_DISPEL, // 38
SPELL_EFFECT_LANGUAGE, // 39
SPELL_EFFECT_DUAL_WIELD, // 40
SPELL_EFFECT_SUMMON_WILD, // 41
SPELL_EFFECT_SUMMON_GUARDIAN, // 42
SPELL_EFFECT_TELEPORT_UNITS_FACE_CASTER,// 43
SPELL_EFFECT_SKILL_STEP, // 44
SPELL_EFFECT_UNDEFINED_45, // 45
SPELL_EFFECT_SPAWN, // 46
SPELL_EFFECT_TRADE_SKILL, // 47
SPELL_EFFECT_STEALTH, // 48
SPELL_EFFECT_DETECT, // 49
SPELL_EFFECT_SUMMON_OBJECT, // 50
//SPELL_EFFECT_TRANS_DOOR, // 50
SPELL_EFFECT_FORCE_CRITICAL_HIT, // 51
SPELL_EFFECT_GUARANTEE_HIT, // 52
SPELL_EFFECT_ENCHANT_ITEM, // 53
SPELL_EFFECT_ENCHANT_ITEM_TEMPORARY, // 54
SPELL_EFFECT_TAMECREATURE, // 55
SPELL_EFFECT_SUMMON_PET, // 56
SPELL_EFFECT_LEARN_PET_SPELL, // 57
SPELL_EFFECT_WEAPON_DAMAGE, // 58
SPELL_EFFECT_OPEN_LOCK_ITEM, // 59
SPELL_EFFECT_PROFICIENCY, // 60
SPELL_EFFECT_SEND_EVENT, // 61
SPELL_EFFECT_POWER_BURN, // 62
SPELL_EFFECT_THREAT, // 63
SPELL_EFFECT_TRIGGER_SPELL, // 64
SPELL_EFFECT_APPLY_AREA_AURA2, // 65
SPELL_EFFECT_POWER_FUNNEL, // 66
SPELL_EFFECT_HEAL_MAX_HEALTH, // 67
SPELL_EFFECT_INTERRUPT_CAST, // 68
SPELL_EFFECT_DISTRACT, // 69
SPELL_EFFECT_PULL, // 70
SPELL_EFFECT_PICKPOCKET, // 71
SPELL_EFFECT_ADD_FARSIGHT, // 72
SPELL_EFFECT_SUMMON_POSSESSED, // 73
SPELL_EFFECT_USE_GLYPH, // 74
SPELL_EFFECT_HEAL_MECHANICAL, // 75
SPELL_EFFECT_SUMMON_OBJECT_WILD, // 76
SPELL_EFFECT_SCRIPT_EFFECT, // 77
SPELL_EFFECT_ATTACK, // 78
SPELL_EFFECT_SANCTUARY, // 79
SPELL_EFFECT_ADD_COMBO_POINTS, // 80
SPELL_EFFECT_CREATE_HOUSE, // 81
SPELL_EFFECT_BIND_SIGHT, // 82
SPELL_EFFECT_DUEL, // 83
SPELL_EFFECT_STUCK, // 84
SPELL_EFFECT_SUMMON_PLAYER, // 85
SPELL_EFFECT_ACTIVATE_OBJECT, // 86
SPELL_EFFECT_SUMMON_TOTEM_SLOT1, // 87
SPELL_EFFECT_SUMMON_TOTEM_SLOT2, // 88
SPELL_EFFECT_SUMMON_TOTEM_SLOT3, // 89
SPELL_EFFECT_SUMMON_TOTEM_SLOT4, // 90
SPELL_EFFECT_THREAT_ALL, // 91
SPELL_EFFECT_ENCHANT_HELD_ITEM, // 92
SPELL_EFFECT_SUMMON_PHANTASM, // 93
SPELL_EFFECT_SELF_RESURRECT, // 94
SPELL_EFFECT_SKINNING, // 95
SPELL_EFFECT_CHARGE, // 96
SPELL_EFFECT_SUMMON_CRITTER, // 97
SPELL_EFFECT_KNOCK_BACK, // 98
SPELL_EFFECT_DISENCHANT, // 99
SPELL_EFFECT_INEBRIATE, // 100
SPELL_EFFECT_FEED_PET, // 101
SPELL_EFFECT_DISMISS_PET, // 102
SPELL_EFFECT_REPUTATION, // 103
SPELL_EFFECT_SUMMON_OBJECT_SLOT1, // 104
SPELL_EFFECT_SUMMON_OBJECT_SLOT2, // 105
SPELL_EFFECT_SUMMON_OBJECT_SLOT3, // 106
SPELL_EFFECT_SUMMON_OBJECT_SLOT4, // 107
SPELL_EFFECT_DISPEL_MECHANIC, // 108
SPELL_EFFECT_SUMMON_DEAD_PET, // 109
SPELL_EFFECT_DESTROY_ALL_TOTEMS, // 110
SPELL_EFFECT_DURABILITY_DAMAGE, // 111
SPELL_EFFECT_SUMMON_DEMON, // 112
SPELL_EFFECT_RESURRECT_FLAT, // 113
SPELL_EFFECT_ATTACK_ME, // 114
SPELL_EFFECT_DURABILITY_DAMAGE_PCT, // 115
SPELL_EFFECT_SKIN_PLAYER_CORPSE, // 116
SPELL_EFFECT_SPIRIT_HEAL, // 117
SPELL_EFFECT_SKILL, // 118
SPELL_EFFECT_APPLY_PET_AURA, // 119
SPELL_EFFECT_TELEPORT_GRAVEYARD, // 120
SPELL_EFFECT_DUMMYMELEE, // 121
SPELL_EFFECT_UNKNOWN1, // 122
SPELL_EFFECT_Start_Taxi, // 123
SPELL_EFFECT_PLAYER_PULL, // 124
SPELL_EFFECT_UNKNOWN4, // 125
SPELL_EFFECT_UNKNOWN5, // 126
SPELL_EFFECT_PROSPECTING, // 127
SPELL_EFFECT_UNKNOWN7, // 128
SPELL_EFFECT_UNKNOWN8, // 129
// SPELL_EFFECT_UNKNOWN9, // 129
SPELL_EFFECT_UNKNOWN10, // 130
SPELL_EFFECT_UNKNOWN11, // 131
SPELL_EFFECT_UNKNOWN12, // 132
SPELL_EFFECT_FORGET_SPECIALIZATION, // 133
SPELL_EFFECT_KILL_CREDIT, // 134
SPELL_EFFECT_UNKNOWN15, // 135
SPELL_EFFECT_UNKNOWN16, // 136
SPELL_EFFECT_UNKNOWN17, // 137
SPELL_EFFECT_UNKNOWN18, // 138
SPELL_EFFECT_UNKNOWN19, // 139
SPELL_EFFECT_UNKNOWN20, // 140
SPELL_EFFECT_UNKNOWN21, // 141
SPELL_EFFECT_TRIGGER_SPELL_WITH_VALUE, // 142
SPELL_EFFECT_UNKNOWN22, // 143
SPELL_EFFECT_UNKNOWN23, // 144
SPELL_EFFECT_UNKNOWN24, // 145
SPELL_EFFECT_UNKNOWN25, // 146
SPELL_EFFECT_UNKNOWN26, // 147
SPELL_EFFECT_UNKNOWN27, // 148
SPELL_EFFECT_QUEST_FAIL, // 149
SPELL_EFFECT_UNKNOWN28, // 150
SPELL_EFFECT_UNKNOWN29, // 151
SPELL_EFFECT_UNKNOWN30, // 152
SPELL_EFFECT_SUMMON_TARGET, // 153
SPELL_EFFECT_SUMMON_REFER_A_FRIEND, // 154
SPELL_EFFECT_TAME_CREATURE, // 155
SPELL_EFFECT_ADD_SOCKET, // 156
SPELL_EFFECT_CREATE_ITEM2, // 157
SPELL_EFFECT_MILLING, // 158
SPELL_EFFECT_UNKNOWN37, // 159
SPELL_EFFECT_UNKNOWN38, // 160
SPELL_EFFECT_LEARN_SPEC, // 161
SPELL_EFFECT_ACTIVATE_SPEC, // 162
TOTAL_SPELL_EFFECTS, // 163
};
// target type flags
enum SpellTargetTypes
{
SPELL_TARGET_TYPE_NONE = 0x01,
SPELL_TARGET_TYPE_PROFESSION = 0x02,
SPELL_TARGET_TYPE_NONE1 = 0x04,
SPELL_TARGET_TYPE_NONE2 = 0x08,
SPELL_TARGET_TYPE_ENCHANTABLE_ITEM = 0x10,
SPELL_TARGET_TYPE_UNK = 0x20, // seems to be scripted stuff
SPELL_TARGET_TYPE_UNK0 = 0x40, // lots of spells interesting to research this one further
SPELL_TARGET_TYPE_UNK1 = 0x80, // something todo with scripted and GM stuff
SPELL_TARGET_TYPE_UNK2 = 0x100, // lots of spells interesting to research this one further...
SPELL_TARGET_TYPE_PLAYER_CORPSE = 0x200,
SPELL_TARGET_TYPE_DEATHx = 0x400,
SPELL_TARGET_TYPE_NONE3 = 0x800,
SPELL_TARGET_TYPE_NONE4 = 0x1000,
SPELL_TARGET_TYPE_NONE5 = 0x2000,
SPELL_TARGET_TYPE_GAME_OBJECTS = 0x4000, // like chests and mining
SPELL_TARGET_TYPE_DEATH = 0x8000,
};
enum SpellTypes // SPELL_ENTRY_buffType
{
SPELL_TYPE_NONE = 0x00000000,
SPELL_TYPE_SEAL = 0x00000001,
SPELL_TYPE_ASPECT = 0x00000002,
SPELL_TYPE_BLESSING = 0x00000004,
SPELL_TYPE_CURSE = 0x00000008,
SPELL_TYPE_STING = 0x00000010,
SPELL_TYPE_ARMOR = 0x00000020,
SPELL_TYPE_AURA = 0x00000040,
//hmm these could be named simply incompatible spells. One active at a time
SPELL_TYPE_MARK_GIFT = 0x00000080,
SPELL_TYPE_TRACK = 0x00000100,
SPELL_TYPE_HUNTER_TRAP = 0x00000200,
SPELL_TYPE_MAGE_INTEL = 0x00000400,
SPELL_TYPE_MAGE_MAGI = 0x00000800,
SPELL_TYPE_MAGE_WARDS = 0x00001000,
SPELL_TYPE_PRIEST_SH_PPROT = 0x00002000,
SPELL_TYPE_SHIELD = 0x00004000,
SPELL_TYPE_FORTITUDE = 0x00008000,
SPELL_TYPE_SPIRIT = 0x00010000,
SPELL_TYPE_MAGE_AMPL_DUMP = 0x00020000,
SPELL_TYPE_WARLOCK_IMMOLATE = 0x00040000, //maybe there is a better way to trigger the aura state for immolate spell
SPELL_TYPE_ELIXIR_BATTLE = 0x00080000,
SPELL_TYPE_ELIXIR_GUARDIAN = 0x00100000,
SPELL_TYPE_ELIXIR_FLASK = SPELL_TYPE_ELIXIR_BATTLE | SPELL_TYPE_ELIXIR_GUARDIAN, //weee, this contains both battle and guardian elixirs ;)
SPELL_TYPE_HUNTER_MARK = 0x00200000,
SPELL_TYPE_WARRIOR_SHOUT = 0x00400000,
SPELL_TYPE_QUIVER_HASTE = 0x00800000,
SPELL_TYPE_CORRUPTION = 0x01000000,
SPELL_TYPE_HAND = 0x02000000,
};
//custom stuff generated for spells that will not change in time
enum SpellIsFlags
{
SPELL_FLAG_IS_DAMAGING = 0x00000001,
SPELL_FLAG_IS_HEALING = 0x00000002,
SPELL_FLAG_IS_TARGETINGSTEALTHED = 0x00000004,
SPELL_FLAG_IS_REQUIRECOOLDOWNUPDATE = 0x00000008, //it started with rogue cold blood but I'm sure others will come
SPELL_FLAG_IS_POISON = 0x00000010, //rogue has a few spells that can stack so can't use the spell_type enum ;)
SPELL_FLAG_IS_FINISHING_MOVE = 0x00000020, //rogue has a few spells that can stack so can't use the spell_type enum ;)
SPELL_FLAG_IS_NOT_USING_DMG_BONUS = 0x00000040,
SPELL_FLAG_IS_CHILD_SPELL = 0x00000080, //auras proc auras that have same name, these should not remove mother aura when adding to target
SPELL_FLAG_IS_CASTED_ON_PET_SUMMON_ON_PET = 0x00000100, //we should cast these on pet too
SPELL_FLAG_IS_CASTED_ON_PET_SUMMON_PET_OWNER = 0x00000200, //we should cast these on owner too
SPELL_FLAG_IS_EXPIREING_WITH_PET = 0x00000400, //when pet dies, we remove this too
SPELL_FLAG_IS_EXPIREING_ON_PET = 0x00000800, //when pet is summoned
SPELL_FLAG_IS_FORCEDDEBUFF = 0x00001000, // forced to be a debuff
SPELL_FLAG_IS_FORCEDBUFF = 0x00002000, // forced to be a buff
SPELL_FLAG_IS_INHERITING_LEVEL = 0x00004000, // summons to inherit caster level or not
SPELL_FLAG_IS_MAXSTACK_FOR_DEBUFF = 0x00008000, // summons to inherit caster level or not
};
enum SpellCoefficientsFlags
{
SPELL_FLAG_IS_DOT_OR_HOT_SPELL = 0x00000001, //Damage over Time or Healing over Time Spells
SPELL_FLAG_IS_DD_OR_DH_SPELL = 0x00000002, //Direct Damage or Direct Healing Spells
SPELL_FLAG_IS_DD_DH_DOT_SPELL = SPELL_FLAG_IS_DOT_OR_HOT_SPELL | SPELL_FLAG_IS_DD_OR_DH_SPELL, //DoT+(DD|DH) Spells
SPELL_FLAG_AOE_SPELL = 0x00000004, //AoE Spells
SPELL_FLAG_ADITIONAL_EFFECT = 0x00000008, //Spells with additional effect not DD or DoT or HoT
};
enum DiminishingGroup
{
DIMINISHING_GROUP_STUN = 0,
DIMINISHING_GROUP_STUN_PROC = 1,
DIMINISHING_GROUP_ROOT = 2,
DIMINISHING_GROUP_ROOT_PROC = 3,
DIMINISHING_GROUP_SLEEP = 4,
DIMINISHING_GROUP_BLIND_CYCLONE = 5,
DIMINISHING_GROUP_GOUGE_POLY_SAP = 6,
DIMINISHING_GROUP_FEAR = 7,
DIMINISHING_GROUP_CHARM = 8,
DIMINISHING_GROUP_KIDNEY_SHOT = 9,
DIMINISHING_GROUP_HORROR = 10,
DIMINISHING_GROUP_BANISH = 11,
DIMINISHING_GROUP_NOT_DIMINISHED = 12,
DIMINISHING_GROUP_DISARM = 13,
DIMINISHING_GROUP_SILENCE = 14,
Misc -