From c215892f0f794eb86a641e56a99d535faeab3a7f Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 20 十一月 2025 18:49:05 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(赵云所有技能;增加效果5023 6019 6020;5011效果增加可验证战斗类型;5022效果支持多属性;战斗增减伤改名;增加触发方式28~39)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |  140 ++++++----------------------------------------
 1 files changed, 19 insertions(+), 121 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 50bbece..c16c9d1 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -137,6 +137,7 @@
                         ("list", "BuffStateLimit", 0),
                         ("BYTE", "CurBuffState", 0),
                         ("WORD", "LastTime", 0),
+                        ("BYTE", "LastTimeType", 0),
                         ("BYTE", "LayerCnt", 0),
                         ("BYTE", "LayerMax", 0),
                         ("DWORD", "BuffRepeat", 0),
@@ -303,6 +304,8 @@
                         ("float", "WuFinalDamPerDefRatio", 0),
                         ("float", "QunFinalDamPerRatio", 0),
                         ("float", "QunFinalDamPerDefRatio", 0),
+                        ("float", "PVPDamPerRatio", 0),
+                        ("float", "PVPDamPerDefRatio", 0),
                         ),
 
                 "MainChapter":(
@@ -496,6 +499,7 @@
                         ("DWORD", "LimitMissionID", 0),
                         ("WORD", "LimitOpenDay", 0),
                         ("char", "MailKey", 0),
+                        ("list", "AwardList", 0),
                         ),
 
                 "ItemCompound":(
@@ -791,22 +795,6 @@
                         ("list", "LVUPNeedItemInfo", 0),
                         ),
 
