From c4c3a1ccc06f88f5fb3509f4e712081693df7402 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 26 二月 2025 14:25:04 +0800
Subject: [PATCH] 10408 【BT】【GM】【英语】【越南】【砍树】红装分解(支持根据品质额外再给奖励)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 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 8be7c33..ecb66db 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerEquipDecompose.py
@@ -22,6 +22,7 @@
 import NetPackCommon
 import PlayerControl
 import ChConfig
+import FormulaControl
 import DataRecordPack
 import PlayerSuccess
 import GameFuncComm
@@ -152,6 +153,7 @@
     totalAddExp = 0
     allitemCnt = 0
     awardItemDict = {}
+    eatEquipAwardExDict = IpyGameDataPY.GetFuncEvalCfg("EquipDecomposeAward2", 1, {})
     eatEquipAwardItemID = IpyGameDataPY.GetFuncCfg("EquipDecomposeAward", 4)
     petEatItemAddExpPer = PlayerVip.GetPrivilegeValue(curPlayer, ChConfig.VIPPrivilege_EatItem)
     itemPack = curPlayer.GetItemManager().GetPack(IPY_GameWorld.rptItem)
@@ -183,6 +185,19 @@
                 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))
+                
+            # 高品质额外奖励
+            for exAwardColor, exAwardInfo in eatEquipAwardExDict.items():
+                if itemColor < int(exAwardColor):
+                    continue
+                exItemID, exItemCountFormat = exAwardInfo
+                exAwardCount = eval(FormulaControl.GetCompileFormula("EquipDecomposeAwardEx%s" % exAwardColor, exItemCountFormat))
+                if not exItemID or exAwardCount <= 0:
+                    continue
+                awardItemDict[exItemID] = awardItemDict.get(exItemID, 0) + exAwardCount
+                GameWorld.DebugLog("分解高级品质额外奖励: eatEquip=%s,itemClass=%s,itemColor=%s,isSuite=%s,exAwardColor=%s,exItemID=%s,exAwardCount=%s total:%s" 
+                                   % (eatItem.GetItemTypeID(), itemClass, itemColor, isSuite, exAwardColor, exItemID, exAwardCount, awardItemDict))
+                
         else:
             GameWorld.ErrLog('    不可分解的道具index=%s eatItemID=%s'%(index, eatItemID))
             continue

--
Gitblit v1.8.0