diff options
| author | Ovahlord <dreadkiller@gmx.de> | 2024-01-23 00:55:57 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-23 00:55:57 +0100 |
| commit | ccc083593af16f505263f889712f46f9382bb588 (patch) | |
| tree | 9068af478ba558c407797d9675920daf2b571c29 /src/server/game/Handlers/LootHandler.cpp | |
| parent | 644a479e284a02a66a2809f7b484391781ffaf3e (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.cpp | 9 |
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()); |
