hch
2019-05-09 5900ca084b3e9d549ff9d4246a2e15cf1bd68a59
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -54,6 +54,7 @@
                        ("DWORD", "NeedLV", 0),
                        ("DWORD", "NeedItemID", 0),
                        ("WORD", "NeedItemCnt", 0),
                        ("list", "NeedEquip", 0),
                        ("list", "AddAttrType", 0),
                        ("list", "AddAttrNum", 0),
                        ("DWORD", "BossID", 0),
@@ -338,7 +339,7 @@
                        ("DWORD", "NPCID", 1),
                        ("DWORD", "LostHPPerSecond", 0),
                        ("BYTE", "MaxPlayerCount", 0),
                        ("DWORD", "ReduceRate", 0),
                        ("DWORD", "LostHPPerSecondEx", 0),
                        ),
                "EquipSuitAttr":(
@@ -814,6 +815,7 @@
                "CollectNPC":(
                        ("DWORD", "NPCID", 1),
                        ("BYTE", "IsMissionCollectNPC", 0),
                        ("BYTE", "PrepareTime", 0),
                        ("list", "LostHPPer", 0),
                        ("BYTE", "MaxCollectCount", 0),
@@ -823,6 +825,17 @@
                        ("dict", "CollectAppointAward", 0),
                        ("BYTE", "AlchemyDiffLV", 0),
                        ("BYTE", "NotifyCollectResult", 0),
                        ("BYTE", "CanBreakCollect", 0),
                        ),
                "TreasureNPC":(
                        ("DWORD", "NPCID", 1),
                        ("dict", "AttackCountDropWeightInfo", 0),
                        ("list", "AttackDropWeightList", 0),
                        ("list", "AttackDropWeightListEx", 0),
                        ("BYTE", "DropCountEx", 0),
                        ("BYTE", "AlchemyDiffLV", 0),
                        ("char", "NotDropNotify", 0),
                        ),
                "Chests":(
@@ -1167,6 +1180,12 @@
                        ("list", "ServerGroupIDList", 0),
                        ),
                "CrossZonePK":(
                        ("char", "CrossZoneName", 1),
                        ("BYTE", "ZoneID", 1),
                        ("list", "ServerGroupIDList", 0),
                        ),
                "CrossPenglaiZoneMap":(
                        ("BYTE", "ZoneID", 0),
                        ("DWORD", "MapID", 1),
@@ -1273,15 +1292,6 @@
                        ("WORD", "KillTime", 0),
                        ("WORD", "RealmLV", 0),
                        ("DWORD", "ZhuXianScore", 0),
                        ),
                "ZhuXianTower":(
                        ("DWORD", "ID", 1),
                        ("DWORD", "NPCID", 0),
                        ("list", "FirstAward", 0),
                        ("dict", "GradeAward", 0),
                        ("WORD", "UnLockEquipPlace", 0),
                        ("DWORD", "NeedPower", 0),
                        ),
                "ZhuXianEquipDecompose":(
@@ -1412,6 +1422,8 @@
                        ("BYTE", "NeedAlchemyLV", 0),
                        ("list", "NeedLV", 0),
                        ("DWORD", "Weight", 0),
                        ("DWORD", "HourCntPriLimit", 0),
                        ("DWORD", "DayCntPriLimit", 0),
                        ),
                "FairyAdventures":(
@@ -1434,6 +1446,21 @@
                        ("WORD", "MoneyCnt", 1),
                        ("DWORD", "BuffID", 0),
                        ("WORD", "BuffCD", 0),
                        ),
                "SkillElement":(
                        ("DWORD", "ElementSkillID", 1),
                        ("DWORD", "MainSkillID", 0),
                        ("DWORD", "NeedLV", 0),
                        ),
                "SkyTower":(
                        ("DWORD", "FloorID", 1),
                        ("DWORD", "BossID", 0),
                        ("dict", "Reward", 0),
                        ("WORD", "NeedLV", 0),
                        ("DWORD", "FightPower", 0),
                        ("BYTE", "IsNotify", 0),
                        ),
                }
