From ab3c1e29995e5bae442a06bbd8c4ae821efe88d0 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 27 十一月 2025 11:11:46 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(优化被动buff触发有效效果逻辑;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |  101 ++++++++++++++++++++++++++++++++++----------------
 1 files changed, 69 insertions(+), 32 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 8941247..28fa30a 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -123,15 +123,15 @@
                         ("DWORD", "EffectID1", 0),
                         ("list", "EffectValues1", 0),
                         ("BYTE", "TriggerWay1", 0),
-                        ("BYTE", "TriggerSrc1", 0),
+                        ("list", "TriggerSrc1", 0),
                         ("DWORD", "EffectID2", 0),
                         ("list", "EffectValues2", 0),
                         ("BYTE", "TriggerWay2", 0),
-                        ("BYTE", "TriggerSrc2", 0),
+                        ("list", "TriggerSrc2", 0),
                         ("DWORD", "EffectID3", 0),
                         ("list", "EffectValues3", 0),
                         ("BYTE", "TriggerWay3", 0),
-                        ("BYTE", "TriggerSrc3", 0),
+                        ("list", "TriggerSrc3", 0),
                         ("WORD", "CoolDownInit", 0),
                         ("WORD", "CoolDownTime", 0),
                         ("list", "BuffStateLimit", 0),
@@ -249,6 +249,8 @@
                         ("DWORD", "Quality", 1),
                         ("DWORD", "HeroLV", 1),
                         ("list", "UPCostItem", 0),
+                        ("list", "AttrIDList", 0),
+                        ("list", "AttrValueList", 0),
                         ),
 
                 "LineupRecommend":(
@@ -830,6 +832,22 @@
                         ("list", "AttrIDList", 0),
                         ("list", "InitAttrValueList", 0),
                         ("list", "AttrPerStarAddList", 0),
+                        ),
+
+                "TravelEvent":(
+                        ("WORD", "EventID", 1),
+                        ("DWORD", "EventWeight", 0),
+                        ("DWORD", "AwardItemID", 0),
+                        ("DWORD", "AwardItemCnt", 0),
+                        ),
+
+                "TravelScenery":(
+                        ("BYTE", "SceneryType", 1),
+                        ("BYTE", "AwardQuality", 0),
+                        ("DWORD", "UpRate", 0),
+                        ("list", "AwardItemRandCntList", 0),
+                        ("list", "AwardItemExWeightList", 0),
+                        ("BYTE", "AwardItemExCnt", 0),
                         ),
 
                 "PlayerLV":(
@@ -2123,12 +2141,6 @@
                         ("BYTE", "SkinIndex", 0),
                         ),
 
