mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 17:27:36 +01:00
*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));
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user