Forráskód Böngészése

任务新加类型

cyzhao 8 hónapja
szülő
commit
1d46c35502

+ 2 - 1
Gameserver/App/model/User/Enum_ActiveTaskCmdType.php

@@ -26,7 +26,8 @@ class Enum_ActiveTaskCmdType extends Enum {
     const FightSweepGate = 211;       //扫荡
     const FightRankPrize_Num = 212;       //领取战力榜元宝奖励X次;参数1:无;参数2:次数(数值)
     const CloseSkill = 213;       //封印技能
-    
+    const ReceiveGateBoxReward = 214; // 玩家领取X次章节宝箱
+
 //    const FightNumRaceGate = 204;       //参与竞速副本1次
 //    const PassNumRaceGate = 205;       //通关竞速副本5次
     

+ 10 - 1
Gameserver/App/model/User/Ins_TaskStep_Active.php

@@ -96,7 +96,7 @@ class Ins_TaskStep_Active extends Object_ext {
                 || $this->mo()->cmd == Enum_ActiveTaskCmdType::PassMainChallengeGate_X_Num || $this->mo()->cmd == Enum_ActiveTaskCmdType::CompleteNumQiLing || $this->mo()->cmd == Enum_ActiveTaskCmdType::CompleteNumSpecialQiLing #
                 || $this->mo()->cmd == Enum_ActiveTaskCmdType::FightGate_X || $this->mo()->cmd == Enum_ActiveTaskCmdType::PassGate_X_state || $this->mo()->cmd == Enum_ActiveTaskCmdType::CloseSkill ||$this->mo()->cmd == Enum_ActiveTaskCmdType::FightRankPrize_Num  #
                 || $this->mo()->cmd == Enum_ActiveTaskCmdType::BuyGold || $this->mo()->cmd == Enum_ActiveTaskCmdType::OnReceiveTaskPrize || $this->mo()->cmd == Enum_ActiveTaskCmdType::FightSweepGate || $this->mo()->cmd == Enum_ActiveTaskCmdType::OpenNumBrightBox_state #
-                || $this->mo()->cmd == Enum_ActiveTaskCmdType::BuyNumDailyShop_state || $this->mo()->cmd == Enum_ActiveTaskCmdType::ComposeNumGem_state #               
+                || $this->mo()->cmd == Enum_ActiveTaskCmdType::BuyNumDailyShop_state || $this->mo()->cmd == Enum_ActiveTaskCmdType::ComposeNumGem_state || $this->mo()->cmd == Enum_ActiveTaskCmdType::ReceiveGateBoxReward #               
                 ;
     }
 
@@ -120,6 +120,15 @@ class Ins_TaskStep_Active extends Object_ext {
         }
 
         switch ($mo->cmd) {
+            case Enum_ActiveTaskCmdType::ReceiveGateBoxReward:
+                $dic = ctx()->gates->GateList;
+                $num = 0;
+                foreach ($dic as $gateId => $ins_gate) {
+                    $arr = $ins_gate->FirstReward;
+                    $num += count($arr);
+                }
+                
+                return $num;
             case Enum_ActiveTaskCmdType::ComposeNumGem_state:
                 return ctx()->store->gemComposeNum;
             case Enum_ActiveTaskCmdType::BuyNumDailyShop_state:

+ 8 - 0
Gameserver/App/process/TaskProc.php

@@ -758,6 +758,14 @@ class TaskProc {
         self::CheckActiveTaskConditions($taskEventArg);
     }
     
+    /**
+     * 玩家领取X次章节宝箱
+     */
+    static function OnReceiveGateBoxReward() {
+        $taskEventArg = new Ins_TaskEventArgs(Enum_ActiveTaskCmdType::ReceiveGateBoxReward, Enum_PropelType::add, 1, array());
+        self::CheckActiveTaskConditions($taskEventArg);
+    }
+    
 // </editor-fold>
 //
 // <editor-fold defaultstate="collapsed" desc="活动任务是否完成的检测-">