From e9e80208089cf3dbfd9957f5d5f306794dce4314 Mon Sep 17 00:00:00 2001 From: hujiabin <519660157@qq.com> Date: Sat, 12 Oct 2024 14:44:32 +0800 Subject: [PATCH] 1 --- webapp/controller/HeroController.class.php | 28 ++++++++++++++++++++-- webapp/services/RookieTaskService.php | 8 +++---- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/webapp/controller/HeroController.class.php b/webapp/controller/HeroController.class.php index b71e5d1b..26fa9b6e 100644 --- a/webapp/controller/HeroController.class.php +++ b/webapp/controller/HeroController.class.php @@ -164,10 +164,33 @@ class HeroController extends BaseAuthedController { $this->_rspErr(1, "Error operation"); return; } - if ($itemId != $heroMeta['heroPiece'] || $itemNum < $manufactureMeta['needItem']){ + if ($heroDb['quality'] > 1 && ($itemId != $heroMeta['heroPiece'] || $itemNum != $manufactureMeta['needItem'])){ $this->_rspErr(100, 'Insufficient material'); return; } + if ($heroDb['quality'] == 1){ + $alternative = explode(":",$manufactureMeta['alternative']); + switch ($itemId){ + case $heroMeta['heroPiece'] :{ + if ($itemNum != $manufactureMeta['needItem']){ + $this->_rspErr(100, 'Insufficient material'); + return; + } + } + break; + case $alternative[0] :{ + if ($itemNum != $alternative[1]){ + $this->_rspErr(100, 'Insufficient material'); + return; + } + } + break; + default:{ + $this->_rspErr(100, 'item error'); + return; + } + } + } $extraItem = explode("|",$manufactureMeta['extraItem']); $chanceKey = 0; if ($extraItemId == $extraItem[0]){ @@ -186,7 +209,7 @@ class HeroController extends BaseAuthedController { ), array( 'item_id' => $itemId, - 'item_num' => $manufactureMeta['needItem'] + 'item_num' => $itemNum ), ); $lackItem = null; @@ -200,6 +223,7 @@ class HeroController extends BaseAuthedController { $this->_rspErr(3, $this->_getLackItemErrMsg($lackItem)); return; } + //消耗材料 $this->_decItems($costItems); // $this->_incPeriodV(TN_HASH_RATE_UP_HERO_TIMES, 0, 1); diff --git a/webapp/services/RookieTaskService.php b/webapp/services/RookieTaskService.php index 44eff194..e6c50988 100644 --- a/webapp/services/RookieTaskService.php +++ b/webapp/services/RookieTaskService.php @@ -22,6 +22,10 @@ class RookieTaskService extends BaseService 'target' => getXVal($taskMeta, 'target', 1), 'state' => self::NOT_FINISHED_STATE, ); + if ($taskDto['current'] >= $taskDto['target']) { + $taskDto['current'] = $taskDto['target']; + $taskDto['state'] = self::FINISHED_STATE; + } $starTime = RookieTask::getMyStarTime(); if ($taskMeta['task_day'] > 0){ $time = ($taskMeta['task_day']-1) * 86400; @@ -29,10 +33,6 @@ class RookieTaskService extends BaseService $taskDto['state'] = self::UNARRIVED_TIME_STATE; } } - if ($taskDto['current'] >= $taskDto['target']) { - $taskDto['current'] = $taskDto['target']; - $taskDto['state'] = self::FINISHED_STATE; - } $taskDb = RookieTask::find($taskMeta['id']); if ($taskDb){ $taskDto['state'] = self::RECEIVED_STATE;