From d57475ffe460133d146d377e66ed19ccb77b11a7 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 20 十月 2025 17:22:00 +0800
Subject: [PATCH] 121 【武将】武将系统-服务端(寻宝支持定制第x次x抽必出)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |  280 +++++++++++++------------------------------------------
 1 files changed, 67 insertions(+), 213 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index fe91e04..b7f7580 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -1023,22 +1023,6 @@
                         ("DWORD", "ADMapID", 0),
                         ),
 
-                "DailyAction":(
-                        ("DWORD", "DailyID", 1),
-                        ("dict", "OpenTimeDict", 0),
-                        ("DWORD", "Duration", 0),
-                        ("DWORD", "DayTimes", 0),
-                        ("DWORD", "DayBuyTimes", 0),
-                        ("BYTE", "BuyTimesPrivilegeID", 0),
-                        ("BYTE", "MoneyType", 0),
-                        ("list", "BuyNeedMoney", 0),
-                        ("DWORD", "DayItemAddTimes", 0),
-                        ("DWORD", "DayItemID", 0),
-                        ("BYTE", "DayResetType", 0),
-                        ("DWORD", "WeekTimes", 0),
-                        ("BYTE", "WeekResetType", 0),
-                        ),
-
                 "EquipGSParam":(
                         ("BYTE", "ClassLV", 1),
                         ("BYTE", "EquipColor", 1),
@@ -1089,19 +1073,11 @@
                         ),
 
                 "Success":(
-                        ("DWORD", "ID", 1),
-                        ("WORD", "Type", 0),
+                        ("DWORD", "SuccID", 0),
+                        ("WORD", "SuccType", 1),
                         ("DWORD", "NeedCnt", 0),
                         ("list", "Condition", 0),
-                        ("list", "PreSuccess", 0),
-                        ("dict", "AwardItem", 0),
-                        ("dict", "AwardItem2", 0),
-                        ("dict", "Money", 0),
-                        ("DWORD", "Exp", 0),
-                        ("dict", "AwardAttr", 0),
-                        ("DWORD", "RedPacketID", 0),
-                        ("DWORD", "MagicWeaponID", 0),
-                        ("DWORD", "MagicWeaponExp", 0),
+                        ("list", "AwardItemList", 0),
                         ),
 
                 "TongTianLV":(
@@ -1213,38 +1189,18 @@
                         ("list", "MailItemPrize", 0),
                         ),
 
