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