From 70c9fd012475fa6970690affe64c1596d55be60b Mon Sep 17 00:00:00 2001 From: Emagi Date: Wed, 26 Feb 2025 17:27:14 -0500 Subject: [PATCH] fix groups finding members in a instanced zone --- source/WorldServer/PlayerGroups.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/WorldServer/PlayerGroups.cpp b/source/WorldServer/PlayerGroups.cpp index ab94fc2..e33037d 100644 --- a/source/WorldServer/PlayerGroups.cpp +++ b/source/WorldServer/PlayerGroups.cpp @@ -1889,12 +1889,12 @@ bool PlayerGroupManager::IdentifyMemberInGroupOrRaid(ZoneChangeDetails* details, deque::iterator itr; for (itr = members->begin(); itr != members->end(); itr++) { // If a group member matches a target - if ((*itr)->is_client && (*itr)->member && (*itr)->member->GetZone() && (*itr)->zone_id == zoneID && (*itr)->instance_id == instanceID) { + if ((*itr)->is_client && (*itr)->member && (*itr)->member->GetZone() && (*itr)->zone_id == zoneID && (instanceID == 0 || (*itr)->instance_id == instanceID)) { // toggle the flag and break the loop ret = (*itr)->member->GetZone(); break; } - else if ((*itr)->is_client && (*itr)->zone_id == zoneID && (*itr)->instance_id == instanceID) { + else if ((*itr)->is_client && (*itr)->zone_id == zoneID && (instanceID == 0 || (*itr)->instance_id == instanceID)) { // toggle the flag and break the loop std::string id = peer_manager.isPeer((*itr)->client_peer_address, (*itr)->client_peer_port); std::shared_ptr peer = peer_manager.getPeerById(id);