Browse Source

fixed: 检测拥有x个n品质言灵任务.

gwang 3 years ago
parent
commit
11fd30d84e

+ 8 - 3
Gameserver/Amfphp/model/User/Ins_TaskStep.php

@@ -137,7 +137,8 @@ class Ins_TaskStep extends Object_ext {
     function isStatusType() {
         return $this->mo()->cmd == Enum_TaskCmdType::GainItem                   # 获取道具
                 || $this->mo()->cmd == Enum_TaskCmdType::HeroLevelUpTo          # 提升玩家等级到x
-                || $this->mo()->cmd == Enum_TaskCmdType::CommanderLevelUpTo;
+                || $this->mo()->cmd == Enum_TaskCmdType::CommanderLevelUpTo     # 指挥官等级
+                || $this->mo()->cmd == Enum_TaskCmdType::UserOwnXYanlingWithQualityN; # 拥有言灵
     }
 
     /**
@@ -201,11 +202,15 @@ class Ins_TaskStep extends Object_ext {
                 $store = new Info_Store(req()->userInfo->game->store);
                 $num = 0;
                 foreach ($store->yanling as $uid => $yanlingvo) {
-                    isEditor() and $yanlingvo = new \sm_item_base();
-                    if ($yanlingvo->quality >= $para0) {
+                    $yanlingvo = new Ins_YanLin($yanlingvo);
+//                    var_dump($yanlingvo);
+                    $itemMo = GameConfig::item_base_getItem($yanlingvo->typeId);
+                    my_Assert(null != $itemMo, ErrCode::err_const_no);
+                    if ($itemMo->quality >= $para0) {
                         $num++;
                     }
                 }
+                CLog::info("当前拥有$num 个对应品质的言灵.");
                 return $num;
         }
         return 0;

+ 1 - 1
Gameserver/Amfphp/process/FightProc/SweepGatesProc.php

@@ -145,7 +145,7 @@ class SweepGatesProc {
             case 4:                                                             # 大厅/主城/召唤之类的
                 break;
             case 5:                                                             # 材料副本
-//                TaskProc::OnPassGateN($gateId, $difficulty + 1);
+                TaskProc::OnPassGateN($gateId, $difficulty + 1);
                 $level = substr($gateId, strlen($gateId) - 2);
                 TaskProc::OnPassMaterialCarbonN($gateId, $level);               # 材料副本
                 break;

+ 5 - 4
Gameserver/Amfphp/process/TaskProc.php

@@ -885,19 +885,20 @@ class TaskProc {
         foreach ($tasks as $tid => &$task) {
             $task = new Ins_TaskCard($task);
 
-            if ($task->state == Enum_TaskCardStateType::ing //                   # 进行中的或者已完成的
+            if ($task->state == Enum_TaskCardStateType::ing //                  # 进行中的或者已完成的
                     || $task->state == Enum_TaskCardStateType::finish) {
-                foreach ($task->curSteps as &$tsp) {                                # 初期里面只有一个任务
+                foreach ($task->curSteps as &$tsp) {                            # 初期里面只有一个任务
                     $tsp = new Ins_TaskStep($tsp);
                     $tsp->autoCalcStatusCur();
                 }
-                if ($task->state == Enum_TaskCardStateType::finish) {               # 检查是否任务卡的所有步骤都已完成
+                if ($task->state == Enum_TaskCardStateType::finish) {           # 检查是否任务卡的所有步骤都已完成
                     if (!$task->IsFinish()) {
-                        $task->state = Enum_TaskCardStateType::ing;                 # 状态回退
+                        $task->state = Enum_TaskCardStateType::ing;             # 状态回退
                     }
                 }
             }
         }
+        Clog::info("更新状态统计类的任务卡!");
         req()->userInfo->game->store->taskcards = $tasks;
     }
 

+ 3 - 3
Gameserver/Amfphp/util/volcengine/VolcUtil.php

@@ -20,9 +20,9 @@ class VolcUtil {
             $os_name, $os_version, $device_model, #
             $ab_version, $traffic_type) {
         $client_ip = HttpUtil::clientIP();                                      # 客户端ip
-        $headers = compact($app_name, $app_package, $app_channel, $app_version, #
-                $os_name, $os_version, $device_model, #
-                $ab_version, $traffic_type, $client_ip
+        $headers = compact('app_name', 'app_package', 'app_channel', 'app_version', #
+                'os_name', 'os_version', 'device_model', #
+                'ab_version', 'traffic_type', 'client_ip'
         );
         $zoneid = req()->zoneid;
         $uid = req()->uid;