diff --git a/webapp/services/FormulaService.php b/webapp/services/FormulaService.php index 60327d7a..af45546c 100644 --- a/webapp/services/FormulaService.php +++ b/webapp/services/FormulaService.php @@ -12,12 +12,14 @@ use mt; class FormulaService extends BaseService { - - public static function calcHeroPvpCeg($heroDto, $params) { //PVP角色NFT每日获得极限*(50%*[每局排名TopX%对应比例]+25%*[每局PK人数排名TopX%对应比例]+15%*[每局英雄属性排名TopX%对应比例]+5%*[每局武器属性排名TopX%对应比例]+5%*[每局存活时间排名TopX%对应比例]) - $upLimit = $heroDto['ceg_uplimit']; + $upLimit = $heroDto['pvp_ceg_uplimit']; + $ranked = getXVal($params, 'ranked'); + $kills = getXVal($params, 'kills'); + $aliveTime = getXVal($params, 'alive_time'); + $rankedTopX= getXVal($params, 'ranked_topx'); $killsTopX = getXVal($params, 'kills_topx'); $heroTopX = getXVal($params, 'hero_topx'); @@ -34,7 +36,10 @@ class FormulaService extends BaseService { (0.15 * $heroTopX * $meta['hero_topx']) + (0.5 * $weaponTopX * $meta['weapon_topx']) + (0.5 * $survivalTopX * $meta['survival_topx']) - ); + ) * + (1 - ($ranked > 30 ? 1 : 0)) * + ($kills > 1 ? 1 : 0) * + ($aliveTime > 30 ? 1 : 0); return round($ceg); } @@ -48,7 +53,7 @@ class FormulaService extends BaseService { public static function calcWeaponPvpCeg($weaponDto, $params) { //PVP武器NFT每日获得极限*(50%*[每局排名TopX%对应比例]+25%*[每局PK人数排名TopX%对应比例]+15%*[每局英雄属性排名TopX%对应比例]+5%*[每局武器属性排名TopX%对应比例]+5%*[每局存活时间排名TopX%对应比例]) - $upLimit = $weaponDto['ceg_uplimit']; + $upLimit = $weaponDto['pvp_ceg_uplimit']; $rankedTopX= getXVal($params, 'ranked_topx'); $killsTopX = getXVal($params, 'kills_topx'); $heroTopX = getXVal($params, 'hero_topx'); @@ -65,7 +70,10 @@ class FormulaService extends BaseService { (0.15 * $heroTopX * $meta['hero_topx']) + (0.5 * $weaponTopX * $meta['weapon_topx']) + (0.5 * $survivalTopX * $meta['survival_topx']) - ); + ) * + (1 - ($ranked > 30 ? 1 : 0)) * + ($kills > 1 ? 1 : 0) * + ($aliveTime > 30 ? 1 : 0); return round($ceg); }