0) { $newScore = min($oldScore, $currRankMeta['max_score']) + $addScore; do { if ($newScore > $currRankMeta['max_score']) { ++$newRank; $currRankMeta = self::get($newRank); if ($currRankMeta['max_score'] < 0) { $newScore = $currRankMeta['min_score']; break; } } else { break; } } while ($currRankMeta); } } protected static function getMetaList() { if (!self::$metaList) { self::$metaList = getMetaTable('rank@rank.php'); } return self::$metaList; } protected static $metaList; }