@@ -1482,6 +1509,7 @@
        self.NeedLV = 0
        self.NeedItemID = 0
        self.NeedItemCnt = 0
        self.NeedEquip = []
        self.AddAttrType = []
        self.AddAttrNum = []
        self.BossID = 0
@@ -1494,6 +1522,7 @@
    def GetNeedLV(self): return self.NeedLV # 需要等级
    def GetNeedItemID(self): return self.NeedItemID # 需要道具ID
    def GetNeedItemCnt(self): return self.NeedItemCnt # 消耗的道具数量
    def GetNeedEquip(self): return self.NeedEquip # 需要8部位装备条件阶级|品质|是否套装
    def GetAddAttrType(self): return self.AddAttrType # 境界加成属性类型
    def GetAddAttrNum(self): return self.AddAttrNum # 境界加成属性值
    def GetBossID(self): return self.BossID # 渡劫bossid
@@ -2077,13 +2106,13 @@
        self.NPCID = 0
        self.LostHPPerSecond = 0
        self.MaxPlayerCount = 0
        self.ReduceRate = 0
        self.LostHPPerSecondEx = 0
        return
        
    def GetNPCID(self): return self.NPCID # NPCID
    def GetLostHPPerSecond(self): return self.LostHPPerSecond # 单人每秒掉血量
    def GetMaxPlayerCount(self): return self.MaxPlayerCount # 最大人数
    def GetReduceRate(self): return self.ReduceRate # 衰减万分率
    def GetLostHPPerSecondEx(self): return self.LostHPPerSecondEx # 每增加一人附加掉血量
# 装备套装属性表
class IPY_EquipSuitAttr():
@@ -3074,6 +3103,7 @@
    
    def __init__(self):
        self.NPCID = 0
        self.IsMissionCollectNPC = 0
        self.PrepareTime = 0
        self.LostHPPer = []
        self.MaxCollectCount = 0
@@ -3082,10 +3112,12 @@
        self.CollectAward = []
        self.CollectAppointAward = {}
        self.AlchemyDiffLV = 0
        self.NotifyCollectResult = 0
        self.NotifyCollectResult = 0
        self.CanBreakCollect = 0
        return
        
    def GetNPCID(self): return self.NPCID # ID
    def GetIsMissionCollectNPC(self): return self.IsMissionCollectNPC # 是否任务采集物
    def GetPrepareTime(self): return self.PrepareTime # 采集耗时,秒
    def GetLostHPPer(self): return self.LostHPPer # 采集掉血,[每X秒,掉血百分比]
    def GetMaxCollectCount(self): return self.MaxCollectCount # 可采集次数,0无限制
@@ -3094,7 +3126,29 @@
    def GetCollectAward(self): return self.CollectAward # 采集奖励物品,权重列表 [[权重, [物品ID,个数,是否拍品]], ...]
    def GetCollectAppointAward(self): return self.CollectAppointAward # 采集次数定制产出 {次数:[物品ID,个数,是否拍品], ...}
    def GetAlchemyDiffLV(self): return self.AlchemyDiffLV # 过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品
    def GetNotifyCollectResult(self): return self.NotifyCollectResult # 是否通知采集结果
    def GetNotifyCollectResult(self): return self.NotifyCollectResult # 是否通知采集结果
    def GetCanBreakCollect(self): return self.CanBreakCollect # 被攻击是否打断采集
