diff options
| author | kaelima <kaelima@live.se> | 2011-10-11 23:09:49 +0200 |
|---|---|---|
| committer | kaelima <kaelima@live.se> | 2011-10-11 23:09:49 +0200 |
| commit | 3fd58b7b306eecdac9314f25c42ad66c64445646 (patch) | |
| tree | e65c9349dc34e5ef6cc81885dc20374c62110c24 /src/server/game/Groups/Group.cpp | |
| parent | 11bb9bfdb3cd6eb849d188aa3c4c6efe2b97517a (diff) | |
Core/Group: Fix recent issues with displaying group members on minimap.
Update GroupMemberOnlineStatus enum (creds to TOMRUS)
Also fix reduant GetVehicle() check in BuildPartyMemberStatsChangedPacket
Diffstat (limited to 'src/server/game/Groups/Group.cpp')
| -rwxr-xr-x | src/server/game/Groups/Group.cpp | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 44d7f62305f..0442172b0fd 100755 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -1261,11 +1261,12 @@ void Group::UpdatePlayerOutOfRange(Player* player) WorldPacket data; player->GetSession()->BuildPartyMemberStatsChangedPacket(player, &data); + Player* member; for (GroupReference* itr = GetFirstMember(); itr != NULL; itr = itr->next()) { - player = itr->getSource(); - if (player && !player->IsWithinDist(player, player->GetSightRange(), false)) - player->GetSession()->SendPacket(&data); + member = itr->getSource(); + if (member && !member->IsWithinDist(player, member->GetSightRange(), false)) + member->GetSession()->SendPacket(&data); } } @@ -1273,12 +1274,12 @@ void Group::BroadcastPacket(WorldPacket* packet, bool ignorePlayersInBGRaid, int { for (GroupReference* itr = GetFirstMember(); itr != NULL; itr = itr->next()) { - Player* pl = itr->getSource(); - if (!pl || (ignore != 0 && pl->GetGUID() == ignore) || (ignorePlayersInBGRaid && pl->GetGroup() != this)) + Player* plr = itr->getSource(); + if (!plr || (ignore != 0 && plr->GetGUID() == ignore) || (ignorePlayersInBGRaid && plr->GetGroup() != this)) continue; - if (pl->GetSession() && (group == -1 || itr->getSubGroup() == group)) - pl->GetSession()->SendPacket(packet); + if (plr->GetSession() && (group == -1 || itr->getSubGroup() == group)) + plr->GetSession()->SendPacket(packet); } } @@ -1286,10 +1287,10 @@ void Group::BroadcastReadyCheck(WorldPacket* packet) { for (GroupReference* itr = GetFirstMember(); itr != NULL; itr = itr->next()) { - Player* pl = itr->getSource(); - if (pl && pl->GetSession()) - if (IsLeader(pl->GetGUID()) || IsAssistant(pl->GetGUID())) - pl->GetSession()->SendPacket(packet); + Player* plr = itr->getSource(); + if (plr && plr->GetSession()) + if (IsLeader(plr->GetGUID()) || IsAssistant(plr->GetGUID())) + plr->GetSession()->SendPacket(packet); } } @@ -1297,8 +1298,8 @@ void Group::OfflineReadyCheck() { for (member_citerator citr = m_memberSlots.begin(); citr != m_memberSlots.end(); ++citr) { - Player* pl = ObjectAccessor::FindPlayer(citr->guid); - if (!pl || !pl->GetSession()) + Player* plr = ObjectAccessor::FindPlayer(citr->guid); + if (!plr || !plr->GetSession()) { WorldPacket data(MSG_RAID_READY_CHECK_CONFIRM, 9); data << uint64(citr->guid); @@ -1328,6 +1329,7 @@ bool Group::SameSubGroup(Player const* member1, Player const* member2) const { if (!member1 || !member2) return false; + if (member1->GetGroup() != this || member2->GetGroup() != this) return false; else @@ -1364,10 +1366,8 @@ void Group::ChangeMembersGroup(uint64 guid, uint8 group) if (!isBGGroup()) CharacterDatabase.PExecute("UPDATE group_member SET subgroup='%u' WHERE memberGuid='%u'", group, GUID_LOPART(guid)); - Player* player = ObjectAccessor::FindPlayer(guid); - // In case the moved player is online, update the player object with the new sub group references - if (player) + if (Player* player = ObjectAccessor::FindPlayer(guid)) { if (player->GetGroup() == this) player->GetGroupRef().setSubGroup(group); |
