hch
2019-04-16 d9820f9f7f09c14d270b4cbbe649369c043be7e4
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -44,8 +44,8 @@
                "RolePoint":(
                        ("BYTE", "AttrID", 1),
                        ("dict", "AddAttrInfoPerPoint", 0),
                        ("BYTE", "PointQualityAttrID", 0),
                        ("list", "PointQualityAttrValueList", 0),
                        ("dict", "PointQualityAttrIDDict", 0),
                        ("dict", "PointQualityAttrValueDict", 0),
                        ("list", "PointQualityIntervalList", 0),
                        ),
@@ -205,7 +205,8 @@
                "AttrFruit":(
                        ("DWORD", "ID", 1),
                        ("BYTE", "FuncID", 0),
                        ("WORD", "MaxUseCnt", 0),
                        ("dict", "MaxUseCnt", 0),
                        ("list", "AddItemInfo", 0),
                        ("WORD", "RecycleMoney", 0),
                        ("DWORD", "FightPowerEx", 0),
                        ),
@@ -331,6 +332,13 @@
                        ("DWORD", "IceDefCoefficient", 0),
                        ("DWORD", "MaxEnduranceTime", 0),
                        ("DWORD", "FightPowerCoefficient", 0),
                        ),
                "NPCTimeLostHP":(
                        ("DWORD", "NPCID", 1),
                        ("DWORD", "LostHPPerSecond", 0),
                        ("BYTE", "MaxPlayerCount", 0),
                        ("DWORD", "ReduceRate", 0),
                        ),
                "EquipSuitAttr":(
@@ -691,27 +699,25 @@
                "RefineStove":(
                        ("BYTE", "StoveLV", 1),
                        ("DWORD", "UpNeedExp", 0),
                        ("list", "AddAttrType", 0),
                        ("list", "AddAttrNum", 0),
                        ),
                "Alchemy":(
                        ("WORD", "AlchemyID", 1),
                        ("dict", "Material", 0),
                        ("DWORD", "ID", 1),
                        ("DWORD", "AlchemItemID", 0),
                        ("BYTE", "AlchemType", 0),
                        ("BYTE", "AlchemyQuality", 0),
                        ("DWORD", "LearnNeedItemID", 0),
                        ("BYTE", "LearnNeedAlchemLV", 0),
                        ("WORD", "LearnNeedLuck", 0),
                        ("WORD", "NeedTime", 0),
                        ("WORD", "AlchemyExp", 0),
                        ("list", "AlchemyItem", 0),
                        ("list", "SpecAlchemyID", 0),
                        ("list", "AlchemyUp", 0),
                        ("BYTE", "NeedAlchemyLV", 0),
                        ("dict", "Material", 0),
                        ),
                "AlchemySpec":(
                        ("WORD", "SpecAlchemyID", 1),
                        ("DWORD", "MaterialID", 0),
                        ("BYTE", "MaterialCnt", 0),
                        ("WORD", "AlchemyExp", 0),
                        ("list", "AlchemyItem", 0),
                        ("BYTE", "NeedAlchemyLV", 0),
                "AlchemyResult":(
                        ("BYTE", "AlchemyQuality", 1),
                        ("DWORD", "LuckValue", 0),
                        ("list", "CntRateList", 0),
                        ),
                "BOSSInfo":(
@@ -775,6 +781,17 @@
                        ("BYTE", "InspireType", 1),
                        ("WORD", "InspireMaxLV", 0),
                        ("char", "MoneyCount", 0),
                        ),
                "MapRefreshNPC":(
                        ("DWORD", "MapID", 1),
                        ("BYTE", "RefreshNum", 0),
                        ("list", "NPCIDList", 0),
                        ("list", "RefreshMarkList", 0),
                        ("BYTE", "PointMaxCount", 0),
                        ("BYTE", "TotalMaxCount", 0),
                        ("BYTE", "RefreshSeconds", 0),
                        ("BYTE", "RefreshPerMinutes", 0),
                        ),
                "RuneCompound":(
@@ -1404,7 +1421,7 @@
                "FairyDomainAppoint":(
                        ("WORD", "Cnt", 1),
                        ("DWORD", "OpenServerDay", 0),
                        ("DWORD", "EventID", 0),
                        ("list", "Award", 0),
                        ),
                }
@@ -1435,15 +1452,15 @@
    def __init__(self):
        self.AttrID = 0
        self.AddAttrInfoPerPoint = {}
        self.PointQualityAttrID = 0
        self.PointQualityAttrValueList = []
        self.PointQualityAttrIDDict = {}
        self.PointQualityAttrValueDict = {}
        self.PointQualityIntervalList = []
        return
        
    def GetAttrID(self): return self.AttrID # 属性ID
    def GetAddAttrInfoPerPoint(self): return self.AddAttrInfoPerPoint # 每点增加属性信息
    def GetPointQualityAttrID(self): return self.PointQualityAttrID # 点数品质进阶增加属性ID
    def GetPointQualityAttrValueList(self): return self.PointQualityAttrValueList # 点数品质进阶增加属性值列表
    def GetPointQualityAttrIDDict(self): return self.PointQualityAttrIDDict # 点数品质进阶增加属性ID, 根据职业区分
    def GetPointQualityAttrValueDict(self): return self.PointQualityAttrValueDict # 点数品质进阶增加属性值列表, 根据职业区分
    def GetPointQualityIntervalList(self): return self.PointQualityIntervalList # 点数品质进阶属性点区间列表
# 境界表
@@ -1774,14 +1791,16 @@
    def __init__(self):
        self.ID = 0
        self.FuncID = 0
        self.MaxUseCnt = 0
        self.MaxUseCnt = {}
        self.AddItemInfo = []
        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 GetMaxUseCnt(self): return self.MaxUseCnt # 境界对应最大可使用数量
    def GetAddItemInfo(self): return self.AddItemInfo # [增幅丹ID,单次物品数量,单次增加上限]
    def GetRecycleMoney(self): return self.RecycleMoney # 回收货币值
    def GetFightPowerEx(self): return self.FightPowerEx # 附加战斗力
@@ -2039,6 +2058,21 @@
    def GetIceDefCoefficient(self): return self.IceDefCoefficient # 元素抗性比例
    def GetMaxEnduranceTime(self): return self.MaxEnduranceTime # 玩家最大承受伤害时间
    def GetFightPowerCoefficient(self): return self.FightPowerCoefficient # 压制战斗力系数
# NPC时间掉血表
class IPY_NPCTimeLostHP():
    def __init__(self):
        self.NPCID = 0
        self.LostHPPerSecond = 0
        self.MaxPlayerCount = 0
        self.ReduceRate = 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 # 衰减万分率
# 装备套装属性表
class IPY_EquipSuitAttr():
@@ -2782,55 +2816,51 @@
    
    def __init__(self):
        self.StoveLV = 0
        self.UpNeedExp = 0
        self.AddAttrType = []
        self.AddAttrNum = []
        self.UpNeedExp = 0
        return
        
    def GetStoveLV(self): return self.StoveLV # 炼丹炉等级
    def GetUpNeedExp(self): return self.UpNeedExp # 升下一级所需经验
    def GetAddAttrType(self): return self.AddAttrType # 等级加成属性类型
    def GetAddAttrNum(self): return self.AddAttrNum # 等级加成属性值
    def GetUpNeedExp(self): return self.UpNeedExp # 升下一级所需经验
# 炼丹表
class IPY_Alchemy():
    
    def __init__(self):
        self.AlchemyID = 0
        self.Material = {}
        self.ID = 0
        self.AlchemItemID = 0
        self.AlchemType = 0
        self.AlchemyQuality = 0
        self.LearnNeedItemID = 0
        self.LearnNeedAlchemLV = 0
        self.LearnNeedLuck = 0
        self.NeedTime = 0
        self.AlchemyExp = 0
        self.AlchemyItem = []
        self.SpecAlchemyID = []
        self.AlchemyUp = []
        self.NeedAlchemyLV = 0
        self.Material = {}
        return
        
    def GetAlchemyID(self): return self.AlchemyID # 炼丹编号
    def GetMaterial(self): return self.Material # 所需所有材料和数量
    def GetID(self): return self.ID # 秘方唯一ID不可变更
    def GetAlchemItemID(self): return self.AlchemItemID # 丹药物品ID
    def GetAlchemType(self): return self.AlchemType # 秘方类型1-灵丹 2-仙丹
    def GetAlchemyQuality(self): return self.AlchemyQuality # 秘方品级
    def GetLearnNeedItemID(self): return self.LearnNeedItemID # 丹方物品ID
    def GetLearnNeedAlchemLV(self): return self.LearnNeedAlchemLV # 丹方需要炼丹等级
    def GetLearnNeedLuck(self): return self.LearnNeedLuck # 丹方需要慧根
    def GetNeedTime(self): return self.NeedTime # 炼丹时间(秒)
    def GetAlchemyExp(self): return self.AlchemyExp # 炼丹获得经验值
    def GetAlchemyItem(self): return self.AlchemyItem # 产出物品及数量及权重
    def GetSpecAlchemyID(self): return self.SpecAlchemyID # 特殊炼丹ID组
    def GetAlchemyUp(self): return self.AlchemyUp # 产出包含的进阶丹药
    def GetNeedAlchemyLV(self): return self.NeedAlchemyLV # 所需炼丹等级
    def GetMaterial(self): return self.Material # 炼丹材料
# 炼丹特殊产出表
class IPY_AlchemySpec():
# 炼丹数量表
class IPY_AlchemyResult():
    
    def __init__(self):
        self.SpecAlchemyID = 0
        self.MaterialID = 0
        self.MaterialCnt = 0
        self.AlchemyExp = 0
        self.AlchemyItem = []
        self.NeedAlchemyLV = 0
        self.AlchemyQuality = 0
        self.LuckValue = 0
        self.CntRateList = []
        return
        
    def GetSpecAlchemyID(self): return self.SpecAlchemyID # 特殊炼丹ID
    def GetMaterialID(self): return self.MaterialID # 特殊材料ID
    def GetMaterialCnt(self): return self.MaterialCnt # 特殊材料ID消耗个数
    def GetAlchemyExp(self): return self.AlchemyExp # 特殊材料经验
    def GetAlchemyItem(self): return self.AlchemyItem # 产出物品及数量及权重
    def GetNeedAlchemyLV(self): return self.NeedAlchemyLV # 所需炼丹等级
    def GetAlchemyQuality(self): return self.AlchemyQuality # 丹方等级
    def GetLuckValue(self): return self.LuckValue # 慧根
    def GetCntRateList(self): return self.CntRateList # 数量饼图
# BOSS信息表
class IPY_BOSSInfo():
@@ -2966,6 +2996,29 @@
    def GetInspireType(self): return self.InspireType # 鼓舞类型
    def GetInspireMaxLV(self): return self.InspireMaxLV # 鼓舞等级限制
    def GetMoneyCount(self): return self.MoneyCount # 单次消耗金钱数量
# 地图标试点NPC刷新
class IPY_MapRefreshNPC():
    def __init__(self):
        self.MapID = 0
        self.RefreshNum = 0
        self.NPCIDList = []
        self.RefreshMarkList = []
        self.PointMaxCount = 0
        self.TotalMaxCount = 0
        self.RefreshSeconds = 0
        self.RefreshPerMinutes = 0
        return
    def GetMapID(self): return self.MapID # 地图ID
    def GetRefreshNum(self): return self.RefreshNum # 刷怪规则编号
    def GetNPCIDList(self): return self.NPCIDList # NPCID列表
    def GetRefreshMarkList(self): return self.RefreshMarkList # 标试点列表
    def GetPointMaxCount(self): return self.PointMaxCount # 单个点最大存在怪物数
    def GetTotalMaxCount(self): return self.TotalMaxCount # 所有点总怪物数
    def GetRefreshSeconds(self): return self.RefreshSeconds # 刷怪间隔秒
    def GetRefreshPerMinutes(self): return self.RefreshPerMinutes # 每整X分刷怪
# 符印合成表
class IPY_RuneCompound():
@@ -4297,12 +4350,12 @@
    
    def __init__(self):
        self.Cnt = 0
        self.OpenServerDay = 0
        self.EventID = 0
        self.Award = []
        return
        
    def GetCnt(self): return self.Cnt # 次数
    def GetOpenServerDay(self): return self.OpenServerDay # 事件编号
    def GetEventID(self): return self.EventID # 事件编号
    def GetAward(self): return self.Award # 定制奖励(没配走正常奖励规则)[[物品ID,数量,是否拍品],..]
@@ -4385,6 +4438,8 @@
        self.ipyGMAttrLen = len(self.ipyGMAttrCache)
        self.ipyNPCStrengthenCache = self.__LoadFileData("NPCStrengthen", IPY_NPCStrengthen)
        self.ipyNPCStrengthenLen = len(self.ipyNPCStrengthenCache)
        self.ipyNPCTimeLostHPCache = self.__LoadFileData("NPCTimeLostHP", IPY_NPCTimeLostHP)
        self.ipyNPCTimeLostHPLen = len(self.ipyNPCTimeLostHPCache)
        self.ipyEquipSuitAttrCache = self.__LoadFileData("EquipSuitAttr", IPY_EquipSuitAttr)
        self.ipyEquipSuitAttrLen = len(self.ipyEquipSuitAttrCache)
        self.ipyWingRefineAttrCache = self.__LoadFileData("WingRefineAttr", IPY_WingRefineAttr)
@@ -4443,8 +4498,8 @@
        self.ipyRefineStoveLen = len(self.ipyRefineStoveCache)
        self.ipyAlchemyCache = self.__LoadFileData("Alchemy", IPY_Alchemy)
        self.ipyAlchemyLen = len(self.ipyAlchemyCache)
        self.ipyAlchemySpecCache = self.__LoadFileData("AlchemySpec", IPY_AlchemySpec)
        self.ipyAlchemySpecLen = len(self.ipyAlchemySpecCache)
        self.ipyAlchemyResultCache = self.__LoadFileData("AlchemyResult", IPY_AlchemyResult)
        self.ipyAlchemyResultLen = len(self.ipyAlchemyResultCache)
        self.ipyBOSSInfoCache = self.__LoadFileData("BOSSInfo", IPY_BOSSInfo)
        self.ipyBOSSInfoLen = len(self.ipyBOSSInfoCache)
        self.ipyElderGodAreaCache = self.__LoadFileData("ElderGodArea", IPY_ElderGodArea)
@@ -4463,6 +4518,8 @@
        self.ipySealDemonLen = len(self.ipySealDemonCache)
        self.ipyFbEncourageCache = self.__LoadFileData("FbEncourage", IPY_FbEncourage)
        self.ipyFbEncourageLen = len(self.ipyFbEncourageCache)
        self.ipyMapRefreshNPCCache = self.__LoadFileData("MapRefreshNPC", IPY_MapRefreshNPC)
        self.ipyMapRefreshNPCLen = len(self.ipyMapRefreshNPCCache)
        self.ipyRuneCompoundCache = self.__LoadFileData("RuneCompound", IPY_RuneCompound)
        self.ipyRuneCompoundLen = len(self.ipyRuneCompoundCache)
        self.ipyResourcesBackCache = self.__LoadFileData("ResourcesBack", IPY_ResourcesBack)
@@ -4837,6 +4894,8 @@
    def GetGMAttrByIndex(self, index): return self.ipyGMAttrCache[index]
    def GetNPCStrengthenCount(self): return self.ipyNPCStrengthenLen
    def GetNPCStrengthenByIndex(self, index): return self.ipyNPCStrengthenCache[index]
    def GetNPCTimeLostHPCount(self): return self.ipyNPCTimeLostHPLen
    def GetNPCTimeLostHPByIndex(self, index): return self.ipyNPCTimeLostHPCache[index]
    def GetEquipSuitAttrCount(self): return self.ipyEquipSuitAttrLen
    def GetEquipSuitAttrByIndex(self, index): return self.ipyEquipSuitAttrCache[index]
    def GetWingRefineAttrCount(self): return self.ipyWingRefineAttrLen
@@ -4895,8 +4954,8 @@
    def GetRefineStoveByIndex(self, index): return self.ipyRefineStoveCache[index]
    def GetAlchemyCount(self): return self.ipyAlchemyLen
    def GetAlchemyByIndex(self, index): return self.ipyAlchemyCache[index]
    def GetAlchemySpecCount(self): return self.ipyAlchemySpecLen
    def GetAlchemySpecByIndex(self, index): return self.ipyAlchemySpecCache[index]
    def GetAlchemyResultCount(self): return self.ipyAlchemyResultLen
    def GetAlchemyResultByIndex(self, index): return self.ipyAlchemyResultCache[index]
    def GetBOSSInfoCount(self): return self.ipyBOSSInfoLen
    def GetBOSSInfoByIndex(self, index): return self.ipyBOSSInfoCache[index]
    def GetElderGodAreaCount(self): return self.ipyElderGodAreaLen
@@ -4915,6 +4974,8 @@
    def GetSealDemonByIndex(self, index): return self.ipySealDemonCache[index]
    def GetFbEncourageCount(self): return self.ipyFbEncourageLen
    def GetFbEncourageByIndex(self, index): return self.ipyFbEncourageCache[index]
    def GetMapRefreshNPCCount(self): return self.ipyMapRefreshNPCLen
    def GetMapRefreshNPCByIndex(self, index): return self.ipyMapRefreshNPCCache[index]
    def GetRuneCompoundCount(self): return self.ipyRuneCompoundLen
    def GetRuneCompoundByIndex(self, index): return self.ipyRuneCompoundCache[index]
    def GetResourcesBackCount(self): return self.ipyResourcesBackLen