-                "TaskList":(
-                        ("DWORD", "TaskID", 1),
-                        ),
-
-                "DailyQuest":(
-                        ("DWORD", "ID", 1),
-                        ("BYTE", "RelatedType", 0),
-                        ("DWORD", "RelatedID", 0),
-                        ("WORD", "UnLockFuncID", 0),
-                        ("BYTE", "OnceActivityTime", 0),
-                        ("BYTE", "OnceActivity", 0),
-                        ("WORD", "TotalActiveValue", 0),
+                "DailyTask":(
+                        ("WORD", "TaskID", 0),
+                        ("BYTE", "TaskType", 1),
+                        ("list", "TaskConds", 0),
+                        ("DWORD", "NeedValue", 0),
+                        ("BYTE", "AwardLiveness", 0),
                         ),
 
                 "DailyLivenessReward":(
-                        ("BYTE", "ID", 1),
-                        ("WORD", "Liveness", 0),
-                        ("list", "StageLV", 0),
-                        ("list", "ItemID", 0),
-                        ("list", "ItemCount", 0),
-                        ("list", "ItemBind", 0),
-                        ),
-
-                "ActivityPlaceReward":(
-                        ("BYTE", "ID", 1),
-                        ("BYTE", "PlaceCount", 0),
-                        ("WORD", "PlaceMaxLV", 0),
-                        ("list", "FixedItemRewardList", 0),
-                        ("BYTE", "RandItemCountA", 0),
-                        ("list", "RandItemRewardListA", 0),
-                        ("BYTE", "RandItemCountB", 0),
-                        ("list", "RandItemRewardListB", 0),
+                        ("BYTE", "AwardID", 1),
+                        ("WORD", "NeedLiveness", 0),
+                        ("list", "AwardItemList", 0),
                         ),
 
                 "BOSSInfo":(
@@ -1264,19 +1220,6 @@
                         ("DWORD", "NPCID", 1),
                         ("WORD", "PerPlayerMoneyAward", 0),
                         ("list", "PersonFirstKillAward", 0),
-                        ),
-
-                "FamilyRedPack":(
-                        ("WORD", "ID", 1),
-                        ("WORD", "GetType", 0),
-                        ("WORD", "MoneyNum", 0),
-                        ("BYTE", "MoneyType", 0),
-                        ("BYTE", "PacketCnt", 0),
-                        ),
-
-                "ActFeastRedPacketSucc":(
-                        ("BYTE", "FeastDay", 1),
-                        ("list", "FeastSuccIDList", 0),
                         ),
 
                 "NPCShow":(
@@ -1515,6 +1458,7 @@
                         ("list", "GridItemRateList1", 0),
                         ("list", "GridItemRateList2", 0),
                         ("dict", "GridItemRateList3", 0),
+                        ("list", "GridItemRateList4", 0),
                         ("dict", "LuckyItemRateInfo", 0),
                         ),
 
@@ -2476,6 +2420,15 @@
                         ("list", "EquipColorRateList", 0),
                         ("list", "EquipColorRateList1", 0),
                         ("list", "EquipColorRateList2", 0),
+                        ),
+
+                "LLMJ":(
+                        ("BYTE", "MJLV", 1),
+                        ("DWORD", "CostWarhammer", 0),
+                        ("BYTE", "ExpAddPer", 0),
+                        ("DWORD", "ExpExUpper", 0),
+                        ("BYTE", "DecomposeAddPer", 0),
+                        ("DWORD", "DecomposeExUpper", 0),
                         ),
 
                 "GoldRushCamp":(
@@ -3950,27 +3903,6 @@
     def GetADAwardItemList(self): return self.attrTuple[2] # 广告奖励物品列表 list
     def GetADMapID(self): return self.attrTuple[3] # 对应副本ID,默认给该副本1次次数 DWORD
 
-# 日常活动表
-class IPY_DailyAction():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetDailyID(self): return self.attrTuple[0] # 活动ID DWORD
-    def GetOpenTimeDict(self): return self.attrTuple[1] # 开启时间 dict
-    def GetDuration(self): return self.attrTuple[2] # 持续时间, 0为不限制 DWORD
-    def GetDayTimes(self): return self.attrTuple[3] # 每日次数, 0为不限制 DWORD
-    def GetDayBuyTimes(self): return self.attrTuple[4] # 每日可购买次数 DWORD
-    def GetBuyTimesPrivilegeID(self): return self.attrTuple[5] # 购买次数VIP权限ID BYTE
-    def GetMoneyType(self): return self.attrTuple[6] # 货币类型 BYTE
-    def GetBuyNeedMoney(self): return self.attrTuple[7] # 购买次数需要仙玉 list
-    def GetDayItemAddTimes(self): return self.attrTuple[8] # 每日可用物品增加次数 DWORD
-    def GetDayItemID(self): return self.attrTuple[9] # 增加次数的物品ID DWORD
-    def GetDayResetType(self): return self.attrTuple[10] # 每日次数重置类型; 0-不重置,1-0点,2-5点 BYTE
-    def GetWeekTimes(self): return self.attrTuple[11] # 每周次数, 0为不限制 DWORD
-    def GetWeekResetType(self): return self.attrTuple[12] # 每周次数重置类型; 0-不重置,1-0点,2-5点 BYTE
-
 # 装备评分属性系数表
 class IPY_EquipGSParam():
     
@@ -4032,19 +3964,11 @@
         self.attrTuple = None
         return
         
-    def GetID(self): return self.attrTuple[0] # 成就ID DWORD
-    def GetType(self): return self.attrTuple[1] # 成就类型 WORD
+    def GetSuccID(self): return self.attrTuple[0] # 成就ID DWORD
+    def GetSuccType(self): return self.attrTuple[1] # 成就类型 WORD
     def GetNeedCnt(self): return self.attrTuple[2] # 需要数量 DWORD
     def GetCondition(self): return self.attrTuple[3] # 辅助条件 list
-    def GetPreSuccess(self): return self.attrTuple[4] # 需要达成前置成就 list
-    def GetAwardItem(self): return self.attrTuple[5] # 奖励物品列表 dict
-    def GetAwardItem2(self): return self.attrTuple[6] # 通行证奖励物品列表 dict
-    def GetMoney(self): return self.attrTuple[7] # 金钱 dict
-    def GetExp(self): return self.attrTuple[8] # 经验 DWORD
-    def GetAwardAttr(self): return self.attrTuple[9] # 奖励属性 dict
-    def GetRedPacketID(self): return self.attrTuple[10] # 红包ID DWORD
-    def GetMagicWeaponID(self): return self.attrTuple[11] # 法宝ID DWORD
-    def GetMagicWeaponExp(self): return self.attrTuple[12] # 法宝升级经验 DWORD
+    def GetAwardItemList(self): return self.attrTuple[4] # 奖励物品列表 list
 
 # 通天令等级表
 class IPY_TongTianLV():
@@ -4205,59 +4129,29 @@
     def GetMailKey(self): return self.attrTuple[9] # 活动更新时发送邮件key char
     def GetMailItemPrize(self): return self.attrTuple[10] # 活动更新时发送邮件奖励物品 list
 
-# 任务列表
-class IPY_TaskList():
+# 每日任务表
+class IPY_DailyTask():
     
     def __init__(self):
         self.attrTuple = None
         return
         
-    def GetTaskID(self): return self.attrTuple[0] # 任务ID DWORD
+    def GetTaskID(self): return self.attrTuple[0] # 任务ID WORD
+    def GetTaskType(self): return self.attrTuple[1] # 任务类型 BYTE
+    def GetTaskConds(self): return self.attrTuple[2] # 任务条件[...] list
+    def GetNeedValue(self): return self.attrTuple[3] # 所需任务值 DWORD
+    def GetAwardLiveness(self): return self.attrTuple[4] # 奖励活跃度 BYTE
 
-# 日常任务表
-class IPY_DailyQuest():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetID(self): return self.attrTuple[0] # ID DWORD
-    def GetRelatedType(self): return self.attrTuple[1] # 关联类型 BYTE
-    def GetRelatedID(self): return self.attrTuple[2] # 关联ID DWORD
-    def GetUnLockFuncID(self): return self.attrTuple[3] # 解锁功能ID WORD
-    def GetOnceActivityTime(self): return self.attrTuple[4] # 增加活跃所需次数 BYTE
-    def GetOnceActivity(self): return self.attrTuple[5] # 单次活跃值 BYTE
-    def GetTotalActiveValue(self): return self.attrTuple[6] # 总活跃 WORD
-
-# 日常活跃奖励表
+# 每日活跃奖励表
 class IPY_DailyLivenessReward():
     
     def __init__(self):
         self.attrTuple = None
         return
         
-    def GetID(self): return self.attrTuple[0] # ID BYTE
-    def GetLiveness(self): return self.attrTuple[1] # 所需活跃度 WORD
-    def GetStageLV(self): return self.attrTuple[2] # 阶段等级 list
-    def GetItemID(self): return self.attrTuple[3] # 物品ID list
-    def GetItemCount(self): return self.attrTuple[4] # 物品数量 list
-    def GetItemBind(self): return self.attrTuple[5] # 是否绑定 list
-
-# 日常活跃放置表
-class IPY_ActivityPlaceReward():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetID(self): return self.attrTuple[0] # ID BYTE
-    def GetPlaceCount(self): return self.attrTuple[1] # 放置定制次数 BYTE
-    def GetPlaceMaxLV(self): return self.attrTuple[2] # 最大等级 WORD
-    def GetFixedItemRewardList(self): return self.attrTuple[3] # 固定奖励 [[物品ID, 个数], ...] list
-    def GetRandItemCountA(self): return self.attrTuple[4] # 饼图奖励次数A BYTE
-    def GetRandItemRewardListA(self): return self.attrTuple[5] # 饼图奖励库A [[饼图概率,物品ID], ...]  物品ID支持0 list
-    def GetRandItemCountB(self): return self.attrTuple[6] # 饼图奖励次数B BYTE
-    def GetRandItemRewardListB(self): return self.attrTuple[7] # 饼图奖励库B [[饼图概率,物品ID], ...]  物品ID支持0 list
+    def GetAwardID(self): return self.attrTuple[0] # 奖励ID BYTE
+    def GetNeedLiveness(self): return self.attrTuple[1] # 所需活跃度 WORD
+    def GetAwardItemList(self): return self.attrTuple[2] # 奖励物品列表 [[物品ID,个数], ...] list
 
 # BOSS信息表
 class IPY_BOSSInfo():
@@ -4287,29 +4181,6 @@
     def GetNPCID(self): return self.attrTuple[0] # ID DWORD
     def GetPerPlayerMoneyAward(self): return self.attrTuple[1] #  首杀全服玩家奖励灵石额度/人 WORD
     def GetPersonFirstKillAward(self): return self.attrTuple[2] #  个人首次击杀奖励 [[物品ID,个数,是否拍品], ...] list
-
-# 仙盟红包表
-class IPY_FamilyRedPack():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetID(self): return self.attrTuple[0] # ID WORD
-    def GetGetType(self): return self.attrTuple[1] # 获得途径 WORD
-    def GetMoneyNum(self): return self.attrTuple[2] # 红包额度 WORD
-    def GetMoneyType(self): return self.attrTuple[3] # 金钱类型 BYTE
-    def GetPacketCnt(self): return self.attrTuple[4] # 红包个数 BYTE
-
-# 节日红包每日成就表
-class IPY_ActFeastRedPacketSucc():
-    
-    def __init__(self):
-        self.attrTuple = None
-        return
-        
-    def GetFeastDay(self): return self.attrTuple[0] # 节日第几天 BYTE
-    def GetFeastSuccIDList(self): return self.attrTuple[1] # 节日成就ID列表 list
 
 # NPC秀表
 class IPY_NPCShow():
@@ -4658,7 +4529,8 @@
     def GetGridItemRateList1(self): return self.attrTuple[6] # 常规产出格子编号饼图 [[概率, 格子编号], ...] list
     def GetGridItemRateList2(self): return self.attrTuple[7] # 每满x次保底产出格子编号饼图 [[概率, 格子编号], ...] list
     def GetGridItemRateList3(self): return self.attrTuple[8] # 第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...} dict
-    def GetLuckyItemRateInfo(self): return self.attrTuple[9] # 幸运产出概率饼图 {"幸运值":[[概率, 格子编号], ...], ...} dict
+    def GetGridItemRateList4(self): return self.attrTuple[9] # 第x次x抽必出 list
+    def GetLuckyItemRateInfo(self): return self.attrTuple[10] # 幸运产出概率饼图 {"幸运值":[[概率, 格子编号], ...], ...} dict
 
 # 寻宝物品库
 class IPY_TreasureItemLib():
@@ -6185,6 +6057,20 @@
     def GetEquipColorRateList1(self): return self.attrTuple[4] # 精英产出装备品质概率列表,[0品质万分率, 1品质万分率, ...] list
     def GetEquipColorRateList2(self): return self.attrTuple[5] # boss产出装备品质概率列表,[0品质万分率, 1品质万分率, ...] list
 
+# 历练秘笈
+class IPY_LLMJ():
+    
+    def __init__(self):
+        self.attrTuple = None
+        return
+        
+    def GetMJLV(self): return self.attrTuple[0] # 秘笈等级 BYTE
+    def GetCostWarhammer(self): return self.attrTuple[1] # 消耗战锤 DWORD
+    def GetExpAddPer(self): return self.attrTuple[2] # 经验加成比例,百分比 BYTE
+    def GetExpExUpper(self): return self.attrTuple[3] # 经验加成每日上限 DWORD
+    def GetDecomposeAddPer(self): return self.attrTuple[4] # 分解加成比例,百分比 BYTE
+    def GetDecomposeExUpper(self): return self.attrTuple[5] # 结晶加成每日上限 DWORD
+
 # 淘金营地表
 class IPY_GoldRushCamp():
     
@@ -6378,7 +6264,6 @@
         self.__LoadFileData("FBLine", onlyCheck)
         self.__LoadFileData("Tianzi", onlyCheck)
         self.__LoadFileData("ADAward", onlyCheck)
-        self.__LoadFileData("DailyAction", onlyCheck)
         self.__LoadFileData("EquipGSParam", onlyCheck)
         self.__LoadFileData("Success", onlyCheck)
         self.__LoadFileData("TongTianLV", onlyCheck)
@@ -6391,14 +6276,10 @@
         self.__LoadFileData("VipPrivilege", onlyCheck)
         self.__LoadFileData("Store", onlyCheck)
         self.__LoadFileData("ActSpringSale", onlyCheck)
-        self.__LoadFileData("TaskList", onlyCheck)
-        self.__LoadFileData("DailyQuest", onlyCheck)
+        self.__LoadFileData("DailyTask", onlyCheck)
         self.__LoadFileData("DailyLivenessReward", onlyCheck)
-        self.__LoadFileData("ActivityPlaceReward", onlyCheck)
         self.__LoadFileData("BOSSInfo", onlyCheck)
         self.__LoadFileData("BOSSFirstKill", onlyCheck)
-        self.__LoadFileData("FamilyRedPack", onlyCheck)
-        self.__LoadFileData("ActFeastRedPacketSucc", onlyCheck)
         self.__LoadFileData("NPCShow", onlyCheck)
         self.__LoadFileData("MapRefreshNPC", onlyCheck)
         self.__LoadFileData("RuneCompound", onlyCheck)
@@ -6534,6 +6415,7 @@
         self.__LoadFileData("Xiangong", onlyCheck)
         self.__LoadFileData("TiandaoTree", onlyCheck)
         self.__LoadFileData("TreeLV", onlyCheck)
+        self.__LoadFileData("LLMJ", onlyCheck)
         self.__LoadFileData("GoldRushCamp", onlyCheck)
         self.__LoadFileData("GoldRushWorker", onlyCheck)
         self.__LoadFileData("GoldRushItem", onlyCheck)
@@ -7393,13 +7275,6 @@
         self.CheckLoadData("ADAward")
         return self.ipyADAwardCache[index]
 
-    def GetDailyActionCount(self):
-        self.CheckLoadData("DailyAction")
-        return self.ipyDailyActionLen
-    def GetDailyActionByIndex(self, index):
-        self.CheckLoadData("DailyAction")
-        return self.ipyDailyActionCache[index]
-
     def GetEquipGSParamCount(self):
         self.CheckLoadData("EquipGSParam")
         return self.ipyEquipGSParamLen
@@ -7484,19 +7359,12 @@
         self.CheckLoadData("ActSpringSale")
         return self.ipyActSpringSaleCache[index]
 
-    def GetTaskListCount(self):
-        self.CheckLoadData("TaskList")
-        return self.ipyTaskListLen
-    def GetTaskListByIndex(self, index):
-        self.CheckLoadData("TaskList")
-        return self.ipyTaskListCache[index]
-
-    def GetDailyQuestCount(self):
-        self.CheckLoadData("DailyQuest")
-        return self.ipyDailyQuestLen
-    def GetDailyQuestByIndex(self, index):
-        self.CheckLoadData("DailyQuest")
-        return self.ipyDailyQuestCache[index]
+    def GetDailyTaskCount(self):
+        self.CheckLoadData("DailyTask")
+        return self.ipyDailyTaskLen
+    def GetDailyTaskByIndex(self, index):
+        self.CheckLoadData("DailyTask")
+        return self.ipyDailyTaskCache[index]
 
     def GetDailyLivenessRewardCount(self):
         self.CheckLoadData("DailyLivenessReward")
@@ -7504,13 +7372,6 @@
     def GetDailyLivenessRewardByIndex(self, index):
         self.CheckLoadData("DailyLivenessReward")
         return self.ipyDailyLivenessRewardCache[index]
-
-    def GetActivityPlaceRewardCount(self):
-        self.CheckLoadData("ActivityPlaceReward")
-        return self.ipyActivityPlaceRewardLen
-    def GetActivityPlaceRewardByIndex(self, index):
-        self.CheckLoadData("ActivityPlaceReward")
-        return self.ipyActivityPlaceRewardCache[index]
 
     def GetBOSSInfoCount(self):
         self.CheckLoadData("BOSSInfo")
@@ -7525,20 +7386,6 @@
     def GetBOSSFirstKillByIndex(self, index):
         self.CheckLoadData("BOSSFirstKill")
         return self.ipyBOSSFirstKillCache[index]
-
-    def GetFamilyRedPackCount(self):
-        self.CheckLoadData("FamilyRedPack")
-        return self.ipyFamilyRedPackLen
-    def GetFamilyRedPackByIndex(self, index):
-        self.CheckLoadData("FamilyRedPack")
-        return self.ipyFamilyRedPackCache[index]
-
-    def GetActFeastRedPacketSuccCount(self):
-        self.CheckLoadData("ActFeastRedPacketSucc")
-        return self.ipyActFeastRedPacketSuccLen
-    def GetActFeastRedPacketSuccByIndex(self, index):
-        self.CheckLoadData("ActFeastRedPacketSucc")
-        return self.ipyActFeastRedPacketSuccCache[index]
 
     def GetNPCShowCount(self):
         self.CheckLoadData("NPCShow")
@@ -8485,6 +8332,13 @@
         self.CheckLoadData("TreeLV")
         return self.ipyTreeLVCache[index]
 
+    def GetLLMJCount(self):
+        self.CheckLoadData("LLMJ")
+        return self.ipyLLMJLen
+    def GetLLMJByIndex(self, index):
+        self.CheckLoadData("LLMJ")
+        return self.ipyLLMJCache[index]
+
     def GetGoldRushCampCount(self):
         self.CheckLoadData("GoldRushCamp")
         return self.ipyGoldRushCampLen

--
Gitblit v1.8.0