diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Battlegrounds/ArenaTeam.cpp | 3 | ||||
-rwxr-xr-x | src/server/game/Battlegrounds/ArenaTeam.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/server/game/Battlegrounds/ArenaTeam.cpp b/src/server/game/Battlegrounds/ArenaTeam.cpp index a1d31747812..4823b159d1a 100755 --- a/src/server/game/Battlegrounds/ArenaTeam.cpp +++ b/src/server/game/Battlegrounds/ArenaTeam.cpp @@ -644,6 +644,7 @@ int32 ArenaTeam::GetRatingMod(uint32 own_rating, uint32 enemy_rating, bool won, int32 ArenaTeam::GetPersonalRatingMod(int32 base_rating, uint32 own_rating, uint32 enemy_rating) { + // max (2 * team rating gain/loss), min 0 gain/loss float chance = GetChanceAgainst(own_rating, enemy_rating); chance *= 2.0f; return (int32)ceil(float(base_rating) * chance); @@ -671,6 +672,7 @@ void ArenaTeam::FinishGame(int32 mod) int32 ArenaTeam::WonAgainst(uint32 againstRating) { // called when the team has won + // own team rating versus opponents matchmaker rating int32 mod = GetRatingMod(m_stats.rating, againstRating, true); // modify the team stats accordingly @@ -685,6 +687,7 @@ int32 ArenaTeam::WonAgainst(uint32 againstRating) int32 ArenaTeam::LostAgainst(uint32 againstRating) { // called when the team has lost + // own team rating versus opponents matchmaker rating int32 mod = GetRatingMod(m_stats.rating, againstRating, false); // modify the team stats accordingly diff --git a/src/server/game/Battlegrounds/ArenaTeam.h b/src/server/game/Battlegrounds/ArenaTeam.h index 87c49f09b93..9a9c9ab40d9 100755 --- a/src/server/game/Battlegrounds/ArenaTeam.h +++ b/src/server/game/Battlegrounds/ArenaTeam.h @@ -201,7 +201,7 @@ class ArenaTeam int32 WonAgainst(uint32 againstRating); void MemberWon(Player * plr, uint32 againstMatchmakerRating, int32 teamratingchange = 12); int32 LostAgainst(uint32 againstRating); - void MemberLost(Player * plr, uint32 againstMatchmakerRating, int32 teamratingchange = 12); + void MemberLost(Player * plr, uint32 againstMatchmakerRating, int32 teamratingchange = -12); void OfflineMemberLost(uint64 guid, uint32 againstMatchmakerRating, int32 teamratingchange = 12); void UpdateArenaPointsHelper(std::map<uint32, uint32> & PlayerPoints); |