hxp
2019-05-30 155ce07b6a6f028df226581496794116c71cc149
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -45,8 +45,7 @@
                        ("BYTE", "AttrID", 1),
                        ("dict", "AddAttrInfoPerPoint", 0),
                        ("BYTE", "FightPowerPerPoint", 0),
                        ("dict", "PointQualityAttrIDDict", 0),
                        ("dict", "PointQualityAttrValueDict", 0),
                        ("dict", "PointQualityAttrDict", 0),
                        ("list", "PointQualityIntervalList", 0),
                        ),
@@ -382,26 +381,26 @@
                        ("WORD", "LV", 1),
                        ("DWORD", "CftHit", 0),
                        ("DWORD", "CftMiss", 0),
                        ("DWORD", "CftDamagePer", 0),
                        ("DWORD", "CftDamReduce", 0),
                        ("DWORD", "CftIgnoreDefRate", 0),
                        ("DWORD", "CftDamChanceDef", 0),
                        ("DWORD", "CftBleedDamage", 0),
                        ("DWORD", "CftFaintRate", 0),
                        ("DWORD", "CftSuperHitReduce", 0),
                        ("DWORD", "CftSuperHitRateReduce", 0),
                        ("DWORD", "CftSuperHitRate", 0),
                        ("DWORD", "CftLuckyHitRate", 0),
                        ("DWORD", "CftLuckyHitRateReduce", 0),
                        ("DWORD", "CftSkillAtkRate", 0),
                        ("DWORD", "CftSkillAtkRateReduce", 0),
                        ("DWORD", "CftFinalHurtPer", 0),
                        ("DWORD", "CftFinalHurtReducePer", 0),
                        ("DWORD", "CftDamagePerPVP", 0),
                        ("DWORD", "CftDamagePerPVPReduce", 0),
                        ("DWORD", "CftNPCHurtAddPer", 0),
                        ("DWORD", "CftNormalHurtPer", 0),
                        ("DWORD", "CftFabaoHurtPer", 0),
                        ("DWORD", "CftDamBackPer", 0),
                        ("DWORD", "CftIgnoreDefRateReduce", 0),
                        ("DWORD", "CftFaintDefRate", 0),
                        ("DWORD", "CftAtkSpeed", 0),
                        ("DWORD", "CftLuckyHit", 0),
                        ("DWORD", "CftSpeedPer", 0),
                        ("DWORD", "CftAtkPer", 0),
                        ("DWORD", "CftMaxHPPer", 0),
                        ("DWORD", "CftJobAHurtAddPer", 0),
                        ("DWORD", "CftJobBHurtAddPer", 0),
                        ("DWORD", "CftJobCHurtAddPer", 0),
