Core/Loot: implemented a custom server config setting to enable or disable AE loot

Port From (https://github.com/TrinityCore/TrinityCore/commit/ccc083593af16f505263f889712f46f9382bb588)
This commit is contained in:
hondacrx
2024-02-06 15:32:46 -05:00
parent d1ad9f662e
commit a1a78bf8b0
4 changed files with 18 additions and 2 deletions
@@ -1611,6 +1611,7 @@ namespace Framework.Constants
DieCommandMode, DieCommandMode,
DisableBreathing, DisableBreathing,
DurabilityLossInPvp, DurabilityLossInPvp,
EnableAeLoot,
EnableMmaps, EnableMmaps,
EnableSinfoLogin, EnableSinfoLogin,
EventAnnounce, EventAnnounce,
+6 -2
View File
@@ -217,8 +217,12 @@ namespace Game
GetPlayer().RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags.Looting); GetPlayer().RemoveAurasWithInterruptFlags(SpellAuraInterruptFlags.Looting);
List<Creature> corpses = new(); List<Creature> corpses = new();
CreatureListSearcher searcher = new(_player, corpses, check); bool aeLootEnabled = WorldConfig.GetBoolValue(WorldCfg.EnableAeLoot);
Cell.VisitGridObjects(_player, searcher, AELootCreatureCheck.LootDistance); if (aeLootEnabled)
{
CreatureListSearcher searcher = new(_player, corpses, check);
Cell.VisitGridObjects(_player, searcher, AELootCreatureCheck.LootDistance);
}
if (!corpses.Empty()) if (!corpses.Empty())
SendPacket(new AELootTargets((uint)corpses.Count + 1)); SendPacket(new AELootTargets((uint)corpses.Count + 1));
+3
View File
@@ -1011,6 +1011,9 @@ namespace Game
// Specifies if IP addresses can be logged to the database // Specifies if IP addresses can be logged to the database
Values[WorldCfg.AllowLogginIpAddressesInDatabase] = GetDefaultValue("AllowLoggingIPAddressesInDatabase", true); Values[WorldCfg.AllowLogginIpAddressesInDatabase] = GetDefaultValue("AllowLoggingIPAddressesInDatabase", true);
// Enable AE loot
Values[WorldCfg.EnableAeLoot] = GetDefaultValue("Loot.EnableAELoot", true);
// call ScriptMgr if we're reloading the configuration // call ScriptMgr if we're reloading the configuration
if (reload) if (reload)
Global.ScriptMgr.OnConfigLoad(reload); Global.ScriptMgr.OnConfigLoad(reload);
+8
View File
@@ -3404,6 +3404,14 @@ Creature.CheckInvalidPosition = 0
GameObject.CheckInvalidPosition = 0 GameObject.CheckInvalidPosition = 0
#
# Loot.EnableAELoot
# Description: Enables AE loot which will allow looting all creatures within a 30 yards radius at once
# Default: 1 - (AE loot enabled)
# 0 - (AE loot disabled)
Loot.EnableAELoot = 1
# #
################################################################################################### ###################################################################################################