浏览代码

任务领取奖励添加消耗道具

cyzhao 4 年之前
父节点
当前提交
b933c334ba
共有 2 个文件被更改,包括 15 次插入2 次删除
  1. 5 0
      Gameserver/Amfphp/model/Const/sm_item_taskcard.php
  2. 10 2
      Gameserver/Amfphp/process/TaskProc.php

+ 5 - 0
Gameserver/Amfphp/model/Const/sm_item_taskcard.php

@@ -74,5 +74,10 @@ class sm_item_taskcard
     */
     public $newTaskCard;
 
+    /**
+     * 
+     * @var type
+     */
+    public $cost;
 }
 

+ 10 - 2
Gameserver/Amfphp/process/TaskProc.php

@@ -361,7 +361,15 @@ class TaskProc {
         $store = req()->userInfo->game->store;                                   # 快速访问store
         my_Assert(StlUtil::dictHasProperty($store->taskcards, $taskCardUID), ErrCode::taskCard_no); # 防御找不到实例
         $taskCard = new Ins_TaskCard($store->taskcards->$taskCardUID);          # 任务卡对象
-
+      
+        if($taskCard->mo()->cost != null){
+            $sList = explode(';',$taskCard->mo()->cost);            
+            foreach ($sList as $item) {
+                $str = explode(',', $item);              
+                StoreProc::removeItemFromStore($store, $str[0],$str[1]);
+            }
+        }
+        
         foreach ($taskCard->curSteps as &$tsp) {                                # 初期里面只有一个任务
             $tsp = new Ins_TaskStep($tsp);
             if ($tsp->mo()->cmd == Enum_TaskCmdType::GainItem) {                # 如果是道具收集类的, 扣除所收集道具
@@ -374,7 +382,7 @@ class TaskProc {
         }
         if ($taskCard->mo()->exp > 0) {                                         # 任务卡增加了指挥官经验
             Data_UserGame::Add_Exp(req()->userInfo->game->baseInfo, $taskCard->mo()->exp);
-        }
+        }                 
         $taskCard->state = Enum_TaskCardStateType::drawed;
         //2021-3-4
         $college = new Info_College(req()->userInfo->game->college);