Fix arena point calculation. If the configured arena season is >= 5, teams below 1500 rating should get a fixed amount of points, equal to the amount of points a person with 1500 rating would get.
--HG-- branch : trunk
This commit is contained in:
@@ -518,15 +518,20 @@ uint32 ArenaTeam::GetPoints(uint32 MemberRating)
|
||||
|
||||
uint32 rating = MemberRating + 150 < m_stats.rating ? MemberRating : m_stats.rating;
|
||||
|
||||
if(rating<=1500)
|
||||
points = (float)rating * 0.22f + 14.0f;
|
||||
if (rating<=1500)
|
||||
{
|
||||
if (sWorld.getConfig(CONFIG_ARENA_SEASON_ID) < 5)
|
||||
points = (float)rating * 0.22f + 14.0f;
|
||||
else
|
||||
points = 344;
|
||||
}
|
||||
else
|
||||
points = 1511.26f / (1.0f + 1639.28f * exp(-0.00412f * (float)rating));
|
||||
|
||||
// type penalties for <5v5 teams
|
||||
if(m_Type == ARENA_TEAM_2v2)
|
||||
if (m_Type == ARENA_TEAM_2v2)
|
||||
points *= 0.76f;
|
||||
else if(m_Type == ARENA_TEAM_3v3)
|
||||
else if (m_Type == ARENA_TEAM_3v3)
|
||||
points *= 0.88f;
|
||||
|
||||
return (uint32) points;
|
||||
|
||||
Reference in New Issue
Block a user