修改 pvp 公式
This commit is contained in:
parent
46f3295980
commit
5c23fcf3d1
@ -29,7 +29,7 @@ class Battle(object):
|
||||
'params': [
|
||||
_common.ReqHead(),
|
||||
['battle_uniid', '', 'battle_uuid'],
|
||||
['match_mode', 0, '0: 匹配赛模式 1: 排位赛 3: pve'],
|
||||
['match_mode', 0, '0: 匹配赛模式 1: 排位赛 2: pve'],
|
||||
['pve_instance_id', 0, 'pve副本id'],
|
||||
['pve_instance_mode', 0, 'pve副本mode'],
|
||||
['is_valid_battle', 0, 'is_valid_battle'],
|
||||
|
@ -620,9 +620,9 @@ class BattleDataService extends BaseService {
|
||||
'match_mode' => getReqVal('match_mode', 0),
|
||||
'room_uuid' => getReqVal('room_uuid', 0),
|
||||
];
|
||||
$cond = (1 - ($ranked >= 30 ? 1 : 0)) *
|
||||
($kills >= 1 ? 1 : 0) *
|
||||
($aliveTime >= 30 ? 1 : 0);
|
||||
$cond = (1 - ($ranked > 30 ? 1 : 0)) *
|
||||
($kills < 1 ? 1 : 0) *
|
||||
($aliveTime < 30 ? 1 : 0);
|
||||
if (!$cond) {
|
||||
return;
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ class FormulaService extends BaseService {
|
||||
|
||||
public static function calcHeroPvpCeg($heroDto, $params)
|
||||
{
|
||||
//PVP角色NFT每日获得极限*(50%*[每局排名TopX%对应比例]+25%*[每局PK人数排名TopX%对应比例]+15%*[每局英雄属性排名TopX%对应比例]+5%*[每局武器属性排名TopX%对应比例]+5%*[每局存活时间排名TopX%对应比例])
|
||||
//每局实际收益=10%PVP收益*5*(50%*[每局排名TopX%对应比例]+25%*[每局PK人数排名TopX%对应比例]+15%*[每局英雄属性排名TopX%对应比例]+5%*[每局武器属性排名TopX%对应比例]+5%*[每局存活时间排名TopX%对应比例])
|
||||
$upLimit = $heroDto['pvp_ceg_uplimit'];
|
||||
$ranked = getXVal($params, 'ranked');
|
||||
$kills = getXVal($params, 'kills');
|
||||
@ -25,21 +25,23 @@ class FormulaService extends BaseService {
|
||||
$heroTopX = getXVal($params, 'hero_topx');
|
||||
$weaponTopX = getXVal($params, 'weapon_topx');
|
||||
$survivalTopX = getXVal($params, 'survival_topx');
|
||||
$meta = mt\FormulaPvp::getByRanked($rankedTopX);
|
||||
if (!$meta) {
|
||||
return 0;
|
||||
}
|
||||
$ceg = $upLimit *
|
||||
$meta_rankedTopX = mt\FormulaPvp::getByRanked($rankedTopX)?mt\FormulaPvp::getByRanked($rankedTopX)['ranked_topx']:0;
|
||||
$meta_killsTopX = mt\FormulaPvp::getByRanked($killsTopX)?mt\FormulaPvp::getByRanked($killsTopX)['kills_topx']:0;
|
||||
$meta_heroTopX = mt\FormulaPvp::getByRanked($heroTopX)?mt\FormulaPvp::getByRanked($heroTopX)['hero_topx']:0;
|
||||
$meta_weaponTopX = mt\FormulaPvp::getByRanked($weaponTopX)?mt\FormulaPvp::getByRanked($weaponTopX)['weapon_topx']:0;
|
||||
$meta_survivalTopX = mt\FormulaPvp::getByRanked($survivalTopX)?mt\FormulaPvp::getByRanked($survivalTopX)['survival_topx']:0;
|
||||
|
||||
$ceg = 1/10*$upLimit * 5 *
|
||||
(
|
||||
(0.5 * $rankedTopX * $meta['ranked_topx']) +
|
||||
(0.25 * $killsTopX * $meta['kills_topx']) +
|
||||
(0.15 * $heroTopX * $meta['hero_topx']) +
|
||||
(0.5 * $weaponTopX * $meta['weapon_topx']) +
|
||||
(0.5 * $survivalTopX * $meta['survival_topx'])
|
||||
(0.5 * $meta_rankedTopX) +
|
||||
(0.25 * $meta_killsTopX) +
|
||||
(0.15 * $meta_heroTopX) +
|
||||
(0.05 * $meta_weaponTopX) +
|
||||
(0.05 * $meta_survivalTopX)
|
||||
) *
|
||||
(1 - ($ranked >= 30 ? 1 : 0)) *
|
||||
($kills >= 1 ? 1 : 0) *
|
||||
($aliveTime >= 30 ? 1 : 0);
|
||||
(1 - ($ranked > 30 ? 1 : 0)) *
|
||||
($kills < 1 ? 1 : 0) *
|
||||
($aliveTime < 30 ? 1 : 0);
|
||||
return cegFormat(($ceg));
|
||||
}
|
||||
|
||||
@ -78,22 +80,24 @@ class FormulaService extends BaseService {
|
||||
$heroTopX = getXVal($params, 'hero_topx');
|
||||
$weaponTopX = getXVal($params, 'weapon_topx');
|
||||
$survivalTopX = getXVal($params, 'survival_topx');
|
||||
$meta = mt\FormulaPvp::getByRanked($rankedTopX);
|
||||
if (!$meta) {
|
||||
return 0;
|
||||
}
|
||||
$ceg = $upLimit *
|
||||
(
|
||||
(0.5 * $rankedTopX * $meta['ranked_topx']) +
|
||||
(0.25 * $killsTopX * $meta['kills_topx']) +
|
||||
(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 cegFormat($ceg);
|
||||
$meta_rankedTopX = mt\FormulaPvp::getByRanked($rankedTopX)?mt\FormulaPvp::getByRanked($rankedTopX)['ranked_topx']:0;
|
||||
$meta_killsTopX = mt\FormulaPvp::getByRanked($killsTopX)?mt\FormulaPvp::getByRanked($killsTopX)['kills_topx']:0;
|
||||
$meta_heroTopX = mt\FormulaPvp::getByRanked($heroTopX)?mt\FormulaPvp::getByRanked($heroTopX)['hero_topx']:0;
|
||||
$meta_weaponTopX = mt\FormulaPvp::getByRanked($weaponTopX)?mt\FormulaPvp::getByRanked($weaponTopX)['weapon_topx']:0;
|
||||
$meta_survivalTopX = mt\FormulaPvp::getByRanked($survivalTopX)?mt\FormulaPvp::getByRanked($survivalTopX)['survival_topx']:0;
|
||||
|
||||
$ceg = 1/10*$upLimit * 5 *
|
||||
(
|
||||
(0.5 * $meta_rankedTopX) +
|
||||
(0.25 * $meta_killsTopX) +
|
||||
(0.15 * $meta_heroTopX) +
|
||||
(0.05 * $meta_weaponTopX) +
|
||||
(0.05 * $meta_survivalTopX)
|
||||
) *
|
||||
(1 - ($ranked > 30 ? 1 : 0)) *
|
||||
($kills < 1 ? 1 : 0) *
|
||||
($aliveTime < 30 ? 1 : 0);
|
||||
return cegFormat(($ceg));
|
||||
}
|
||||
|
||||
public static function calcWeaponPveCeg($weaponDto, $instanceLevel, $instanceRank, $bossReward)
|
||||
|
Loading…
x
Reference in New Issue
Block a user