Procházet zdrojové kódy

装备接口补充提交

cyzhao před 1 rokem
rodič
revize
a4ca6396e6

+ 5 - 0
Gameserver/App/base/CmdCode.php

@@ -166,6 +166,11 @@ class CmdCode {
      * 切换装备分页
      */
     const store_switchEquipPag = 6408;
+    
+    /**
+     * 宝石开锁解锁
+     */
+    const store_gemLockState = 6409;
           
     /**
      * 移除装备可以升级的提示

+ 66 - 46
Gameserver/App/process/StoreProc.php

@@ -36,6 +36,8 @@ class StoreProc {
                 return StoreProc::gemCompose(); 
             case CmdCode::store_switchEquipPag:                                 # 6408 切换装备分页
                 return StoreProc::switchEquipPag();
+            case CmdCode::store_gemLockState:                                   # 6409 宝石开锁解锁
+                return StoreProc::gemLockState();
             case CmdCode::store_equip_removeEquipUpgradeTip:                    # 6410 移除装备可以升级绿点提示
                 return StoreProc::removeEquipUpgradeTip();       
             case CmdCode::store_equip_removeNewGemTip:                          # 6411 移除是新宝石绿点提示
@@ -47,6 +49,24 @@ class StoreProc {
         }
     }  
     
+    /**
+     * 宝石开锁解锁
+     * @return Resp
+     */
+    public static function gemLockState() {
+        list($index) = req()->paras;
+        $user = ctx();
+        
+        //把 qual pos u一样的宝石开锁关锁
+        
+        
+        $user->store->equipPag = $index;
+       
+        ctx($user);
+        UserProc::updateUserInfo();
+        return Resp::ok(array());
+    }
+    
     /**
      * 切换装备分页
      * @return Resp
@@ -78,32 +98,40 @@ class StoreProc {
     }
     
     /**
-     * 
-     * @return type
+     * 移除是新宝石绿点提示
+     * @return Resp
      */
     public static function removeNewGemTip() {
-        list($uid) = req()->paras;
+        list($uid) = req()->paras;//宝石uid
         $user = ctx();
 
-        //my_Assert(StlUtil::dictHasProperty($user->store->equip, $uid), ErrCode::user_store_NoEquip);
-        UserProc::updateUserInfo();
+        my_Assert(StlUtil::dictHasProperty($user->store->gemStore, $uid), ErrCode::user_store_NoItem);
+        
+        $user->store->gemStore->isNew = 0;
+        
+        ctx($user);
+        UserProc::updateUserInfo();                      
         return Resp::ok(array(
-                    'heros' => $user->heros,
+                    'gold' => 0,
                     'store' => $user->store,));
     }
     
     /**
-     * 
-     * @return type
+     * 移除装备可以升级绿点提示
+     * @return Resp
      */
     public static function removeEquipUpgradeTip() {
-        list($uid) = req()->paras;
+        list($posId) = req()->paras;//装备部位
         $user = ctx();
-
-        //my_Assert(StlUtil::dictHasProperty($user->store->equip, $uid), ErrCode::user_store_NoEquip);
+                      
+        my_Assert(StlUtil::dictHasProperty($user->store->equip, $posId), ErrCode::user_store_NoEquip);
+        
+        $user->store->equip->$posId->tip = 0;
+        
+        ctx($user);
         UserProc::updateUserInfo();
         return Resp::ok(array(
-                    'heros' => $user->heros,
+                    'gold' => 0,
                     'store' => $user->store,));
     }
     
@@ -200,7 +228,8 @@ class StoreProc {
 
         ctx($user);
         UserProc::updateUserInfo();
-        return Resp::ok(array(                 
+        return Resp::ok(array(    
+                    'gold'=>0,
                     'store' => $user->store,));
     }
 
@@ -237,7 +266,8 @@ class StoreProc {
         }
         ctx($user);
         UserProc::updateUserInfo();
-        return Resp::ok(array(                   
+        return Resp::ok(array(     
+                    'gold'=>0,
                     'store' => $user->store,));
     }
 
@@ -262,6 +292,7 @@ class StoreProc {
         $user->store->removeItem($costTuzhiId, $mo->needItemNum);
         ctx()->baseInfo->Consume_Gold($mo->needGold);
                           
+        $user->store->equip->$posId->level += 1;
         ctx($user);
         UserProc::updateUserInfo();
         return Resp::ok(array(
@@ -277,41 +308,31 @@ class StoreProc {
         list($posId) = req()->paras; //mask = 1:表示战斗中掉落
         $user = ctx();
 
-        $equip = $user->store->equip->$uid;
+        $equip = $user->store->equip->$posId;
 
         $lv = $equip->level;
-        $maxLv = GameConfig::equip_getItem($equip->typeId)->maxLv;
-
+        $levelupgrade = GameConfig::equip_levelupgrade();
+        $maxLv = count((array)$levelupgrade);
+               
         $need_gold = 0;
-        $need_item = 0;
-
-        $itemNum = 0;
-        $position = GameConfig::equip_getItem($equip->typeId)->position;
-        $tuzhiId = 0;
-        $strArr = explode(';', GameConfig::globalsettings()->equipLeveUpTuzhi);
-        foreach ($strArr as $str) {
-            $list = explode(',', $str);
-            if ($list[0] == $position) {
-                $tuzhiId = $list[1];
-                break;
-            }
-        }
-
-
-        $needItem2 = 0;
+        $need_item = 0;              
+        $tuzhiId = GameConfig::equip_getItem($posId)->costTuzhiId;
+        
+        $itemNum_store = 0;
         if (StlUtil::dictHasProperty($user->store->items, $tuzhiId)) {
-            $itemNum = $user->store->items->$tuzhiId;
+            $itemNum_store = $user->store->items->$tuzhiId;
         }
 
-        $nGold = 0;
-        $ll = 0;
-        for ($i = $lv + 1; $i <= $maxLv; $i++) {
-            $nGold += GameConfig::equip_levelupgrade_getItem($i)->needGold;
-            $needItem2 += GameConfig::equip_levelupgrade_getItem($i)->needItemNum;
-            if ($user->baseInfo->gold >= $nGold && $itemNum >= $needItem2) {
-                $need_gold = $nGold;
-                $need_item = $needItem2;
-                $ll = $i;
+        $up_Gold = 0;
+        $up_needItem = 0;
+        $up_lv = 0;
+        for ($i = $lv; $i <= $maxLv; $i++) {
+            $up_Gold += GameConfig::equip_levelupgrade_getItem($i)->needGold;
+            $up_needItem += GameConfig::equip_levelupgrade_getItem($i)->needItemNum;
+            if ($user->baseInfo->gold >= $up_Gold && $itemNum_store >= $up_needItem) {
+                $need_gold = $up_Gold;
+                $need_item = $up_needItem;
+                $up_lv = $i;
                 continue;
             }
 
@@ -320,13 +341,12 @@ class StoreProc {
 
         $user->baseInfo->gold -= $need_gold;
         $user->store->removeItem($tuzhiId, $need_item);
-        $user->store->equip->$uid->level += $ll;
+        $user->store->equip->$posId->level = $up_lv;
 
         ctx($user);
         UserProc::updateUserInfo();
         return Resp::ok(array(
-                    'gold' => $user->baseInfo->gold,
-                    //'tili' => $user->baseInfo->tili,
+                    'gold' => $user->baseInfo->gold,              
                     'store' => $user->store,
         ));
     }