aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoracidmanifesto <joshua.lee.betts@gmail.com>2021-11-16 11:47:07 +0100
committerShauren <shauren.trinity@gmail.com>2022-03-22 00:19:47 +0100
commit29cf2a61af8fcbda763ae2be2e52ce9e6a834a56 (patch)
treec92e7c6d59ea84158ea15f02a5d6680a2a5360ea
parent1b56e13e87ddc2d62de6fd29f85f54e2903f6813 (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.cpp12
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)