aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/server/game/Battlegrounds/ArenaTeam.cpp3
-rwxr-xr-xsrc/server/game/Battlegrounds/ArenaTeam.h2
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);