From 4d7637e575d403197068bb86119ccb1ce67723a0 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 19 Sep 2022 19:11:33 +0800 Subject: [PATCH] 1 --- webapp/services/BattleDataService.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/webapp/services/BattleDataService.php b/webapp/services/BattleDataService.php index 8e359ea0..2a521e31 100644 --- a/webapp/services/BattleDataService.php +++ b/webapp/services/BattleDataService.php @@ -497,6 +497,8 @@ class BattleDataService extends BaseService { } $onlineNum = RealtimeData::getOnline(); + $heroFragmentNum = FragmentPool::getHeroNum(); + $gunFragmentNum = FragmentPool::getGunNum(); $rankedTopX= getXVal($params, 'ranked_topx'); $meta = mt\FormulaPvp::getByRanked($rankedTopX); @@ -504,7 +506,7 @@ class BattleDataService extends BaseService { return; } - $heroProbability = min($heroFragment[$now].total / $onlineNum * + $heroProbability = min($heroFragmentNum / $onlineNum * 5 * ( 0.5*$meta['ranked_topx'] + @@ -513,7 +515,7 @@ class BattleDataService extends BaseService { 0.05*$meta['weapon_topx'] ) * pow(2, ($todayPvpBattleTimes % 10) - 1), 1); - $gunProbability = min($gunFragment[$now].total / $onlineNum * + $gunProbability = min($gunFragmentNum / $onlineNum * 5 * ( 0.5*$meta['ranked_topx'] + @@ -568,6 +570,9 @@ class BattleDataService extends BaseService { } $onlineNum = RealtimeData::getOnline(); + $heroFragmentNum = FragmentPool::getHeroNum(); + $gunFragmentNum = FragmentPool::getGunNum(); + $instanceLevel = $this->pveGeminiMeta['gemini_lv']; $instanceRank = $this->instanceRank; $instanceRankRate = $this->getInstanceRankRate(); @@ -577,8 +582,12 @@ class BattleDataService extends BaseService { $dropRate = max(1.15 - ($heroQuality - $instanceLevel) * 0.25, 0); $dropMul = 0.8 - ($instanceRank - 1) * 0.25 + $bossReward * 0.2; - $heroProbability = min($heroFragment[$now].total / $onlineNum * $dropRate * ($instanceRankRate + $bossReward*0.2) * pow(2, $todayPveBattleTimes - $todayPveGetFragmentNum -1), 1); - $gunProbability = min($gunFragment[$now].total / $onlineNum * $dropRate * ($instanceRankRate + $bossReward*0.2) * pow(2, $todayPveBattleTimes - $todayPveGetFragmentNum -1), 1); + $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);