# 宝箱怪表
class IPY_TreasureNPC():
    def __init__(self):
        self.NPCID = 0
        self.AttackCountDropWeightInfo = {}
        self.AttackDropWeightList = []
        self.AttackDropWeightListEx = []
        self.DropCountEx = 0
        self.AlchemyDiffLV = 0
        self.NotDropNotify = ""
        return
    def GetNPCID(self): return self.NPCID # 宝箱怪NPCID
    def GetAttackCountDropWeightInfo(self): return self.AttackCountDropWeightInfo # 攻击次数对应掉落权重饼图 {次数:[[权重, [物品ID,个数,是否拍品]], ...], ...}
    def GetAttackDropWeightList(self): return self.AttackDropWeightList # 常规攻击权重饼图 [[权重, [物品ID,个数,是否拍品]], ...]
    def GetAttackDropWeightListEx(self): return self.AttackDropWeightListEx # 额外掉落权重饼图库,每次攻击都会掉落  [[权重, [物品ID,个数,是否拍品]], ...]
    def GetDropCountEx(self): return self.DropCountEx # 额外库执行次数
    def GetAlchemyDiffLV(self): return self.AlchemyDiffLV # 过滤炼丹等级差,0-不过滤,>0过滤大于自身炼丹等级X级的物品
    def GetNotDropNotify(self): return self.NotDropNotify # 没有掉落时提示信息
# 宝箱表开启
class IPY_Chests():
@@ -3821,6 +3875,19 @@
    def GetZoneID(self): return self.ZoneID # 赛区ID
    def GetServerGroupIDList(self): return self.ServerGroupIDList # 赛区服务器组ID列表
# 跨服分区表竞技场
class IPY_CrossZonePK():
    def __init__(self):
        self.CrossZoneName = ""
        self.ZoneID = 0
        self.ServerGroupIDList = []
        return
    def GetCrossZoneName(self): return self.CrossZoneName # 跨服分区名
    def GetZoneID(self): return self.ZoneID # 赛区ID
    def GetServerGroupIDList(self): return self.ServerGroupIDList # 赛区服务器组ID列表
# 跨服Boss蓬莱仙境分区地图表
class IPY_CrossPenglaiZoneMap():
    
@@ -4049,25 +4116,6 @@
    def GetKillTime(self): return self.KillTime # 击杀总时间秒
    def GetRealmLV(self): return self.RealmLV # 需要境界
    def GetZhuXianScore(self): return self.ZhuXianScore # 需要诛仙总评分
# 诛仙塔表
class IPY_ZhuXianTower():
    def __init__(self):
        self.ID = 0
        self.NPCID = 0
        self.FirstAward = []
        self.GradeAward = {}
        self.UnLockEquipPlace = 0
        self.NeedPower = 0
        return
    def GetID(self): return self.ID # 塔编号
    def GetNPCID(self): return self.NPCID # npcid
    def GetFirstAward(self): return self.FirstAward # 首次S级奖励
    def GetGradeAward(self): return self.GradeAward # 评级奖励
    def GetUnLockEquipPlace(self): return self.UnLockEquipPlace # 解锁的装备位
    def GetNeedPower(self): return self.NeedPower # 推荐战力
# 诛仙装备分解表
class IPY_ZhuXianEquipDecompose():
@@ -4332,7 +4380,9 @@
        self.CostEnergy = 0
        self.NeedAlchemyLV = 0
        self.NeedLV = []
        self.Weight = 0
        self.Weight = 0
        self.HourCntPriLimit = 0
        self.DayCntPriLimit = 0
        return
        
    def GetID(self): return self.ID # 事件编号
@@ -4343,7 +4393,9 @@
    def GetCostEnergy(self): return self.CostEnergy # 消耗体力
    def GetNeedAlchemyLV(self): return self.NeedAlchemyLV # 出现的炼丹等级要求
    def GetNeedLV(self): return self.NeedLV # 出现的玩家等级要求
    def GetWeight(self): return self.Weight # 权重
    def GetWeight(self): return self.Weight # 权重
    def GetHourCntPriLimit(self): return self.HourCntPriLimit # 个人每小时次数限制
    def GetDayCntPriLimit(self): return self.DayCntPriLimit # 个人每天次数限制
# 缥缈奇遇表
class IPY_FairyAdventures():
@@ -4391,6 +4443,38 @@
    def GetMoneyCnt(self): return self.MoneyCnt # 仙玉数量
    def GetBuffID(self): return self.BuffID # BuffID
    def GetBuffCD(self): return self.BuffCD # 间隔时间s
