*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:
@@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user