-                "Shentong":(
-                        ("BYTE", "ShentongID", 1),
-                        ("WORD", "NeedGubaoID", 0),
-                        ),
-
-                "ShentongLV":(
-                        ("BYTE", "ShentongID", 1),
-                        ("BYTE", "ShentongClassLV", 1),
-                        ("BYTE", "ShentongLV", 1),
-                        ("list", "LVLightNeedItem", 0),
-                        ("list", "LVAttrTypeList", 0),
-                        ("list", "LVAttrValueList", 0),
-                        ("DWORD", "LVSkillID", 0),
-                        ("DWORD", "FightPowerEx", 0),
-                        ),
-
                 "PlayerLV":(
                         ("WORD", "LV", 1),
                         ("DWORD", "Exp", 0),
@@ -901,7 +889,8 @@
                         ("DWORD", "ADID", 1),
                         ("BYTE", "ADCntMax", 0),
                         ("list", "ADAwardItemList", 0),
-                        ("DWORD", "ADMapID", 0),
+                        ("BYTE", "ADAwardType", 0),
+                        ("DWORD", "ADAwardValue", 0),
                         ),
 
                 "Success":(
@@ -1196,15 +1185,6 @@
                         ("dict", "Reward", 0),
                         ("BYTE", "VIPLimit", 0),
                         ("list", "VIPAward", 0),
-                        ),
-
-                "Invest":(
-                        ("WORD", "ID", 1),
-                        ("BYTE", "Type", 0),
-                        ("BYTE", "NeedDay", 0),
-                        ("WORD", "NeedLV", 0),
-                        ("DWORD", "NeedNPCID", 0),
-                        ("dict", "Reward", 0),
                         ),
 
                 "XBXZ":(
@@ -1526,11 +1506,6 @@
                         ("DWORD", "Weight", 0),
                         ("DWORD", "Mark", 0),
                         ("BYTE", "Rare", 0),
-                        ),
-
-                "FunctionForecast":(
-                        ("DWORD", "FuncID", 1),
-                        ("dict", "Award", 0),
                         ),
 
                 "EmojiPack":(
@@ -2367,11 +2342,12 @@
     def GetBuffStateLimit(self): return self.attrTuple[32] # Buff状态限制组 list
     def GetCurBuffState(self): return self.attrTuple[33] # Buff状态值 BYTE
     def GetLastTime(self): return self.attrTuple[34] # 持续时间 WORD
-    def GetLayerCnt(self): return self.attrTuple[35] # Buff层数 BYTE
-    def GetLayerMax(self): return self.attrTuple[36] # 最大层数 BYTE
-    def GetBuffRepeat(self): return self.attrTuple[37] # Buff叠加规则 DWORD
-    def GetDispersedLimit(self): return self.attrTuple[38] # 驱散限制 BYTE
-    def GetFightPower(self): return self.attrTuple[39] # 技能战斗力 DWORD
+    def GetLastTimeType(self): return self.attrTuple[35] # 持续时间规则 BYTE
+    def GetLayerCnt(self): return self.attrTuple[36] # Buff层数 BYTE
+    def GetLayerMax(self): return self.attrTuple[37] # 最大层数 BYTE
+    def GetBuffRepeat(self): return self.attrTuple[38] # Buff叠加规则 DWORD
+    def GetDispersedLimit(self): return self.attrTuple[39] # 驱散限制 BYTE
+    def GetFightPower(self): return self.attrTuple[40] # 技能战斗力 DWORD
 
 # 武将表
 class IPY_Hero():
@@ -2602,7 +2578,9 @@
     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 GetQunFinalDamPerDefRatio(self): return self.attrTuple[41] # float
+    def GetPVPDamPerRatio(self): return self.attrTuple[42] # float
+    def GetPVPDamPerDefRatio(self): return self.attrTuple[43] # float
 
 # 主线章节表
 class IPY_MainChapter():
@@ -2885,7 +2863,8 @@
     def GetLimiRealmLV(self): return self.attrTuple[2] # 需要境界等级 WORD
     def GetLimitMissionID(self): return self.attrTuple[3] # 需要完成的任务ID DWORD
     def GetLimitOpenDay(self): return self.attrTuple[4] # 开服第几天开启 WORD
-    def GetMailKey(self): return self.attrTuple[5] # 邮件 char
+    def GetMailKey(self): return self.attrTuple[5] # 邮件 char
+    def GetAwardList(self): return self.attrTuple[6] # 奖励列表[[物品ID,个数], ...] list
 
 # 合成表
 class IPY_ItemCompound():
@@ -3340,32 +3319,6 @@
     def GetLessEqualLV(self): return self.attrTuple[1] # 小于等于等级 BYTE
     def GetLVUPNeedItemInfo(self): return self.attrTuple[2] # 升级所需物品 [[物品ID,个数], ...] list
 
-# 神通表
-class IPY_Shentong():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetShentongID(self): return self.attrTuple[0] # 神通ID BYTE
-    def GetNeedGubaoID(self): return self.attrTuple[1] # 解锁所需古宝ID WORD
-
-# 神通升级表
-class IPY_ShentongLV():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetShentongID(self): return self.attrTuple[0] # 神通ID BYTE
-    def GetShentongClassLV(self): return self.attrTuple[1] # 神通阶级 BYTE
-    def GetShentongLV(self): return self.attrTuple[2] # 神通等级 BYTE
-    def GetLVLightNeedItem(self): return self.attrTuple[3] # 点亮该级所需物品 [[物品ID,个数], ...] list
-    def GetLVAttrTypeList(self): return self.attrTuple[4] # 该级属性类型列表 list
-    def GetLVAttrValueList(self): return self.attrTuple[5] # 该级属性值列表 list
-    def GetLVSkillID(self): return self.attrTuple[6] # 该级职业通用技能ID DWORD
-    def GetFightPowerEx(self): return self.attrTuple[7] # 附加战力 DWORD
-
 # 玩家等级表
 class IPY_PlayerLV():
     
@@ -3506,7 +3459,8 @@
     def GetADID(self): return self.attrTuple[0] # DWORD
     def GetADCntMax(self): return self.attrTuple[1] # 每日次数 BYTE
     def GetADAwardItemList(self): return self.attrTuple[2] # 广告奖励物品列表 list
-    def GetADMapID(self): return self.attrTuple[3] # 对应副本ID,默认给该副本1次次数 DWORD
+    def GetADAwardType(self): return self.attrTuple[3] # 奖励类型 BYTE
+    def GetADAwardValue(self): return self.attrTuple[4] # 类型对应值 DWORD
 
 # 成就表
 class IPY_Success():
@@ -3946,20 +3900,6 @@
     def GetReward(self): return self.attrTuple[3] # 奖励 {"职业":[[物品ID,个数],...], ...} dict
     def GetVIPLimit(self): return self.attrTuple[4] # 需要VIP几 BYTE
     def GetVIPAward(self): return self.attrTuple[5] # vip奖励[[物品ID,个数],...] list
-
-# 投资表
-class IPY_Invest():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetID(self): return self.attrTuple[0] # ID WORD
-    def GetType(self): return self.attrTuple[1] # 投资类型 BYTE
-    def GetNeedDay(self): return self.attrTuple[2] # 需要天数 BYTE
-    def GetNeedLV(self): return self.attrTuple[3] # 需要等级 WORD
-    def GetNeedNPCID(self): return self.attrTuple[4] # 需要NPCID DWORD
-    def GetReward(self): return self.attrTuple[5] # 奖励 {"key":[[物品ID,个数,是否绑定],...], ...} dict
 
 # 仙宝寻主表
 class IPY_XBXZ():
@@ -4446,16 +4386,6 @@
     def GetWeight(self): return self.attrTuple[6] # 权重 DWORD
     def GetMark(self): return self.attrTuple[7] # 排序用标识 DWORD
     def GetRare(self): return self.attrTuple[8] # 珍稀值 BYTE
-
-# 功能预告表
-class IPY_FunctionForecast():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetFuncID(self): return self.attrTuple[0] # 功能ID DWORD
-    def GetAward(self): return self.attrTuple[1] # 属性类型 dict
 
 # 表情包表
 class IPY_EmojiPack():
@@ -5701,8 +5631,6 @@
         self.__LoadFileData("GubaoResonance", onlyCheck)
         self.__LoadFileData("GubaoStar", onlyCheck)
         self.__LoadFileData("GubaoLV", onlyCheck)
-        self.__LoadFileData("Shentong", onlyCheck)
-        self.__LoadFileData("ShentongLV", onlyCheck)
         self.__LoadFileData("PlayerLV", onlyCheck)
         self.__LoadFileData("SpecMapPlayerAttrFormat", onlyCheck)
         self.__LoadFileData("GMAttr", onlyCheck)
@@ -5741,7 +5669,6 @@
         self.__LoadFileData("CTGSelectItem", onlyCheck)
         self.__LoadFileData("FirstCharge", onlyCheck)
         self.__LoadFileData("LVAward", onlyCheck)
-        self.__LoadFileData("Invest", onlyCheck)
         self.__LoadFileData("XBXZ", onlyCheck)
         self.__LoadFileData("TreasureSet", onlyCheck)
         self.__LoadFileData("TreasureHouse", onlyCheck)
@@ -5775,7 +5702,6 @@
         self.__LoadFileData("ActFlashSale", onlyCheck)
         self.__LoadFileData("ActWishingWell", onlyCheck)
         self.__LoadFileData("WishingWell", onlyCheck)
-        self.__LoadFileData("FunctionForecast", onlyCheck)
         self.__LoadFileData("EmojiPack", onlyCheck)
         self.__LoadFileData("ActRechargePrize", onlyCheck)
         self.__LoadFileData("RechargePrizeTemplate", onlyCheck)
@@ -6568,20 +6494,6 @@
         self.CheckLoadData("GubaoLV")
         return self.ipyGubaoLVCache[index]
 
-    def GetShentongCount(self):
-        self.CheckLoadData("Shentong")
-        return self.ipyShentongLen
-    def GetShentongByIndex(self, index):
-        self.CheckLoadData("Shentong")
-        return self.ipyShentongCache[index]
-
-    def GetShentongLVCount(self):
-        self.CheckLoadData("ShentongLV")
-        return self.ipyShentongLVLen
-    def GetShentongLVByIndex(self, index):
-        self.CheckLoadData("ShentongLV")
-        return self.ipyShentongLVCache[index]
-
     def GetPlayerLVCount(self):
         self.CheckLoadData("PlayerLV")
         return self.ipyPlayerLVLen
@@ -6848,13 +6760,6 @@
         self.CheckLoadData("LVAward")
         return self.ipyLVAwardCache[index]
 
-    def GetInvestCount(self):
-        self.CheckLoadData("Invest")
-        return self.ipyInvestLen
-    def GetInvestByIndex(self, index):
-        self.CheckLoadData("Invest")
-        return self.ipyInvestCache[index]
-
     def GetXBXZCount(self):
         self.CheckLoadData("XBXZ")
         return self.ipyXBXZLen
@@ -7085,13 +6990,6 @@
     def GetWishingWellByIndex(self, index):
         self.CheckLoadData("WishingWell")
         return self.ipyWishingWellCache[index]
-
-    def GetFunctionForecastCount(self):
-        self.CheckLoadData("FunctionForecast")
-        return self.ipyFunctionForecastLen
-    def GetFunctionForecastByIndex(self, index):
-        self.CheckLoadData("FunctionForecast")
-        return self.ipyFunctionForecastCache[index]
 
     def GetEmojiPackCount(self):
         self.CheckLoadData("EmojiPack")

--
Gitblit v1.8.0