From 4d2db1c1442d2974714d9045ed056c764c9fe40a Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sat, 17 Sep 2022 15:41:30 +0800 Subject: [PATCH] 1 --- webapp/services/BattleDataService.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/webapp/services/BattleDataService.php b/webapp/services/BattleDataService.php index 08ab7284..7ff5c022 100644 --- a/webapp/services/BattleDataService.php +++ b/webapp/services/BattleDataService.php @@ -470,6 +470,18 @@ class BattleDataService extends BaseService { } $onlineNum = $this->getOnlineNumber(); + + $heroProbability = min($heroFragment[$now].total / $onlineNum * 5 * ($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 = max($heroProbability, 0); + $gunProbability = max($gunProbability, 0); + $emptyProbability = max(1 - $heroProbability - $gunProbability, 0); + + $dropIdx = $this->randWeight(array($heroProbability, $gunProbability, $emptyProbability)); + if ($dropIdx < 0 || $dropIdx == 2) { + return; + } } private function rewardFragmentPve()