From 62986bb30351731bddecd141607cf4dc8c58d54c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 19 一月 2026 11:41:36 +0800
Subject: [PATCH] 423 【内政】命格系统-服务端(命格卦玉战斗属性增加感悟等级对应基础值配置;品质表改为加成随机值范围;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py | 8 ++++++--
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 8 +++++---
PySysDB/PySysDBPY.h | 5 +++--
3 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/PySysDB/PySysDBPY.h b/PySysDB/PySysDBPY.h
index 1c1a803..3e54a89 100644
--- a/PySysDB/PySysDBPY.h
+++ b/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:[范围下限, 上限], ...}
};
//卦玉类型表
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index a73cf8e..dbbfe4f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/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():
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
index dd620a5..31fcbc8 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
+++ b/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)
--
Gitblit v1.8.0