Browse Source

技能封印/解封/提升封印上限.

wanggangzero 9 tháng trước cách đây
mục cha
commit
188fb04ec8
1 tập tin đã thay đổi với 23 bổ sung3 xóa
  1. 23 3
      Gameserver/App/process/FightProc.php

+ 23 - 3
Gameserver/App/process/FightProc.php

@@ -73,8 +73,19 @@ class FightProc {
      */
     static function BuySkillLockCount() {
         list($n) = req()->paras;                                                # 解锁数量
-        my_Assert($n > ctx()->privateData()->skillLockerNumber, ErrCode::paras_err);
-
+        my_Assert($n > ctx()->privateData()->skillLockerNumber, ErrCode::paras_err); # 参数异常
+        $amt = 0;
+        foreach (explode(",", glc()->Skill_LockBtn_BuyCount_Cost) as $str) {
+            list($cnt, $cost) = explode(':', $str);
+            if ($cnt == $n) {
+                $amt = $cost;
+                break;
+            }
+        }
+        my_Assert($amt > 0, "消耗元宝数量配置出错!");
+        my_Assert(ctx()->base()->Consume_Cash($amt), ErrCode::notenough_cash_msg);
+        ctx()->privateData()->skillLockerNumber = $cnt;
+        UserProc::updateUserInfo();
         return Resp::ok();
     }
 
@@ -82,7 +93,16 @@ class FightProc {
      * 6822 封印/解封技能
      */
     static function LockSkill() {
-
+        list($skillTypeId) = req()->paras;                                      # 技能类型ID
+        $pri = ctx()->privateData();
+        my_Assert(in_array($skillTypeId, $pri->skillUnlockRecord), "技能尚未解锁!");
+        if (in_array($skillTypeId, $pri->skillReLocked)) {                      # 解封
+            StlUtil::arrayRemove($pri->skillReLocked, $skillTypeId);
+        } else {                                                                # 封印
+            my_Assert(count($pri->skillReLocked) < $pri->skillLockerNumber, "超出封印上限!");
+            $pri->skillReLocked[] = $skillTypeId;
+        }
+        return Resp::ok();
     }
 
     /**