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 |  188 +++++++++++++++++-----------------------------
 1 files changed, 69 insertions(+), 119 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 25013fb..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":(
@@ -1911,30 +1929,6 @@
                         ("char", "WorldNotifyKey", 0),
                         ),
 
-                "ActFeastTravel":(
-                        ("DWORD", "CfgID", 1),
-                        ("char", "StartDate", 0),
-                        ("char", "EndDate", 0),
-                        ("WORD", "LVLimit", 0),
-                        ("BYTE", "ResetType", 0),
-                        ("dict", "TemplateIDInfo", 0),
-                        ),
-
-                "ActFeastTravelTask":(
-                        ("BYTE", "TraveTasklD", 1),
-                        ("WORD", "FinishNeedValue", 0),
-                        ("WORD", "FinishTimeMax", 0),
-                        ("BYTE", "AddTravelPoint", 0),
-                        ),
-
-                "ActFeastTravelAward":(
-                        ("BYTE", "TemplatelD", 1),
-                        ("BYTE", "RecordIndex", 0),
-                        ("WORD", "NeedTravelPoint", 0),
-                        ("BYTE", "AwardCountMax", 0),
-                        ("list", "TravelAwardInfo", 0),
-                        ),
-
                 "ActFeastWeekParty":(
                         ("DWORD", "CfgID", 1),
                         ("char", "StartDate", 0),
@@ -2147,12 +2141,6 @@
                         ("BYTE", "SkinIndex", 0),
                         ),
 
-                "AssistThanksGift":(
-                        ("DWORD", "GiftID", 1),
-                        ("list", "RequestPlayerAward", 0),
-                        ("list", "AssistPlayerAward", 0),
-                        ),
-
                 "FuncSysPrivilege":(
                         ("BYTE", "FuncSysID", 1),
                         ("BYTE", "DayNum", 0),
@@ -2355,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
@@ -2535,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():
@@ -3397,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():
@@ -5037,45 +5053,6 @@
     def GetGoodItemIDList(self): return self.attrTuple[3] # 需要广播的物品ID列表 [物品ID, ...] list
     def GetWorldNotifyKey(self): return self.attrTuple[4] # 全服广播key,参数(玩家名, 物品ID, 物品数据, 个数,) char
 
-# 节日游历时间表
-class IPY_ActFeastTravel():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetCfgID(self): return self.attrTuple[0] # 配置ID DWORD
-    def GetStartDate(self): return self.attrTuple[1] # 开启日期 char
-    def GetEndDate(self): return self.attrTuple[2] # 结束日期 char
-    def GetLVLimit(self): return self.attrTuple[3] # 限制等级 WORD
-    def GetResetType(self): return self.attrTuple[4] # 重置类型,0-0点重置;1-5点重置 BYTE
-    def GetTemplateIDInfo(self): return self.attrTuple[5] # 模板信息 {(世界等级A,B):模板编号, ...} dict
-
-# 节日游历任务表
-class IPY_ActFeastTravelTask():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetTraveTasklD(self): return self.attrTuple[0] # 游历ID BYTE
-    def GetFinishNeedValue(self): return self.attrTuple[1] # 完成所需进度值 WORD
-    def GetFinishTimeMax(self): return self.attrTuple[2] # 总可完成次数,0不限 WORD
-    def GetAddTravelPoint(self): return self.attrTuple[3] # 完成次数获得游历值 BYTE
-
-# 节日游历奖励表
-class IPY_ActFeastTravelAward():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetTemplatelD(self): return self.attrTuple[0] # 奖励模板ID BYTE
-    def GetRecordIndex(self): return self.attrTuple[1] # 奖励记录索引 BYTE
-    def GetNeedTravelPoint(self): return self.attrTuple[2] # 领奖所需游历值 WORD
-    def GetAwardCountMax(self): return self.attrTuple[3] # 可领取次数,0代表不限 BYTE
-    def GetTravelAwardInfo(self): return self.attrTuple[4] # 游历奖励 [[物品ID,个数,是否拍品], ...] list
-
 # 节日巡礼活动时间表
 class IPY_ActFeastWeekParty():
     
@@ -5418,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():
     
@@ -5698,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)
@@ -5810,9 +5778,6 @@
         self.__LoadFileData("ActFeastWish", onlyCheck)
         self.__LoadFileData("ActFeastWishBottle", onlyCheck)
         self.__LoadFileData("ActFeastWishPool", onlyCheck)
-        self.__LoadFileData("ActFeastTravel", onlyCheck)
-        self.__LoadFileData("ActFeastTravelTask", onlyCheck)
-        self.__LoadFileData("ActFeastTravelAward", onlyCheck)
         self.__LoadFileData("ActFeastWeekParty", onlyCheck)
         self.__LoadFileData("FeastWeekParty", onlyCheck)
         self.__LoadFileData("NewAllPeopleParty", onlyCheck)
@@ -5839,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)
@@ -6580,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")
@@ -7365,27 +7343,6 @@
         self.CheckLoadData("ActFeastWishPool")
         return self.ipyActFeastWishPoolCache[index]
 
-    def GetActFeastTravelCount(self):
-        self.CheckLoadData("ActFeastTravel")
-        return self.ipyActFeastTravelLen
-    def GetActFeastTravelByIndex(self, index):
-        self.CheckLoadData("ActFeastTravel")
-        return self.ipyActFeastTravelCache[index]
-
-    def GetActFeastTravelTaskCount(self):
-        self.CheckLoadData("ActFeastTravelTask")
-        return self.ipyActFeastTravelTaskLen
-    def GetActFeastTravelTaskByIndex(self, index):
-        self.CheckLoadData("ActFeastTravelTask")
-        return self.ipyActFeastTravelTaskCache[index]
-
-    def GetActFeastTravelAwardCount(self):
-        self.CheckLoadData("ActFeastTravelAward")
-        return self.ipyActFeastTravelAwardLen
-    def GetActFeastTravelAwardByIndex(self, index):
-        self.CheckLoadData("ActFeastTravelAward")
-        return self.ipyActFeastTravelAwardCache[index]
-
     def GetActFeastWeekPartyCount(self):
         self.CheckLoadData("ActFeastWeekParty")
         return self.ipyActFeastWeekPartyLen
@@ -7567,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