-                "AssistThanksGift":(
-                        ("DWORD", "GiftID", 1),
-                        ("list", "RequestPlayerAward", 0),
-                        ("list", "AssistPlayerAward", 0),
-                        ),
-
                 "FuncSysPrivilege":(
                         ("BYTE", "FuncSysID", 1),
                         ("BYTE", "DayNum", 0),
@@ -2331,15 +2343,15 @@
     def GetEffectID1(self): return self.attrTuple[18] # 效果ID1 DWORD
     def GetEffectValues1(self): return self.attrTuple[19] # 效果值列表1 list
     def GetTriggerWay1(self): return self.attrTuple[20] # 触发方式 BYTE
-    def GetTriggerSrc1(self): return self.attrTuple[21] # 有效来源 BYTE
+    def GetTriggerSrc1(self): return self.attrTuple[21] # 有效来源 list
     def GetEffectID2(self): return self.attrTuple[22] # 效果ID2 DWORD
     def GetEffectValues2(self): return self.attrTuple[23] # 效果值列表2 list
     def GetTriggerWay2(self): return self.attrTuple[24] # 触发方式 BYTE
-    def GetTriggerSrc2(self): return self.attrTuple[25] # 有效来源 BYTE
+    def GetTriggerSrc2(self): return self.attrTuple[25] # 有效来源 list
     def GetEffectID3(self): return self.attrTuple[26] # 效果ID3 DWORD
     def GetEffectValues3(self): return self.attrTuple[27] # 效果值列表3 list
     def GetTriggerWay3(self): return self.attrTuple[28] # 触发方式 BYTE
-    def GetTriggerSrc3(self): return self.attrTuple[29] # 有效来源 BYTE
+    def GetTriggerSrc3(self): return self.attrTuple[29] # 有效来源 list
     def GetCoolDownInit(self): return self.attrTuple[30] # 初始冷却时间 WORD
     def GetCoolDownTime(self): return self.attrTuple[31] # 技能冷却时间 WORD
     def GetBuffStateLimit(self): return self.attrTuple[32] # Buff状态限制组 list
@@ -2511,7 +2523,9 @@
         
     def GetQuality(self): return self.attrTuple[0] # 品质 DWORD
     def GetHeroLV(self): return self.attrTuple[1] # 武将等级 DWORD
-    def GetUPCostItem(self): return self.attrTuple[2] #  升级到下级消耗道具 list
+    def GetUPCostItem(self): return self.attrTuple[2] #  升级到下级消耗道具 list
+    def GetAttrIDList(self): return self.attrTuple[3] #  武将属性ID列表 list
+    def GetAttrValueList(self): return self.attrTuple[4] #  累计总属性值列表 list
 
 # 推荐阵容表
 class IPY_LineupRecommend():
@@ -3373,6 +3387,32 @@
     def GetAttrIDList(self): return self.attrTuple[7] # 属性ID列表 list
     def GetInitAttrValueList(self): return self.attrTuple[8] # 初始属性值列表 list
     def GetAttrPerStarAddList(self): return self.attrTuple[9] # 每星加成值列表 list
+
+# 游历事件表
+class IPY_TravelEvent():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetEventID(self): return self.attrTuple[0] # WORD
+    def GetEventWeight(self): return self.attrTuple[1] # 事件权重 DWORD
+    def GetAwardItemID(self): return self.attrTuple[2] # 奖励物品ID DWORD
+    def GetAwardItemCnt(self): return self.attrTuple[3] # 奖励物品数量 DWORD
+
+# 游历景观奖励表
+class IPY_TravelScenery():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetSceneryType(self): return self.attrTuple[0] # 景观类型 BYTE
+    def GetAwardQuality(self): return self.attrTuple[1] # 景观品质 BYTE
+    def GetUpRate(self): return self.attrTuple[2] # 升下个品质概率 DWORD
+    def GetAwardItemRandCntList(self): return self.attrTuple[3] # 奖励物品随机个数列表 [[物品ID, 随机数量A, 到B], ...] list
+    def GetAwardItemExWeightList(self): return self.attrTuple[4] # 额外奖励物品权重 [[权重,物品ID,个数], ...] list
+    def GetAwardItemExCnt(self): return self.attrTuple[5] # 额外奖励物品数 BYTE
 
 # 玩家等级表
 class IPY_PlayerLV():
@@ -5355,17 +5395,6 @@
     def GetAttrInfo(self): return self.attrTuple[4] # 属性 dict
     def GetSkinIndex(self): return self.attrTuple[5] # 外观 BYTE
 
-# 协助感谢礼盒表
-class IPY_AssistThanksGift():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetGiftID(self): return self.attrTuple[0] # 礼盒物品ID DWORD
-    def GetRequestPlayerAward(self): return self.attrTuple[1] #  发布奖励物品 物品ID|个数 list
-    def GetAssistPlayerAward(self): return self.attrTuple[2] #  协助奖励物品 物品ID|个数 list
-
 # 功能特权奖励表
 class IPY_FuncSysPrivilege():
     
@@ -5635,6 +5664,8 @@
         self.__LoadFileData("Beauty", onlyCheck)
         self.__LoadFileData("BeautyQualityLV", onlyCheck)
         self.__LoadFileData("BeautySkin", onlyCheck)
+        self.__LoadFileData("TravelEvent", onlyCheck)
+        self.__LoadFileData("TravelScenery", onlyCheck)
         self.__LoadFileData("PlayerLV", onlyCheck)
         self.__LoadFileData("SpecMapPlayerAttrFormat", onlyCheck)
         self.__LoadFileData("GMAttr", onlyCheck)
@@ -5773,7 +5804,6 @@
         self.__LoadFileData("LoveRing", onlyCheck)
         self.__LoadFileData("LoveCharm", onlyCheck)
         self.__LoadFileData("HorsePetSkin", onlyCheck)
-        self.__LoadFileData("AssistThanksGift", onlyCheck)
         self.__LoadFileData("FuncSysPrivilege", onlyCheck)
         self.__LoadFileData("HistoryRechargeAward", onlyCheck)
         self.__LoadFileData("CustomAward", onlyCheck)
@@ -6514,6 +6544,20 @@
     def GetBeautySkinByIndex(self, index):
         self.CheckLoadData("BeautySkin")
         return self.ipyBeautySkinCache[index]
+
+    def GetTravelEventCount(self):
+        self.CheckLoadData("TravelEvent")
+        return self.ipyTravelEventLen
+    def GetTravelEventByIndex(self, index):
+        self.CheckLoadData("TravelEvent")
+        return self.ipyTravelEventCache[index]
+
+    def GetTravelSceneryCount(self):
+        self.CheckLoadData("TravelScenery")
+        return self.ipyTravelSceneryLen
+    def GetTravelSceneryByIndex(self, index):
+        self.CheckLoadData("TravelScenery")
+        return self.ipyTravelSceneryCache[index]
 
     def GetPlayerLVCount(self):
         self.CheckLoadData("PlayerLV")
@@ -7480,13 +7524,6 @@
     def GetHorsePetSkinByIndex(self, index):
         self.CheckLoadData("HorsePetSkin")
         return self.ipyHorsePetSkinCache[index]
-
-    def GetAssistThanksGiftCount(self):
-        self.CheckLoadData("AssistThanksGift")
-        return self.ipyAssistThanksGiftLen
-    def GetAssistThanksGiftByIndex(self, index):
-        self.CheckLoadData("AssistThanksGift")
-        return self.ipyAssistThanksGiftCache[index]
 
     def GetFuncSysPrivilegeCount(self):
         self.CheckLoadData("FuncSysPrivilege")

--
Gitblit v1.8.0