From 09c67573ee3759802de4d40ea70813d2ce71be0c Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 13 一月 2026 10:27:16 +0800
Subject: [PATCH] 423 【内政】命格系统-服务端(初版不含属性;)
---
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 208 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 164 insertions(+), 44 deletions(-)
diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 707ea02..b901fcf 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -283,6 +283,7 @@
("float", "AtkRatio", 0),
("float", "MaxHPRatio", 0),
("float", "DefRatio", 0),
+ ("float", "AtkSpeedRatio", 0),
("float", "StunRateRatio", 0),
("float", "SuperHitRateRatio", 0),
("float", "ComboRateRatio", 0),
@@ -601,6 +602,39 @@
("list", "BaseAttrValue", 0),
("list", "LegendAttrID", 0),
("list", "LegendAttrValue", 0),
+ ),
+
+ "MGGanwuLV":(
+ ("BYTE", "GanwuLV", 1),
+ ("DWORD", "NextNeedExp", 0),
+ ("DWORD", "AtkBase", 0),
+ ("DWORD", "DefBase", 0),
+ ("DWORD", "HPBase", 0),
+ ("DWORD", "AtkSpeedBase", 0),
+ ),
+
+ "MGGuayuQuality":(
+ ("BYTE", "ItemColor", 1),
+ ("float", "AtkPlus", 0),
+ ("float", "DefPlus", 0),
+ ("float", "HPPlus", 0),
+ ("float", "AtkSpeedPlus", 0),
+ ("BYTE", "AttrLibCnt", 0),
+ ("list", "AttrRange", 0),
+ ("dict", "AttrRangeDict", 0),
+ ),
+
+ "MGGuayuType":(
+ ("BYTE", "ItemType", 1),
+ ("BYTE", "EquipPlace", 0),
+ ("float", "BaseAttrProportion", 0),
+ ("DWORD", "FixedAttrID", 0),
+ ("list", "AttrIDLib", 0),
+ ),
+
+ "MGLingyingQuality":(
+ ("DWORD", "Lingying", 1),
+ ("list", "ItemColorWeightList", 0),
),
"EquipLegendAttrCount":(
@@ -2623,50 +2657,51 @@
def GetAtkRatio(self): return self.attrTuple[1] # 攻击系数 float
def GetMaxHPRatio(self): return self.attrTuple[2] # float
def GetDefRatio(self): return self.attrTuple[3] # float
- def GetStunRateRatio(self): return self.attrTuple[4] # float
- def GetSuperHitRateRatio(self): return self.attrTuple[5] # float
- def GetComboRateRatio(self): return self.attrTuple[6] # float
- def GetMissRateRatio(self): return self.attrTuple[7] # float
- def GetParryRateRatio(self): return self.attrTuple[8] # float
- def GetSuckHPPerRatio(self): return self.attrTuple[9] # float
- def GetStunRateDefRatio(self): return self.attrTuple[10] # float
- def GetSuperHitRateDefRatio(self): return self.attrTuple[11] # float
- def GetComboRateDefRatio(self): return self.attrTuple[12] # float
- def GetMissRateDefRatio(self): return self.attrTuple[13] # float
- def GetParryRateDefRatio(self): return self.attrTuple[14] # float
- def GetSuckHPPerDefRatio(self): return self.attrTuple[15] # float
- def GetFinalDamPerRatio(self): return self.attrTuple[16] # float
- def GetFinalDamPerDefRatio(self): return self.attrTuple[17] # float
- def GetPhyDamPerRatio(self): return self.attrTuple[18] # float
- def GetPhyDamPerDefRatio(self): return self.attrTuple[19] # float
- def GetMagDamPerRatio(self): return self.attrTuple[20] # float
- def GetMagDamPerDefRatio(self): return self.attrTuple[21] # float
- def GetNormalSkillPerRatio(self): return self.attrTuple[22] # float
- def GetNormalSkillPerDefRatio(self): return self.attrTuple[23] # float
- def GetAngerSkillPerRatio(self): return self.attrTuple[24] # float
- def GetAngerSkillPerDefRatio(self): return self.attrTuple[25] # float
- def GetSuperDamPerRatio(self): return self.attrTuple[26] # float
- def GetSuperDamPerDefRatio(self): return self.attrTuple[27] # float
- def GetCurePerRatio(self): return self.attrTuple[28] # float
- def GetCurePerDefRatio(self): return self.attrTuple[29] # float
- def GetShieldPerRatio(self): return self.attrTuple[30] # float
- def GetShieldPerDefRatio(self): return self.attrTuple[31] # float
- def GetDOTPerRatio(self): return self.attrTuple[32] # float
- def GetDOTPerDefRatio(self): return self.attrTuple[33] # float
- def GetWeiFinalDamPerRatio(self): return self.attrTuple[34] # float
- def GetWeiFinalDamPerDefRatio(self): return self.attrTuple[35] # float
- def GetShuFinalDamPerRatio(self): return self.attrTuple[36] # float
- def GetShuFinalDamPerDefRatio(self): return self.attrTuple[37] # float
- def GetWuFinalDamPerRatio(self): return self.attrTuple[38] # float
- def GetWuFinalDamPerDefRatio(self): return self.attrTuple[39] # float
- def GetQunFinalDamPerRatio(self): return self.attrTuple[40] # float
- def GetQunFinalDamPerDefRatio(self): return self.attrTuple[41] # float
- def GetPVPDamPerRatio(self): return self.attrTuple[42] # float
- def GetPVPDamPerDefRatio(self): return self.attrTuple[43] # float
- def GetGuanchuanRatio(self): return self.attrTuple[44] # float
- def GetGuanchuanDefRatio(self): return self.attrTuple[45] # float
- def GetZhaojiaRatio(self): return self.attrTuple[46] # float
- def GetZhaojiaDefRatio(self): return self.attrTuple[47] # float
+ def GetAtkSpeedRatio(self): return self.attrTuple[4] # float
+ def GetStunRateRatio(self): return self.attrTuple[5] # float
+ def GetSuperHitRateRatio(self): return self.attrTuple[6] # float
+ def GetComboRateRatio(self): return self.attrTuple[7] # float
+ def GetMissRateRatio(self): return self.attrTuple[8] # float
+ def GetParryRateRatio(self): return self.attrTuple[9] # float
+ def GetSuckHPPerRatio(self): return self.attrTuple[10] # float
+ def GetStunRateDefRatio(self): return self.attrTuple[11] # float
+ def GetSuperHitRateDefRatio(self): return self.attrTuple[12] # float
+ def GetComboRateDefRatio(self): return self.attrTuple[13] # float
+ def GetMissRateDefRatio(self): return self.attrTuple[14] # float
+ def GetParryRateDefRatio(self): return self.attrTuple[15] # float
+ def GetSuckHPPerDefRatio(self): return self.attrTuple[16] # float
+ def GetFinalDamPerRatio(self): return self.attrTuple[17] # float
+ def GetFinalDamPerDefRatio(self): return self.attrTuple[18] # float
+ def GetPhyDamPerRatio(self): return self.attrTuple[19] # float
+ def GetPhyDamPerDefRatio(self): return self.attrTuple[20] # float
+ def GetMagDamPerRatio(self): return self.attrTuple[21] # float
+ def GetMagDamPerDefRatio(self): return self.attrTuple[22] # float
+ def GetNormalSkillPerRatio(self): return self.attrTuple[23] # float
+ def GetNormalSkillPerDefRatio(self): return self.attrTuple[24] # float
+ def GetAngerSkillPerRatio(self): return self.attrTuple[25] # float
+ def GetAngerSkillPerDefRatio(self): return self.attrTuple[26] # float
+ def GetSuperDamPerRatio(self): return self.attrTuple[27] # float
+ def GetSuperDamPerDefRatio(self): return self.attrTuple[28] # float
+ def GetCurePerRatio(self): return self.attrTuple[29] # float
+ def GetCurePerDefRatio(self): return self.attrTuple[30] # float
+ def GetShieldPerRatio(self): return self.attrTuple[31] # float
+ def GetShieldPerDefRatio(self): return self.attrTuple[32] # float
+ def GetDOTPerRatio(self): return self.attrTuple[33] # float
+ def GetDOTPerDefRatio(self): return self.attrTuple[34] # float
+ def GetWeiFinalDamPerRatio(self): return self.attrTuple[35] # float
+ def GetWeiFinalDamPerDefRatio(self): return self.attrTuple[36] # float
+ def GetShuFinalDamPerRatio(self): return self.attrTuple[37] # float
+ def GetShuFinalDamPerDefRatio(self): return self.attrTuple[38] # float
+ def GetWuFinalDamPerRatio(self): return self.attrTuple[39] # float
+ def GetWuFinalDamPerDefRatio(self): return self.attrTuple[40] # float
+ def GetQunFinalDamPerRatio(self): return self.attrTuple[41] # float
+ def GetQunFinalDamPerDefRatio(self): return self.attrTuple[42] # float
+ def GetPVPDamPerRatio(self): return self.attrTuple[43] # float
+ def GetPVPDamPerDefRatio(self): return self.attrTuple[44] # float
+ def GetGuanchuanRatio(self): return self.attrTuple[45] # float
+ def GetGuanchuanDefRatio(self): return self.attrTuple[46] # float
+ def GetZhaojiaRatio(self): return self.attrTuple[47] # float
+ def GetZhaojiaDefRatio(self): return self.attrTuple[48] # float
# 主线章节表
class IPY_MainChapter():
@@ -3076,6 +3111,59 @@
def GetBaseAttrValue(self): return self.attrTuple[4] # 基础属性值 list
def GetLegendAttrID(self): return self.attrTuple[5] # 传奇属性ID list
def GetLegendAttrValue(self): return self.attrTuple[6] # 传奇属性值 list
+
+# 感悟等级表
+class IPY_MGGanwuLV():
+
+ def __init__(self):
+ self.attrTuple = None
+ return
+
+ def GetGanwuLV(self): return self.attrTuple[0] # 感悟等级 BYTE
+ def GetNextNeedExp(self): return self.attrTuple[1] # 升到下一级所需经验 DWORD
+ 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
+
+# 卦玉品质表
+class IPY_MGGuayuQuality():
+
+ def __init__(self):
+ self.attrTuple = None
+ return
+
+ def GetItemColor(self): return self.attrTuple[0] # 品质 BYTE
+ def GetAtkPlus(self): return self.attrTuple[1] # 攻击加成 float
+ def GetDefPlus(self): return self.attrTuple[2] # 防御加成 float
+ 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
+
+# 卦玉类型表
+class IPY_MGGuayuType():
+
+ def __init__(self):
+ self.attrTuple = None
+ return
+
+ def GetItemType(self): return self.attrTuple[0] # 类型 BYTE
+ def GetEquipPlace(self): return self.attrTuple[1] # 装备位 BYTE
+ def GetBaseAttrProportion(self): return self.attrTuple[2] # 基础四维属性占比 float
+ def GetFixedAttrID(self): return self.attrTuple[3] # 固定属性ID DWORD
+ def GetAttrIDLib(self): return self.attrTuple[4] # 随机属性ID库,[属性ID, ...] list
+
+# 灵应品质表
+class IPY_MGLingyingQuality():
+
+ def __init__(self):
+ self.attrTuple = None
+ return
+
+ def GetLingying(self): return self.attrTuple[0] # 灵应段值 DWORD
+ def GetItemColorWeightList(self): return self.attrTuple[1] # 品质权重列表 list
# 装备传奇属性条数表
class IPY_EquipLegendAttrCount():
@@ -5735,6 +5823,10 @@
self.__LoadFileData("EquipColor", onlyCheck)
self.__LoadFileData("EquipPlace", onlyCheck)
self.__LoadFileData("AppointItem", onlyCheck)
+ self.__LoadFileData("MGGanwuLV", onlyCheck)
+ self.__LoadFileData("MGGuayuQuality", onlyCheck)
+ self.__LoadFileData("MGGuayuType", onlyCheck)
+ self.__LoadFileData("MGLingyingQuality", onlyCheck)
self.__LoadFileData("EquipLegendAttrCount", onlyCheck)
self.__LoadFileData("EquipLegendAttrType", onlyCheck)
self.__LoadFileData("EquipLegendAttrLib", onlyCheck)
@@ -6475,6 +6567,34 @@
self.CheckLoadData("AppointItem")
return self.ipyAppointItemCache[index]
+ def GetMGGanwuLVCount(self):
+ self.CheckLoadData("MGGanwuLV")
+ return self.ipyMGGanwuLVLen
+ def GetMGGanwuLVByIndex(self, index):
+ self.CheckLoadData("MGGanwuLV")
+ return self.ipyMGGanwuLVCache[index]
+
+ def GetMGGuayuQualityCount(self):
+ self.CheckLoadData("MGGuayuQuality")
+ return self.ipyMGGuayuQualityLen
+ def GetMGGuayuQualityByIndex(self, index):
+ self.CheckLoadData("MGGuayuQuality")
+ return self.ipyMGGuayuQualityCache[index]
+
+ def GetMGGuayuTypeCount(self):
+ self.CheckLoadData("MGGuayuType")
+ return self.ipyMGGuayuTypeLen
+ def GetMGGuayuTypeByIndex(self, index):
+ self.CheckLoadData("MGGuayuType")
+ return self.ipyMGGuayuTypeCache[index]
+
+ def GetMGLingyingQualityCount(self):
+ self.CheckLoadData("MGLingyingQuality")
+ return self.ipyMGLingyingQualityLen
+ def GetMGLingyingQualityByIndex(self, index):
+ self.CheckLoadData("MGLingyingQuality")
+ return self.ipyMGLingyingQualityCache[index]
+
def GetEquipLegendAttrCountCount(self):
self.CheckLoadData("EquipLegendAttrCount")
return self.ipyEquipLegendAttrCountLen
--
Gitblit v1.8.0