| | |
| | | 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 = [{}, {}, {}] # 洗练功能点对装备基础的加成信息 [所有部位, 基础部位, 指定部位]
|
| | |
|
| | |
| | | #equipPlaceList.append(equipIndex)
|
| | | equipScoreTotal += ItemCommon.GetEquipGearScore(curEquip)
|
| | |
|
| | | itemColor = curEquip.GetItemColor()
|
| | | equipColorDict[equipPlace] = itemColor
|
| | | |
| | | baseAttrDict = {} # 装备位基础属性: 物品表 + 星级基础
|
| | | isBaseEquip = equipPlace in ChConfig.EquipPlace_Base
|
| | |
|
| | |
| | | #星数属性
|
| | | 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() # 星级基础
|
| | |
| | |
|
| | | #物品强化属性
|
| | | 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))
|
| | |
| | | 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))
|
| | |
| | | # 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):
|
| | |
| | | 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))
|
| | |
| | | # 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)
|