diff options
author | acidmanifesto <joshua.lee.betts@gmail.com> | 2021-11-16 11:47:07 +0100 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-03-22 00:19:47 +0100 |
commit | 29cf2a61af8fcbda763ae2be2e52ce9e6a834a56 (patch) | |
tree | c92e7c6d59ea84158ea15f02a5d6680a2a5360ea | |
parent | 1b56e13e87ddc2d62de6fd29f85f54e2903f6813 (diff) |
Core/Spells: Interrupt spells and auras before sending loot to client (#27279)
(cherry picked from commit a24ea431dc25cee3cfd80b89273085f62c83b1fb)
-rw-r--r-- | src/server/game/Handlers/LootHandler.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
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<Creature*> corpses; AELootCreatureCheck check(_player, packet.Unit); Trinity::CreatureListSearcher<AELootCreatureCheck> 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) |