Browse Source

武器加经验规则修改

cyzhao 4 years ago
parent
commit
a6621cfb76
1 changed files with 11 additions and 10 deletions
  1. 11 10
      Gameserver/Amfphp/process/StoreProc.php

+ 11 - 10
Gameserver/Amfphp/process/StoreProc.php

@@ -87,33 +87,34 @@ class StoreProc {
             my_Assert($mo != null, ErrCode::err_const_no);
             
             StoreProc::removeItemFromStore($user->store, $costItemId, $costNumber);                      
-            $total += $mo->baseExp*$costNumber;
-            
+            $total += $mo->baseExp*$costNumber;          
             $totalGold += $mo->costGold*$costNumber;
         }
+        
+        $wuqiExp = 0;
         //消耗武器        
         foreach ($wuqiList as $wuqiId) {
             my_Assert(CommUtil::isPropertyExists($equipment, $wuqiId), ErrCode::store_weapon_err); # 玩家拥有此英雄 
-            StlUtil::dictRemove($user->store->equipment, $wuqiId);         
-            $total += GameConfig::item_weapon_getItem($equipment->$wuqiId->typeId)->baseExp;
-            
+            StlUtil::dictRemove($user->store->equipment, $wuqiId);              
+            $baseExp = GameConfig::item_weapon_getItem($equipment->$wuqiId->typeId)->baseExp;
+            $needExp = GameConfig::weapon_levelexp_getItem(GameConfig::item_base_getItem($equipment->$wuqiId->typeId)->quality,$equipment->$wuqiId->level)->needExp;
+            $wuqiExp += ($baseExp+$needExp)*0.75;
         }
         
         $equipVo = new Ins_Weapon($equipment->$uid);
-        $equipVo->exp += $total;
+        $equipVo->exp += $total+(int)$wuqiExp;
         $curlevel = self::Upgrade($equipVo->exp, GameConfig::item_base_getItem($equipVo->typeId)->quality);
         $curStar = $equipVo->starLevel ; #当前星级
         $equipVo->level = $curlevel; 
         if ($curStar < 5) {
             $starlimitLv = GameConfig::weaponextra_level_getItem($equipVo->typeId, $curStar + 1)->starlimitLv;
             if ($starlimitLv < $curlevel) {
-                $equipVo->level = $starlimitLv;
-                $equipVo->xp = GameConfig::hero_levelexp_getItem($starlimitLv)->needExp;
+                $equipVo->level = $starlimitLv;                
+                $equipVo->xp = GameConfig::weapon_levelexp_getItem(GameConfig::item_base_getItem($equipVo->typeId)->quality,$starlimitLv)->needExp;
             }
         }
                        
-        $user->store->equipment->$uid = $equipVo;
-         
+        $user->store->equipment->$uid = $equipVo;        
         $user->baseInfo->gold -= $totalGold;
         req()->userInfo->game->store->items = $myPacketItems;                    # 更新背包数据