Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions src/server/game/Spells/SpellInfoCorrections.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1523,7 +1523,7 @@ void SpellMgr::LoadSpellInfoCorrections()
spellInfo->Speed = 8.0f;
});

// Spell Absorption
// Shadowmoon Reaver - Spell Absorption
ApplySpellFix({ 41034 }, [](SpellInfo* spellInfo)
{
spellInfo->Effects[EFFECT_2].Effect = SPELL_EFFECT_APPLY_AURA;
Expand All @@ -1532,12 +1532,13 @@ void SpellMgr::LoadSpellInfoCorrections()
spellInfo->Effects[EFFECT_2].MiscValue = SPELL_SCHOOL_MASK_MAGIC;
});

// Shared Bonds
// Priestess of Delight and Priestess of Torment - Shared Bonds
ApplySpellFix({ 41363 }, [](SpellInfo* spellInfo)
{
spellInfo->AttributesEx &= ~SPELL_ATTR1_IS_CHANNELED;
});

// Illidari Council - Veras Darkshadow
ApplySpellFix({
41485, // Deadly Poison
41487 // Envenom
Expand Down Expand Up @@ -1566,13 +1567,13 @@ void SpellMgr::LoadSpellInfoCorrections()
spellInfo->RangeEntry = sSpellRangeStore.LookupEntry(13); // 0-50000yd
});

// Watery Grave Explosion
// Morogrim Tidewalker - Watery Grave Explosion
ApplySpellFix({ 37852 }, [](SpellInfo* spellInfo)
{
spellInfo->AttributesEx5 |= SPELL_ATTR5_ALLOW_WHILE_STUNNED;
});

// Amplify Damage
// Prince Malcezaar - Amplify Damage
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment misspells the boss name as "Malcezaar"; the canonical spelling is "Malchezaar" (also used elsewhere in the repo). Please fix the comment to avoid confusion when searching.

Suggested change
// Prince Malcezaar - Amplify Damage
// Prince Malchezaar - Amplify Damage

Copilot uses AI. Check for mistakes.
ApplySpellFix({ 39095 }, [](SpellInfo* spellInfo)
{
spellInfo->MaxAffectedTargets = 1;
Expand All @@ -1585,6 +1586,7 @@ void SpellMgr::LoadSpellInfoCorrections()
spellInfo->AttributesCu |= SPELL_ATTR0_CU_SINGLE_AURA_STACK;
});

// Archimonde
ApplySpellFix({
31984, // Finger of Death
35354 // Hand of Death
Expand All @@ -1594,12 +1596,18 @@ void SpellMgr::LoadSpellInfoCorrections()
spellInfo->Attributes = SPELL_ATTR0_IS_ABILITY;
});

// Finger of Death
// Archimonde - Finger of Death
ApplySpellFix({ 32111 }, [](SpellInfo* spellInfo)
{
spellInfo->CastTimeEntry = sSpellCastTimesStore.LookupEntry(0); // We only need the animation, no damage
});

// Archimonde - Doomfire
ApplySpellFix({ 31944, 31969 }, [](SpellInfo* spellInfo)
{
Copy link

Copilot AI Mar 22, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SPELL_ATTR4_NO_CAST_LOG is used by the core resist logic as a "cannot be resisted" marker (see Unit.cpp resist checks), but the flag name is misleading. Consider adding an inline comment here explaining that this is intentionally set to disable resistance for Doomfire, so future maintainers don’t interpret this as only a logging change.

Suggested change
{
{
// NOTE: SPELL_ATTR4_NO_CAST_LOG is also used by core resist logic as a "cannot be resisted" marker
// (see Unit.cpp). This is intentionally set so Doomfire cannot be resisted, not just to affect logging.

Copilot uses AI. Check for mistakes.
spellInfo->AttributesEx4 |= SPELL_ATTR4_NO_CAST_LOG;
});

// Flame Breath, catapult spell
ApplySpellFix({ 50989 }, [](SpellInfo* spellInfo)
{
Expand Down
Loading