aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/LootHandler.cpp
diff options
context:
space:
mode:
authorOvahlord <dreadkiller@gmx.de>2024-01-23 00:55:57 +0100
committerGitHub <noreply@github.com>2024-01-23 00:55:57 +0100
commitccc083593af16f505263f889712f46f9382bb588 (patch)
tree9068af478ba558c407797d9675920daf2b571c29 /src/server/game/Handlers/LootHandler.cpp
parent644a479e284a02a66a2809f7b484391781ffaf3e (diff)
Core/Loot: implemented a custom server config setting to enable or disable AE loot (#29602)
This config primarily serves as a means to reduce potential code differences between the master and classic branches as now we no longer have to meddle with code
Diffstat (limited to 'src/server/game/Handlers/LootHandler.cpp')
-rw-r--r--src/server/game/Handlers/LootHandler.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp
index 6e7b417a5b5..1ce22cf173d 100644
--- a/src/server/game/Handlers/LootHandler.cpp
+++ b/src/server/game/Handlers/LootHandler.cpp
@@ -36,6 +36,7 @@
#include "ObjectMgr.h"
#include "Player.h"
#include "SpellMgr.h"
+#include "World.h"
class AELootCreatureCheck
{
@@ -232,9 +233,13 @@ void WorldSession::HandleLootOpcode(WorldPackets::Loot::LootUnit& packet)
GetPlayer()->RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags::Looting);
+ bool const aeLootEnabled = sWorld->getBoolConfig(CONFIG_ENABLE_AE_LOOT);
std::vector<Creature*> corpses;
- Trinity::CreatureListSearcher<AELootCreatureCheck> searcher(_player, corpses, check);
- Cell::VisitGridObjects(_player, searcher, AELootCreatureCheck::LootDistance);
+ if (aeLootEnabled)
+ {
+ Trinity::CreatureListSearcher<AELootCreatureCheck> searcher(_player, corpses, check);
+ Cell::VisitGridObjects(_player, searcher, AELootCreatureCheck::LootDistance);
+ }
if (!corpses.empty())
SendPacket(WorldPackets::Loot::AELootTargets(uint32(corpses.size() + 1)).Write());