# 技能升级表
class IPY_SkillElement():
    def __init__(self):
        self.ElementSkillID = 0
        self.MainSkillID = 0
        self.NeedLV = 0
        return
    def GetElementSkillID(self): return self.ElementSkillID # 专精技能ID
    def GetMainSkillID(self): return self.MainSkillID # 主技能ID
    def GetNeedLV(self): return self.NeedLV # 选择需要等级
# 天星塔表
class IPY_SkyTower():
    def __init__(self):
        self.FloorID = 0
        self.BossID = 0
        self.Reward = {}
        self.NeedLV = 0
        self.FightPower = 0
        self.IsNotify = 0
        return
    def GetFloorID(self): return self.FloorID # 层
    def GetBossID(self): return self.BossID # bossID
    def GetReward(self): return self.Reward # 奖励
    def GetNeedLV(self): return self.NeedLV # 要求等级
    def GetFightPower(self): return self.FightPower # 推荐战力
    def GetIsNotify(self): return self.IsNotify # 是否广播
def Log(msg, playerID=0, par=0):
@@ -4560,6 +4644,8 @@
        self.ipyResourcesBackLen = len(self.ipyResourcesBackCache)
        self.ipyCollectNPCCache = self.__LoadFileData("CollectNPC", IPY_CollectNPC)
        self.ipyCollectNPCLen = len(self.ipyCollectNPCCache)
        self.ipyTreasureNPCCache = self.__LoadFileData("TreasureNPC", IPY_TreasureNPC)
        self.ipyTreasureNPCLen = len(self.ipyTreasureNPCCache)
        self.ipyChestsCache = self.__LoadFileData("Chests", IPY_Chests)
        self.ipyChestsLen = len(self.ipyChestsCache)
        self.ipyChestsAwardCache = self.__LoadFileData("ChestsAward", IPY_ChestsAward)
@@ -4642,6 +4728,8 @@
        self.ipyCrossRealmPKOrderAwardLen = len(self.ipyCrossRealmPKOrderAwardCache)
        self.ipyCrossZoneCommCache = self.__LoadFileData("CrossZoneComm", IPY_CrossZoneComm)
        self.ipyCrossZoneCommLen = len(self.ipyCrossZoneCommCache)
        self.ipyCrossZonePKCache = self.__LoadFileData("CrossZonePK", IPY_CrossZonePK)
        self.ipyCrossZonePKLen = len(self.ipyCrossZonePKCache)
        self.ipyCrossPenglaiZoneMapCache = self.__LoadFileData("CrossPenglaiZoneMap", IPY_CrossPenglaiZoneMap)
        self.ipyCrossPenglaiZoneMapLen = len(self.ipyCrossPenglaiZoneMapCache)
        self.ipyGatherSoulCache = self.__LoadFileData("GatherSoul", IPY_GatherSoul)
@@ -4668,8 +4756,6 @@
        self.ipyZhuXianSuitAttrLen = len(self.ipyZhuXianSuitAttrCache)
        self.ipyZhuXianBossCache = self.__LoadFileData("ZhuXianBoss", IPY_ZhuXianBoss)
        self.ipyZhuXianBossLen = len(self.ipyZhuXianBossCache)
        self.ipyZhuXianTowerCache = self.__LoadFileData("ZhuXianTower", IPY_ZhuXianTower)
        self.ipyZhuXianTowerLen = len(self.ipyZhuXianTowerCache)
        self.ipyZhuXianEquipDecomposeCache = self.__LoadFileData("ZhuXianEquipDecompose", IPY_ZhuXianEquipDecompose)
        self.ipyZhuXianEquipDecomposeLen = len(self.ipyZhuXianEquipDecomposeCache)
        self.ipyActFeastWeekPartyCache = self.__LoadFileData("ActFeastWeekParty", IPY_ActFeastWeekParty)
