From cc9b2df8cd7810ab6be5c459dfc23a69a302ce78 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 19 十月 2023 15:09:39 +0800
Subject: [PATCH] 9939 【BT0.1】【主干】装备升星修改(装备分解支持按品质、阶级、是否套装给固定物品)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py
index d07852a..8be7c33 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py
@@ -152,8 +152,7 @@
     totalAddExp = 0
     allitemCnt = 0
     awardItemDict = {}
-    eatEquipAwardDict = IpyGameDataPY.GetFuncEvalCfg('EquipDecomposeAward', 4, {})
-    eatEquipAwardDictSuite = IpyGameDataPY.GetFuncEvalCfg('EquipDecomposeAward', 5, {})
+    eatEquipAwardItemID = IpyGameDataPY.GetFuncCfg("EquipDecomposeAward", 4)
     petEatItemAddExpPer = PlayerVip.GetPrivilegeValue(curPlayer, ChConfig.VIPPrivilege_EatItem)
     itemPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
     for i, index in enumerate(expIndexList):
@@ -172,20 +171,18 @@
         elif ItemCommon.CheckItemIsEquip(eatItem):
             itemColor = eatItem.GetItemColor()
             itemClass = eatItem.GetLV()
+            isSuite = 1 if eatItem.GetSuiteID() else 0
             ipyData = IpyGameDataPY.GetIpyGameData("PetEatEquip", itemColor, itemClass)
             if not ipyData:
                 GameWorld.DebugLog("    tagPetEatEquip.txt,未配置该物品! eatItemID=%s, EquipColor=%s,EquipClass=%s" % (eatItemID, itemColor, itemClass))
                 continue
             baseExp = ipyData.GetExp()
             
-            equipAwardDict = eatEquipAwardDictSuite if eatItem.GetSuiteID() else eatEquipAwardDict
-            if str(itemColor) in equipAwardDict:
-                awardItemList = equipAwardDict[str(itemColor)]
-                for awardID, awardCount in awardItemList:
-                    awardItemDict[awardID] = awardItemDict.get(awardID, 0) + awardCount
-                GameWorld.DebugLog("分解装备额外奖励: eatEquip=%s,itemColor=%s,suiteID=%s,awardItemList=%s total:%s" 
-                                   % (eatItem.GetItemTypeID(), itemColor, eatItem.GetSuiteID(), awardItemList, awardItemDict))
-                
+            if itemColor >= ChConfig.Def_Quality_Orange:
+                awardCount = eval(IpyGameDataPY.GetFuncCompileCfg("EquipDecomposeAward", 5))
+                awardItemDict[eatEquipAwardItemID] = awardItemDict.get(eatEquipAwardItemID, 0) + awardCount
+                GameWorld.DebugLog("分解橙装以上额外奖励: eatEquip=%s,itemClass=%s,itemColor=%s,isSuite=%s,awardCount=%s total:%s" 
+                                   % (eatItem.GetItemTypeID(), itemClass, itemColor, isSuite, awardCount, awardItemDict))
         else:
             GameWorld.ErrLog('    不可分解的道具index=%s eatItemID=%s'%(index, eatItemID))
             continue

--
Gitblit v1.8.0