From 29cf2a61af8fcbda763ae2be2e52ce9e6a834a56 Mon Sep 17 00:00:00 2001 From: acidmanifesto Date: Tue, 16 Nov 2021 11:47:07 +0100 Subject: Core/Spells: Interrupt spells and auras before sending loot to client (#27279) (cherry picked from commit a24ea431dc25cee3cfd80b89273085f62c83b1fb) --- src/server/game/Handlers/LootHandler.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp index 1bd6aba7db7..4fbe3c96b63 100644 --- a/src/server/game/Handlers/LootHandler.cpp +++ b/src/server/game/Handlers/LootHandler.cpp @@ -272,6 +272,12 @@ void WorldSession::HandleLootOpcode(WorldPackets::Loot::LootUnit& packet) if (!GetPlayer()->IsAlive() || !packet.Unit.IsCreatureOrVehicle()) return; + // interrupt cast + if (GetPlayer()->IsNonMeleeSpellCast(false)) + GetPlayer()->InterruptNonMeleeSpells(false); + + GetPlayer()->RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags::Looting); + std::list corpses; AELootCreatureCheck check(_player, packet.Unit); Trinity::CreatureListSearcher searcher(_player, corpses, check); @@ -293,12 +299,6 @@ void WorldSession::HandleLootOpcode(WorldPackets::Loot::LootUnit& packet) SendPacket(WorldPackets::Loot::AELootTargetsAck().Write()); } } - - // interrupt cast - if (GetPlayer()->IsNonMeleeSpellCast(false)) - GetPlayer()->InterruptNonMeleeSpells(false); - - GetPlayer()->RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags::Looting); } void WorldSession::HandleLootReleaseOpcode(WorldPackets::Loot::LootRelease& packet) -- cgit v1.2.3