Browse Source

武器替换

cyzhao 4 years ago
parent
commit
e0c4cdff30

+ 6 - 0
Gameserver/Amfphp/base/CmdCode.php

@@ -592,6 +592,12 @@ class CmdCode {
      * 武器突破
      * 武器突破
      */
      */
     const cmd_store__weapon_tupo = 6422;
     const cmd_store__weapon_tupo = 6422;
+    
+    /**
+     * 武器替换
+     */
+    const cmd_store_weaponReplace = 6423;
+    
 // </editor-fold>
 // </editor-fold>
     //
     //
     // <editor-fold defaultstate="collapsed" desc="活动操作码 - 65xx">
     // <editor-fold defaultstate="collapsed" desc="活动操作码 - 65xx">

+ 2 - 2
Gameserver/Amfphp/process/HeroProc.php

@@ -801,7 +801,7 @@ class HeroProc {
         $initLevel = $equipVo->level;
         $initLevel = $equipVo->level;
                
                
         $equipVo->curStarExp += $total+(int)$wuqiExp;     
         $equipVo->curStarExp += $total+(int)$wuqiExp;     
-        $curlevel = self::Upgrade($equipVo->exp, GameConfig::item_base_getItem($equipVo->typeId)->quality);      
+        $curlevel = StoreProc::Upgrade($equipVo->curStarExp, GameConfig::item_base_getItem($equipVo->typeId)->quality,Enum_UpgradeType::YanLing);      
         $curStar = $equipVo->starLv ; #当前星级
         $curStar = $equipVo->starLv ; #当前星级
         $equipVo->level = $curlevel; 
         $equipVo->level = $curlevel; 
         if ($curStar < 5) {
         if ($curStar < 5) {
@@ -826,7 +826,7 @@ class HeroProc {
                     'gold' => $user->baseInfo->gold,
                     'gold' => $user->baseInfo->gold,
         ));
         ));
     }
     }
-
+       
     /** 6327
     /** 6327
      * 言灵升级  2021.4(cyzhao)
      * 言灵升级  2021.4(cyzhao)
      */
      */

+ 36 - 8
Gameserver/Amfphp/process/StoreProc.php

@@ -62,7 +62,9 @@ class StoreProc {
             case CmdCode::cmd_store__weapon_upgrade:                            # 6421武器升级
             case CmdCode::cmd_store__weapon_upgrade:                            # 6421武器升级
                 return self::weaponUpgrade();
                 return self::weaponUpgrade();
             case CmdCode::cmd_store__weapon_tupo:                               # 6422武器突破
             case CmdCode::cmd_store__weapon_tupo:                               # 6422武器突破
-                return self::weaponTupo();    
+                return self::weaponTupo();
+            case CmdCode::cmd_store__weaponReplace:                             # 6423武器替换
+                return self::weaponReplace();                    
             default:
             default:
                 Err(ErrCode::cmd_err);
                 Err(ErrCode::cmd_err);
         }
         }
@@ -108,7 +110,7 @@ class StoreProc {
         $initLevel = $equipVo->level;
         $initLevel = $equipVo->level;
                
                
         $equipVo->exp += $total+(int)$wuqiExp;     
         $equipVo->exp += $total+(int)$wuqiExp;     
-        $curlevel = self::Upgrade($equipVo->exp, GameConfig::item_base_getItem($equipVo->typeId)->quality);      
+        $curlevel = self::Upgrade($equipVo->exp, GameConfig::item_base_getItem($equipVo->typeId)->quality, Enum_UpgradeType::Wuqi);      
         $curStar = $equipVo->starLevel ; #当前星级
         $curStar = $equipVo->starLevel ; #当前星级
         $equipVo->level = $curlevel; 
         $equipVo->level = $curlevel; 
         if ($curStar < 5) {
         if ($curStar < 5) {
@@ -140,9 +142,14 @@ class StoreProc {
      * @param type $type
      * @param type $type
      * @return type
      * @return type
      */
      */
-    static function Upgrade($xp,$qual) {
+    static function Upgrade($xp,$qual,$type) {
         $curLv = 0;
         $curLv = 0;
-        $heroLvDic = GameConfig::weapon_levelexp()->$qual;          
+        if(Enum_UpgradeType::Wuqi){
+            $heroLvDic = GameConfig::weapon_levelexp()->$qual;
+        } else {
+            $heroLvDic = GameConfig::yanlingLevel_type()->$qual;
+        }
+                            
         $f = (array) $heroLvDic;     
         $f = (array) $heroLvDic;     
         ksort($f);             
         ksort($f);             
         foreach ($f as $lv => $mo) {
         foreach ($f as $lv => $mo) {
@@ -151,10 +158,10 @@ class StoreProc {
                 break;
                 break;
             }
             }
                       
                       
-            if($lv>=glc()->Weapon_Upgrade_BasicMaxLevel){
-                $curLv = glc()->Weapon_Upgrade_BasicMaxLevel;
-                break;
-            }
+//            if($lv>=glc()->Weapon_Upgrade_BasicMaxLevel){
+//                $curLv = glc()->Weapon_Upgrade_BasicMaxLevel;
+//                break;
+//            }
         }
         }
                    
                    
         return $curLv;
         return $curLv;
@@ -204,6 +211,27 @@ class StoreProc {
         ));
         ));
     }
     }
 
 
+    static function weaponReplace() {
+        list($uid ,$replaceId) = req()->paras;                                  # 参数 言灵uid(指定进阶的言灵实例id)
+        $user = req()->userInfo->game;
+        $equipment = $user->store->equipment;
+        my_Assert(property_exists($equipment, $uid), "找不到这个言灵");
+        my_Assert(property_exists($equipment, $replaceId), "找不到这个言灵");
+        
+        
+        $herouid = $equipment->$uid->herouid;
+        $herouid_replace = $equipment->$replaceId->herouid;
+        $equipment->$replaceId->herouid = $herouid;
+        $equipment->$uid->herouid = $herouid_replace;
+        $user->store->equipment = $equipment;
+        req()->userInfo->game = $user;
+        
+        UserProc::updateUserInfo();                                             # 回写玩家数据 
+        return Resp::ok(array(
+                    "store" => $user->store, #                                  # 目前来看只涉及到items变化
+        ));
+    }
+
     /**
     /**
      * [6420] 言灵进阶 
      * [6420] 言灵进阶 
      */
      */