From ed68d1bffa3a66f470a81a74c60eee176897f998 Mon Sep 17 00:00:00 2001 From: M'Dic Date: Wed, 28 Sep 2022 12:13:46 -0400 Subject: [PATCH] fix (Core/Spell): Shadowform Dispel (#13155) --- src/server/game/Spells/Auras/SpellAuras.cpp | 10 ++++++++++ src/server/game/Spells/SpellInfoCorrections.cpp | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp index 17cce5aa3..8d2add5c3 100644 --- a/src/server/game/Spells/Auras/SpellAuras.cpp +++ b/src/server/game/Spells/Auras/SpellAuras.cpp @@ -1800,6 +1800,7 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b switch (GetId()) { case 47788: // Guardian Spirit + { if (removeMode != AURA_REMOVE_BY_EXPIRE) break; if (caster->GetTypeId() != TYPEID_PLAYER) @@ -1821,6 +1822,15 @@ void Aura::HandleAuraSpecificMods(AuraApplication const* aurApp, Unit* caster, b player->SendDirectMessage(&data); } break; + } + case 47585: // Dispersion (fixed bug invisible as a Shadow Priest) + { + if (target->IsMounted()) + { + target->CastSpell(target, 53444, true); + } + break; + } } break; case SPELLFAMILY_ROGUE: diff --git a/src/server/game/Spells/SpellInfoCorrections.cpp b/src/server/game/Spells/SpellInfoCorrections.cpp index 8d8d6b9f3..e9f247979 100644 --- a/src/server/game/Spells/SpellInfoCorrections.cpp +++ b/src/server/game/Spells/SpellInfoCorrections.cpp @@ -4403,6 +4403,12 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->Effects[EFFECT_1].Effect = 0; }); + // WotLK Prologue Frozen Shade Visual, temp used to restore visual after Dispersion + ApplySpellFix({ 53444 }, [](SpellInfo* spellInfo) + { + spellInfo->DurationEntry = sSpellDurationStore.LookupEntry(27); + }); + for (uint32 i = 0; i < GetSpellInfoStoreSize(); ++i) { SpellInfo* spellInfo = mSpellInfoMap[i];