feat(Core/LFG): Add option to exclude locked heroic dungeons in RDF (#24055)

This commit is contained in:
kissingers
2025-12-07 01:38:47 +08:00
committed by GitHub
parent 5dc2382805
commit 34f261b92c
4 changed files with 12 additions and 2 deletions

View File

@@ -3375,6 +3375,15 @@ DungeonAccessRequirements.LFGLevelDBCOverride = 0
DungeonFinder.CastDeserter = 1
#
# DungeonFinder.AllowCompleted
#
# Description: Controls whether completed heroic dungeons are excluded from LFG queue.
# 0 - (Classic WLK mode: Dungeons completed by any group member today are excluded (daily lockout enforced))
# Default: 1 - (Blizzlike: All dungeons are available for queue, even if already completed)
DungeonFinder.AllowCompleted = 1
#
###################################################################################################

View File

@@ -1496,7 +1496,7 @@ namespace lfg
{
uint32 dungeonId = (it2->first & 0x00FFFFFF); // Compare dungeon ids
if (it2->second == LFG_LOCKSTATUS_RAID_LOCKED && isRDF)
if (it2->second == LFG_LOCKSTATUS_RAID_LOCKED && isRDF && sWorld->getBoolConfig(CONFIG_LFG_ALLOW_COMPLETED))
continue;
LfgDungeonSet::iterator itDungeon = dungeons.find(dungeonId);

View File

@@ -555,8 +555,8 @@ void WorldConfig::BuildConfigCache()
// Dungeon finder
SetConfigValue<uint32>(CONFIG_LFG_OPTIONSMASK, "DungeonFinder.OptionsMask", 5);
SetConfigValue<bool>(CONFIG_LFG_CAST_DESERTER, "DungeonFinder.CastDeserter", true);
SetConfigValue<bool>(CONFIG_LFG_ALLOW_COMPLETED, "DungeonFinder.AllowCompleted", true);
// DBC_ItemAttributes
SetConfigValue<bool>(CONFIG_DBC_ENFORCE_ITEM_ATTRIBUTES, "DBC.EnforceItemAttributes", true);

View File

@@ -94,6 +94,7 @@ enum ServerConfigs
CONFIG_ALLOW_TICKETS,
CONFIG_DELETE_CHARACTER_TICKET_TRACE,
CONFIG_LFG_CAST_DESERTER,
CONFIG_LFG_ALLOW_COMPLETED,
CONFIG_DBC_ENFORCE_ITEM_ATTRIBUTES,
CONFIG_PRESERVE_CUSTOM_CHANNELS,
CONFIG_PDUMP_NO_PATHS,