diff --git a/webapp/services/FormulaService.php b/webapp/services/FormulaService.php index 41063e61..02b18ae3 100644 --- a/webapp/services/FormulaService.php +++ b/webapp/services/FormulaService.php @@ -383,7 +383,7 @@ class FormulaService extends BaseService { //胜负率=1-(排名-1)/(最大排名-1) // $ranked = getXVal($params, 'pvp_personal_rank'); // $teamRank = min(getXVal($params, 'pvp_team_rank'),10); - $maxRanked = mt\Parameter::getVal('rank_order_max',40); //************** parameter 参数表获取 ************ + $maxRanked = mt\Parameter::getVal('rank_order_max',8); //************** parameter 参数表获取 ************ $winRate = 1-($ranked-1)/($maxRanked-1); //总胜率=70%*P(个人ELO值-敌队平均ELO值)+30%*P(己队平均ELO值-敌队平均ELO值) --> P(D)=1/(1+10^(-D/400)) $winRateSum = $winningPro; @@ -401,7 +401,7 @@ class FormulaService extends BaseService { //一个玩家的赛后积分 = 赛前积分+K/2*(MAX(胜负率-0.5,0))+K/2*(表现分-段位要求的及格分) 新 $kArr = explode('|',mt\Parameter::getVal('rank_k',0)); //************** parameter 参数表获取 ************ $K = $kArr[$rankMeta['rank_order2']-1]; - $battleAfterScore = $userDb['score'] + $K/2 * max(($winRate-0.5),0) + ($K/2) * ($expreScore-$askedScore); + $battleAfterScore = $userDb['score'] + $K * max(($winRate-$winningPro),0); return round($battleAfterScore); }