From ae84bf67c45c69ac2f1e8ba7e9b77f16a3cd7124 Mon Sep 17 00:00:00 2001 From: UltraNix <80540499+UltraNix@users.noreply.github.com> Date: Wed, 16 Nov 2022 05:26:05 +0100 Subject: [PATCH] fix(Core/Spells): Fixed Glyph of Kilrogg. (#13802) Fixes #13623 --- src/server/game/Entities/Unit/Unit.cpp | 18 ++++++++++++++++++ src/server/scripts/Spells/spell_warlock.cpp | 10 +++++----- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 3a901ef7a..31577d604 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -16681,11 +16681,29 @@ void Unit::TriggerAurasProcOnEvent(ProcEventInfo& eventInfo, std::list(this)->ToPlayer()) + { return player; + } if (Unit* owner = GetOwner()) + { if (Player* player = owner->ToPlayer()) + { return player; + } + } + + // Special handling for Eye of Kilrogg + if (GetEntry() == NPC_EYE_OF_KILROGG) + { + if (TempSummon const* tempSummon = ToTempSummon()) + { + if (Unit* summoner = tempSummon->GetSummonerUnit()) + { + return summoner->ToPlayer(); + } + } + } return nullptr; } diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index f23d3a247..d98d56552 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -62,7 +62,8 @@ enum WarlockSpells SPELL_WARLOCK_SIPHON_LIFE_HEAL = 63106, SPELL_WARLOCK_UNSTABLE_AFFLICTION_DISPEL = 31117, SPELL_WARLOCK_IMPROVED_DRAIN_SOUL_R1 = 18213, - SPELL_WARLOCK_IMPROVED_DRAIN_SOUL_PROC = 18371 + SPELL_WARLOCK_IMPROVED_DRAIN_SOUL_PROC = 18371, + SPELL_WARLOCK_EYE_OF_KILROGG_FLY = 58083 }; enum WarlockSpellIcons @@ -84,16 +85,15 @@ class spell_warl_eye_of_kilrogg : public AuraScript // Glyph of Kilrogg if (player->HasAura(58081)) + { if (Unit* charm = player->GetCharm()) { - charm->SetSpeed(MOVE_RUN, 2.14f, true); if (charm->GetMapId() == 530 || charm->GetMapId() == 571) { - charm->SetCanFly(true); - charm->SetSpeed(MOVE_FLIGHT, 2.14f, true); - charm->SendMovementFlagUpdate(); + charm->CastSpell(charm, SPELL_WARLOCK_EYE_OF_KILROGG_FLY, true); } } + } } }