aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/Entities/Object/Object.cpp2
-rw-r--r--src/server/game/Handlers/LootHandler.cpp8
-rw-r--r--src/server/game/World/World.cpp3
-rw-r--r--src/server/game/World/World.h1
-rw-r--r--src/server/worldserver/worldserver.conf.dist8
5 files changed, 19 insertions, 3 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 0f1ede2fec5..1ecad90adbf 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -726,7 +726,7 @@ void Object::BuildMovementUpdate(ByteBuffer* data, CreateObjectBits flags, Playe
bool HasSceneInstanceIDs = !player->GetSceneMgr().GetSceneTemplateByInstanceMap().empty();
bool HasRuneState = ToUnit()->GetPowerIndex(POWER_RUNES) != MAX_POWERS;
- bool HasActionButtons = player->IsLoading();
+ bool HasActionButtons = true;
data->WriteBit(HasSceneInstanceIDs);
data->WriteBit(HasRuneState);
diff --git a/src/server/game/Handlers/LootHandler.cpp b/src/server/game/Handlers/LootHandler.cpp
index 223ee9a84a3..4d6576e0a1e 100644
--- a/src/server/game/Handlers/LootHandler.cpp
+++ b/src/server/game/Handlers/LootHandler.cpp
@@ -231,9 +231,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());
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index 2a750efef92..0bb121938dd 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -1510,6 +1510,9 @@ void World::LoadConfigSettings(bool reload)
_guidWarningMsg = sConfigMgr->GetStringDefault("Respawn.WarningMessage", "There will be an unscheduled server restart at 03:00. The server will be available again shortly after.");
_alertRestartReason = sConfigMgr->GetStringDefault("Respawn.AlertRestartReason", "Urgent Maintenance");
m_int_configs[CONFIG_RESPAWN_GUIDWARNING_FREQUENCY] = sConfigMgr->GetIntDefault("Respawn.WarningFrequency", 1800);
+
+ m_bool_configs[CONFIG_ENABLE_AE_LOOT] = sConfigMgr->GetBoolDefault("EnableAELoot", false);
+
///- Read the "Data" directory from the config file
std::string dataPath = sConfigMgr->GetStringDefault("DataDir", "./");
if (dataPath.empty() || (dataPath.at(dataPath.length()-1) != '/' && dataPath.at(dataPath.length()-1) != '\\'))
diff --git a/src/server/game/World/World.h b/src/server/game/World/World.h
index 1833fcb4039..86d994a6001 100644
--- a/src/server/game/World/World.h
+++ b/src/server/game/World/World.h
@@ -196,6 +196,7 @@ enum WorldBoolConfigs
CONFIG_ALLOW_LOGGING_IP_ADDRESSES_IN_DATABASE,
CONFIG_CHARACTER_CREATING_DISABLE_ALLIED_RACE_ACHIEVEMENT_REQUIREMENT,
CONFIG_BATTLEGROUNDMAP_LOAD_GRIDS,
+ CONFIG_ENABLE_AE_LOOT,
BOOL_CONFIG_VALUE_COUNT
};
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 20ad5bef124..8aeea3782da 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -3532,6 +3532,14 @@ Creature.CheckInvalidPosition = 0
GameObject.CheckInvalidPosition = 0
#
+# EnableAELoot
+# Description: Enables/Disables the AE loot feature. AE loot allows players to loot multiple corpses within a 30 yards radius at once.
+# Default: 0 - (Disabled)
+ 1 - (Enabled)
+
+EnableAELoot = 0
+
+#
###################################################################################################
###################################################################################################