diff --git a/webapp/services/BattleDataService.php b/webapp/services/BattleDataService.php index 60716048..b815087d 100644 --- a/webapp/services/BattleDataService.php +++ b/webapp/services/BattleDataService.php @@ -461,11 +461,25 @@ class BattleDataService extends BaseService { $instanceId = getReqVal('pve_instance_id', 0); $instanceMode = getReqVal('pve_instance_mode', 0); $pveRankScore = getReqVal('pve_rank_score', 0); + $userInfo = myself()->_getOrmUserInfo(); $this->pveGeminiMeta = mt\PveGemini::get($instanceId); + if ($this->pveGeminiMeta) { + if (!($userInfo['pve_instance_id'] == $instanceId || + $userInfo['pve_instance_id'] == $instanceId + 1)) { + $this->pveGeminiMeta = null; + } + } $this->pveGeminiMetaMode = mt\PveGeminiMode::get($instanceMode); if ($this->pveGeminiModeMeta) { $this->instanceRank = mt\PveGeminiMode::calcStar($this->pveGeminiModeMeta, $pveRankScore); } + if (getReqVal('pve_kill_boss', 0) == 1) { + if ($this->pveGeminiMeta) { + myself()->_updateUserInfo(array( + 'pve_instance_id' => $instanceId + )); + } + } } private function rewardFragmentPvp()