From fd46c6afd9024b1739a449786c284461d0394d0b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 01 十二月 2025 15:05:47 +0800
Subject: [PATCH] 358 【内政】红颜系统-服务端(白骨盈野特殊效果改为固定奖励)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |  138 ++++++++++++++++++++++++---------------------
 1 files changed, 74 insertions(+), 64 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 235b16d..e256cec 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),
@@ -142,6 +142,7 @@
                         ("BYTE", "LayerMax", 0),
                         ("DWORD", "BuffRepeat", 0),
                         ("BYTE", "DispersedLimit", 0),
+                        ("BYTE", "BuffRetain", 0),
                         ("DWORD", "FightPower", 0),
                         ),
 
@@ -500,6 +501,7 @@
                         ("WORD", "LimiRealmLV", 0),
                         ("DWORD", "LimitMissionID", 0),
                         ("WORD", "LimitOpenDay", 0),
+                        ("WORD", "LimitManLevel", 0),
                         ("char", "MailKey", 0),
                         ("list", "AwardList", 0),
                         ),
@@ -834,6 +836,22 @@
                         ("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":(
                         ("WORD", "LV", 1),
                         ("DWORD", "Exp", 0),
@@ -1164,14 +1182,6 @@
                 "LoginDayAward":(
                         ("BYTE", "DayID", 1),
                         ("dict", "Reward", 0),
-                        ),
-
-                "SpringSale":(
-                        ("BYTE", "GiftID", 1),
-                        ("BYTE", "SellDay", 0),
-                        ("BYTE", "BuyNumLimit", 0),
-                        ("WORD", "GiftPrice", 0),
-                        ("list", "GiftItemList", 0),
                         ),
 
                 "OrderInfo":(
@@ -2125,12 +2135,6 @@
                         ("BYTE", "SkinIndex", 0),
                         ),
 
-                "AssistThanksGift":(
-                        ("DWORD", "GiftID", 1),
-                        ("list", "RequestPlayerAward", 0),
-                        ("list", "AssistPlayerAward", 0),
-                        ),
-
                 "FuncSysPrivilege":(
                         ("BYTE", "FuncSysID", 1),
                         ("BYTE", "DayNum", 0),
@@ -2209,6 +2213,7 @@
 
                 "Robot":(
                         ("DWORD", "ID", 1),
+                        ("char", "RobotName", 0),
                         ("char", "ViewCache", 0),
                         ),
                 }
@@ -2333,15 +2338,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
@@ -2352,7 +2357,8 @@
     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
+    def GetBuffRetain(self): return self.attrTuple[40] # Buff保留规则 BYTE
+    def GetFightPower(self): return self.attrTuple[41] # 技能战斗力 DWORD
 
 # 武将表
 class IPY_Hero():
@@ -2870,8 +2876,9 @@
     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 GetAwardList(self): return self.attrTuple[6] # 奖励列表[[物品ID,个数], ...] list
+    def GetLimitManLevel(self): return self.attrTuple[5] # 关卡进度波 WORD
+    def GetMailKey(self): return self.attrTuple[6] # 邮件 char
+    def GetAwardList(self): return self.attrTuple[7] # 奖励列表[[物品ID,个数], ...] list
 
 # 合成表
 class IPY_ItemCompound():
@@ -3378,6 +3385,32 @@
     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():
     
@@ -3869,19 +3902,6 @@
         
     def GetDayID(self): return self.attrTuple[0] # 天数 BYTE
     def GetReward(self): return self.attrTuple[1] # 奖励 {"职业":[[物品ID,个数],...], ...} dict
-
-# 七天限时特惠表
-class IPY_SpringSale():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetGiftID(self): return self.attrTuple[0] # 礼包ID BYTE
-    def GetSellDay(self): return self.attrTuple[1] # 创角第几天上架 BYTE
-    def GetBuyNumLimit(self): return self.attrTuple[2] # 每人限购数量 BYTE
-    def GetGiftPrice(self): return self.attrTuple[3] # 礼包价格,仙玉 WORD
-    def GetGiftItemList(self): return self.attrTuple[4] # 礼包物品信息列表[[物品ID,个数,是否绑定], ...] list
 
 # 充值商品编号表
 class IPY_OrderInfo():
@@ -5359,17 +5379,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():
     
@@ -5509,7 +5518,8 @@
         return
         
     def GetID(self): return self.attrTuple[0] # 机器人ID,同玩家ID DWORD
-    def GetViewCache(self): return self.attrTuple[1] # 机器人缓存 char
+    def GetRobotName(self): return self.attrTuple[1] # char
+    def GetViewCache(self): return self.attrTuple[2] # 机器人缓存 char
 
 
 def Log(msg, playerID=0, par=0):
@@ -5639,6 +5649,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)
@@ -5671,7 +5683,6 @@
         self.__LoadFileData("ChestsAward", onlyCheck)
         self.__LoadFileData("VIPKillNPC", onlyCheck)
         self.__LoadFileData("LoginDayAward", onlyCheck)
-        self.__LoadFileData("SpringSale", onlyCheck)
         self.__LoadFileData("OrderInfo", onlyCheck)
         self.__LoadFileData("CTG", onlyCheck)
         self.__LoadFileData("CTGSelectItem", onlyCheck)
@@ -5777,7 +5788,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)
@@ -6519,6 +6529,20 @@
         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")
         return self.ipyPlayerLVLen
@@ -6742,13 +6766,6 @@
     def GetLoginDayAwardByIndex(self, index):
         self.CheckLoadData("LoginDayAward")
         return self.ipyLoginDayAwardCache[index]
-
-    def GetSpringSaleCount(self):
-        self.CheckLoadData("SpringSale")
-        return self.ipySpringSaleLen
-    def GetSpringSaleByIndex(self, index):
-        self.CheckLoadData("SpringSale")
-        return self.ipySpringSaleCache[index]
 
     def GetOrderInfoCount(self):
         self.CheckLoadData("OrderInfo")
@@ -7484,13 +7501,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