From 27f73b2c304a0c8fafad28d35effa06c9e4967e8 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 20 Sep 2022 10:19:28 +0800 Subject: [PATCH] 1 --- webapp/controller/BattleController.class.php | 10 ++++--- webapp/models/Hero.php | 2 +- webapp/services/BattleDataService.php | 29 ++++++++++++++++---- webapp/services/FormulaService.php | 6 ++-- 4 files changed, 33 insertions(+), 14 deletions(-) diff --git a/webapp/controller/BattleController.class.php b/webapp/controller/BattleController.class.php index 4da151dc..800d650a 100644 --- a/webapp/controller/BattleController.class.php +++ b/webapp/controller/BattleController.class.php @@ -143,10 +143,12 @@ class BattleController extends BaseAuthedController { } { for ($i = 1; $i <= 2; ++$i) { - $gunDb = Gun::findByAccountId($member['account_id'], - $member['weapon_uniid' . $i]); - if ($gunDb) { - $info['weapon_dto' . $i] = Gun::toDto($gunDb); + if (isset($member['weapon_uniid' . $i])) { + $gunDb = Gun::findByAccountId($member['account_id'], + $member['weapon_uniid' . $i]); + if ($gunDb) { + $info['weapon_dto' . $i] = Gun::toDto($gunDb); + } } } } diff --git a/webapp/models/Hero.php b/webapp/models/Hero.php index c2a70119..f44eb300 100644 --- a/webapp/models/Hero.php +++ b/webapp/models/Hero.php @@ -391,7 +391,7 @@ class Hero extends BaseModel { return $finalyAddGold; } - public static function gainGoldPve($heroDto, $count) + public static function gainGoldPve($heroDto, $addGold) { $newGold = min($heroDto['pve_ceg_uplimit'], $heroDto['current_pve_get_ceg'] + $addGold); diff --git a/webapp/services/BattleDataService.php b/webapp/services/BattleDataService.php index cfaa9705..cc169029 100644 --- a/webapp/services/BattleDataService.php +++ b/webapp/services/BattleDataService.php @@ -492,15 +492,20 @@ class BattleDataService extends BaseService { $userInfo = myself()->_getOrmUserInfo(); $this->pveGeminiMeta = mt\PveGemini::get($instanceId); if ($this->pveGeminiMeta) { - if (!($userInfo['pve_instance_id'] == $instanceId || - $userInfo['pve_instance_id'] == $instanceId + 1)) { + if (!( + $instanceId == mt\PveGemini::FIRST_INSTANCE_ID || + $userInfo['pve_instance_id'] == $instanceId || + $userInfo['pve_instance_id'] == $instanceId + 1) + ) { $this->pveGeminiMeta = null; } } + error_log(json_encode($this->pveGeminiMeta)); $this->pveGeminiMetaMode = mt\PveGeminiMode::get($instanceMode); if ($this->pveGeminiModeMeta) { $this->instanceRank = mt\PveGeminiMode::calcStar($this->pveGeminiModeMeta, $pveRankScore); } + error_log(json_encode($this->pveGeminiMetaMode)); if (getReqVal('pve_kill_boss', 0) == 1) { if ($this->pveGeminiMeta) { myself()->_updateUserInfo(array( @@ -640,16 +645,28 @@ class BattleDataService extends BaseService { private function rewardCegPve() { $instanceLevel = $this->pveGeminiMeta['gemini_lv']; - $bossReward = getReqVal(pve_kill_boss) ? 1 : 0; + $bossReward = getReqVal('pve_kill_boss', 0) ? 1 : 0; - $heroPveCeg = FormulaService::calcHeroPveCeg($this->heroDto, $instanceLevel, $instanceRank, $bossReward); + $heroPveCeg = FormulaService::calcHeroPveCeg( + $this->heroDto, + $instanceLevel, + $this->instanceRank, + $bossReward); $weaponPveCeg1 = 0; $weaponPveCeg2 = 0; if ($this->weapon1Dto) { - $weaponPveCeg1 = FormulaService::calcWeaponPveCeg($this->weapon1Dto, $instanceLevel, $instanceRank, $bossReward); + $weaponPveCeg1 = FormulaService::calcWeaponPveCeg( + $this->weapon1Dto, + $instanceLevel, + $this->instanceRank, + $bossReward); } if ($this->weapon2Dto) { - $weaponPveCeg2 = FormulaService::calcWeaponPveCeg($this->weapon2Dto, $instanceLevel, $instanceRank, $bossReward); + $weaponPveCeg2 = FormulaService::calcWeaponPveCeg( + $this->weapon2Dto, + $instanceLevel, + $this->instanceRank, + $bossReward); } error_log(json_encode(array( 'heroPveCeg' => $heroPveCeg, diff --git a/webapp/services/FormulaService.php b/webapp/services/FormulaService.php index f93648ab..1f2660d4 100644 --- a/webapp/services/FormulaService.php +++ b/webapp/services/FormulaService.php @@ -53,7 +53,7 @@ class FormulaService extends BaseService { (0.8 - ($instanceRank - 1) * 0.25 + $bossReward * 0.2) * 1/10; - return round(ceg); + return round($ceg); } public static function calcWeaponPvpCeg($weaponDto, $params) @@ -153,7 +153,7 @@ class FormulaService extends BaseService { public static function calcHeroFragmentProbabilityPve($heroQuality, $onlineNum, $heroFragmentNum, - $todayPvpBattleTimes, + $todayPveBattleTimes, $instanceLevel, $instanceRank, $instanceRankRate, @@ -172,7 +172,7 @@ class FormulaService extends BaseService { public static function calcWeaponFragmentProbabilityPve($heroQuality, $onlineNum, $gunFragmentNum, - $todayPvpBattleTimes, + $todayPveBattleTimes, $instanceLevel, $instanceRank, $instanceRankRate,