From 2417ef936a8a12b8528a1216a6f9233e2beb8aa6 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 14 一月 2019 17:02:07 +0800
Subject: [PATCH] 5722 【后端】【1.5】跨服BOSS开发(增加封包C1 06 跨服NPC对话 #tagCMCrossNPCTalk)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |  639 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 619 insertions(+), 20 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 329abfb..75ecfe1 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -85,7 +85,9 @@
 
                 "ItemCompound":(
                         ("WORD", "ID", 1),
+                        ("BYTE", "ComposeGroup", 0),
                         ("list", "MakeID", 0),
+                        ("BYTE", "IsFirstSuccMakeJobItem", 0),
                         ("list", "UnfixedItemID", 0),
                         ("BYTE", "UnfixedItemCount", 0),
                         ("list", "FixedItemID", 0),
@@ -93,6 +95,7 @@
                         ("DWORD", "NeedMoney", 0),
                         ("WORD", "SuccessRate", 0),
                         ("WORD", "SuccessRateMax", 0),
+                        ("list", "SuccessRateIncrease", 0),
                         ("BYTE", "AddonsCountMax", 0),
                         ("char", "SysMark", 0),
                         ("BYTE", "SysMarkParamType", 0),
@@ -148,6 +151,7 @@
                 "Rune":(
                         ("DWORD", "ID", 1),
                         ("list", "AttrType", 0),
+                        ("DWORD", "TowerID", 0),
                         ),
 
                 "EquipWash":(
@@ -185,6 +189,7 @@
                         ("BYTE", "FuncID", 0),
                         ("WORD", "MaxUseCnt", 0),
                         ("WORD", "RecycleMoney", 0),
+                        ("DWORD", "FightPowerEx", 0),
                         ),
 
                 "PetInfo":(
@@ -276,6 +281,7 @@
                         ("DWORD", "RePotionCD", 0),
                         ("DWORD", "AttackEff", 0),
                         ("DWORD", "ReFightPower", 0),
+                        ("DWORD", "IceLodeFightPower", 0),
                         ),
 
                 "GMAttr":(
@@ -292,6 +298,7 @@
                 "NPCStrengthen":(
                         ("DWORD", "NPCID", 1),
                         ("BYTE", "IsStrengthenByPlayerCount", 0),
+                        ("BYTE", "LVStrengthenMark", 0),
                         ("BYTE", "LVStrengthenType", 0),
                         ("BYTE", "CmpNPCBaseLV", 0),
                         ("DWORD", "HitTime", 0),
@@ -377,6 +384,8 @@
                         ("DWORD", "CftAtkSpeed", 0),
                         ("DWORD", "CftLuckyHit", 0),
                         ("DWORD", "CftSpeedPer", 0),
+                        ("DWORD", "CftAtkPer", 0),
+                        ("DWORD", "CftMaxHPPer", 0),
                         ),
 
                 "NPCDropItem":(
@@ -431,7 +440,9 @@
                         ("DWORD", "ExtraTimesMWPriID", 0),
                         ("BYTE", "GuardPick", 0),
                         ("WORD", "OfflineTime", 0),
+                        ("WORD", "FBPoint", 0),
                         ("WORD", "HelpPoint", 0),
+                        ("BYTE", "DayHelpCountMax", 0),
                         ),
 
                 "FBLine":(
@@ -452,6 +463,17 @@
                         ("eval", "RefreshNPC", 0),
                         ("eval", "GradeInfo", 0),
                         ("eval", "RewardInfo", 0),
+                        ),
+
+                "FBHelpBattle":(
+                        ("DWORD", "DataMapID", 1),
+                        ("BYTE", "LineID", 1),
+                        ("DWORD", "FightPowerMin", 0),
+                        ("DWORD", "RobotFightPower", 0),
+                        ("WORD", "RobotLV", 0),
+                        ("DWORD", "RobotBaseHurt", 0),
+                        ("WORD", "RobotHPCoefficient", 0),
+                        ("dict", "RobotSkillsDict", 0),
                         ),
 
                 "NPCCustomRefresh":(
@@ -540,6 +562,7 @@
                         ("DWORD", "ActiveMWID", 0),
                         ("list", "ItemAward", 0),
                         ("DWORD", "ActiveSoulID", 0),
+                        ("DWORD", "PowerEx", 0),
                         ),
 
                 "TreasurePrivilege":(
@@ -782,6 +805,16 @@
                         ("dict", "JadeReward", 0),
                         ("DWORD", "CostCopper", 0),
                         ("dict", "CopperReward", 0),
+                        ("list", "JobItemList", 0),
+                        ),
+
+                "CollectNPC":(
+                        ("DWORD", "NPCID", 1),
+                        ("BYTE", "PrepareTime", 0),
+                        ("list", "LostHPPer", 0),
+                        ("BYTE", "CollectCount", 0),
+                        ("char", "CollectCountLimitNotify", 0),
+                        ("list", "CollectAward", 0),
                         ),
 
                 "Chests":(
@@ -864,6 +897,7 @@
                         ("WORD", "GainGoldPrize", 0),
                         ("WORD", "FirstGoldPrize", 0),
                         ("list", "GainItemList", 0),
+                        ("char", "NotifyMark", 0),
                         ),
 
                 "LVAward":(
@@ -982,6 +1016,7 @@
                         ("DWORD", "CfgID", 1),
                         ("WORD", "Multiple", 0),
                         ("WORD", "LVLimit", 0),
+                        ("DWORD", "PointLimit", 0),
                         ),
 
                 "TrialExchange":(
@@ -1053,6 +1088,139 @@
                         ("BYTE", "IsBind", 0),
                         ("DWORD", "Weight", 0),
                         ("DWORD", "Mark", 0),
+                        ("BYTE", "Rare", 0),
+                        ),
+
+                "FunctionForecast":(
+                        ("DWORD", "FuncID", 1),
+                        ("dict", "Award", 0),
+                        ),
+
+                "ChatBubbleBox":(
+                        ("BYTE", "BoxID", 1),
+                        ("WORD", "NeedLV", 0),
+                        ("BYTE", "NeedVIPLVGift", 0),
+                        ),
+
+                "ActTotalRecharge":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("WORD", "LVLimit", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("list", "TemplateIDList", 0),
+                        ),
+
+                "TotalRechargeTemplate":(
+                        ("DWORD", "TemplateID", 1),
+                        ("DWORD", "NeedGold", 0),
+                        ("BYTE", "AwardIndex", 0),
+                        ("dict", "AwardItem", 0),
+                        ("char", "NotifyKey", 0),
+                        ),
+
+                "MagicWeaponFB":(
+                        ("DWORD", "MWID", 1),
+                        ("BYTE", "LineID", 0),
+                        ("BYTE", "Level", 1),
+                        ("list", "RefreshNPC", 0),
+                        ("dict", "AttrDict", 0),
+                        ),
+
+                "IceLodeStarAward":(
+                        ("BYTE", "Index", 1),
+                        ("BYTE", "Star", 0),
+                        ("list", "LVLimit", 0),
+                        ("list", "ItemList", 0),
+                        ),
+
+                "GodWeaponEffect":(
+                        ("BYTE", "GWType", 0),
+                        ("WORD", "Level", 0),
+                        ("char", "NotifyCode", 0),
+                        ("DWORD", "FightPower", 0),
+                        ("dict", "Attr", 0),
+                        ),
+
+                "CrossRealmPKDan":(
+                        ("BYTE", "DanLV", 1),
+                        ("list", "DanLVAwardList", 0),
+                        ("list", "SeasonDanLVAwardList", 0),
+                        ),
+
+                "CrossPenglaiZone":(
+                        ("BYTE", "ZoneID", 0),
+                        ("list", "ServerGroupIDList", 0),
+                        ("DWORD", "MapID", 1),
+                        ("DWORD", "DataMapID", 1),
+                        ("BYTE", "CopyMapID", 1),
+                        ("WORD", "PosX", 0),
+                        ("WORD", "PosY", 0),
+                        ),
+
+                "GatherSoul":(
+                        ("DWORD", "ItemID", 1),
+                        ("list", "AttrType", 0),
+                        ("BYTE", "SoulGrade", 0),
+                        ),
+
+                "GatherSoulCompound":(
+                        ("DWORD", "TagItemID", 1),
+                        ("WORD", "NeedLV", 0),
+                        ("list", "NeedItem", 0),
+                        ("WORD", "NeedSoulSplinters", 0),
+                        ("WORD", "NeedSoulCore", 0),
+                        ),
+
+                "GatherSoulAttr":(
+                        ("WORD", "AttrType", 1),
+                        ("char", "AttrInfo1", 0),
+                        ("dict", "AttrInfo2", 0),
+                        ("dict", "AttrInfo3", 0),
+                        ("dict", "AttrInfo4", 0),
+                        ("dict", "AttrInfo5", 0),
+                        ),
+
+                "MagicWeaponOfKing":(
+                        ("DWORD", "MWID", 1),
+                        ("BYTE", "AwardMark", 1),
+                        ("dict", "AddAttr", 0),
+                        ),
+
+                "Coat":(
+                        ("DWORD", "CoatID", 1),
+                        ("list", "EquipItemID", 0),
+                        ("DWORD", "UnlockItemID", 0),
+                        ("DWORD", "MaxLV", 0),
+                        ("list", "CostItemCnt", 0),
+                        ("dict", "StarAttr", 0),
+                        ),
+
+                "CoatChestUp":(
+                        ("DWORD", "LV", 1),
+                        ("BYTE", "NeedExp", 0),
+                        ("dict", "AddAttr", 0),
+                        ),
+
+                "ActWeekParty":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("WORD", "AdvanceMinutes", 0),
+                        ("BYTE", "IsDayReset", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("WORD", "LVLimit", 0),
+                        ("list", "TemplateID", 0),
+                        ("dict", "PointAward", 0),
+                        ),
+
+                "WeekParty":(
+                        ("BYTE", "TemplateID", 1),
+                        ("BYTE", "ActionType", 0),
+                        ("DWORD", "TotalTimes", 0),
+                        ("WORD", "SingleTimes", 0),
+                        ("list", "Reward", 0),
+                        ("WORD", "Point", 0),
                         ),
                 }
 
@@ -1169,7 +1337,9 @@
     
     def __init__(self):
         self.ID = 0
+        self.ComposeGroup = 0
         self.MakeID = []
+        self.IsFirstSuccMakeJobItem = 0
         self.UnfixedItemID = []
         self.UnfixedItemCount = 0
         self.FixedItemID = []
@@ -1177,13 +1347,16 @@
         self.NeedMoney = 0
         self.SuccessRate = 0
         self.SuccessRateMax = 0
+        self.SuccessRateIncrease = []
         self.AddonsCountMax = 0
         self.SysMark = ""
         self.SysMarkParamType = 0
         return
         
     def GetID(self): return self.ID # 合成配置编号ID
+    def GetComposeGroup(self): return self.ComposeGroup # 合成归组类型
     def GetMakeID(self): return self.MakeID # 可合成的道具ID,多个则随机一个
+    def GetIsFirstSuccMakeJobItem(self): return self.IsFirstSuccMakeJobItem # 首次成功是否必出本职业
     def GetUnfixedItemID(self): return self.UnfixedItemID # 不固定道具ID, 多个ID时则任意一种均可
     def GetUnfixedItemCount(self): return self.UnfixedItemCount # 不固定道具消耗数量
     def GetFixedItemID(self): return self.FixedItemID # 消耗固定道具ID, 多个ID时代表每个ID均需消耗
@@ -1191,6 +1364,7 @@
     def GetNeedMoney(self): return self.NeedMoney #  消耗铜钱
     def GetSuccessRate(self): return self.SuccessRate #  成功率万分率
     def GetSuccessRateMax(self): return self.SuccessRateMax #  最大成功率万分率
+    def GetSuccessRateIncrease(self): return self.SuccessRateIncrease # 提高成功率道具, 道具ID|个数|提高的概率
     def GetAddonsCountMax(self): return self.AddonsCountMax # 最大可附加材料数, 增加概率用, 非必须, 0代表不可附加材料
     def GetSysMark(self): return self.SysMark # 提示mark
     def GetSysMarkParamType(self): return self.SysMarkParamType # 系统提示参数组合类型
@@ -1300,11 +1474,13 @@
     
     def __init__(self):
         self.ID = 0
-        self.AttrType = []
+        self.AttrType = []
+        self.TowerID = 0
         return
         
     def GetID(self): return self.ID # 编号ID
-    def GetAttrType(self): return self.AttrType # 全身强化激活属性类型
+    def GetAttrType(self): return self.AttrType # 属性类型
+    def GetTowerID(self): return self.TowerID # 解锁符印塔编号
 
 # 洗练表
 class IPY_EquipWash():
@@ -1375,13 +1551,15 @@
         self.ID = 0
         self.FuncID = 0
         self.MaxUseCnt = 0
-        self.RecycleMoney = 0
+        self.RecycleMoney = 0
+        self.FightPowerEx = 0
         return
         
     def GetID(self): return self.ID # 物品ID
     def GetFuncID(self): return self.FuncID # 所属功能ID
     def GetMaxUseCnt(self): return self.MaxUseCnt # 最大可使用数量
-    def GetRecycleMoney(self): return self.RecycleMoney # 回收货币值
+    def GetRecycleMoney(self): return self.RecycleMoney # 回收货币值
+    def GetFightPowerEx(self): return self.FightPowerEx # 附加战斗力
 
 # 灵兽表
 class IPY_PetInfo():
@@ -1539,7 +1717,8 @@
         self.RePotionReply = 0
         self.RePotionCD = 0
         self.AttackEff = 0
-        self.ReFightPower = 0
+        self.ReFightPower = 0
+        self.IceLodeFightPower = 0
         return
         
     def GetLV(self): return self.LV # 玩家等级
@@ -1570,7 +1749,8 @@
     def GetRePotionReply(self): return self.RePotionReply # 血瓶恢复量
     def GetRePotionCD(self): return self.RePotionCD # 血瓶CD
     def GetAttackEff(self): return self.AttackEff # 挂机效率
-    def GetReFightPower(self): return self.ReFightPower # 战斗力
+    def GetReFightPower(self): return self.ReFightPower # 战斗力
+    def GetIceLodeFightPower(self): return self.IceLodeFightPower # 冰晶矿脉扫荡战斗力
 
 # GM测试属性表
 class IPY_GMAttr():
@@ -1601,6 +1781,7 @@
     def __init__(self):
         self.NPCID = 0
         self.IsStrengthenByPlayerCount = 0
+        self.LVStrengthenMark = 0
         self.LVStrengthenType = 0
         self.CmpNPCBaseLV = 0
         self.HitTime = 0
@@ -1619,6 +1800,7 @@
         
     def GetNPCID(self): return self.NPCID # NPCID
     def GetIsStrengthenByPlayerCount(self): return self.IsStrengthenByPlayerCount # 是否根据人数成长
+    def GetLVStrengthenMark(self): return self.LVStrengthenMark # 等级成长属性公式标记
     def GetLVStrengthenType(self): return self.LVStrengthenType # 等级成长类型, 0-不按等级成长;1-按玩家平均等级;2-按玩家最大等级;3-按世界等级;
     def GetCmpNPCBaseLV(self): return self.CmpNPCBaseLV # 是否比较NPC表等级, 是的话取NPC表配置等级与成长等级中较大等级
     def GetHitTime(self): return self.HitTime # 受击次数
@@ -1757,7 +1939,9 @@
         self.CftFaintDefRate = 0
         self.CftAtkSpeed = 0
         self.CftLuckyHit = 0
-        self.CftSpeedPer = 0
+        self.CftSpeedPer = 0
+        self.CftAtkPer = 0
+        self.CftMaxHPPer = 0
         return
         
     def GetLV(self): return self.LV # 等级
@@ -1780,7 +1964,9 @@
     def GetCftFaintDefRate(self): return self.CftFaintDefRate # 控制抵抗系数
     def GetCftAtkSpeed(self): return self.CftAtkSpeed # 攻速系数
     def GetCftLuckyHit(self): return self.CftLuckyHit # 会心一击系数
-    def GetCftSpeedPer(self): return self.CftSpeedPer # 移动速度百分比系数
+    def GetCftSpeedPer(self): return self.CftSpeedPer # 移动速度百分比系数
+    def GetCftAtkPer(self): return self.CftAtkPer # 攻击百分比系数
+    def GetCftMaxHPPer(self): return self.CftMaxHPPer # 生命百分比系数
 
 # NPC掉落表
 class IPY_NPCDropItem():
@@ -1879,7 +2065,9 @@
         self.ExtraTimesMWPriID = 0
         self.GuardPick = 0
         self.OfflineTime = 0
-        self.HelpPoint = 0
+        self.FBPoint = 0
+        self.HelpPoint = 0
+        self.DayHelpCountMax = 0
         return
         
     def GetDataMapID(self): return self.DataMapID # 数据地图ID
@@ -1893,7 +2081,9 @@
     def GetExtraTimesMWPriID(self): return self.ExtraTimesMWPriID # 额外次数法宝权限ID
     def GetGuardPick(self): return self.GuardPick # 该地图守护是否能拾取
     def GetOfflineTime(self): return self.OfflineTime # 离线多久退出副本(秒)
-    def GetHelpPoint(self): return self.HelpPoint # 助战积分(0代表不可助战)
+    def GetFBPoint(self): return self.FBPoint # 副本过关仙缘币
+    def GetHelpPoint(self): return self.HelpPoint # 助战仙缘币(0代表不可助战)
+    def GetDayHelpCountMax(self): return self.DayHelpCountMax # 每日手动助战获得仙缘币次数(非镜像)
 
 # 副本功能线路表
 class IPY_FBLine():
@@ -1935,6 +2125,29 @@
     def GetRefreshNPC(self): return self.RefreshNPC # 标试点刷怪配置
     def GetGradeInfo(self): return self.GradeInfo # 评级规则
     def GetRewardInfo(self): return self.RewardInfo # 奖励信息
+
+# 副本助战表
+class IPY_FBHelpBattle():
+    
+    def __init__(self):
+        self.DataMapID = 0
+        self.LineID = 0
+        self.FightPowerMin = 0
+        self.RobotFightPower = 0
+        self.RobotLV = 0
+        self.RobotBaseHurt = 0
+        self.RobotHPCoefficient = 0
+        self.RobotSkillsDict = {}
+        return
+        
+    def GetDataMapID(self): return self.DataMapID # 数据地图ID
+    def GetLineID(self): return self.LineID # 功能线路ID
+    def GetFightPowerMin(self): return self.FightPowerMin # 助战最低战力,也是副本保底战力
+    def GetRobotFightPower(self): return self.RobotFightPower # 助战NPC战力
+    def GetRobotLV(self): return self.RobotLV # 助战NPC等级
+    def GetRobotBaseHurt(self): return self.RobotBaseHurt # 助战NPC保底伤害
+    def GetRobotHPCoefficient(self): return self.RobotHPCoefficient # 助战NPC生命系数
+    def GetRobotSkillsDict(self): return self.RobotSkillsDict # 助战NPC技能, {"职业":[技能列表], ...}
 
 # 副本刷怪标识点表
 class IPY_NPCCustomRefresh():
@@ -2106,7 +2319,8 @@
         self.UnLockSkill = []
         self.ActiveMWID = 0
         self.ItemAward = []
-        self.ActiveSoulID = 0
+        self.ActiveSoulID = 0
+        self.PowerEx = 0
         return
         
     def GetMWID(self): return self.MWID # 法宝ID
@@ -2116,7 +2330,8 @@
     def GetUnLockSkill(self): return self.UnLockSkill # 解锁的技能
     def GetActiveMWID(self): return self.ActiveMWID # 激活法宝ID
     def GetItemAward(self): return self.ItemAward # 物品奖励[itemID,cnt,isbind]
-    def GetActiveSoulID(self): return self.ActiveSoulID # 激活魂ID
+    def GetActiveSoulID(self): return self.ActiveSoulID # 激活魂ID
+    def GetPowerEx(self): return self.PowerEx # 额外固定战力
 
 # 法宝特权表
 class IPY_TreasurePrivilege():
@@ -2615,7 +2830,8 @@
         self.VipCostJade = 0
         self.JadeReward = {}
         self.CostCopper = 0
-        self.CopperReward = {}
+        self.CopperReward = {}
+        self.JobItemList = []
         return
         
     def GetID(self): return self.ID # ID
@@ -2625,7 +2841,27 @@
     def GetVipCostJade(self): return self.VipCostJade # 绑玉找回VIP次数找回价格
     def GetJadeReward(self): return self.JadeReward # 绑玉找回奖励
     def GetCostCopper(self): return self.CostCopper # 铜钱找回铜钱消耗
-    def GetCopperReward(self): return self.CopperReward # 铜钱找回奖励
+    def GetCopperReward(self): return self.CopperReward # 铜钱找回奖励
+    def GetJobItemList(self): return self.JobItemList # 职业物品列表
+
+# 采集物表
+class IPY_CollectNPC():
+    
+    def __init__(self):
+        self.NPCID = 0
+        self.PrepareTime = 0
+        self.LostHPPer = []
+        self.CollectCount = 0
+        self.CollectCountLimitNotify = ""
+        self.CollectAward = []
+        return
+        
+    def GetNPCID(self): return self.NPCID # ID
+    def GetPrepareTime(self): return self.PrepareTime # 采集耗时,秒
+    def GetLostHPPer(self): return self.LostHPPer # 采集掉血,[每X秒,掉血百分比]
+    def GetCollectCount(self): return self.CollectCount # 每日可采集次数,0限制
+    def GetCollectCountLimitNotify(self): return self.CollectCountLimitNotify # 无采集次数采集提示
+    def GetCollectAward(self): return self.CollectAward # 采集奖励物品, [物品ID,个数,是否绑定]
 
 # 宝箱表开启
 class IPY_Chests():
@@ -2791,7 +3027,8 @@
         self.GainGold = 0
         self.GainGoldPrize = 0
         self.FirstGoldPrize = 0
-        self.GainItemList = []
+        self.GainItemList = []
+        self.NotifyMark = ""
         return
         
     def GetRecordID(self): return self.RecordID # 记录ID
@@ -2799,7 +3036,8 @@
     def GetGainGold(self): return self.GainGold # 获得仙玉数
     def GetGainGoldPrize(self): return self.GainGoldPrize # 赠送仙玉数
     def GetFirstGoldPrize(self): return self.FirstGoldPrize # 首次充值该档位赠送仙玉
-    def GetGainItemList(self): return self.GainItemList # 获得物品列表[[物品ID,个数,是否绑定], ...]
+    def GetGainItemList(self): return self.GainItemList # 获得物品列表[[物品ID,个数,是否绑定], ...]
+    def GetNotifyMark(self): return self.NotifyMark # 广播提示
 
 # 等级奖励表
 class IPY_LVAward():
@@ -3043,12 +3281,14 @@
     def __init__(self):
         self.CfgID = 0
         self.Multiple = 0
-        self.LVLimit = 0
+        self.LVLimit = 0
+        self.PointLimit = 0
         return
         
     def GetCfgID(self): return self.CfgID # 配置ID
     def GetMultiple(self): return self.Multiple # 倍数
-    def GetLVLimit(self): return self.LVLimit # 限制等级
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+    def GetPointLimit(self): return self.PointLimit # 限制额外修行点
 
 # 宗门试炼兑换表
 class IPY_TrialExchange():
@@ -3188,7 +3428,8 @@
         self.ItemCnt = 0
         self.IsBind = 0
         self.Weight = 0
-        self.Mark = 0
+        self.Mark = 0
+        self.Rare = 0
         return
         
     def GetTemplateID(self): return self.TemplateID # 模板ID
@@ -3198,7 +3439,289 @@
     def GetItemCnt(self): return self.ItemCnt # 物品数量
     def GetIsBind(self): return self.IsBind # 是否绑定
     def GetWeight(self): return self.Weight # 权重
-    def GetMark(self): return self.Mark # 排序用标识
+    def GetMark(self): return self.Mark # 排序用标识
+    def GetRare(self): return self.Rare # 珍稀值
+
+# 功能预告表
+class IPY_FunctionForecast():
+    
+    def __init__(self):
+        self.FuncID = 0
+        self.Award = {}
+        return
+        
+    def GetFuncID(self): return self.FuncID # 功能ID
+    def GetAward(self): return self.Award # 属性类型
+
+# 聊天气泡表
+class IPY_ChatBubbleBox():
+    
+    def __init__(self):
+        self.BoxID = 0
+        self.NeedLV = 0
+        self.NeedVIPLVGift = 0
+        return
+        
+    def GetBoxID(self): return self.BoxID # 气泡框ID
+    def GetNeedLV(self): return self.NeedLV # 所需等级
+    def GetNeedVIPLVGift(self): return self.NeedVIPLVGift # 所需购买VIP等级礼包
+
+# 累计充值活动表
+class IPY_ActTotalRecharge():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.StartDate = ""
+        self.EndDate = ""
+        self.LVLimit = 0
+        self.IsDayReset = 0
+        self.TemplateIDList = []
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetStartDate(self): return self.StartDate # 开启日期
+    def GetEndDate(self): return self.EndDate # 结束日期
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+    def GetTemplateIDList(self): return self.TemplateIDList # 模板ID列表
+
+# 累计充值模板表
+class IPY_TotalRechargeTemplate():
+    
+    def __init__(self):
+        self.TemplateID = 0
+        self.NeedGold = 0
+        self.AwardIndex = 0
+        self.AwardItem = {}
+        self.NotifyKey = ""
+        return
+        
+    def GetTemplateID(self): return self.TemplateID # 模板ID
+    def GetNeedGold(self): return self.NeedGold # 需要充值仙玉数
+    def GetAwardIndex(self): return self.AwardIndex # 返利奖励索引0~31,同个模板中不重复
+    def GetAwardItem(self): return self.AwardItem # 返利物品信息列表 {职业:[(物品ID,个数,是否绑定),...]}
+    def GetNotifyKey(self): return self.NotifyKey # 全服广播key,默认两个参数(玩家名, 档位额度)
+
+# 法宝副本表
+class IPY_MagicWeaponFB():
+    
+    def __init__(self):
+        self.MWID = 0
+        self.LineID = 0
+        self.Level = 0
+        self.RefreshNPC = []
+        self.AttrDict = {}
+        return
+        
+    def GetMWID(self): return self.MWID # 法宝ID
+    def GetLineID(self): return self.LineID # 副本功能线路ID
+    def GetLevel(self): return self.Level # 关卡
+    def GetRefreshNPC(self): return self.RefreshNPC # 刷怪配置
+    def GetAttrDict(self): return self.AttrDict # 属性
+
+# 冰晶矿脉星级奖励表
+class IPY_IceLodeStarAward():
+    
+    def __init__(self):
+        self.Index = 0
+        self.Star = 0
+        self.LVLimit = []
+        self.ItemList = []
+        return
+        
+    def GetIndex(self): return self.Index # 奖励索引
+    def GetStar(self): return self.Star # 星数
+    def GetLVLimit(self): return self.LVLimit # 等级范围
+    def GetItemList(self): return self.ItemList # 奖励
+
+# 神兵特效表
+class IPY_GodWeaponEffect():
+    
+    def __init__(self):
+        self.GWType = 0
+        self.Level = 0
+        self.NotifyCode = ""
+        self.FightPower = 0
+        self.Attr = {}
+        return
+        
+    def GetGWType(self): return self.GWType # 神兵类型
+    def GetLevel(self): return self.Level # 神兵等级
+    def GetNotifyCode(self): return self.NotifyCode # 广播
+    def GetFightPower(self): return self.FightPower # 增加战力
+    def GetAttr(self): return self.Attr # 属性加成
+
+# 跨服竞技场段位表
+class IPY_CrossRealmPKDan():
+    
+    def __init__(self):
+        self.DanLV = 0
+        self.DanLVAwardList = []
+        self.SeasonDanLVAwardList = []
+        return
+        
+    def GetDanLV(self): return self.DanLV # 段位等级
+    def GetDanLVAwardList(self): return self.DanLVAwardList # 段位达标奖励物品列表
+    def GetSeasonDanLVAwardList(self): return self.SeasonDanLVAwardList # 赛季段位奖励物品列表
+
+# 跨服Boss蓬莱仙境分区表
+class IPY_CrossPenglaiZone():
+    
+    def __init__(self):
+        self.ZoneID = 0
+        self.ServerGroupIDList = []
+        self.MapID = 0
+        self.DataMapID = 0
+        self.CopyMapID = 0
+        self.PosX = 0
+        self.PosY = 0
+        return
+        
+    def GetZoneID(self): return self.ZoneID # 分区ID
+    def GetServerGroupIDList(self): return self.ServerGroupIDList # 服务器组ID列表
+    def GetMapID(self): return self.MapID # 场景地图ID
+    def GetDataMapID(self): return self.DataMapID # 数据地图ID
+    def GetCopyMapID(self): return self.CopyMapID # 虚拟线路ID
+    def GetPosX(self): return self.PosX # 坐标X
+    def GetPosY(self): return self.PosY # 坐标Y
+
+# 聚魂表
+class IPY_GatherSoul():
+    
+    def __init__(self):
+        self.ItemID = 0
+        self.AttrType = []
+        self.SoulGrade = 0
+        return
+        
+    def GetItemID(self): return self.ItemID # 物品ID
+    def GetAttrType(self): return self.AttrType # 属性类型
+    def GetSoulGrade(self): return self.SoulGrade # 魂阶段
+
+# 聚魂合成表
+class IPY_GatherSoulCompound():
+    
+    def __init__(self):
+        self.TagItemID = 0
+        self.NeedLV = 0
+        self.NeedItem = []
+        self.NeedSoulSplinters = 0
+        self.NeedSoulCore = 0
+        return
+        
+    def GetTagItemID(self): return self.TagItemID # 合成的物品ID
+    def GetNeedLV(self): return self.NeedLV # 需要的玩家等级
+    def GetNeedItem(self): return self.NeedItem # 需要的物品ID
+    def GetNeedSoulSplinters(self): return self.NeedSoulSplinters # 需要的聚魂碎片
+    def GetNeedSoulCore(self): return self.NeedSoulCore # 需要的核心环
+
+# 聚魂属性表
+class IPY_GatherSoulAttr():
+    
+    def __init__(self):
+        self.AttrType = 0
+        self.AttrInfo1 = ""
+        self.AttrInfo2 = {}
+        self.AttrInfo3 = {}
+        self.AttrInfo4 = {}
+        self.AttrInfo5 = {}
+        return
+        
+    def GetAttrType(self): return self.AttrType # 属性类型
+    def GetAttrInfo1(self): return self.AttrInfo1 # 基础属性-参数聚魂等级level
+    def GetAttrInfo2(self): return self.AttrInfo2 # 品质系数(品质_系数|…)
+    def GetAttrInfo3(self): return self.AttrInfo3 # 多属性系数
+    def GetAttrInfo4(self): return self.AttrInfo4 # 初始属性(品质_属性值|…)
+    def GetAttrInfo5(self): return self.AttrInfo5 # 阶段系数
+
+# 王者法宝表
+class IPY_MagicWeaponOfKing():
+    
+    def __init__(self):
+        self.MWID = 0
+        self.AwardMark = 0
+        self.AddAttr = {}
+        return
+        
+    def GetMWID(self): return self.MWID # 法宝ID
+    def GetAwardMark(self): return self.AwardMark # 赛季奖励等级
+    def GetAddAttr(self): return self.AddAttr # 属性
+
+# 时装表
+class IPY_Coat():
+    
+    def __init__(self):
+        self.CoatID = 0
+        self.EquipItemID = []
+        self.UnlockItemID = 0
+        self.MaxLV = 0
+        self.CostItemCnt = []
+        self.StarAttr = {}
+        return
+        
+    def GetCoatID(self): return self.CoatID # 时装编号
+    def GetEquipItemID(self): return self.EquipItemID # 装备物品ID(按职业顺序)
+    def GetUnlockItemID(self): return self.UnlockItemID # 材料物品ID
+    def GetMaxLV(self): return self.MaxLV # 最大星级
+    def GetCostItemCnt(self): return self.CostItemCnt # 材料数量
+    def GetStarAttr(self): return self.StarAttr # 属性
+
+# 时装柜升级表
+class IPY_CoatChestUp():
+    
+    def __init__(self):
+        self.LV = 0
+        self.NeedExp = 0
+        self.AddAttr = {}
+        return
+        
+    def GetLV(self): return self.LV # 等级
+    def GetNeedExp(self): return self.NeedExp # 升级所需经验
+    def GetAddAttr(self): return self.AddAttr # 属性
+
+# 周狂欢活动时间表
+class IPY_ActWeekParty():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.StartDate = ""
+        self.EndDate = ""
+        self.AdvanceMinutes = 0
+        self.IsDayReset = 0
+        self.ResetType = 0
+        self.LVLimit = 0
+        self.TemplateID = []
+        self.PointAward = {}
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetStartDate(self): return self.StartDate # 开启日期
+    def GetEndDate(self): return self.EndDate # 结束日期
+    def GetAdvanceMinutes(self): return self.AdvanceMinutes # 前端提前X分钟展示活动
+    def GetIsDayReset(self): return self.IsDayReset # 是否每天重置
+    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+    def GetTemplateID(self): return self.TemplateID # 模板编号
+    def GetPointAward(self): return self.PointAward # 总积分奖励
+
+# 周狂欢表
+class IPY_WeekParty():
+    
+    def __init__(self):
+        self.TemplateID = 0
+        self.ActionType = 0
+        self.TotalTimes = 0
+        self.SingleTimes = 0
+        self.Reward = []
+        self.Point = 0
+        return
+        
+    def GetTemplateID(self): return self.TemplateID # 模板ID
+    def GetActionType(self): return self.ActionType # 活动条目ID
+    def GetTotalTimes(self): return self.TotalTimes # 可完成的总次数,0表示不限次数
+    def GetSingleTimes(self): return self.SingleTimes # 单次领奖需要的次数
+    def GetReward(self): return self.Reward # 奖励物品
+    def GetPoint(self): return self.Point # 积分
 
 
 def Log(msg, playerID=0, par=0):
@@ -3294,6 +3817,8 @@
         self.ipyFBFuncLen = len(self.ipyFBFuncCache)
         self.ipyFBLineCache = self.__LoadFileData("FBLine", IPY_FBLine)
         self.ipyFBLineLen = len(self.ipyFBLineCache)
+        self.ipyFBHelpBattleCache = self.__LoadFileData("FBHelpBattle", IPY_FBHelpBattle)
+        self.ipyFBHelpBattleLen = len(self.ipyFBHelpBattleCache)
         self.ipyNPCCustomRefreshCache = self.__LoadFileData("NPCCustomRefresh", IPY_NPCCustomRefresh)
         self.ipyNPCCustomRefreshLen = len(self.ipyNPCCustomRefreshCache)
         self.ipyDailyActionCache = self.__LoadFileData("DailyAction", IPY_DailyAction)
@@ -3356,6 +3881,8 @@
         self.ipyRuneCompoundLen = len(self.ipyRuneCompoundCache)
         self.ipyResourcesBackCache = self.__LoadFileData("ResourcesBack", IPY_ResourcesBack)
         self.ipyResourcesBackLen = len(self.ipyResourcesBackCache)
+        self.ipyCollectNPCCache = self.__LoadFileData("CollectNPC", IPY_CollectNPC)
+        self.ipyCollectNPCLen = len(self.ipyCollectNPCCache)
         self.ipyChestsCache = self.__LoadFileData("Chests", IPY_Chests)
         self.ipyChestsLen = len(self.ipyChestsCache)
         self.ipyChestsAwardCache = self.__LoadFileData("ChestsAward", IPY_ChestsAward)
@@ -3418,6 +3945,40 @@
         self.ipyActWishingWellLen = len(self.ipyActWishingWellCache)
         self.ipyWishingWellCache = self.__LoadFileData("WishingWell", IPY_WishingWell)
         self.ipyWishingWellLen = len(self.ipyWishingWellCache)
+        self.ipyFunctionForecastCache = self.__LoadFileData("FunctionForecast", IPY_FunctionForecast)
+        self.ipyFunctionForecastLen = len(self.ipyFunctionForecastCache)
+        self.ipyChatBubbleBoxCache = self.__LoadFileData("ChatBubbleBox", IPY_ChatBubbleBox)
+        self.ipyChatBubbleBoxLen = len(self.ipyChatBubbleBoxCache)
+        self.ipyActTotalRechargeCache = self.__LoadFileData("ActTotalRecharge", IPY_ActTotalRecharge)
+        self.ipyActTotalRechargeLen = len(self.ipyActTotalRechargeCache)
+        self.ipyTotalRechargeTemplateCache = self.__LoadFileData("TotalRechargeTemplate", IPY_TotalRechargeTemplate)
+        self.ipyTotalRechargeTemplateLen = len(self.ipyTotalRechargeTemplateCache)
+        self.ipyMagicWeaponFBCache = self.__LoadFileData("MagicWeaponFB", IPY_MagicWeaponFB)
+        self.ipyMagicWeaponFBLen = len(self.ipyMagicWeaponFBCache)
+        self.ipyIceLodeStarAwardCache = self.__LoadFileData("IceLodeStarAward", IPY_IceLodeStarAward)
+        self.ipyIceLodeStarAwardLen = len(self.ipyIceLodeStarAwardCache)
+        self.ipyGodWeaponEffectCache = self.__LoadFileData("GodWeaponEffect", IPY_GodWeaponEffect)
+        self.ipyGodWeaponEffectLen = len(self.ipyGodWeaponEffectCache)
+        self.ipyCrossRealmPKDanCache = self.__LoadFileData("CrossRealmPKDan", IPY_CrossRealmPKDan)
+        self.ipyCrossRealmPKDanLen = len(self.ipyCrossRealmPKDanCache)
+        self.ipyCrossPenglaiZoneCache = self.__LoadFileData("CrossPenglaiZone", IPY_CrossPenglaiZone)
+        self.ipyCrossPenglaiZoneLen = len(self.ipyCrossPenglaiZoneCache)
+        self.ipyGatherSoulCache = self.__LoadFileData("GatherSoul", IPY_GatherSoul)
+        self.ipyGatherSoulLen = len(self.ipyGatherSoulCache)
+        self.ipyGatherSoulCompoundCache = self.__LoadFileData("GatherSoulCompound", IPY_GatherSoulCompound)
+        self.ipyGatherSoulCompoundLen = len(self.ipyGatherSoulCompoundCache)
+        self.ipyGatherSoulAttrCache = self.__LoadFileData("GatherSoulAttr", IPY_GatherSoulAttr)
+        self.ipyGatherSoulAttrLen = len(self.ipyGatherSoulAttrCache)
+        self.ipyMagicWeaponOfKingCache = self.__LoadFileData("MagicWeaponOfKing", IPY_MagicWeaponOfKing)
+        self.ipyMagicWeaponOfKingLen = len(self.ipyMagicWeaponOfKingCache)
+        self.ipyCoatCache = self.__LoadFileData("Coat", IPY_Coat)
+        self.ipyCoatLen = len(self.ipyCoatCache)
+        self.ipyCoatChestUpCache = self.__LoadFileData("CoatChestUp", IPY_CoatChestUp)
+        self.ipyCoatChestUpLen = len(self.ipyCoatChestUpCache)
+        self.ipyActWeekPartyCache = self.__LoadFileData("ActWeekParty", IPY_ActWeekParty)
+        self.ipyActWeekPartyLen = len(self.ipyActWeekPartyCache)
+        self.ipyWeekPartyCache = self.__LoadFileData("WeekParty", IPY_WeekParty)
+        self.ipyWeekPartyLen = len(self.ipyWeekPartyCache)
         Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
         Log("IPY_DataMgr InitOK!")
         return
@@ -3654,6 +4215,8 @@
     def GetFBFuncByIndex(self, index): return self.ipyFBFuncCache[index]
     def GetFBLineCount(self): return self.ipyFBLineLen
     def GetFBLineByIndex(self, index): return self.ipyFBLineCache[index]
+    def GetFBHelpBattleCount(self): return self.ipyFBHelpBattleLen
+    def GetFBHelpBattleByIndex(self, index): return self.ipyFBHelpBattleCache[index]
     def GetNPCCustomRefreshCount(self): return self.ipyNPCCustomRefreshLen
     def GetNPCCustomRefreshByIndex(self, index): return self.ipyNPCCustomRefreshCache[index]
     def GetDailyActionCount(self): return self.ipyDailyActionLen
@@ -3716,6 +4279,8 @@
     def GetRuneCompoundByIndex(self, index): return self.ipyRuneCompoundCache[index]
     def GetResourcesBackCount(self): return self.ipyResourcesBackLen
     def GetResourcesBackByIndex(self, index): return self.ipyResourcesBackCache[index]
+    def GetCollectNPCCount(self): return self.ipyCollectNPCLen
+    def GetCollectNPCByIndex(self, index): return self.ipyCollectNPCCache[index]
     def GetChestsCount(self): return self.ipyChestsLen
     def GetChestsByIndex(self, index): return self.ipyChestsCache[index]
     def GetChestsAwardCount(self): return self.ipyChestsAwardLen
@@ -3778,6 +4343,40 @@
     def GetActWishingWellByIndex(self, index): return self.ipyActWishingWellCache[index]
     def GetWishingWellCount(self): return self.ipyWishingWellLen
     def GetWishingWellByIndex(self, index): return self.ipyWishingWellCache[index]
+    def GetFunctionForecastCount(self): return self.ipyFunctionForecastLen
+    def GetFunctionForecastByIndex(self, index): return self.ipyFunctionForecastCache[index]
+    def GetChatBubbleBoxCount(self): return self.ipyChatBubbleBoxLen
+    def GetChatBubbleBoxByIndex(self, index): return self.ipyChatBubbleBoxCache[index]
+    def GetActTotalRechargeCount(self): return self.ipyActTotalRechargeLen
+    def GetActTotalRechargeByIndex(self, index): return self.ipyActTotalRechargeCache[index]
+    def GetTotalRechargeTemplateCount(self): return self.ipyTotalRechargeTemplateLen
+    def GetTotalRechargeTemplateByIndex(self, index): return self.ipyTotalRechargeTemplateCache[index]
+    def GetMagicWeaponFBCount(self): return self.ipyMagicWeaponFBLen
+    def GetMagicWeaponFBByIndex(self, index): return self.ipyMagicWeaponFBCache[index]
+    def GetIceLodeStarAwardCount(self): return self.ipyIceLodeStarAwardLen
+    def GetIceLodeStarAwardByIndex(self, index): return self.ipyIceLodeStarAwardCache[index]
+    def GetGodWeaponEffectCount(self): return self.ipyGodWeaponEffectLen
+    def GetGodWeaponEffectByIndex(self, index): return self.ipyGodWeaponEffectCache[index]
+    def GetCrossRealmPKDanCount(self): return self.ipyCrossRealmPKDanLen
+    def GetCrossRealmPKDanByIndex(self, index): return self.ipyCrossRealmPKDanCache[index]
+    def GetCrossPenglaiZoneCount(self): return self.ipyCrossPenglaiZoneLen
+    def GetCrossPenglaiZoneByIndex(self, index): return self.ipyCrossPenglaiZoneCache[index]
+    def GetGatherSoulCount(self): return self.ipyGatherSoulLen
+    def GetGatherSoulByIndex(self, index): return self.ipyGatherSoulCache[index]
+    def GetGatherSoulCompoundCount(self): return self.ipyGatherSoulCompoundLen
+    def GetGatherSoulCompoundByIndex(self, index): return self.ipyGatherSoulCompoundCache[index]
+    def GetGatherSoulAttrCount(self): return self.ipyGatherSoulAttrLen
+    def GetGatherSoulAttrByIndex(self, index): return self.ipyGatherSoulAttrCache[index]
+    def GetMagicWeaponOfKingCount(self): return self.ipyMagicWeaponOfKingLen
+    def GetMagicWeaponOfKingByIndex(self, index): return self.ipyMagicWeaponOfKingCache[index]
+    def GetCoatCount(self): return self.ipyCoatLen
+    def GetCoatByIndex(self, index): return self.ipyCoatCache[index]
+    def GetCoatChestUpCount(self): return self.ipyCoatChestUpLen
+    def GetCoatChestUpByIndex(self, index): return self.ipyCoatChestUpCache[index]
+    def GetActWeekPartyCount(self): return self.ipyActWeekPartyLen
+    def GetActWeekPartyByIndex(self, index): return self.ipyActWeekPartyCache[index]
+    def GetWeekPartyCount(self): return self.ipyWeekPartyLen
+    def GetWeekPartyByIndex(self, index): return self.ipyWeekPartyCache[index]
 
 IPYData = IPY_DataMgr()
 def IPY_Data(): return IPYData

--
Gitblit v1.8.0