From 5fb395dcc5a645c5f51275c3d6396b44cef61ad3 Mon Sep 17 00:00:00 2001 From: sogladev Date: Sat, 27 Dec 2025 00:30:46 +0100 Subject: [PATCH] fix(Core/LFG): no longer apply Luck of the Draw to premade groups (#24186) --- src/server/game/DungeonFinding/LFGMgr.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/server/game/DungeonFinding/LFGMgr.cpp b/src/server/game/DungeonFinding/LFGMgr.cpp index cd3bd6465..9e097ab9b 100644 --- a/src/server/game/DungeonFinding/LFGMgr.cpp +++ b/src/server/game/DungeonFinding/LFGMgr.cpp @@ -1628,6 +1628,7 @@ namespace lfg } ObjectGuid oldGroupGUID; + bool hasRandomLfgMember = proposal.group.IsEmpty(); for (LfgGuidList::const_iterator it = players.begin(); it != players.end(); ++it) { ObjectGuid pguid = (*it); @@ -1644,8 +1645,16 @@ namespace lfg SetState(grp->GetGUID(), LFG_STATE_PROPOSAL); } + if (auto const proposalPlayer = proposal.players.find(pguid); proposalPlayer != proposal.players.end()) + { + if (!hasRandomLfgMember && (proposalPlayer->second.group.IsEmpty() || proposalPlayer->second.group != proposal.group)) + hasRandomLfgMember = true; + } + else + hasRandomLfgMember = true; + // Xinef: Apply Random Buff - if (grp && !grp->IsLfgWithBuff()) + if (grp && !grp->IsLfgWithBuff() && hasRandomLfgMember) { if (!group || group->GetGUID() != oldGroupGUID) grp->AddLfgBuffFlag();