pvp 公式

This commit is contained in:
hujiabin 2022-09-30 11:46:28 +08:00
parent 5c23fcf3d1
commit 38030d862f
2 changed files with 29 additions and 31 deletions

View File

@ -523,13 +523,14 @@ class BattleDataService extends BaseService {
$ranked = getReqVal('ranked', 0);
$kills = getReqVal('kills', 0);
$aliveTime = getReqVal('alive_time', 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;
}
}
//print_r($this->reward);die;
$todayPveGetFragmentNum = myself()->_getDailyV(TN_DAILY_PVE_GET_FRAGMENT_NUM, 0);
$todayPvpGetFragmentNum = myself()->_getDailyV(TN_DAILY_PVP_GET_FRAGMENT_NUM, 0);
@ -620,9 +621,9 @@ class BattleDataService extends BaseService {
'match_mode' => getReqVal('match_mode', 0),
'room_uuid' => getReqVal('room_uuid', 0),
];
$cond = (1 - ($ranked > 30 ? 1 : 0)) *
$cond = (1 - ($ranked > 30 ? 1 : 0) *
($kills < 1 ? 1 : 0) *
($aliveTime < 30 ? 1 : 0);
($aliveTime < 30 ? 1 : 0));
if (!$cond) {
return;
}

View File

@ -38,10 +38,7 @@ class FormulaService extends BaseService {
(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));
}
@ -93,10 +90,7 @@ class FormulaService extends BaseService {
(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));
}
@ -123,18 +117,20 @@ 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;
}
$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;
$heroProbability = min($heroFragmentNum / $onlineNum *
5 *
(
0.5 * $rankedTopX * $meta['ranked_topx'] +
0.25 * $killsTopX * $meta['kills_topx'] +
0.15 * $heroTopX * $meta['hero_topx'] +
0.05 * $weaponTopX * $meta['weapon_topx'] +
0.05 * $survivalTopX * $meta['survival_topx']
0.5 * $meta_rankedTopX +
0.25 * $meta_killsTopX +
0.15 * $meta_heroTopX +
0.05 * $meta_weaponTopX +
0.05 * $meta_survivalTopX
) *
pow(2, ($todayPvpBattleTimes % 10) - 1), 1);
return max(0, $heroProbability);
@ -150,18 +146,19 @@ 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;
}
$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;
$weaponProbability = min($weaponFragmentNum / $onlineNum *
5 *
(
0.5 * $rankedTopX * $meta['ranked_topx'] +
0.25 * $killsTopX * $meta['kills_topx'] +
0.15 * $heroTopX * $meta['hero_topx'] +
0.05 * $weaponTopX * $meta['weapon_topx'] +
0.05 * $survivalTopX * $meta['survival_topx']
0.5 * $meta_rankedTopX +
0.25 * $meta_killsTopX +
0.15 * $meta_heroTopX +
0.05 * $meta_weaponTopX +
0.05 * $meta_survivalTopX
) *
pow(2, ($todayPvpBattleTimes % 10) - 1), 1);
return max(0, $weaponProbability);