@@ -4708,6 +4794,10 @@
        self.ipyFairyDomainAppointLen = len(self.ipyFairyDomainAppointCache)
        self.ipyFBBuyBuffCache = self.__LoadFileData("FBBuyBuff", IPY_FBBuyBuff)
        self.ipyFBBuyBuffLen = len(self.ipyFBBuyBuffCache)
        self.ipySkillElementCache = self.__LoadFileData("SkillElement", IPY_SkillElement)
        self.ipySkillElementLen = len(self.ipySkillElementCache)
        self.ipySkyTowerCache = self.__LoadFileData("SkyTower", IPY_SkyTower)
        self.ipySkyTowerLen = len(self.ipySkyTowerCache)
        Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
        Log("IPY_DataMgr InitOK!")
        return
@@ -5018,6 +5108,8 @@
    def GetResourcesBackByIndex(self, index): return self.ipyResourcesBackCache[index]
    def GetCollectNPCCount(self): return self.ipyCollectNPCLen
    def GetCollectNPCByIndex(self, index): return self.ipyCollectNPCCache[index]
    def GetTreasureNPCCount(self): return self.ipyTreasureNPCLen
    def GetTreasureNPCByIndex(self, index): return self.ipyTreasureNPCCache[index]
    def GetChestsCount(self): return self.ipyChestsLen
    def GetChestsByIndex(self, index): return self.ipyChestsCache[index]
    def GetChestsAwardCount(self): return self.ipyChestsAwardLen
@@ -5100,6 +5192,8 @@
    def GetCrossRealmPKOrderAwardByIndex(self, index): return self.ipyCrossRealmPKOrderAwardCache[index]
    def GetCrossZoneCommCount(self): return self.ipyCrossZoneCommLen
    def GetCrossZoneCommByIndex(self, index): return self.ipyCrossZoneCommCache[index]
    def GetCrossZonePKCount(self): return self.ipyCrossZonePKLen
    def GetCrossZonePKByIndex(self, index): return self.ipyCrossZonePKCache[index]
    def GetCrossPenglaiZoneMapCount(self): return self.ipyCrossPenglaiZoneMapLen
    def GetCrossPenglaiZoneMapByIndex(self, index): return self.ipyCrossPenglaiZoneMapCache[index]
    def GetGatherSoulCount(self): return self.ipyGatherSoulLen
@@ -5126,8 +5220,6 @@
    def GetZhuXianSuitAttrByIndex(self, index): return self.ipyZhuXianSuitAttrCache[index]
    def GetZhuXianBossCount(self): return self.ipyZhuXianBossLen
    def GetZhuXianBossByIndex(self, index): return self.ipyZhuXianBossCache[index]
    def GetZhuXianTowerCount(self): return self.ipyZhuXianTowerLen
    def GetZhuXianTowerByIndex(self, index): return self.ipyZhuXianTowerCache[index]
    def GetZhuXianEquipDecomposeCount(self): return self.ipyZhuXianEquipDecomposeLen
    def GetZhuXianEquipDecomposeByIndex(self, index): return self.ipyZhuXianEquipDecomposeCache[index]
    def GetActFeastWeekPartyCount(self): return self.ipyActFeastWeekPartyLen
@@ -5166,6 +5258,10 @@
    def GetFairyDomainAppointByIndex(self, index): return self.ipyFairyDomainAppointCache[index]
    def GetFBBuyBuffCount(self): return self.ipyFBBuyBuffLen
    def GetFBBuyBuffByIndex(self, index): return self.ipyFBBuyBuffCache[index]
    def GetSkillElementCount(self): return self.ipySkillElementLen
    def GetSkillElementByIndex(self, index): return self.ipySkillElementCache[index]
    def GetSkyTowerCount(self): return self.ipySkyTowerLen
    def GetSkyTowerByIndex(self, index): return self.ipySkyTowerCache[index]
IPYData = IPY_DataMgr()
def IPY_Data(): return IPYData