Selaa lähdekoodia

装备任务修改

cyzhao 6 kuukautta sitten
vanhempi
commit
f26e4bce51

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

@@ -43,6 +43,7 @@ class Enum_ActiveTaskCmdType extends Enum {
     const AnyEquipUpLevel_X = 601;       //任意1件装备等级达到2     
     const AllEquipUpLevel_X = 602;       //全身装备等级达到3级以上 
     const EquipLevelUpNum = 603;       //装备等级升级1次    
+    const EquipComposeNum = 604;       //合成装备1次   
     
     const KillCommonNumMonster = 701;       //击败怪物总数达到1000 
     const KillleaderNumMonster  = 702;       //击败首领50个 

+ 12 - 15
Gameserver/App/model/User/Ins_TaskStep_Active.php

@@ -198,27 +198,24 @@ class Ins_TaskStep_Active extends Object_ext {
             case Enum_ActiveTaskCmdType::DailyLogin:                            # 每日登录                 
                 return 1;
             case Enum_ActiveTaskCmdType::SetSpecialQualGem:                     # 镶嵌3个普通品质以上宝石 
-                $gemEquip = ctx()->store->gemEquip;
+                $gemEquip = ctx()->store->equip;
                 $num = 0;
-                foreach ($gemEquip as $pag => $dic) {
-                    foreach ($dic as $posId => $equip) {
-                        if ($equip != null) {
-                            foreach ($equip as $index => $gem) {
-                                $ins_gem = new Ins_Gem($gem);
-                                if ($ins_gem->mo()->qual >= $para0) {
-                                    $num += 1;
-                                }
-                            }
+                foreach ($gemEquip as $key => $value) {
+                    $ins_equip = new Ins_Equip($value);
+                    $gemSetSlot = $ins_equip->gemSetSlot;
+                    foreach ($gemSetSlot as $index => $gemUid) {
+                        if($gemUid > 0){
+                            $num += 1;
                         }
                     }
                 }
-
+                                               
                 return $num;
             case Enum_ActiveTaskCmdType::AnyEquipUpLevel_X:                     # 任意1件装备等级达到2     
                 $num = 0;
-                $equip = ctx()->store->equipPosition;
+                $equip = ctx()->store->equip;
                 foreach ($equip as $index => $item) {
-                    $ins_equip = new Ins_EquipPosition($item);
+                    $ins_equip = new Ins_Equip($item);
                     if ($ins_equip->level >= $para0) {
                         $num += 1;
                     }
@@ -227,9 +224,9 @@ class Ins_TaskStep_Active extends Object_ext {
                 return $num;
             case Enum_ActiveTaskCmdType::AllEquipUpLevel_X:                     # 全身装备等级达到3级以上 
                 $num = 0;
-                $equip = ctx()->store->equipPosition;
+                $equip = ctx()->store->equip;
                 foreach ($equip as $index => $item) {
-                    $ins_equip = new Ins_EquipPosition($item);
+                    $ins_equip = new Ins_Equip($item);
                     if ($ins_equip->level >= $para0) {
                         $num += 1;
                     }

+ 4 - 0
Gameserver/App/process/StoreProc.php

@@ -241,6 +241,7 @@ class StoreProc {
             ctx()->store(true)->removeItem($materialItemType, $materialItemNum);
         }
 
+        TaskProc::OnEquipComposeNum();
         UserProc::updateUserInfo();
         return Resp::ok(array(
                     'gold' => ctx()->baseInfo->gold,
@@ -350,6 +351,9 @@ class StoreProc {
                 }
             }
         }
+        
+        TaskProc::OnEquipComposeNum();
+        
         UserProc::updateUserInfo();                                             # 回存玩家数据
         return Resp::ok(array(#                                                 # 返回给客户端的数据
                     'gold' => ctx()->baseInfo->gold,

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

@@ -604,6 +604,14 @@ class TaskProc {
         $taskEventArg = new Ins_TaskEventArgs(Enum_ActiveTaskCmdType::EquipLevelUpNum, Enum_PropelType::add, 1, array());
         self::CheckActiveTaskConditions($taskEventArg);
     }
+    
+    /**
+     * 装备合成
+     */
+    static function OnEquipComposeNum() {
+        $taskEventArg = new Ins_TaskEventArgs(Enum_ActiveTaskCmdType::EquipComposeNum, Enum_PropelType::add, 1, array());
+        self::CheckActiveTaskConditions($taskEventArg);
+    }
 
     /**
      * 击败怪物总数达到1000