fix groups finding members in a instanced zone
This commit is contained in:
parent
ae0b6c4b04
commit
70c9fd0124
@ -1889,12 +1889,12 @@ bool PlayerGroupManager::IdentifyMemberInGroupOrRaid(ZoneChangeDetails* details,
|
|||||||
deque<GroupMemberInfo*>::iterator itr;
|
deque<GroupMemberInfo*>::iterator itr;
|
||||||
for (itr = members->begin(); itr != members->end(); itr++) {
|
for (itr = members->begin(); itr != members->end(); itr++) {
|
||||||
// If a group member matches a target
|
// 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
|
// toggle the flag and break the loop
|
||||||
ret = (*itr)->member->GetZone();
|
ret = (*itr)->member->GetZone();
|
||||||
break;
|
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
|
// toggle the flag and break the loop
|
||||||
std::string id = peer_manager.isPeer((*itr)->client_peer_address, (*itr)->client_peer_port);
|
std::string id = peer_manager.isPeer((*itr)->client_peer_address, (*itr)->client_peer_port);
|
||||||
std::shared_ptr<Peer> peer = peer_manager.getPeerById(id);
|
std::shared_ptr<Peer> peer = peer_manager.getPeerById(id);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user