1
This commit is contained in:
parent
7a94f56644
commit
7635c820e7
@ -541,18 +541,30 @@ class BattleDataService extends BaseService {
|
||||
$bossReward = getReqVal('pve_kill_boss', 0) ? 1 : 0;
|
||||
$heroQuality = $this->heroDto['quality'];
|
||||
|
||||
$dropRate = max(1.15 - ($heroQuality - $instanceLevel) * 0.25, 0);
|
||||
$dropMul = 0.8 - ($instanceRank - 1) * 0.25 + $bossReward * 0.2;
|
||||
|
||||
$heroProbability = min($heroFragmentNum / $onlineNum *
|
||||
$dropRate * ($instanceRankRate + $bossReward*0.2) *
|
||||
pow(2, $todayPveBattleTimes - $todayPveGetFragmentNum -1), 1);
|
||||
$gunProbability = min($gunFragmentNum / $onlineNum *
|
||||
$dropRate * ($instanceRankRate + $bossReward*0.2) *
|
||||
pow(2, $todayPveBattleTimes - $todayPveGetFragmentNum -1), 1);
|
||||
|
||||
$heroProbability = max($heroProbability, 0);
|
||||
$gunProbability = max($gunProbability, 0);
|
||||
$heroProbability = FormulaService::calcHeroFragmentProbabilityPve
|
||||
(
|
||||
$heroQuality,
|
||||
$onlineNum,
|
||||
$heroFragmentNum,
|
||||
$todayPveBattleTimes,
|
||||
$instanceLevel,
|
||||
$instanceRank,
|
||||
$instanceRankRate,
|
||||
$bossReward,
|
||||
$todayPveGetFragmentNum
|
||||
);
|
||||
$gunProbability = FormulaService::calcWeaponFragmentProbabilityPve
|
||||
(
|
||||
$heroQuality,
|
||||
$onlineNum,
|
||||
$gunFragmentNum,
|
||||
$todayPveBattleTimes,
|
||||
$instanceLevel,
|
||||
$instanceRank,
|
||||
$instanceRankRate,
|
||||
$bossReward,
|
||||
$todayPveGetFragmentNum
|
||||
);
|
||||
$emptyProbability = max(1 - $heroProbability - $gunProbability, 0);
|
||||
|
||||
$dropIdx = $this->randWeight(array($heroProbability, $gunProbability, $emptyProbability));
|
||||
|
@ -150,6 +150,44 @@ class FormulaService extends BaseService {
|
||||
return max(0, $weaponProbability);
|
||||
}
|
||||
|
||||
public static function calcHeroFragmentProbabilityPve($heroQuality,
|
||||
$onlineNum,
|
||||
$heroFragmentNum,
|
||||
$todayPvpBattleTimes,
|
||||
$instanceLevel,
|
||||
$instanceRank,
|
||||
$instanceRankRate,
|
||||
$bossReward,
|
||||
$todayPveGetFragmentNum)
|
||||
{
|
||||
$dropRate = max(1.15 - ($heroQuality - $instanceLevel) * 0.25, 0);
|
||||
$dropMul = 0.8 - ($instanceRank - 1) * 0.25 + $bossReward * 0.2;
|
||||
|
||||
$heroProbability = min($heroFragmentNum / $onlineNum *
|
||||
$dropRate * ($instanceRankRate + $bossReward*0.2) *
|
||||
pow(2, $todayPveBattleTimes - $todayPveGetFragmentNum - 1), 1);
|
||||
return max(0, $heroProbability);
|
||||
}
|
||||
|
||||
public static function calcWeaponFragmentProbabilityPve($heroQuality,
|
||||
$onlineNum,
|
||||
$gunFragmentNum,
|
||||
$todayPvpBattleTimes,
|
||||
$instanceLevel,
|
||||
$instanceRank,
|
||||
$instanceRankRate,
|
||||
$bossReward,
|
||||
$todayPveGetFragmentNum)
|
||||
{
|
||||
$dropRate = max(1.15 - ($heroQuality - $instanceLevel) * 0.25, 0);
|
||||
$dropMul = 0.8 - ($instanceRank - 1) * 0.25 + $bossReward * 0.2;
|
||||
|
||||
$gunProbability = min($gunFragmentNum / $onlineNum *
|
||||
$dropRate * ($instanceRankRate + $bossReward*0.2) *
|
||||
pow(2, $todayPveBattleTimes - $todayPveGetFragmentNum - 1), 1);
|
||||
return max(0, $gunProbability);
|
||||
}
|
||||
|
||||
public static function getHeroPvpTiliTotalValue($heroDb)
|
||||
{
|
||||
//ROUND((0.0241*角色NFT阶数^3-0.5675*角色NFT阶数^2+7.1798*角色NFT阶数+2.4114)+(0.0161*角色幸运值^3-1.2943*角色幸运值^2+36.5664*角色幸运值-336.144),0)+系统参数
|
||||
|
Loading…
x
Reference in New Issue
Block a user