423 【内政】命格系统-服务端(命格卦玉战斗属性增加感悟等级对应基础值配置;品质表改为加成随机值范围;)
3个文件已修改
21 ■■■■■ 已修改文件
PySysDB/PySysDBPY.h 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
PySysDB/PySysDBPY.h
@@ -713,6 +713,7 @@
    DWORD        DefBase;    //防御基础值
    DWORD        HPBase;    //生命基础值
    DWORD        AtkSpeedBase;    //先攻基础值
    dict        BatAttrBaseDict;    //其他战斗属性基础值字典,{属性ID:基础值, ...}
};
//卦玉品质表
@@ -725,8 +726,8 @@
    float        HPPlus;    //生命加成
    float        AtkSpeedPlus;    //先攻加成
    BYTE        AttrLibCnt;    //库属性条数
    list        AttrRange;    //通用属性范围,下限|上限
    dict        AttrRangeDict;    //指定属性范围字典,{指定属性ID:[范围下限, 上限], ...}
    list        AttrRange;    //其他属性通用加成范围,下限|上限
    dict        AttrRangeDict;    //其他指定属性加成范围字典,{指定属性ID:[范围下限, 上限], ...}
};
//卦玉类型表
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -618,6 +618,7 @@
                        ("DWORD", "DefBase", 0),
                        ("DWORD", "HPBase", 0),
                        ("DWORD", "AtkSpeedBase", 0),
                        ("dict", "BatAttrBaseDict", 0),
                        ),
                "MGGuayuQuality":(
@@ -3143,7 +3144,8 @@
    def GetAtkBase(self): return self.attrTuple[2] # 攻击基础值 DWORD
    def GetDefBase(self): return self.attrTuple[3] # 防御基础值 DWORD
    def GetHPBase(self): return self.attrTuple[4] # 生命基础值 DWORD
    def GetAtkSpeedBase(self): return self.attrTuple[5] # 先攻基础值 DWORD
    def GetAtkSpeedBase(self): return self.attrTuple[5] # 先攻基础值 DWORD
    def GetBatAttrBaseDict(self): return self.attrTuple[6] # 其他战斗属性基础值字典,{属性ID:基础值, ...} dict
# 卦玉品质表
class IPY_MGGuayuQuality():
@@ -3158,8 +3160,8 @@
    def GetHPPlus(self): return self.attrTuple[3] # 生命加成 float
    def GetAtkSpeedPlus(self): return self.attrTuple[4] # 先攻加成 float
    def GetAttrLibCnt(self): return self.attrTuple[5] # 库属性条数 BYTE
    def GetAttrRange(self): return self.attrTuple[6] # 通用属性范围,下限|上限 list
    def GetAttrRangeDict(self): return self.attrTuple[7] # 指定属性范围字典,{指定属性ID:[范围下限, 上限], ...} dict
    def GetAttrRange(self): return self.attrTuple[6] # 其他属性通用加成范围,下限|上限 list
    def GetAttrRangeDict(self): return self.attrTuple[7] # 其他指定属性加成范围字典,{指定属性ID:[范围下限, 上限], ...} dict
# 卦玉类型表
class IPY_MGGuayuType():
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
@@ -585,6 +585,8 @@
                    ChConfig.AttrID_MaxHP:[gwIpyData.GetHPBase(), colorIpyData.GetHPPlus()],
                    ChConfig.AttrID_AtkSpeed:[gwIpyData.GetAtkSpeedBase(), colorIpyData.GetAtkSpeedPlus()],
                    }
    batAttrBaseDict = gwIpyData.GetBatAttrBaseDict() # 其他战斗属性基础值字典,{属性ID:基础值, ...}
    # 四维占比
    attrProportion = typeIpyData.GetBaseAttrProportion()
    
@@ -630,12 +632,14 @@
                
            # 其他战斗属性
            else:
                baseValue = batAttrBaseDict.get(attrID, 0)
                attrRange = attrRangeDict.get(attrID, attrRangeDefault)
                if not attrRange or len(attrRange) != 2:
                    continue
                attrMin, attrMax = attrRange
                attrValue = random.randint(attrMin, attrMax)
                GameWorld.DebugLog("        attrID=%s,attrValue=%s(%s~%s)" % (attrID, attrValue, attrMin, attrMax), playerID)
                plusValue = random.randint(attrMin, attrMax)
                attrValue = baseValue + plusValue
                GameWorld.DebugLog("        attrID=%s,attrValue=%s,baseValue=%s,plusValue=%s,(%s~%s)" % (attrID, attrValue, baseValue, plusValue, attrMin, attrMax), playerID)
                
            legendAttrIDList.append(attrID)
            legendAttrValueList.append(attrValue)