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