diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/BattleGround.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/game/BattleGround.cpp b/src/game/BattleGround.cpp index 4c0c900a711..71062657c0b 100644 --- a/src/game/BattleGround.cpp +++ b/src/game/BattleGround.cpp @@ -684,7 +684,7 @@ void BattleGround::EndBattleGround(uint32 winner) { winner_arena_team = objmgr.GetArenaTeamById(GetArenaTeamIdForTeam(winner)); loser_arena_team = objmgr.GetArenaTeamById(GetArenaTeamIdForTeam(GetOtherTeam(winner))); - if (winner_arena_team && loser_arena_team) + if (winner_arena_team && loser_arena_team && winner_arena_team != loser_arena_team) { loser_rating = loser_arena_team->GetStats().rating; winner_rating = winner_arena_team->GetStats().rating; @@ -710,7 +710,7 @@ void BattleGround::EndBattleGround(uint32 winner) if (!plr) { //if rated arena match - make member lost! - if (isArena() && isRated() && winner_arena_team && loser_arena_team) + if (isArena() && isRated() && winner_arena_team && loser_arena_team && winner_arena_team != loser_arena_team) { if (team == winner) winner_arena_team->OfflineMemberLost(itr->first, loser_rating); @@ -735,7 +735,7 @@ void BattleGround::EndBattleGround(uint32 winner) //if(!team) team = plr->GetTeam(); // per player calculation - if (isArena() && isRated() && winner_arena_team && loser_arena_team) + if (isArena() && isRated() && winner_arena_team && loser_arena_team && winner_arena_team != loser_arena_team) { if (team == winner) { @@ -776,7 +776,7 @@ void BattleGround::EndBattleGround(uint32 winner) plr->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND, 1); } - if (isArena() && isRated() && winner_arena_team && loser_arena_team) + if (isArena() && isRated() && winner_arena_team && loser_arena_team && winner_arena_team != loser_arena_team) { // update arena points only after increasing the player's match count! //obsolete: winner_arena_team->UpdateArenaPointsHelper(); @@ -1011,7 +1011,7 @@ void BattleGround::RemovePlayerAtLeave(uint64 guid, bool Transport, bool SendPac //left a rated match while the encounter was in progress, consider as loser ArenaTeam * winner_arena_team = objmgr.GetArenaTeamById(GetArenaTeamIdForTeam(GetOtherTeam(team))); ArenaTeam * loser_arena_team = objmgr.GetArenaTeamById(GetArenaTeamIdForTeam(team)); - if (winner_arena_team && loser_arena_team) + if (winner_arena_team && loser_arena_team && winner_arena_team != loser_arena_team) loser_arena_team->MemberLost(plr,winner_arena_team->GetRating()); } } |