diff --git a/lib/ntbb-ladder.lib.php b/lib/ntbb-ladder.lib.php index 87821f4ed..f27776c9c 100755 --- a/lib/ntbb-ladder.lib.php +++ b/lib/ntbb-ladder.lib.php @@ -255,6 +255,8 @@ class NTBBLadder { return false; } + $elo = $user['rating']['acre']; + $rating = new GlickoPlayer($user['rating']['r'], $user['rating']['rd']); if ($user['rating']['rpdata']) { $rpdata = explode('##',$user['rating']['rpdata']); @@ -274,10 +276,16 @@ class NTBBLadder { $rating->rating += $offset; $offset = 0; } + + if ($elo >= 1400) { + $elo -= 1 + intval(($elo-1400)/50); + } + $user['rating']['rptime'] = $this->nextrp($user['rating']['rptime']); } $user['rating']['r'] = $rating->rating; $user['rating']['rd'] = $rating->rd; + $user['rating']['lacre'] = $user['rating']['acre'] = $elo; } if ($newM) { @@ -324,9 +332,8 @@ class NTBBLadder { $user['rating']['rpdata'] .= '##'.$offset; } - if ($newM) { - $elo = $user['rating']['oldacre'] = $user['rating']['acre']; + $user['rating']['oldacre'] = $elo; $K = 50; if ($elo < 1100) { @@ -335,7 +342,7 @@ class NTBBLadder { } else if ($newM['score'] > 0.5) { $K = 80 - ($elo - 1000)*30/100; } - } else if ($elo > 1400) { + } else if ($elo > 1300) { $K = 40; } else if ($elo > 1600) { $K = 32;