8341 【恺英】【后端】强化进化系统优化(增加每阶不同强化等级上限验证)
3个文件已修改
40 ■■■■■ 已修改文件
PySysDB/PySysDBPY.h 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBPY.h
@@ -135,6 +135,15 @@
    list        MasterPlusAttrValueList;    //激活属性值列表
};
//装备强化等级上限
struct tagItemPlusMax
{
    BYTE        _Type;    //强化类型
    BYTE        _ClassLV;    //阶
    WORD        PlusLVMax;    //最大强化等级
};
//装备全身星数属性
struct tagRoleEquipStars
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventSrc/Operate_EquipPlus.py
@@ -85,6 +85,14 @@
        return
    
    curPartPlusLV = ChEquip.GetEquipPartPlusLV(curPlayer, packType, index)
    classLV = ItemCommon.GetItemClassLV(curEquip)
    plusMaxIpyData = IpyGameDataPY.GetIpyGameData("ItemPlusMax", findType, classLV)
    if not plusMaxIpyData:
        return
    plusLVMax = plusMaxIpyData.GetPlusLVMax()
    if curPartPlusLV >= plusLVMax:
        #GameWorld.DebugLog("强化达到本阶最大等级,无法强化! classLV=%s,plusLVMax=%s,curPartPlusLV=%s" % (classLV, plusLVMax, curPartPlusLV))
        return
    plusIpyData = IpyGameDataPY.GetIpyGameData("ItemPlus", findType, curPartPlusLV)
    if not plusIpyData:
        return
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -137,6 +137,12 @@
                        ("list", "MasterPlusAttrValueList", 0),
                        ),
                "ItemPlusMax":(
                        ("BYTE", "Type", 1),
                        ("BYTE", "ClassLV", 1),
                        ("WORD", "PlusLVMax", 0),
                        ),
                "RoleEquipStars":(
                        ("BYTE", "StarsNeed", 1),
                        ("list", "AttrType", 0),
@@ -1772,6 +1778,19 @@
    def GetMasterPlusLV(self): return self.MasterPlusLV # 大师强化等级
    def GetMasterPlusAttrIDList(self): return self.MasterPlusAttrIDList # 激活属性类型列表
    def GetMasterPlusAttrValueList(self): return self.MasterPlusAttrValueList # 激活属性值列表
# 装备强化等级上限
class IPY_ItemPlusMax():
    def __init__(self):
        self.Type = 0
        self.ClassLV = 0
        self.PlusLVMax = 0
        return
    def GetType(self): return self.Type # 强化类型
    def GetClassLV(self): return self.ClassLV # 阶
    def GetPlusLVMax(self): return self.PlusLVMax # 最大强化等级
# 装备全身星数属性
class IPY_RoleEquipStars():
@@ -4789,6 +4808,8 @@
        self.ipyItemPlusLen = len(self.ipyItemPlusCache)
        self.ipyItemPlusMasterCache = self.__LoadFileData("ItemPlusMaster", IPY_ItemPlusMaster)
        self.ipyItemPlusMasterLen = len(self.ipyItemPlusMasterCache)
        self.ipyItemPlusMaxCache = self.__LoadFileData("ItemPlusMax", IPY_ItemPlusMax)
        self.ipyItemPlusMaxLen = len(self.ipyItemPlusMaxCache)
        self.ipyRoleEquipStarsCache = self.__LoadFileData("RoleEquipStars", IPY_RoleEquipStars)
        self.ipyRoleEquipStarsLen = len(self.ipyRoleEquipStarsCache)
        self.ipyEquipLegendAttrCountCache = self.__LoadFileData("EquipLegendAttrCount", IPY_EquipLegendAttrCount)
@@ -5263,6 +5284,8 @@
    def GetItemPlusByIndex(self, index): return self.ipyItemPlusCache[index]
    def GetItemPlusMasterCount(self): return self.ipyItemPlusMasterLen
    def GetItemPlusMasterByIndex(self, index): return self.ipyItemPlusMasterCache[index]
    def GetItemPlusMaxCount(self): return self.ipyItemPlusMaxLen
    def GetItemPlusMaxByIndex(self, index): return self.ipyItemPlusMaxCache[index]
    def GetRoleEquipStarsCount(self): return self.ipyRoleEquipStarsLen
    def GetRoleEquipStarsByIndex(self, index): return self.ipyRoleEquipStarsCache[index]
    def GetEquipLegendAttrCountCount(self): return self.ipyEquipLegendAttrCountLen