From b3b1e0603fdd1340cdaf0eb12350fe1f9cb23443 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期四, 09 二月 2023 17:55:14 +0800 Subject: [PATCH] 9762 【BT8】【后端】藏宝阁(9767 【BT8】新增古宝特效效果) 冲突 yn_1.0.1 --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py | 69 ++++++++++++++++++++++------------ 1 files changed, 45 insertions(+), 24 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py index 138086c..510ee42 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ChEquip.py @@ -876,19 +876,20 @@ allEquipBaseAttrDict = {} # 所有装备基础属性 {attrID:value, ...} baseEquipBaseAttrDict = {} # 基础装备基础属性{attrID:value, ...} equipBaseAttrDict = {} # 装备基础属性 {装备位:{attrID:value, ...}, ...} - + + equipColorDict = {} # 装备品质信息 {装备位:itemColor, ...} allAttrListEquip = [{} for _ in range(4)] # 装备属性 equip_addEquipBaseAttrPerList = [{}, {}, {}] # 装备功能点对装备基础的加成信息 [所有部位, 基础部位, 指定部位] - baseAttrDictStar = {} + baseAttrDictStar, totalStarLV = {}, 0 allAttrListStar = [{} for _ in range(4)] # 升星属性 star_addEquipBaseAttrPerList = [{}, {}, {}] # 升星功能点对装备基础的加成信息 [所有部位, 基础部位, 指定部位] - baseAttrDictPlus = {} + baseAttrDictPlus, totalPlusLV = {}, 0 allAttrListPlus = [{} for _ in range(4)] # 强化属性 plus_addEquipBaseAttrPerList = [{}, {}, {}] # 强化功能点对装备基础的加成信息 [所有部位, 基础部位, 指定部位] - baseAttrDictStone = {} + baseAttrDictStone, totalStoneLV = {}, 0 allAttrListStone = [{} for _ in range(4)] # 宝石属性 #stone_addEquipBaseAttrPerList = [{}, {}, {}] # 宝石功能点对装备基础的加成信息 [所有部位, 基础部位, 指定部位] - baseAttrDictWash = {} + baseAttrDictWash, totalWashLV = {}, 0 allAttrListWash = [{} for _ in range(4)] # 洗练属性 #wash_addEquipBaseAttrPerList = [{}, {}, {}] # 洗练功能点对装备基础的加成信息 [所有部位, 基础部位, 指定部位] @@ -920,6 +921,9 @@ #equipPlaceList.append(equipIndex) equipScoreTotal += ItemCommon.GetEquipGearScore(curEquip) + itemColor = curEquip.GetItemColor() + equipColorDict[equipPlace] = itemColor + baseAttrDict = {} # 装备位基础属性: 物品表 + 星级基础 isBaseEquip = equipPlace in ChConfig.EquipPlace_Base @@ -947,6 +951,7 @@ #星数属性 equipPartStar = GetEquipPartStarByRank(curPlayer, equipIndex, curEquip) # 生效的星数 if equipPartStar: + totalStarLV += equipPartStar #GameWorld.DebugLog(" 星级属性: classLV=%s, equipPlace=%s, equipPartStar=%s" % (classLV, equipPlace, equipPartStar)) ipyData = IpyGameDataPY.GetIpyGameData('EquipStarUp', classLV, equipPlace, equipPartStar) starBaseAttrDict = {} if not ipyData else ipyData.GetBaseAttrInfo() # 星级基础 @@ -984,15 +989,18 @@ #物品强化属性 plusLV = __CalcAttr_ItemPlus(curPlayer, curEquip, packType, equipIndex, baseAttrDictPlus, allAttrListPlus, plus_addEquipBaseAttrPerList) + totalPlusLV += plusLV if isBaseEquip: basePlusLVMin = plusLV if basePlusLVMin == None else min(basePlusLVMin, plusLV) #计算装备宝石加成 - CalcEquipStone_Effect(curPlayer, equipIndex, baseAttrDictStone, allAttrListStone) + gemLVList = CalcEquipStone_Effect(curPlayer, equipIndex, baseAttrDictStone, allAttrListStone) + totalStoneLV += (sum(gemLVList) if gemLVList else 0) #洗练属性 - Operate_EquipWash.CalcAttr_EquipWash(curPlayer, equipIndex, equipPlace, baseAttrDictWash, allAttrListWash) - + washLV = Operate_EquipWash.CalcAttr_EquipWash(curPlayer, equipIndex, equipPlace, baseAttrDictWash, allAttrListWash) + totalWashLV += washLV + # GameWorld.DebugLog(" 装备循环属性: %s" % (allAttrListEquip)) # GameWorld.DebugLog(" 升星循环属性: %s" % (allAttrListStar)) # GameWorld.DebugLog(" 强化循环属性: %s" % (allAttrListPlus)) @@ -1029,9 +1037,13 @@ if playerID not in PyGameData.g_playerEquipPartAttrDict: PyGameData.g_playerEquipPartAttrDict[playerID] = {} equipPartAttrDict = PyGameData.g_playerEquipPartAttrDict[playerID] - equipPartAttrDict[classLV] = [equipFightPowerEx, allAttrListEquip, insideAttrDictEquip, baseAttrDictStar, allAttrListStar, insideAttrDictStar, - baseAttrDictPlus, allAttrListPlus, insideAttrDictPlus, baseAttrDictStone, allAttrListStone, insideAttrDictStone, - baseAttrDictWash, allAttrListWash, insideAttrDictWash] + equipPartAttrDict[classLV] = [equipFightPowerEx, + allAttrListEquip, insideAttrDictEquip, equipColorDict, + baseAttrDictStar, allAttrListStar, insideAttrDictStar, totalStarLV, + baseAttrDictPlus, allAttrListPlus, insideAttrDictPlus, totalPlusLV, + baseAttrDictStone, allAttrListStone, insideAttrDictStone, totalStoneLV, + baseAttrDictWash, allAttrListWash, insideAttrDictWash, totalWashLV, + ] # GameWorld.DebugLog(" ----- 累加所有阶装备位养成属性") # GameWorld.DebugLog(" 本阶装备战力: equipScoreTotal=%s,equipFightPowerEx=%s" % (equipScoreTotal, equipFightPowerEx)) @@ -1042,15 +1054,18 @@ # GameWorld.DebugLog(" 本阶洗练属性: %s, 内部加成=%s" % (allAttrListWash, insideAttrDictWash)) allClassEquipFightPowerEx = 0 - allClassAttrListEquip, allClassInsideAttrDictEquip = [{} for _ in range(4)], {} - allClassAttrListStar, allClassInsideAttrDictStar, customAttrDictStar, classBaseAttrDictStar = [{} for _ in range(4)], {}, {}, {} - allClassAttrListPlus, allClassInsideAttrDictPlus, customAttrDictPlus, classBaseAttrDictPlus = [{} for _ in range(4)], {}, {}, {} - allClassAttrListStone, allClassInsideAttrDictStone, customAttrDictStone, classBaseAttrDictStone = [{} for _ in range(4)], {}, {}, {} - allClassAttrListWash, allClassInsideAttrDictWash, customAttrDictWash, classBaseAttrDictWash = [{} for _ in range(4)], {}, {}, {} + allClassAttrListEquip, allClassInsideAttrDictEquip, classEquipColorDict = [{} for _ in range(4)], {}, {} + allClassAttrListStar, allClassInsideAttrDictStar, classBaseAttrDictStar, classStarLVDict = [{} for _ in range(4)], {}, {}, {} + allClassAttrListPlus, allClassInsideAttrDictPlus, classBaseAttrDictPlus, classPlusLVDict = [{} for _ in range(4)], {}, {}, {} + allClassAttrListStone, allClassInsideAttrDictStone, classBaseAttrDictStone, classStoneLVDict = [{} for _ in range(4)], {}, {}, {} + allClassAttrListWash, allClassInsideAttrDictWash, classBaseAttrDictWash, classWashLVDict = [{} for _ in range(4)], {}, {}, {} for classLV, attrList in equipPartAttrDict.items(): - equipFightPowerEx, allAttrListEquip, insideAttrDictEquip, baseAttrDictStar, allAttrListStar, insideAttrDictStar, \ - baseAttrDictPlus, allAttrListPlus, insideAttrDictPlus, baseAttrDictStone, allAttrListStone, insideAttrDictStone, \ - baseAttrDictWash, allAttrListWash, insideAttrDictWash = attrList + equipFightPowerEx, \ + allAttrListEquip, insideAttrDictEquip, equipColorDict, \ + baseAttrDictStar, allAttrListStar, insideAttrDictStar, totalStarLV, \ + baseAttrDictPlus, allAttrListPlus, insideAttrDictPlus, totalPlusLV, \ + baseAttrDictStone, allAttrListStone, insideAttrDictStone, totalStoneLV, \ + baseAttrDictWash, allAttrListWash, insideAttrDictWash, totalWashLV = attrList #GameWorld.DebugLog(" classLV=%s, %s" % (classLV, attrList)) allClassEquipFightPowerEx += equipFightPowerEx for i in xrange(4): @@ -1065,15 +1080,21 @@ PlayerControl.AddAttrDictValue(allClassInsideAttrDictStone, insideAttrDictStone) PlayerControl.AddAttrDictValue(allClassInsideAttrDictWash, insideAttrDictWash) + classEquipColorDict[classLV] = equipColorDict classBaseAttrDictStar[classLV] = baseAttrDictStar classBaseAttrDictPlus[classLV] = baseAttrDictPlus classBaseAttrDictStone[classLV] = baseAttrDictStone classBaseAttrDictWash[classLV] = baseAttrDictWash + classStarLVDict[classLV] = totalStarLV + classPlusLVDict[classLV] = totalPlusLV + classStoneLVDict[classLV] = totalStoneLV + classWashLVDict[classLV] = totalWashLV - customAttrDictStar["classBaseAttrDictStar"] = classBaseAttrDictStar - customAttrDictPlus["classBaseAttrDictPlus"] = classBaseAttrDictPlus - customAttrDictStone["classBaseAttrDictStone"] = classBaseAttrDictStone - customAttrDictWash["classBaseAttrDictWash"] = classBaseAttrDictWash + customAttrDictEquip = {"classEquipColorDict":classEquipColorDict} + customAttrDictStar = {"classBaseAttrDictStar":classBaseAttrDictStar, "classStarLVDict":classStarLVDict} + customAttrDictPlus = {"classBaseAttrDictPlus":classBaseAttrDictPlus, "classPlusLVDict":classPlusLVDict} + customAttrDictStone = {"classBaseAttrDictStone":classBaseAttrDictStone, "classStoneLVDict":classStoneLVDict} + customAttrDictWash = {"classBaseAttrDictWash":classBaseAttrDictWash, "classWashLVDict":classWashLVDict} # GameWorld.DebugLog(" 所有阶装备战力: %s" % (allClassEquipFightPowerEx)) # GameWorld.DebugLog(" 所有阶装备属性: %s, 内部加成=%s" % (allClassAttrListEquip, allClassInsideAttrDictEquip)) @@ -1082,7 +1103,7 @@ # GameWorld.DebugLog(" 所有阶宝石属性: %s, 内部加成=%s" % (allClassAttrListStone, allClassInsideAttrDictStone)) # GameWorld.DebugLog(" 所有阶洗练属性: %s, 内部加成=%s" % (allClassAttrListWash, allClassInsideAttrDictWash)) curPlayer.SetDict(ChConfig.Def_PlayerKey_MFPEx % ShareDefine.Def_MFPType_Equip, allClassEquipFightPowerEx) - PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Equip, allClassAttrListEquip, allClassInsideAttrDictEquip) + PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Equip, allClassAttrListEquip, allClassInsideAttrDictEquip, customAttrDict=customAttrDictEquip) PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Star, allClassAttrListStar, allClassInsideAttrDictStar, customAttrDict=customAttrDictStar) PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Plus, allClassAttrListPlus, allClassInsideAttrDictPlus, customAttrDict=customAttrDictPlus) PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_Stone, allClassAttrListStone, allClassInsideAttrDictStone, customAttrDict=customAttrDictStone) -- Gitblit v1.8.0