diff options
Diffstat (limited to 'src/server/game/Spells/SpellMgr.cpp')
-rw-r--r-- | src/server/game/Spells/SpellMgr.cpp | 330 |
1 files changed, 165 insertions, 165 deletions
diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 0b3c790bc5..76984e3686 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -2133,7 +2133,7 @@ void SpellMgr::LoadEnchantCustomAttr() // TODO: find a better check // Xinef: commented second part, fixes warlock enchants like firestone, spellstone - if (!spellInfo->HasAttribute(SPELL_ATTR2_PRESERVE_ENCHANT_IN_ARENA)/* || !spellInfo->HasAttribute(SPELL_ATTR0_NOT_SHAPESHIFT)*/) + if (!spellInfo->HasAttribute(SPELL_ATTR2_ENCHANT_OWN_ITEM_ONLY)/* || !spellInfo->HasAttribute(SPELL_ATTR0_NOT_SHAPESHIFTED)*/) continue; for (uint32 j = 0; j < MAX_SPELL_EFFECTS; ++j) @@ -2477,7 +2477,7 @@ void SpellMgr::LoadSpellAreas() if (SpellInfo const* spellInfo = GetSpellInfo(spell)) { if (spellArea.autocast) - const_cast<SpellInfo*>(spellInfo)->Attributes |= SPELL_ATTR0_CANT_CANCEL; + const_cast<SpellInfo*>(spellInfo)->Attributes |= SPELL_ATTR0_NO_AURA_CANCEL; } else { @@ -2776,7 +2776,7 @@ void SpellMgr::LoadSpellCustomAttr() for (uint8 k = 0; k < MAX_SPELL_EFFECTS; ++k) if (spellInfo->Effects[k].Effect == SPELL_EFFECT_LEARN_SPELL) if (const SpellInfo* learnSpell = GetSpellInfo(spellInfo->Effects[k].TriggerSpell)) - if (learnSpell->IsRanked() && !learnSpell->HasAttribute(SpellAttr0(SPELL_ATTR0_PASSIVE | SPELL_ATTR0_HIDDEN_CLIENTSIDE))) + if (learnSpell->IsRanked() && !learnSpell->HasAttribute(SpellAttr0(SPELL_ATTR0_PASSIVE | SPELL_ATTR0_DO_NOT_DISPLAY))) mTalentSpellAdditionalSet.insert(learnSpell->Id); } @@ -2881,7 +2881,7 @@ void SpellMgr::LoadSpellCustomAttr() } // Xinef: spells ignoring hit result should not be binary - if (!spellInfo->HasAttribute(SPELL_ATTR3_IGNORE_HIT_RESULT)) + if (!spellInfo->HasAttribute(SPELL_ATTR3_ALWAYS_HIT)) { for (uint8 j = 0; j < MAX_SPELL_EFFECTS; ++j) { @@ -2914,7 +2914,7 @@ void SpellMgr::LoadSpellCustomAttr() continue; [[fallthrough]]; // TODO: Not sure whether the fallthrough was a mistake (forgetting a break) or intended. This should be double-checked. default: - if (spellInfo->Effects[j].CalcValue() || ((spellInfo->Effects[j].Effect == SPELL_EFFECT_INTERRUPT_CAST || spellInfo->HasAttribute(SPELL_ATTR0_CU_DONT_BREAK_STEALTH)) && !spellInfo->HasAttribute(SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY))) + if (spellInfo->Effects[j].CalcValue() || ((spellInfo->Effects[j].Effect == SPELL_EFFECT_INTERRUPT_CAST || spellInfo->HasAttribute(SPELL_ATTR0_CU_DONT_BREAK_STEALTH)) && !spellInfo->HasAttribute(SPELL_ATTR0_NO_IMMUNITIES))) if (spellInfo->Id != 69649 && spellInfo->Id != 71056 && spellInfo->Id != 71057 && spellInfo->Id != 71058 && spellInfo->Id != 73061 && spellInfo->Id != 73062 && spellInfo->Id != 73063 && spellInfo->Id != 73064) // Sindragosa Frost Breath if (spellInfo->SpellFamilyName != SPELLFAMILY_MAGE || !(spellInfo->SpellFamilyFlags[0] & 0x20)) // frostbolt if (spellInfo->Id != 55095) // frost fever @@ -3330,7 +3330,7 @@ void SpellMgr::LoadDbcDataCorrections() 53352 // Explosive Shot (trigger) }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT; }); // Elixir of Minor Fortitude @@ -3386,7 +3386,7 @@ void SpellMgr::LoadDbcDataCorrections() 45634 // Neural Needle }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_CAN_CAST_WHILE_CASTING; // Crashes client on pressing ESC + spellInfo->AttributesEx4 &= ~SPELL_ATTR4_ALLOW_CAST_WHILE_CASTING; // Crashes client on pressing ESC }); ApplySpellFix({ @@ -3447,7 +3447,7 @@ void SpellMgr::LoadDbcDataCorrections() 53232, // Rapid Killing (Rank 2) }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_CAN_PROC_WITH_TRIGGERED; // Entries were not updated after spell effect change, we have to do that manually + spellInfo->AttributesEx3 |= SPELL_ATTR3_CAN_PROC_FROM_PROCS; // Entries were not updated after spell effect change, we have to do that manually }); ApplySpellFix({ @@ -3539,7 +3539,7 @@ void SpellMgr::LoadDbcDataCorrections() // Oscillation Field ApplySpellFix({ 37408 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Ascendance (Talisman of Ascendance trinket) @@ -3601,7 +3601,7 @@ void SpellMgr::LoadDbcDataCorrections() // Improved Shadowform (Rank 1) ApplySpellFix({ 47569 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes &= ~SPELL_ATTR0_NOT_SHAPESHIFT; // with this spell atrribute aura can be stacked several times + spellInfo->Attributes &= ~SPELL_ATTR0_NOT_SHAPESHIFTED; // with this spell atrribute aura can be stacked several times }); // Nether Portal - Perseverence @@ -3621,7 +3621,7 @@ void SpellMgr::LoadDbcDataCorrections() { spellInfo->SpellFamilyFlags[2] = 0x10; spellInfo->EffectApplyAuraName[1] = SPELL_AURA_MOD_DAMAGE_PERCENT_TAKEN; - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Parasitic Shadowfiend Passive @@ -3663,7 +3663,7 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 63675 }, [](SpellEntry* spellInfo) { spellInfo->EffectBonusMultiplier[0] = 0; - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_DONE_BONUS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_CASTER_MODIFIERS; }); ApplySpellFix({ @@ -3671,7 +3671,7 @@ void SpellMgr::LoadDbcDataCorrections() 6474 // Earthbind Totem (instant pulse) }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx5 |= SPELL_ATTR5_START_PERIODIC_AT_APPLY; + spellInfo->AttributesEx5 |= SPELL_ATTR5_EXTRA_INITIAL_PERIOD; }); // Marked for Death @@ -3824,13 +3824,13 @@ void SpellMgr::LoadDbcDataCorrections() // Light's Beacon, Beacon of Light ApplySpellFix({ 53651 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Hand of Reckoning ApplySpellFix({ 62124 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx |= SPELL_ATTR1_CANT_BE_REDIRECTED; + spellInfo->AttributesEx |= SPELL_ATTR1_NO_REDIRECTION; }); // Redemption @@ -3848,7 +3848,7 @@ void SpellMgr::LoadDbcDataCorrections() { // hack for seal of light and few spells, judgement consists of few single casts and each of them can proc // some spell, base one has disabled proc flag but those dont have this flag - spellInfo->AttributesEx3 |= SPELL_ATTR3_CANT_TRIGGER_PROC; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_CASTER_PROCS; }); // Blessing of sanctuary stats @@ -3862,7 +3862,7 @@ void SpellMgr::LoadDbcDataCorrections() // Seal of Command trigger ApplySpellFix({ 20424 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 &= ~SPELL_ATTR3_CANT_TRIGGER_PROC; + spellInfo->AttributesEx3 &= ~SPELL_ATTR3_SUPRESS_CASTER_PROCS; }); ApplySpellFix({ @@ -3871,7 +3871,7 @@ void SpellMgr::LoadDbcDataCorrections() 53654 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_DONE_BONUS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_CASTER_MODIFIERS; spellInfo->DmgClass = SPELL_DAMAGE_CLASS_MAGIC; }); @@ -3905,8 +3905,8 @@ void SpellMgr::LoadDbcDataCorrections() // Intervene ApplySpellFix({ 3411 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_STOP_ATTACK_TARGET; - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->Attributes |= SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; }); // Roar of Sacrifice @@ -3936,7 +3936,7 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 1130, 14323, 14324, 14325, 53338 }, [](SpellEntry* spellInfo) { spellInfo->DmgClass = SPELL_DAMAGE_CLASS_MAGIC; - spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT; }); // Cobra Strikes @@ -3955,13 +3955,13 @@ void SpellMgr::LoadDbcDataCorrections() // Kindred Spirits, damage aura ApplySpellFix({ 57458 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx4 |= SPELL_ATTR4_DONT_REMOVE_IN_ARENA; + spellInfo->AttributesEx4 |= SPELL_ATTR4_ALLOW_ENETRING_ARENA; }); // Chimera Shot - Serpent trigger ApplySpellFix({ 53353 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_DONE_BONUS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_CASTER_MODIFIERS; }); // Entrapment trigger @@ -3969,7 +3969,7 @@ void SpellMgr::LoadDbcDataCorrections() { spellInfo->EffectImplicitTargetA[EFFECT_0] = TARGET_DEST_TARGET_ENEMY; spellInfo->EffectImplicitTargetB[EFFECT_0] = TARGET_UNIT_DEST_AREA_ENEMY; - spellInfo->AttributesEx5 |= SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK; + spellInfo->AttributesEx5 |= SPELL_ATTR5_ALWAYS_AOE_LINE_OF_SIGHT; }); // Improved Stings (Rank 2) @@ -3981,7 +3981,7 @@ void SpellMgr::LoadDbcDataCorrections() // Heart of the Phoenix (triggered) ApplySpellFix({ 54114 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx &= ~SPELL_ATTR1_DISMISS_PET; + spellInfo->AttributesEx &= ~SPELL_ATTR1_DISMISS_PET_FIRST; spellInfo->RecoveryTime = 8 * 60 * IN_MILLISECONDS; // prev 600000 }); @@ -4011,7 +4011,7 @@ void SpellMgr::LoadDbcDataCorrections() 1725 // Distract }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; }); // Envenom @@ -4037,7 +4037,7 @@ void SpellMgr::LoadDbcDataCorrections() // Killing Spree ApplySpellFix({ 51690 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx |= SPELL_ATTR1_NOT_BREAK_STEALTH; + spellInfo->AttributesEx |= SPELL_ATTR1_ALLOW_WHILE_STEALTHED; }); // Blood Tap visual cd reset @@ -4078,8 +4078,8 @@ void SpellMgr::LoadDbcDataCorrections() // Wandering Plague ApplySpellFix({ 50526 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_DONE_BONUS; - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_CASTER_MODIFIERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; }); // Dancing Rune Weapon @@ -4092,8 +4092,8 @@ void SpellMgr::LoadDbcDataCorrections() // Death and Decay ApplySpellFix({ 52212 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; - spellInfo->AttributesEx6 |= SPELL_ATTR6_CAN_TARGET_INVISIBLE; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; + spellInfo->AttributesEx6 |= SPELL_ATTR6_IGNORE_PHASE_SHIFT; }); // T9 blood plague crit bonus @@ -4117,13 +4117,13 @@ void SpellMgr::LoadDbcDataCorrections() // Scourge Strike trigger ApplySpellFix({ 70890 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_CANT_TRIGGER_PROC; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_CASTER_PROCS; }); // Blood-caked Blade - Blood-caked Strike trigger ApplySpellFix({ 50463 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_CANT_TRIGGER_PROC; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_CASTER_PROCS; }); // Blood Gorged @@ -4144,25 +4144,25 @@ void SpellMgr::LoadDbcDataCorrections() // Death Grip Jump Dest ApplySpellFix({ 57604 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // Death Pact ApplySpellFix({ 48743 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx &= ~SPELL_ATTR1_CANT_TARGET_SELF; + spellInfo->AttributesEx &= ~SPELL_ATTR1_EXCLUDE_CASTER; }); // Raise Ally (trigger) ApplySpellFix({ 46619 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes &= ~SPELL_ATTR0_CANT_CANCEL; + spellInfo->Attributes &= ~SPELL_ATTR0_NO_AURA_CANCEL; }); // Frost Strike ApplySpellFix({ 49143, 51416, 51417, 51418, 51419, 55268 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_BLOCKABLE_SPELL; + spellInfo->AttributesEx3 |= SPELL_ATTR3_COMPLETELY_BLOCKED; }); // Death Knight T10 Tank 2p Bonus @@ -4175,7 +4175,7 @@ void SpellMgr::LoadDbcDataCorrections() { spellInfo->CategoryRecoveryTime = 0; spellInfo->RecoveryTime = 0; - spellInfo->AttributesEx6 |= SPELL_ATTR6_LIMIT_PCT_DAMAGE_MODS; + spellInfo->AttributesEx6 |= SPELL_ATTR6_IGNORE_CASTER_DAMAGE_MODIFIERS; }); // Improved Earth Shield @@ -4205,13 +4205,13 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->SpellLevel = 0; spellInfo->BaseLevel = 0; spellInfo->DmgClass = SPELL_DAMAGE_CLASS_MAGIC; - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_DONE_BONUS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_CASTER_MODIFIERS; }); // Stormstrike ApplySpellFix({ 17364 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Strength of Earth totem effect @@ -4238,29 +4238,29 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 6277 }, [](SpellEntry* spellInfo) { // because it is passive, needs this to be properly removed at death in RemoveAllAurasOnDeath() - spellInfo->AttributesEx &= ~SPELL_ATTR1_CHANNELED_1; + spellInfo->AttributesEx &= ~SPELL_ATTR1_IS_CHANNELED; spellInfo->Attributes |= SPELL_ATTR0_PASSIVE; - spellInfo->AttributesEx7 |= SPELL_ATTR7_REACTIVATE_AT_RESURRECT; + spellInfo->AttributesEx7 |= SPELL_ATTR7_DISABLE_AURA_WHILE_DEAD; }); // Ancestral Awakening Heal ApplySpellFix({ 52752 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_DONE_BONUS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_CASTER_MODIFIERS; }); // Heroism ApplySpellFix({ 32182 }, [](SpellEntry* spellInfo) { spellInfo->ExcludeTargetAuraSpell = 57723; // Exhaustion - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // Bloodlust ApplySpellFix({ 2825 }, [](SpellEntry* spellInfo) { spellInfo->ExcludeTargetAuraSpell = 57724; // Sated - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // Improved Succubus @@ -4281,7 +4281,7 @@ void SpellMgr::LoadDbcDataCorrections() 61291 // r2 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx |= SPELL_ATTR1_CANT_BE_REDIRECTED; + spellInfo->AttributesEx |= SPELL_ATTR1_NO_REDIRECTION; }); // Curse of Doom @@ -4348,8 +4348,8 @@ void SpellMgr::LoadDbcDataCorrections() // Living Bomb ApplySpellFix({ 44461, 55361, 55362 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; - spellInfo->AttributesEx4 |= SPELL_ATTR4_DAMAGE_DOESNT_BREAK_AURAS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; + spellInfo->AttributesEx4 |= SPELL_ATTR4_REACTIVE_DAMAGE_PROC; }); // Evocation @@ -4399,7 +4399,7 @@ void SpellMgr::LoadDbcDataCorrections() // Arcane Blast, can't be dispelled ApplySpellFix({ 36032 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY; + spellInfo->Attributes |= SPELL_ATTR0_NO_IMMUNITIES; }); // Chilled (frost armor, ice armor proc) @@ -4420,7 +4420,7 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 44544 }, [](SpellEntry* spellInfo) { spellInfo->Dispel = DISPEL_NONE; - spellInfo->AttributesEx4 |= SPELL_ATTR4_NOT_STEALABLE; + spellInfo->AttributesEx4 |= SPELL_ATTR4_CANNOT_BE_STOLEN; spellInfo->EffectSpellClassMask[0] = flag96(685904631, 1151040, 32); }); @@ -4440,7 +4440,7 @@ void SpellMgr::LoadDbcDataCorrections() // Sweeping Strikes stance change ApplySpellFix({ 12328 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_NOT_SHAPESHIFT; + spellInfo->Attributes |= SPELL_ATTR0_NOT_SHAPESHIFTED; }); // Damage Shield @@ -4457,7 +4457,7 @@ void SpellMgr::LoadDbcDataCorrections() }, [](SpellEntry* spellInfo) { // Strange shared cooldown - spellInfo->AttributesEx6 |= SPELL_ATTR6_IGNORE_CATEGORY_COOLDOWN_MODS; + spellInfo->AttributesEx6 |= SPELL_ATTR6_NO_CATEGORY_COOLDOWN_MODS; }); // Vigilance @@ -4555,13 +4555,13 @@ void SpellMgr::LoadDbcDataCorrections() // Owlkin Frenzy ApplySpellFix({ 48391 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_NOT_SHAPESHIFT; + spellInfo->Attributes |= SPELL_ATTR0_NOT_SHAPESHIFTED; }); // Item T10 Restoration 4P Bonus ApplySpellFix({ 70691 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_DONE_BONUS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_CASTER_MODIFIERS; }); ApplySpellFix({ @@ -4569,13 +4569,13 @@ void SpellMgr::LoadDbcDataCorrections() 16857 // Faerie Fire (Feral) }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx &= ~SPELL_ATTR1_UNAFFECTED_BY_SCHOOL_IMMUNE; + spellInfo->AttributesEx &= ~SPELL_ATTR1_IMMUNITY_TO_HOSTILE_AND_FRIENDLY_EFFECTS; }); // Feral Charge - Cat ApplySpellFix({ 49376, 61138, 61132, 50259 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; }); // Glyph of Barkskin @@ -4745,7 +4745,7 @@ void SpellMgr::LoadDbcDataCorrections() // Teleport To Molten Core ApplySpellFix({ 25139 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_DEATH_PERSISTENT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD; }); // Landen Stilwell Transform @@ -4779,7 +4779,7 @@ void SpellMgr::LoadDbcDataCorrections() 38834 // Heroic }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Curse of the Doomsayer NORMAL @@ -4798,13 +4798,13 @@ void SpellMgr::LoadDbcDataCorrections() // Debris ApplySpellFix({ 36449 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_NEGATIVE_1; + spellInfo->Attributes |= SPELL_ATTR0_AURA_IS_DEBUFF; }); // Soul Channel ApplySpellFix({ 30531 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Debris Visual @@ -4822,7 +4822,7 @@ void SpellMgr::LoadDbcDataCorrections() // Break Ice ApplySpellFix({ 46638 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 &= ~SPELL_ATTR3_ONLY_TARGET_PLAYERS; // Obvious fail, it targets gameobject... + spellInfo->AttributesEx3 &= ~SPELL_ATTR3_ONLY_ON_PLAYER; // Obvious fail, it targets gameobject... }); // Sinister Reflection Clone @@ -4849,7 +4849,7 @@ void SpellMgr::LoadDbcDataCorrections() // Shared Bonds ApplySpellFix({ 41363 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx &= ~SPELL_ATTR1_CHANNELED_1; + spellInfo->AttributesEx &= ~SPELL_ATTR1_IS_CHANNELED; }); ApplySpellFix({ @@ -4857,14 +4857,14 @@ void SpellMgr::LoadDbcDataCorrections() 41487 // Envenom }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx6 |= SPELL_ATTR6_CAN_TARGET_INVISIBLE; + spellInfo->AttributesEx6 |= SPELL_ATTR6_IGNORE_PHASE_SHIFT; }); // Parasitic Shadowfiend ApplySpellFix({ 41914 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_NEGATIVE_1; - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->Attributes |= SPELL_ATTR0_AURA_IS_DEBUFF; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Teleport Maiev @@ -4876,7 +4876,7 @@ void SpellMgr::LoadDbcDataCorrections() // Watery Grave Explosion ApplySpellFix({ 37852 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx5 |= SPELL_ATTR5_USABLE_WHILE_STUNNED; + spellInfo->AttributesEx5 |= SPELL_ATTR5_ALLOW_WHILE_STUNNED; }); // Amplify Damage @@ -4897,7 +4897,7 @@ void SpellMgr::LoadDbcDataCorrections() }, [](SpellEntry* spellInfo) { // Spell doesn't need to ignore invulnerabilities - spellInfo->Attributes = SPELL_ATTR0_ABILITY; + spellInfo->Attributes = SPELL_ATTR0_IS_ABILITY; }); // Finger of Death @@ -4909,7 +4909,7 @@ void SpellMgr::LoadDbcDataCorrections() // Flame Breath, catapult spell ApplySpellFix({ 50989 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes &= ~SPELL_ATTR0_LEVEL_DAMAGE_CALCULATION; + spellInfo->Attributes &= ~SPELL_ATTR0_SCALES_WITH_CREATURE_LEVEL; }); // Koralon, Flaming Cinder @@ -4942,7 +4942,7 @@ void SpellMgr::LoadDbcDataCorrections() // Infected Wound ApplySpellFix({ 29306 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Hopeless @@ -4954,7 +4954,7 @@ void SpellMgr::LoadDbcDataCorrections() // Jagged Knife ApplySpellFix({ 55550 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_REQ_AMMO; + spellInfo->Attributes |= SPELL_ATTR0_USES_RANGED_SLOT; }); // Moorabi - Transformation @@ -4970,7 +4970,7 @@ void SpellMgr::LoadDbcDataCorrections() 58966 // Throw (Heroic) }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_REQ_AMMO; + spellInfo->Attributes |= SPELL_ATTR0_USES_RANGED_SLOT; }); // Charged Chaotic rift aura, trigger @@ -5027,7 +5027,7 @@ void SpellMgr::LoadDbcDataCorrections() // Ingvar the Plunderer, Ingvar transform ApplySpellFix({ 42796 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_DEATH_PERSISTENT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD; }); ApplySpellFix({ @@ -5035,7 +5035,7 @@ void SpellMgr::LoadDbcDataCorrections() 59685 // Hurl Dagger (Heroic) }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_REQ_AMMO; + spellInfo->Attributes |= SPELL_ATTR0_USES_RANGED_SLOT; }); // Control Crystal Activation @@ -5054,7 +5054,7 @@ void SpellMgr::LoadDbcDataCorrections() // Ichoron, Water Blast ApplySpellFix({ 54237, 59520 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT; }); // Krik'thir - Mind Flay @@ -5091,7 +5091,7 @@ void SpellMgr::LoadDbcDataCorrections() // Gift of Twilight Shadow/Fire ApplySpellFix({ 57835, 58766 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx &= ~SPELL_ATTR1_CHANNELED_1; + spellInfo->AttributesEx &= ~SPELL_ATTR1_IS_CHANNELED; }); // Pyrobuffet @@ -5116,13 +5116,13 @@ void SpellMgr::LoadDbcDataCorrections() 56438, // Arcane Overload (-50% dmg taken) - this is to prevent apply -> unapply -> apply ... dunno whether it's correct }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Vortex (Control Vehicle) ApplySpellFix({ 56263 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT; }); // Haste (Nexus Lord, increase run Speed of the disk) @@ -5166,10 +5166,10 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->MaxAffectedTargets = 1; spellInfo->InterruptFlags = 0; spellInfo->EffectRadiusIndex[0] = 28; - spellInfo->AttributesEx4 |= SPELL_ATTR4_CAN_CAST_WHILE_CASTING; + spellInfo->AttributesEx4 |= SPELL_ATTR4_ALLOW_CAST_WHILE_CASTING; spellInfo->EffectImplicitTargetA[0] = TARGET_SRC_CASTER; spellInfo->EffectImplicitTargetB[0] = TARGET_UNIT_SRC_AREA_ENEMY; - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // Surge of Power (Phase 3) @@ -5180,10 +5180,10 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->MaxAffectedTargets = 3; spellInfo->InterruptFlags = 0; spellInfo->EffectRadiusIndex[0] = 28; - spellInfo->AttributesEx4 |= SPELL_ATTR4_CAN_CAST_WHILE_CASTING; + spellInfo->AttributesEx4 |= SPELL_ATTR4_ALLOW_CAST_WHILE_CASTING; spellInfo->EffectImplicitTargetA[0] = TARGET_SRC_CASTER; spellInfo->EffectImplicitTargetB[0] = TARGET_UNIT_SRC_AREA_ENEMY; - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // Wyrmrest Drake - Life Burst @@ -5197,7 +5197,7 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->EffectPointsPerComboPoint[1] = 2500; spellInfo->EffectBasePoints[1] = 2499; spellInfo->RangeIndex = 1; - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); //Alexstrasza - Gift @@ -5233,8 +5233,8 @@ void SpellMgr::LoadDbcDataCorrections() // Ulduar, Mimiron, Summon Flames Initial ApplySpellFix({ 64563 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; - spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT; spellInfo->EffectImplicitTargetA[0] = TARGET_DEST_DEST; spellInfo->EffectImplicitTargetB[0] = 0; }); @@ -5242,8 +5242,8 @@ void SpellMgr::LoadDbcDataCorrections() // Ulduar, Mimiron, Flames (damage) ApplySpellFix({ 64566 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_IGNORE_RESISTANCES; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; + spellInfo->AttributesEx4 &= ~SPELL_ATTR4_NO_CAST_LOG; }); // Ulduar, Hodir, Starlight @@ -5273,7 +5273,7 @@ void SpellMgr::LoadDbcDataCorrections() // Supercharge ApplySpellFix({ 61920 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Lightning Whirl @@ -5302,7 +5302,7 @@ void SpellMgr::LoadDbcDataCorrections() // Potent Pheromones ApplySpellFix({ 62619 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx |= SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY; + spellInfo->AttributesEx |= SPELL_ATTR1_IMMUNITY_PURGES_EFFECT; }); // Healthy spore summon periodic @@ -5321,8 +5321,8 @@ void SpellMgr::LoadDbcDataCorrections() // Potent Pheromones ApplySpellFix({ 64321 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_ONLY_TARGET_PLAYERS; - spellInfo->AttributesEx |= SPELL_ATTR1_DISPEL_AURAS_ON_IMMUNITY; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ONLY_ON_PLAYER; + spellInfo->AttributesEx |= SPELL_ATTR1_IMMUNITY_PURGES_EFFECT; }); // Lightning Orb Charged @@ -5360,13 +5360,13 @@ void SpellMgr::LoadDbcDataCorrections() // Sanity ApplySpellFix({ 63050 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx6 |= SPELL_ATTR6_CAN_TARGET_INVISIBLE; + spellInfo->AttributesEx6 |= SPELL_ATTR6_IGNORE_PHASE_SHIFT; }); // Shadow Nova ApplySpellFix({ 62714, 65209 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT; }); // Cosmic Smash (Algalon the Observer) @@ -5378,7 +5378,7 @@ void SpellMgr::LoadDbcDataCorrections() // Cosmic Smash (Algalon the Observer) ApplySpellFix({ 62311, 64596 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; spellInfo->EffectRadiusIndex[0] = 12; // 100yd spellInfo->RangeIndex = 13; // 50000yd }); @@ -5392,7 +5392,7 @@ void SpellMgr::LoadDbcDataCorrections() // Black Hole ApplySpellFix({ 62168, 65250, 62169 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_NEGATIVE_1; + spellInfo->Attributes |= SPELL_ATTR0_AURA_IS_DEBUFF; }); // Ground Slam @@ -5465,7 +5465,7 @@ void SpellMgr::LoadDbcDataCorrections() // Oculus, Drake spell Stop Time ApplySpellFix({ 49838 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; spellInfo->ExcludeTargetAuraSpell = 51162; // exclude planar shift spellInfo->EffectRadiusIndex[EFFECT_0] = EFFECT_RADIUS_150_YARDS; }); @@ -5486,7 +5486,7 @@ void SpellMgr::LoadDbcDataCorrections() // Halls of Lightning, Arcing Burn ApplySpellFix({ 52671, 59834 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Trial of the Champion, Death's Respite @@ -5500,7 +5500,7 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 68197 }, [](SpellEntry* spellInfo) { spellInfo->EffectImplicitTargetB[0] = TARGET_UNIT_SRC_AREA_ALLY; - spellInfo->Attributes |= SPELL_ATTR0_CASTABLE_WHILE_DEAD; + spellInfo->Attributes |= SPELL_ATTR0_ALLOW_CAST_WHILE_DEAD; }); // Trial of the Champion, Earth Shield @@ -5518,7 +5518,7 @@ void SpellMgr::LoadDbcDataCorrections() // Trial of the Champion, Summon Risen Jaeren/Arelas ApplySpellFix({ 67705, 67715 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_DEAD; + spellInfo->AttributesEx2 |= SPELL_ATTR2_ALLOW_DEAD_TARGET; }); // Trial of the Champion, Ghoul Explode @@ -5550,9 +5550,9 @@ void SpellMgr::LoadDbcDataCorrections() // Trial of the Crusader, Jaraxxus Intro spell ApplySpellFix({ 67888 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_STOP_ATTACK_TARGET; + spellInfo->Attributes |= SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT; spellInfo->AttributesEx |= SPELL_ATTR1_NO_THREAT; - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; }); // Trial of the Crusader, Lich King Intro spell @@ -5586,9 +5586,9 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 66317 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes |= SPELL_ATTR0_STOP_ATTACK_TARGET; + spellInfo->Attributes |= SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT; spellInfo->AttributesEx |= SPELL_ATTR1_NO_THREAT; - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; }); ApplySpellFix({ 66318 }, [](SpellEntry* spellInfo) @@ -5596,9 +5596,9 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_TARGET_ANY; spellInfo->EffectImplicitTargetB[0] = 0; spellInfo->Speed = 14.0f; - spellInfo->Attributes |= SPELL_ATTR0_STOP_ATTACK_TARGET; + spellInfo->Attributes |= SPELL_ATTR0_CANCELS_AUTO_ATTACK_COMBAT; spellInfo->AttributesEx |= SPELL_ATTR1_NO_THREAT; - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; }); ApplySpellFix({ 66320, 67472, 67473, 67475 }, [](SpellEntry* spellInfo) @@ -5610,7 +5610,7 @@ void SpellMgr::LoadDbcDataCorrections() // Trial of the Crusader, Acidmaw & Dreadscale, Emerge ApplySpellFix({ 66947 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx5 |= SPELL_ATTR5_USABLE_WHILE_STUNNED; + spellInfo->AttributesEx5 |= SPELL_ATTR5_ALLOW_WHILE_STUNNED; }); // Trial of the Crusader, Jaraxxus, Curse of the Nether @@ -5651,7 +5651,7 @@ void SpellMgr::LoadDbcDataCorrections() // tempfix, make Nether Power not stealable ApplySpellFix({ 66228, 67106, 67107, 67108 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx4 |= SPELL_ATTR4_NOT_STEALABLE; + spellInfo->AttributesEx4 |= SPELL_ATTR4_CANNOT_BE_STOLEN; }); // Trial of the Crusader, Faction Champions, Druid - Tranquality @@ -5847,7 +5847,7 @@ void SpellMgr::LoadDbcDataCorrections() // Trial of the Crusader, Anub'arak, Emerge ApplySpellFix({ 65982 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx5 |= SPELL_ATTR5_USABLE_WHILE_STUNNED; + spellInfo->AttributesEx5 |= SPELL_ATTR5_ALLOW_WHILE_STUNNED; }); // Trial of the Crusader, Anub'arak, Penetrating Cold @@ -5886,13 +5886,13 @@ void SpellMgr::LoadDbcDataCorrections() { spellInfo->EffectImplicitTargetA[0] = TARGET_SRC_CASTER; spellInfo->EffectImplicitTargetB[0] = TARGET_UNIT_SRC_AREA_ENEMY; - spellInfo->Attributes |= SPELL_ATTR0_CASTABLE_WHILE_DEAD; + spellInfo->Attributes |= SPELL_ATTR0_ALLOW_CAST_WHILE_DEAD; }); // Trial of the Crusader, Anub'arak, Spider Frenzy ApplySpellFix({ 66129 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Soul Sickness @@ -5960,7 +5960,7 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 69604, 70286 }, [](SpellEntry* spellInfo) { spellInfo->MaxAffectedTargets = 1; - spellInfo->AttributesEx3 |= (SPELL_ATTR3_IGNORE_HIT_RESULT | SPELL_ATTR3_ONLY_TARGET_PLAYERS); + spellInfo->AttributesEx3 |= (SPELL_ATTR3_ALWAYS_HIT | SPELL_ATTR3_ONLY_ON_PLAYER); }); // Chilling Wave @@ -5972,7 +5972,7 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 68786, 70336 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= (SPELL_ATTR3_IGNORE_HIT_RESULT | SPELL_ATTR3_ONLY_TARGET_PLAYERS); + spellInfo->AttributesEx3 |= (SPELL_ATTR3_ALWAYS_HIT | SPELL_ATTR3_ONLY_ON_PLAYER); spellInfo->Effect[2] = SPELL_EFFECT_DUMMY; }); @@ -5986,7 +5986,7 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->EffectImplicitTargetA[2] = TARGET_UNIT_CASTER; spellInfo->EffectImplicitTargetB[2] = 0; spellInfo->RangeIndex = 6; // 100yd - spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT; }); ApplySpellFix({ 69029, 70850 }, [](SpellEntry* spellInfo) @@ -6011,12 +6011,12 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 69232 }, [](SpellEntry* spellInfo) { spellInfo->EffectTriggerSpell[1] = 69238; - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); ApplySpellFix({ 69233, 69646 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); ApplySpellFix({ 69238, 69628 }, [](SpellEntry* spellInfo) @@ -6025,13 +6025,13 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->EffectImplicitTargetB[0] = TARGET_DEST_DYNOBJ_NONE; spellInfo->EffectImplicitTargetA[1] = TARGET_DEST_DEST; spellInfo->EffectImplicitTargetB[1] = TARGET_DEST_DYNOBJ_NONE; - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // Hoarfrost ApplySpellFix({ 69246, 69245, 69645 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // Devour Humanoid @@ -6108,7 +6108,7 @@ void SpellMgr::LoadDbcDataCorrections() 71258 // Adrenaline Rush (Ymirjar Battle-Maiden) }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx &= ~SPELL_ATTR1_CHANNELED_2; + spellInfo->AttributesEx &= ~SPELL_ATTR1_IS_SELF_CHANNELED; }); // Saber Lash (Lord Marrowgar) @@ -6142,13 +6142,13 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 69146, 70823, 70824, 70825 }, [](SpellEntry* spellInfo) { spellInfo->EffectRadiusIndex[0] = 15; // 3yd instead of 5yd - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_IGNORE_RESISTANCES; + spellInfo->AttributesEx4 &= ~SPELL_ATTR4_NO_CAST_LOG; }); // Dark Martyrdom (Lady Deathwhisper) ApplySpellFix({ 70897 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_DEAD; + spellInfo->AttributesEx2 |= SPELL_ATTR2_ALLOW_DEAD_TARGET; }); ApplySpellFix({ @@ -6175,13 +6175,13 @@ void SpellMgr::LoadDbcDataCorrections() // Shadow's Fate ApplySpellFix({ 71169 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); // Lock Players and Tap Chest ApplySpellFix({ 72347 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 &= ~SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->AttributesEx3 &= ~SPELL_ATTR3_SUPRESS_TARGET_PROCS; }); // Award Reputation - Boss Kill @@ -6199,7 +6199,7 @@ void SpellMgr::LoadDbcDataCorrections() // Gunship Battle, spell Below Zero ApplySpellFix({ 69705 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT; }); // Resistant Skin (Deathbringer Saurfang adds) @@ -6214,7 +6214,7 @@ void SpellMgr::LoadDbcDataCorrections() { // Patch 3.3.2 (2010-01-02): Deathbringer Saurfang will no longer gain blood power from Mark of the Fallen Champion. // prevented in script, effect needed for Prayer of Mending - spellInfo->AttributesEx3 &= ~SPELL_ATTR3_CANT_TRIGGER_PROC; + spellInfo->AttributesEx3 &= ~SPELL_ATTR3_SUPRESS_CASTER_PROCS; }); // Coldflame Jets (Traps after Saurfang) @@ -6228,7 +6228,7 @@ void SpellMgr::LoadDbcDataCorrections() 71289 // Dominate Mind (Lady Deathwhisper) }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // Severed Essence (Val'kyr Herald) @@ -6262,7 +6262,7 @@ void SpellMgr::LoadDbcDataCorrections() // Ooze Flood (Rotface) ApplySpellFix({ 69783, 69797, 69799, 69802 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx |= SPELL_ATTR1_CANT_TARGET_SELF; + spellInfo->AttributesEx |= SPELL_ATTR1_EXCLUDE_CASTER; }); // Volatile Ooze Beam Protection @@ -6275,8 +6275,8 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 70672, 72455, 72832, 72833 }, [](SpellEntry* spellInfo) { // copied attributes from Green Ooze Channel - spellInfo->Attributes |= SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY; - spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT; + spellInfo->Attributes |= SPELL_ATTR0_NO_IMMUNITIES; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT; }); ApplySpellFix({ @@ -6304,7 +6304,7 @@ void SpellMgr::LoadDbcDataCorrections() // Mutated Plague (Professor Putricide) ApplySpellFix({ 72454, 72464, 72506, 72507 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx4 |= SPELL_ATTR4_IGNORE_RESISTANCES; + spellInfo->AttributesEx4 |= SPELL_ATTR4_NO_CAST_LOG; spellInfo->EffectRadiusIndex[0] = EFFECT_RADIUS_50000_YARDS; // 50000yd }); @@ -6323,7 +6323,7 @@ void SpellMgr::LoadDbcDataCorrections() // Empowered Flare (Blood Prince Council) ApplySpellFix({ 71708, 72785, 72786, 72787 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_DONE_BONUS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_CASTER_MODIFIERS; }); ApplySpellFix({ @@ -6372,7 +6372,7 @@ void SpellMgr::LoadDbcDataCorrections() // Corruption ApplySpellFix({ 70602 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_STACK_FOR_DIFF_CASTERS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_DOT_STACKING_RULE; }); ApplySpellFix({ @@ -6413,7 +6413,7 @@ void SpellMgr::LoadDbcDataCorrections() // Sindragosa, Frost Aura ApplySpellFix({ 70084, 71050, 71051, 71052 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes &= ~SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY; + spellInfo->Attributes &= ~SPELL_ATTR0_NO_IMMUNITIES; }); // Ice Lock @@ -6425,13 +6425,13 @@ void SpellMgr::LoadDbcDataCorrections() // Lich King, Infest ApplySpellFix({ 70541, 73779, 73780, 73781 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // Lich King, Necrotic Plague ApplySpellFix({ 70337, 73912, 73913, 73914, 70338, 73785, 73786, 73787 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT; }); ApplySpellFix({ @@ -6442,7 +6442,7 @@ void SpellMgr::LoadDbcDataCorrections() }, [](SpellEntry* spellInfo) { spellInfo->AttributesEx2 |= SPELL_ATTR2_CANT_CRIT; - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_IGNORE_RESISTANCES; + spellInfo->AttributesEx4 &= ~SPELL_ATTR4_NO_CAST_LOG; }); // Fury of Frostmourne @@ -6511,8 +6511,8 @@ void SpellMgr::LoadDbcDataCorrections() ApplySpellFix({ 69198 }, [](SpellEntry* spellInfo) { spellInfo->RangeIndex = 13; // 50000yd - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; - spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_HIT_RESULT; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALWAYS_HIT; }); // Defile @@ -6520,8 +6520,8 @@ void SpellMgr::LoadDbcDataCorrections() { spellInfo->DurationIndex = 559; // 53 seconds spellInfo->ExcludeCasterAuraSpell = 0; - spellInfo->Attributes |= SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY; - spellInfo->AttributesEx6 |= (SPELL_ATTR6_CAN_TARGET_INVISIBLE | SPELL_ATTR6_CAN_TARGET_UNTARGETABLE); + spellInfo->Attributes |= SPELL_ATTR0_NO_IMMUNITIES; + spellInfo->AttributesEx6 |= (SPELL_ATTR6_IGNORE_PHASE_SHIFT | SPELL_ATTR6_CAN_TARGET_UNTARGETABLE); }); // Defile @@ -6541,7 +6541,7 @@ void SpellMgr::LoadDbcDataCorrections() { spellInfo->EffectRadiusIndex[0] = EFFECT_RADIUS_200_YARDS; // 200yd spellInfo->EffectRadiusIndex[1] = EFFECT_RADIUS_200_YARDS; // 200yd - spellInfo->Attributes |= SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY; + spellInfo->Attributes |= SPELL_ATTR0_NO_IMMUNITIES; }); // Harvest Souls @@ -6567,7 +6567,7 @@ void SpellMgr::LoadDbcDataCorrections() // Harvest Soul ApplySpellFix({ 73655 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_DONE_BONUS; + spellInfo->AttributesEx3 |= SPELL_ATTR3_IGNORE_CASTER_MODIFIERS; }); // Destroy Soul @@ -6653,7 +6653,7 @@ void SpellMgr::LoadDbcDataCorrections() 74792 // Soul Consumption }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx |= SPELL_ATTR1_CANT_BE_REDIRECTED; + spellInfo->AttributesEx |= SPELL_ATTR1_NO_REDIRECTION; }); // Combustion @@ -6687,8 +6687,8 @@ void SpellMgr::LoadDbcDataCorrections() // Twilight Mending ApplySpellFix({ 75509 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx6 |= SPELL_ATTR6_CAN_TARGET_INVISIBLE; - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx6 |= SPELL_ATTR6_IGNORE_PHASE_SHIFT; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; spellInfo->EffectRadiusIndex[EFFECT_0] = EFFECT_RADIUS_100_YARDS; spellInfo->EffectRadiusIndex[EFFECT_1] = EFFECT_RADIUS_100_YARDS; }); @@ -6702,7 +6702,7 @@ void SpellMgr::LoadDbcDataCorrections() //Blazing Aura ApplySpellFix({ 75885, 75886 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_IGNORE_RESISTANCES; + spellInfo->AttributesEx4 &= ~SPELL_ATTR4_NO_CAST_LOG; }); ApplySpellFix({ @@ -6710,7 +6710,7 @@ void SpellMgr::LoadDbcDataCorrections() 74629 //Combustion Periodic }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_IGNORE_RESISTANCES; + spellInfo->AttributesEx4 &= ~SPELL_ATTR4_NO_CAST_LOG; }); // Going Bearback @@ -6719,7 +6719,7 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->Effect[1] = SPELL_EFFECT_DUMMY; spellInfo->EffectRadiusIndex[1] = spellInfo->EffectRadiusIndex[0]; spellInfo->EffectImplicitTargetA[1] = TARGET_UNIT_DEST_AREA_ENTRY; - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_CAN_CAST_WHILE_CASTING; + spellInfo->AttributesEx4 &= ~SPELL_ATTR4_ALLOW_CAST_WHILE_CASTING; }); // Still At It @@ -6738,7 +6738,7 @@ void SpellMgr::LoadDbcDataCorrections() // A Tangled Skein ApplySpellFix({ 51165, 51173 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; }); ApplySpellFix({ @@ -6773,7 +6773,7 @@ void SpellMgr::LoadDbcDataCorrections() // Weakness to Lightning ApplySpellFix({ 46432 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 &= ~SPELL_ATTR3_DEATH_PERSISTENT; + spellInfo->AttributesEx3 &= ~SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD; }); // Wrangle Some Aether Rays! @@ -6865,7 +6865,7 @@ void SpellMgr::LoadDbcDataCorrections() // Kaw the Mammoth Destroyer ApplySpellFix({ 46260 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // That's Abominable @@ -6970,7 +6970,7 @@ void SpellMgr::LoadDbcDataCorrections() // Leading the Charge (13380), All Infra-Green bomber quests ApplySpellFix({ 59059 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx4 &= ~SPELL_ATTR4_CAN_CAST_WHILE_CASTING; + spellInfo->AttributesEx4 &= ~SPELL_ATTR4_ALLOW_CAST_WHILE_CASTING; }); // Dark Horizon (12664), Reunited (12663) @@ -6988,19 +6988,19 @@ void SpellMgr::LoadDbcDataCorrections() // Not a Bug (13342) ApplySpellFix({ 60531 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_DEAD; + spellInfo->AttributesEx2 |= SPELL_ATTR2_ALLOW_DEAD_TARGET; }); // Frankly, It Makes No Sense... (10672) ApplySpellFix({ 37851 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; }); // Honor Challenge (12939) ApplySpellFix({ 21855 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_NO_INITIAL_AGGRO; + spellInfo->AttributesEx3 |= SPELL_ATTR3_SUPRESS_TARGET_PROCS; }); // Convocation at Zol'Heb (12730) @@ -7012,8 +7012,8 @@ void SpellMgr::LoadDbcDataCorrections() // Mangletooth Quests (http://www.wowhead.com/npc=3430) ApplySpellFix({ 7764, 10767, 16610, 16612, 16618, 17013 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; - spellInfo->AttributesEx5 |= SPELL_ATTR5_SKIP_CHECKCAST_LOS_CHECK; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; + spellInfo->AttributesEx5 |= SPELL_ATTR5_ALWAYS_AOE_LINE_OF_SIGHT; }); //Crushing the Crown @@ -7029,8 +7029,8 @@ void SpellMgr::LoadDbcDataCorrections() { spellInfo->Effect[EFFECT_0] = SPELL_EFFECT_APPLY_AREA_AURA_FRIEND; spellInfo->EffectRadiusIndex[0] = EFFECT_RADIUS_10_YARDS; - spellInfo->AttributesEx &= ~SPELL_ATTR0_CANT_CANCEL; - spellInfo->AttributesEx3 |= SPELL_ATTR3_ONLY_TARGET_PLAYERS; + spellInfo->AttributesEx &= ~SPELL_ATTR0_NO_AURA_CANCEL; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ONLY_ON_PLAYER; }); // enchant Lightweave Embroidery @@ -7080,7 +7080,7 @@ void SpellMgr::LoadDbcDataCorrections() // Precious's Ribbon ApplySpellFix({ 72968 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_DEATH_PERSISTENT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD; }); ApplySpellFix({ @@ -7105,13 +7105,13 @@ void SpellMgr::LoadDbcDataCorrections() }, [](SpellEntry* spellInfo) { spellInfo->AttributesEx2 |= SPELL_ATTR2_CANT_CRIT; - spellInfo->AttributesEx4 |= SPELL_ATTR4_IGNORE_RESISTANCES; + spellInfo->AttributesEx4 |= SPELL_ATTR4_NO_CAST_LOG; }); // Alchemist's Stone ApplySpellFix({ 17619 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx3 |= SPELL_ATTR3_DEATH_PERSISTENT; + spellInfo->AttributesEx3 |= SPELL_ATTR3_ALLOW_AURA_WHILE_DEAD; }); // Gnomish Death Ray @@ -7130,7 +7130,7 @@ void SpellMgr::LoadDbcDataCorrections() // Savory Deviate Delight (transformations), allow to mount while transformed ApplySpellFix({ 8219, 8220, 8221, 8222 }, [](SpellEntry* spellInfo) { - spellInfo->Attributes &= ~SPELL_ATTR0_UNAFFECTED_BY_INVULNERABILITY; + spellInfo->Attributes &= ~SPELL_ATTR0_NO_IMMUNITIES; }); // Clamlette Magnifique @@ -7263,13 +7263,13 @@ void SpellMgr::LoadDbcDataCorrections() { spellInfo->Effect[1] = SPELL_EFFECT_DUMMY; spellInfo->EffectImplicitTargetA[1] = TARGET_UNIT_NEARBY_ENTRY; - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // Light Bonfire (DND) ApplySpellFix({ 29831 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx2 |= SPELL_ATTR2_CAN_TARGET_NOT_IN_LOS; + spellInfo->AttributesEx2 |= SPELL_ATTR2_IGNORE_LINE_OF_SIGHT; }); // Infernal @@ -7280,7 +7280,7 @@ void SpellMgr::LoadDbcDataCorrections() spellInfo->EffectImplicitTargetA[EFFECT_2] = TARGET_UNIT_TARGET_ANY; }); - // Check for SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER + // Check for SPELL_ATTR7_CAN_CAUSE_INTERRUPT ApplySpellFix({ 47476, // Deathknight - Strangulate 15487, // Priest - Silence @@ -7289,7 +7289,7 @@ void SpellMgr::LoadDbcDataCorrections() 8983 // Druid - Bash - R3 }, [](SpellEntry* spellInfo) { - spellInfo->AttributesEx7 |= SPELL_ATTR7_INTERRUPT_ONLY_NONPLAYER; + spellInfo->AttributesEx7 |= SPELL_ATTR7_CAN_CAUSE_INTERRUPT; }); // Clicking on Warlock Summoning portal should not require mana |