@@ -691,17 +690,6 @@
                        ("list", "ItemBind", 0),
                        ),
                "TreasureRefine":(
                        ("WORD", "TreasureID", 1),
                        ("BYTE", "TreasureLV", 1),
                        ("dict", "TreasureAttr", 0),
                        ("dict", "Material", 0),
                        ("WORD", "SuccessRate", 0),
                        ("DWORD", "OpenSkill", 0),
                        ("BYTE", "NeedAlchemyLV", 0),
                        ("BYTE", "NeedAllTreasureLV", 0),
                        ),
                "RefineStove":(
                        ("BYTE", "StoveLV", 1),
                        ("DWORD", "UpNeedExp", 0),
@@ -714,7 +702,7 @@
                        ("BYTE", "AlchemyQuality", 0),
                        ("DWORD", "LearnNeedItemID", 0),
                        ("BYTE", "LearnNeedAlchemLV", 0),
                        ("WORD", "LearnNeedLuck", 0),
                        ("WORD", "LearnNeedLingGenPoint", 0),
                        ("WORD", "NeedTime", 0),
                        ("WORD", "AlchemyExp", 0),
                        ("dict", "Material", 0),
@@ -742,8 +730,8 @@
                        ),
                "PersonalBoss":(
                        ("DWORD", "NPCID", 1),
                        ("DWORD", "ChanllengeLv", 0),
                        ("DWORD", "NPCID", 0),
                        ("DWORD", "FuncLineID", 1),
                        ),
                "FamilyActivity":(
@@ -850,6 +838,7 @@
                        ("WORD", "CostGold", 0),
                        ("BYTE", "ShowType", 0),
                        ("BYTE", "IsBind", 0),
                        ("BYTE", "AucionItemCanSell", 0),
                        ),
                "ChestsAward":(
@@ -1424,6 +1413,7 @@
                        ("DWORD", "MapID", 0),
                        ("BYTE", "LineID", 0),
                        ("DWORD", "BossID", 0),
                        ("BYTE", "EventFBType", 0),
                        ("BYTE", "CostEnergy", 0),
                        ("BYTE", "NeedAlchemyLV", 0),
                        ("list", "NeedLV", 0),
@@ -1445,6 +1435,7 @@
                        ("WORD", "Cnt", 1),
                        ("DWORD", "EventID", 0),
                        ("list", "Award", 0),
                        ("list", "RandomAward", 0),
                        ),
                "FBBuyBuff":(
@@ -1497,16 +1488,14 @@
        self.AttrID = 0
        self.AddAttrInfoPerPoint = {}
        self.FightPowerPerPoint = 0
        self.PointQualityAttrIDDict = {}
        self.PointQualityAttrValueDict = {}
        self.PointQualityAttrDict = {}
        self.PointQualityIntervalList = []
        return
        
    def GetAttrID(self): return self.AttrID # 属性ID
    def GetAddAttrInfoPerPoint(self): return self.AddAttrInfoPerPoint # 每点增加属性信息 {"职业":[[每X点,属性ID,值], ...], ..}
    def GetFightPowerPerPoint(self): return self.FightPowerPerPoint # 每点附加战斗力
    def GetPointQualityAttrIDDict(self): return self.PointQualityAttrIDDict # 点数品质进阶增加属性ID, 根据职业区分
    def GetPointQualityAttrValueDict(self): return self.PointQualityAttrValueDict # 点数品质进阶增加属性值列表, 根据职业区分
    def GetPointQualityAttrDict(self): return self.PointQualityAttrDict # 点数品质进阶增加属性,  {职业:{属性ID:[阶段属性,..],..},..}
    def GetPointQualityIntervalList(self): return self.PointQualityIntervalList # 点数品质进阶属性点区间列表
# 境界表
@@ -2203,26 +2192,26 @@
        self.LV = 0
        self.CftHit = 0
        self.CftMiss = 0
        self.CftDamagePer = 0
        self.CftDamReduce = 0
        self.CftIgnoreDefRate = 0
        self.CftDamChanceDef = 0
        self.CftBleedDamage = 0
        self.CftFaintRate = 0
        self.CftSuperHitReduce = 0
        self.CftSuperHitRateReduce = 0
        self.CftSuperHitRate = 0
        self.CftLuckyHitRate = 0
        self.CftLuckyHitRateReduce = 0
        self.CftSkillAtkRate = 0
        self.CftSkillAtkRateReduce = 0
        self.CftFinalHurtPer = 0
        self.CftFinalHurtReducePer = 0
        self.CftDamagePerPVP = 0
        self.CftDamagePerPVPReduce = 0
        self.CftNPCHurtAddPer = 0
        self.CftNormalHurtPer = 0
        self.CftFabaoHurtPer = 0
        self.CftDamBackPer = 0
        self.CftIgnoreDefRateReduce = 0
        self.CftFaintDefRate = 0
        self.CftAtkSpeed = 0
        self.CftLuckyHit = 0
        self.CftSpeedPer = 0
        self.CftAtkPer = 0
        self.CftMaxHPPer = 0
        self.CftJobAHurtAddPer = 0
        self.CftJobBHurtAddPer = 0
        self.CftJobCHurtAddPer = 0
@@ -2234,26 +2223,26 @@
    def GetLV(self): return self.LV # 等级
    def GetCftHit(self): return self.CftHit # 命中系数
    def GetCftMiss(self): return self.CftMiss # 闪避系数
    def GetCftDamagePer(self): return self.CftDamagePer # 增加伤害系数
    def GetCftDamReduce(self): return self.CftDamReduce # 减少伤害系数
    def GetCftIgnoreDefRate(self): return self.CftIgnoreDefRate # 无视防御系数
    def GetCftDamChanceDef(self): return self.CftDamChanceDef # 抵御系数
    def GetCftBleedDamage(self): return self.CftBleedDamage # 流血伤害系数
    def GetCftFaintRate(self): return self.CftFaintRate # 击晕系数
    def GetCftSuperHitReduce(self): return self.CftSuperHitReduce # 暴击抗性系数
    def GetCftSuperHitRateReduce(self): return self.CftSuperHitRateReduce # 暴击率抗性系数
    def GetCftSuperHitRate(self): return self.CftSuperHitRate # 暴击率系数
    def GetCftLuckyHitRate(self): return self.CftLuckyHitRate # 会心一击率系数
    def GetCftLuckyHitRateReduce(self): return self.CftLuckyHitRateReduce # 会心一击抗性系数
    def GetCftSkillAtkRate(self): return self.CftSkillAtkRate # 技能伤害系数
    def GetCftSkillAtkRateReduce(self): return self.CftSkillAtkRateReduce # 技能减伤系数
    def GetCftDamagePerPVP(self): return self.CftDamagePerPVP # PVP伤害增肌系数
    def GetCftFinalHurtPer(self): return self.CftFinalHurtPer # 最终伤害加成系数
    def GetCftFinalHurtReducePer(self): return self.CftFinalHurtReducePer # 最终伤害减免系数
    def GetCftDamagePerPVP(self): return self.CftDamagePerPVP # PVP伤害增加系数
    def GetCftDamagePerPVPReduce(self): return self.CftDamagePerPVPReduce # PVP伤害减少系数
    def GetCftNPCHurtAddPer(self): return self.CftNPCHurtAddPer # PVE技能加成系数
    def GetCftNormalHurtPer(self): return self.CftNormalHurtPer # 普通附加伤害加成系数
    def GetCftFabaoHurtPer(self): return self.CftFabaoHurtPer # 法宝附加伤害加成系数
    def GetCftDamBackPer(self): return self.CftDamBackPer # 伤害反射系数
    def GetCftIgnoreDefRateReduce(self): return self.CftIgnoreDefRateReduce # 无视防御抗性系数
    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 GetCftAtkPer(self): return self.CftAtkPer # 攻击百分比系数
    def GetCftMaxHPPer(self): return self.CftMaxHPPer # 生命百分比系数
    def GetCftJobAHurtAddPer(self): return self.CftJobAHurtAddPer # 对目标战士伤害加成
    def GetCftJobBHurtAddPer(self): return self.CftJobBHurtAddPer # 对目标法师伤害加成
    def GetCftJobCHurtAddPer(self): return self.CftJobCHurtAddPer # 对目标弓箭伤害加成
@@ -2844,29 +2833,6 @@
    def GetItemCount(self): return self.ItemCount # 物品数量
    def GetItemBind(self): return self.ItemBind # 是否绑定
# 法宝铸炼表
class IPY_TreasureRefine():
    def __init__(self):
        self.TreasureID = 0
        self.TreasureLV = 0
        self.TreasureAttr = {}
        self.Material = {}
        self.SuccessRate = 0
        self.OpenSkill = 0
        self.NeedAlchemyLV = 0
        self.NeedAllTreasureLV = 0
        return
    def GetTreasureID(self): return self.TreasureID # 法宝id
    def GetTreasureLV(self): return self.TreasureLV # 法宝阶数
    def GetTreasureAttr(self): return self.TreasureAttr # 属性(最多3条)
    def GetMaterial(self): return self.Material # 铸炼材料
    def GetSuccessRate(self): return self.SuccessRate # 成功率
    def GetOpenSkill(self): return self.OpenSkill # 解锁技能
    def GetNeedAlchemyLV(self): return self.NeedAlchemyLV # 所需炼丹等级
    def GetNeedAllTreasureLV(self): return self.NeedAllTreasureLV # 所需所有法宝等级
# 炼丹炉等级表
class IPY_RefineStove():
    
@@ -2888,7 +2854,7 @@
        self.AlchemyQuality = 0
        self.LearnNeedItemID = 0
        self.LearnNeedAlchemLV = 0
        self.LearnNeedLuck = 0
        self.LearnNeedLingGenPoint = 0
        self.NeedTime = 0
        self.AlchemyExp = 0
        self.Material = {}
@@ -2900,7 +2866,7 @@
    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 GetLearnNeedLingGenPoint(self): return self.LearnNeedLingGenPoint # 丹方需要总灵根点数
    def GetNeedTime(self): return self.NeedTime # 炼丹时间(秒)
    def GetAlchemyExp(self): return self.AlchemyExp # 炼丹获得经验值
    def GetMaterial(self): return self.Material # 炼丹材料
@@ -2955,11 +2921,11 @@
    
    def __init__(self):
        self.NPCID = 0
        self.ChanllengeLv = 0
        self.FuncLineID = 0
        return
        
    def GetNPCID(self): return self.NPCID # ID
    def GetChanllengeLv(self): return self.ChanllengeLv # 可挑战等级
    def GetFuncLineID(self): return self.FuncLineID # 可挑战等级
# 仙盟活跃表
class IPY_FamilyActivity():
@@ -3175,7 +3141,8 @@
        self.CostItemCount = 0
        self.CostGold = 0
        self.ShowType = 0
        self.IsBind = 0
        self.IsBind = 0
        self.AucionItemCanSell = 0
        return
        
    def GetChestsItemID(self): return self.ChestsItemID # 宝箱物品ID
@@ -3183,7 +3150,8 @@
    def GetCostItemCount(self): return self.CostItemCount # 消耗物品个数
    def GetCostGold(self): return self.CostGold # 消耗仙玉
    def GetShowType(self): return self.ShowType # 前端表现类型0-无表现, >0有表现需同步结果,具体类型前端自定义
    def GetIsBind(self): return self.IsBind # 开出物品是否绑定
    def GetIsBind(self): return self.IsBind # 开出物品是否绑定
    def GetAucionItemCanSell(self): return self.AucionItemCanSell # 开出拍品可否上架集市
# 宝箱表产出表
class IPY_ChestsAward():
@@ -4395,6 +4363,7 @@
        self.MapID = 0
        self.LineID = 0
        self.BossID = 0
        self.EventFBType = 0
        self.CostEnergy = 0
        self.NeedAlchemyLV = 0
        self.NeedLV = []
@@ -4408,6 +4377,7 @@
    def GetMapID(self): return self.MapID # 副本id
    def GetLineID(self): return self.LineID # 副本线路id
    def GetBossID(self): return self.BossID # 副本BossID
    def GetEventFBType(self): return self.EventFBType # 事件副本类型,0-前端,1-本服,2-跨服
    def GetCostEnergy(self): return self.CostEnergy # 消耗体力
    def GetNeedAlchemyLV(self): return self.NeedAlchemyLV # 出现的炼丹等级要求
    def GetNeedLV(self): return self.NeedLV # 出现的玩家等级要求
@@ -4440,12 +4410,14 @@
    def __init__(self):
        self.Cnt = 0
        self.EventID = 0
        self.Award = []
        self.Award = []
        self.RandomAward = []
        return
        
    def GetCnt(self): return self.Cnt # 次数
    def GetEventID(self): return self.EventID # 事件编号
    def GetAward(self): return self.Award # 定制奖励(没配走正常奖励规则)[[物品ID,数量,是否拍品],..]
    def GetAward(self): return self.Award # 定制奖励(没配走正常奖励规则)[[物品ID,数量,是否拍品],..]
    def GetRandomAward(self): return self.RandomAward # 随机奖励 [[(权重,[物品ID,数量,是否拍品]),..],..]
# 副本Buff表
class IPY_FBBuyBuff():
@@ -4628,8 +4600,6 @@
        self.ipyDailyQuestLen = len(self.ipyDailyQuestCache)
        self.ipyDailyLivenessRewardCache = self.__LoadFileData("DailyLivenessReward", IPY_DailyLivenessReward)
        self.ipyDailyLivenessRewardLen = len(self.ipyDailyLivenessRewardCache)
        self.ipyTreasureRefineCache = self.__LoadFileData("TreasureRefine", IPY_TreasureRefine)
        self.ipyTreasureRefineLen = len(self.ipyTreasureRefineCache)
        self.ipyRefineStoveCache = self.__LoadFileData("RefineStove", IPY_RefineStove)
        self.ipyRefineStoveLen = len(self.ipyRefineStoveCache)
        self.ipyAlchemyCache = self.__LoadFileData("Alchemy", IPY_Alchemy)
@@ -5092,8 +5062,6 @@
    def GetDailyQuestByIndex(self, index): return self.ipyDailyQuestCache[index]
    def GetDailyLivenessRewardCount(self): return self.ipyDailyLivenessRewardLen
    def GetDailyLivenessRewardByIndex(self, index): return self.ipyDailyLivenessRewardCache[index]
    def GetTreasureRefineCount(self): return self.ipyTreasureRefineLen
    def GetTreasureRefineByIndex(self, index): return self.ipyTreasureRefineCache[index]
    def GetRefineStoveCount(self): return self.ipyRefineStoveLen
    def GetRefineStoveByIndex(self, index): return self.ipyRefineStoveCache[index]
    def GetAlchemyCount(self): return self.ipyAlchemyLen