*Do not give rating if two groups from the same arena teams fight against each other. (This is a temp fix. They should not even begin the battle)

--HG--
branch : trunk
This commit is contained in:
megamage
2009-06-16 12:25:18 -05:00
parent 726e686f08
commit 7b3d740749
+5 -5
View File
@@ -684,7 +684,7 @@ void BattleGround::EndBattleGround(uint32 winner)
{ {
winner_arena_team = objmgr.GetArenaTeamById(GetArenaTeamIdForTeam(winner)); winner_arena_team = objmgr.GetArenaTeamById(GetArenaTeamIdForTeam(winner));
loser_arena_team = objmgr.GetArenaTeamById(GetArenaTeamIdForTeam(GetOtherTeam(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; loser_rating = loser_arena_team->GetStats().rating;
winner_rating = winner_arena_team->GetStats().rating; winner_rating = winner_arena_team->GetStats().rating;
@@ -710,7 +710,7 @@ void BattleGround::EndBattleGround(uint32 winner)
if (!plr) if (!plr)
{ {
//if rated arena match - make member lost! //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) if (team == winner)
winner_arena_team->OfflineMemberLost(itr->first, loser_rating); winner_arena_team->OfflineMemberLost(itr->first, loser_rating);
@@ -735,7 +735,7 @@ void BattleGround::EndBattleGround(uint32 winner)
//if(!team) team = plr->GetTeam(); //if(!team) team = plr->GetTeam();
// per player calculation // 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) if (team == winner)
{ {
@@ -776,7 +776,7 @@ void BattleGround::EndBattleGround(uint32 winner)
plr->GetAchievementMgr().UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_BATTLEGROUND, 1); 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! // update arena points only after increasing the player's match count!
//obsolete: winner_arena_team->UpdateArenaPointsHelper(); //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 //left a rated match while the encounter was in progress, consider as loser
ArenaTeam * winner_arena_team = objmgr.GetArenaTeamById(GetArenaTeamIdForTeam(GetOtherTeam(team))); ArenaTeam * winner_arena_team = objmgr.GetArenaTeamById(GetArenaTeamIdForTeam(GetOtherTeam(team)));
ArenaTeam * loser_arena_team = objmgr.GetArenaTeamById(GetArenaTeamIdForTeam(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()); loser_arena_team->MemberLost(plr,winner_arena_team->GetRating());
} }
} }