From 0e043421fbceafb93068ead6a71deccba82651d8 Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期一, 29 七月 2019 17:40:09 +0800 Subject: [PATCH] 8180 【后端】【主干】优化组队打BOSS(修复选中非玩家报错) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 367 +++++++++++++++++++++++++++++++++------------------- 1 files changed, 232 insertions(+), 135 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py index 74a5e84..f7c3a8e 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py @@ -45,9 +45,17 @@ ("BYTE", "AttrID", 1), ("dict", "AddAttrInfoPerPoint", 0), ("BYTE", "FightPowerPerPoint", 0), - ("dict", "PointQualityAttrIDDict", 0), - ("dict", "PointQualityAttrValueDict", 0), + ("dict", "PointQualityAttrDict", 0), ("list", "PointQualityIntervalList", 0), + ), + + "LingQiAttr":( + ("BYTE", "ItemID", 1), + ("list", "LingQiAttrID", 0), + ("list", "LingQiAttrValue", 0), + ("DWORD", "LingQiAttrScore", 0), + ("dict", "UpCostItem", 0), + ("DWORD", "NextItemID", 0), ), "Realm":( @@ -90,6 +98,7 @@ ("WORD", "LimiRealmLV", 0), ("DWORD", "LimitMissionID", 0), ("BYTE", "LimitVIPLV", 0), + ("char", "MailKey", 0), ), "ItemCompound":( @@ -136,6 +145,7 @@ ("BYTE", "ItemType", 1), ("BYTE", "ItemColor", 1), ("BYTE", "IsSuit", 1), + ("BYTE", "ItemQuality", 1), ("list", "LegendAttrCountInfo", 0), ), @@ -154,6 +164,7 @@ ("BYTE", "ItemClassLV", 1), ("BYTE", "ItemColor", 1), ("BYTE", "IsSuit", 1), + ("BYTE", "ItemQuality", 1), ("dict", "LVLegendAttrLibNumInfo", 0), ), @@ -341,6 +352,7 @@ ("DWORD", "LostHPPerSecond", 0), ("BYTE", "MaxPlayerCount", 0), ("DWORD", "LostHPPerSecondEx", 0), + ("BYTE", "FightPowerMinByLV", 0), ("DWORD", "FightPowerMin", 0), ("DWORD", "FightPowerMax", 0), ("DWORD", "EveryFightPower", 0), @@ -382,28 +394,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), @@ -425,6 +435,7 @@ ("dict", "EquipColorMaxDropCount", 0), ("dict", "EquipColorSuitInfo", 0), ("dict", "EquipPartKeyRateInfo", 0), + ("BYTE", "ColorSuitPartOptimization", 0), ("dict", "KillCountDropEquipPub", 0), ("dict", "ItemIDDropRate", 0), ("dict", "ItemIDMaxDropCount", 0), @@ -452,6 +463,12 @@ ("DWORD", "SweepRunePoint", 0), ("DWORD", "SweepYsog", 0), ("dict", "SweepGoodDrop", 0), + ), + + "ChinMap":( + ("DWORD", "MapID", 1), + ("BYTE", "CanRide", 0), + ("BYTE", "CanOutPet", 0), ), "FBFunc":( @@ -530,6 +547,7 @@ ("BYTE", "ClassLV", 1), ("BYTE", "EquipColor", 1), ("BYTE", "IsSuit", 1), + ("BYTE", "ItemQuality", 1), ("DWORD", "BaseEquipMaxHPAddPerC", 0), ("DWORD", "BaseEquipAtkAddPerC", 0), ("DWORD", "SuperHitC", 0), @@ -541,8 +559,10 @@ ("DWORD", "PerLVMaxHPC", 0), ("DWORD", "DropMoneyPerC", 0), ("DWORD", "SuperHitReduceC", 0), + ("DWORD", "SuperHitRateReduceC", 0), ("DWORD", "HitC", 0), ("DWORD", "MissC", 0), + ("DWORD", "PetDamPerC", 0), ), "Success":( @@ -605,12 +625,9 @@ "AppointItem":( ("DWORD", "ID", 1), - ("BYTE", "SuiteLV", 0), ("BYTE", "CancelUseLimit", 0), ("list", "LegendAttrID", 0), ("list", "LegendAttrValue", 0), - ("list", "OutOfPrintAttr", 0), - ("list", "OutOfPrintAttrValue", 0), ), "AuctionItem":( @@ -770,7 +787,7 @@ "SealDemon":( ("DWORD", "NPCID", 1), ("BYTE", "LineID", 0), - ("WORD", "KillTime", 0), + ("list", "OwnerAwardItemEx", 0), ), "FbEncourage":( @@ -841,6 +858,7 @@ ("WORD", "CostGold", 0), ("BYTE", "ShowType", 0), ("BYTE", "IsBind", 0), + ("BYTE", "AucionItemCanSell", 0), ), "ChestsAward":( @@ -857,6 +875,12 @@ ("BYTE", "MoneyType", 0), ("DWORD", "MoneyCount", 0), ("list", "NeedNotifyItemList", 0), + ("BYTE", "IsDropJobSelf", 0), + ("list", "PieRateDrop", 0), + ("BYTE", "PieRateDoCnt", 0), + ("dict", "IndepRateDrop", 0), + ("dict", "EquipColorSuitInfo", 0), + ("dict", "EquipPartKeyRateInfo", 0), ), "VIPKillNPC":( @@ -909,6 +933,8 @@ "CTG":( ("BYTE", "RecordID", 1), + ("BYTE", "CanResetBuyCount", 0), + ("BYTE", "TotalBuyCount", 0), ("BYTE", "DailyBuyCount", 0), ("WORD", "GainGold", 0), ("WORD", "GainGoldPrize", 0), @@ -1275,24 +1301,11 @@ ("char", "Reward", 0), ), - "ZhuXianSuitAttr":( - ("BYTE", "SuitType", 1), - ("BYTE", "SuitLV", 1), - ("list", "SuitAttrIDList", 0), - ("list", "SuitAttrValueList", 0), - ), - "ZhuXianBoss":( ("DWORD", "NPCID", 0), ("BYTE", "LineID", 1), - ("WORD", "KillTime", 0), ("WORD", "RealmLV", 0), ("DWORD", "ZhuXianScore", 0), - ), - - "ZhuXianEquipDecompose":( - ("BYTE", "ClassLV", 1), - ("dict", "DecomposeInfo", 0), ), "ActFeastWeekParty":( @@ -1327,13 +1340,6 @@ ("DWORD", "Index", 1), ("DWORD", "NeedPoint", 0), ("dict", "Award", 0), - ), - - "ZhuXianStoneAttr":( - ("BYTE", "SuitType", 1), - ("BYTE", "ShareSoneLV", 1), - ("list", "AttrIDList", 0), - ("list", "AttrValueList", 0), ), "ActLuckyTreasure":( @@ -1374,7 +1380,8 @@ ("BYTE", "IsJobLimit", 0), ("list", "CostEquipColor", 0), ("BYTE", "CostEquipCnt", 0), - ("BYTE", "SuitTotalRate", 0), + ("BYTE", "UnSuitRate", 0), + ("BYTE", "SuitRate", 0), ("dict", "CostItemDict", 0), ("dict", "StarAttrInfo", 0), ("dict", "BaseAttrInfo", 0), @@ -1389,6 +1396,7 @@ ), "FamilyBossAward":( + ("DWORD", "BossID", 1), ("list", "WorldLV", 0), ("list", "Rank", 0), ("list", "Award1", 0), @@ -1406,7 +1414,7 @@ ("list", "WorldLV", 0), ("list", "Rank", 0), ("list", "Award1", 0), - ("dict", "Award2", 0), + ("list", "Award2", 0), ), "FairyDomain":( @@ -1461,6 +1469,27 @@ ("DWORD", "FightPower", 0), ("BYTE", "IsNotify", 0), ), + + "LingGenEffect":( + ("DWORD", "ID", 0), + ("DWORD", "PointID", 1), + ("BYTE", "QualityLV", 1), + ), + + "HorsePetSkin":( + ("BYTE", "Type", 1), + ("DWORD", "ID", 1), + ("BYTE", "SkinLV", 1), + ("DWORD", "NeedExp", 0), + ("dict", "AttrInfo", 0), + ("BYTE", "SkinIndex", 0), + ), + + "HistoryRechargeAward":( + ("BYTE", "ID", 1), + ("DWORD", "Recharge", 0), + ("dict", "Reward", 0), + ), } @@ -1490,17 +1519,34 @@ 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 # 点数品质进阶属性点区间列表 + +# 灵器属性表 +class IPY_LingQiAttr(): + + def __init__(self): + self.ItemID = 0 + self.LingQiAttrID = [] + self.LingQiAttrValue = [] + self.LingQiAttrScore = 0 + self.UpCostItem = {} + self.NextItemID = 0 + return + + def GetItemID(self): return self.ItemID # 属性ID + def GetLingQiAttrID(self): return self.LingQiAttrID # 灵器属性ID + def GetLingQiAttrValue(self): return self.LingQiAttrValue # 灵器属性数值 + def GetLingQiAttrScore(self): return self.LingQiAttrScore # 灵器属性评分 + def GetUpCostItem(self): return self.UpCostItem # 突破需要材料 + def GetNextItemID(self): return self.NextItemID # 突破后物品ID # 境界表 class IPY_Realm(): @@ -1580,7 +1626,8 @@ self.LimitMagicWeapon = 0 self.LimiRealmLV = 0 self.LimitMissionID = 0 - self.LimitVIPLV = 0 + self.LimitVIPLV = 0 + self.MailKey = "" return def GetFuncId(self): return self.FuncId # 功能标识 @@ -1588,7 +1635,8 @@ def GetLimitMagicWeapon(self): return self.LimitMagicWeapon # 需要解锁法宝ID def GetLimiRealmLV(self): return self.LimiRealmLV # 需要境界等级 def GetLimitMissionID(self): return self.LimitMissionID # 需要完成的任务ID - def GetLimitVIPLV(self): return self.LimitVIPLV # 需要VIP等级 + def GetLimitVIPLV(self): return self.LimitVIPLV # 需要VIP等级 + def GetMailKey(self): return self.MailKey # 邮件 # 合成表 class IPY_ItemCompound(): @@ -1681,12 +1729,14 @@ self.ItemType = 0 self.ItemColor = 0 self.IsSuit = 0 + self.ItemQuality = 0 self.LegendAttrCountInfo = [] return def GetItemType(self): return self.ItemType # 物品类型 def GetItemColor(self): return self.ItemColor # 物品颜色 def GetIsSuit(self): return self.IsSuit # 是否套装 + def GetItemQuality(self): return self.ItemQuality # 物品星级 def GetLegendAttrCountInfo(self): return self.LegendAttrCountInfo # 传奇属性条数信息 [[条数, [属性类型库编号, ...]], ...] # 装备传奇属性类型表 @@ -1719,6 +1769,7 @@ self.ItemClassLV = 0 self.ItemColor = 0 self.IsSuit = 0 + self.ItemQuality = 0 self.LVLegendAttrLibNumInfo = {} return @@ -1726,6 +1777,7 @@ def GetItemClassLV(self): return self.ItemClassLV # 物品阶级 def GetItemColor(self): return self.ItemColor # 物品颜色 def GetIsSuit(self): return self.IsSuit # 是否套装 + def GetItemQuality(self): return self.ItemQuality # 物品星级 def GetLVLegendAttrLibNumInfo(self): return self.LVLegendAttrLibNumInfo # 属性ID等级段对应数值库编号 {属性ID:{等级:库编号, ...}} # 神兽表 @@ -2108,6 +2160,7 @@ self.LostHPPerSecond = 0 self.MaxPlayerCount = 0 self.LostHPPerSecondEx = 0 + self.FightPowerMinByLV = 0 self.FightPowerMin = 0 self.FightPowerMax = 0 self.EveryFightPower = 0 @@ -2118,6 +2171,7 @@ def GetLostHPPerSecond(self): return self.LostHPPerSecond # 单人每秒掉血量 def GetMaxPlayerCount(self): return self.MaxPlayerCount # 最大人数 def GetLostHPPerSecondEx(self): return self.LostHPPerSecondEx # 每增加一人附加掉血量 + def GetFightPowerMinByLV(self): return self.FightPowerMinByLV # 标准战力是否取等级表 def GetFightPowerMin(self): return self.FightPowerMin # 标准战力 def GetFightPowerMax(self): return self.FightPowerMax # 上限战力 def GetEveryFightPower(self): return self.EveryFightPower # 每x点战力 @@ -2196,28 +2250,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 @@ -2229,28 +2281,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 # 对目标弓箭伤害加成 @@ -2274,6 +2324,7 @@ self.EquipColorMaxDropCount = {} self.EquipColorSuitInfo = {} self.EquipPartKeyRateInfo = {} + self.ColorSuitPartOptimization = 0 self.KillCountDropEquipPub = {} self.ItemIDDropRate = {} self.ItemIDMaxDropCount = {} @@ -2302,6 +2353,7 @@ def GetEquipColorMaxDropCount(self): return self.EquipColorMaxDropCount # 装备颜色最大掉落物品数 {颜色:上限数量,...} def GetEquipColorSuitInfo(self): return self.EquipColorSuitInfo # 装备颜色对应套装概率 {颜色:套装概率, ...} def GetEquipPartKeyRateInfo(self): return self.EquipPartKeyRateInfo # 装备部位集合信息 {(颜色,是否套装):部位集合key, ...} + def GetColorSuitPartOptimization(self): return self.ColorSuitPartOptimization # 部位颜色套评分优选掉落,十位代表颜色,个位代表套装 def GetKillCountDropEquipPub(self): return self.KillCountDropEquipPub # 第x次击杀附加必掉装备 {次数:[阶,颜色,是否套装,部位集合key], ...} def GetItemIDDropRate(self): return self.ItemIDDropRate # 指定物品ID掉率信息 {物品ID:概率, ...} def GetItemIDMaxDropCount(self): return self.ItemIDMaxDropCount # 指定物品ID最大掉落个数,没配默认1次 {物品ID:随机次数,...} @@ -2343,6 +2395,19 @@ def GetSweepRunePoint(self): return self.SweepRunePoint # 扫荡符印精华 def GetSweepYsog(self): return self.SweepYsog # 扫荡魔精 def GetSweepGoodDrop(self): return self.SweepGoodDrop # 扫荡珍稀符印 + +# 地图表格 +class IPY_ChinMap(): + + def __init__(self): + self.MapID = 0 + self.CanRide = 0 + self.CanOutPet = 0 + return + + def GetMapID(self): return self.MapID # 地图ID + def GetCanRide(self): return self.CanRide # 可否骑乘 + def GetCanOutPet(self): return self.CanOutPet # 可否召唤宠物 # 副本总表 class IPY_FBFunc(): @@ -2500,6 +2565,7 @@ self.ClassLV = 0 self.EquipColor = 0 self.IsSuit = 0 + self.ItemQuality = 0 self.BaseEquipMaxHPAddPerC = 0 self.BaseEquipAtkAddPerC = 0 self.SuperHitC = 0 @@ -2511,13 +2577,16 @@ self.PerLVMaxHPC = 0 self.DropMoneyPerC = 0 self.SuperHitReduceC = 0 + self.SuperHitRateReduceC = 0 self.HitC = 0 - self.MissC = 0 + self.MissC = 0 + self.PetDamPerC = 0 return def GetClassLV(self): return self.ClassLV # 装备阶级 def GetEquipColor(self): return self.EquipColor # 装备颜色 def GetIsSuit(self): return self.IsSuit # 是否套装 + def GetItemQuality(self): return self.ItemQuality # 物品星级 def GetBaseEquipMaxHPAddPerC(self): return self.BaseEquipMaxHPAddPerC # 基础防具生命百分比系数 def GetBaseEquipAtkAddPerC(self): return self.BaseEquipAtkAddPerC # 基础武器攻击百分比系数 def GetSuperHitC(self): return self.SuperHitC # 暴击值系数 @@ -2528,9 +2597,11 @@ def GetPerLVAtkC(self): return self.PerLVAtkC # 每级增加攻击力系数 def GetPerLVMaxHPC(self): return self.PerLVMaxHPC # 每级增加生命值系数 def GetDropMoneyPerC(self): return self.DropMoneyPerC # 增加掉落金币量百分比系数 - def GetSuperHitReduceC(self): return self.SuperHitReduceC # 暴击抗性百分比系数 + def GetSuperHitReduceC(self): return self.SuperHitReduceC # 暴击减伤百分比系数 + def GetSuperHitRateReduceC(self): return self.SuperHitRateReduceC # 暴击抗性系数 def GetHitC(self): return self.HitC # 命中系数 - def GetMissC(self): return self.MissC # 闪避系数 + def GetMissC(self): return self.MissC # 闪避系数 + def GetPetDamPerC(self): return self.PetDamPerC # 灵宠增伤百分比系数 # 成就表 class IPY_Success(): @@ -2659,21 +2730,15 @@ def __init__(self): self.ID = 0 - self.SuiteLV = 0 self.CancelUseLimit = 0 self.LegendAttrID = [] - self.LegendAttrValue = [] - self.OutOfPrintAttr = [] - self.OutOfPrintAttrValue = [] + self.LegendAttrValue = [] return def GetID(self): return self.ID # 定制物品ID - def GetSuiteLV(self): return self.SuiteLV # 套装等级 def GetCancelUseLimit(self): return self.CancelUseLimit # 穿戴限制(除职业) def GetLegendAttrID(self): return self.LegendAttrID # 传奇属性ID - def GetLegendAttrValue(self): return self.LegendAttrValue # 传奇属性值 - def GetOutOfPrintAttr(self): return self.OutOfPrintAttr # 绝版属性ID - def GetOutOfPrintAttrValue(self): return self.OutOfPrintAttrValue # 绝版属性最大值 + def GetLegendAttrValue(self): return self.LegendAttrValue # 传奇属性值 # 拍卖物品表 class IPY_AuctionItem(): @@ -3005,12 +3070,12 @@ def __init__(self): self.NPCID = 0 self.LineID = 0 - self.KillTime = 0 + self.OwnerAwardItemEx = [] return def GetNPCID(self): return self.NPCID # ID def GetLineID(self): return self.LineID - def GetKillTime(self): return self.KillTime # 击杀总时间秒 + def GetOwnerAwardItemEx(self): return self.OwnerAwardItemEx # 第一名额外奖励物品[[itemID,个数,是否拍品], ...] # 副本鼓舞表 class IPY_FbEncourage(): @@ -3149,7 +3214,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 @@ -3157,7 +3223,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(): @@ -3175,7 +3242,13 @@ self.JobItemList = [] self.MoneyType = 0 self.MoneyCount = 0 - self.NeedNotifyItemList = [] + self.NeedNotifyItemList = [] + self.IsDropJobSelf = 0 + self.PieRateDrop = [] + self.PieRateDoCnt = 0 + self.IndepRateDrop = {} + self.EquipColorSuitInfo = {} + self.EquipPartKeyRateInfo = {} return def GetChestsItemID(self): return self.ChestsItemID # 宝箱物品ID @@ -3190,7 +3263,13 @@ def GetJobItemList(self): return self.JobItemList # 职业物品列表 def GetMoneyType(self): return self.MoneyType # 货币类型 def GetMoneyCount(self): return self.MoneyCount # 货币数量 - def GetNeedNotifyItemList(self): return self.NeedNotifyItemList # 需要广播的物品ID列表 + def GetNeedNotifyItemList(self): return self.NeedNotifyItemList # 需要广播的物品ID列表 + def GetIsDropJobSelf(self): return self.IsDropJobSelf # 是否只掉落本职业 + def GetPieRateDrop(self): return self.PieRateDrop # 饼图概率掉落信息 [(概率,0),(概率,(阶,颜色)),...] + def GetPieRateDoCnt(self): return self.PieRateDoCnt # 饼图概率执行次数 + def GetIndepRateDrop(self): return self.IndepRateDrop # 独立概率掉落信息 {(阶,颜色):概率,...} + def GetEquipColorSuitInfo(self): return self.EquipColorSuitInfo # 装备颜色对应套装概率 {颜色:套装概率, ...} + def GetEquipPartKeyRateInfo(self): return self.EquipPartKeyRateInfo # 装备部位集合信息 {(颜色,是否套装):部位集合key, ...} # VIP杀怪加攻击表 class IPY_VIPKillNPC(): @@ -3300,6 +3379,8 @@ def __init__(self): self.RecordID = 0 + self.CanResetBuyCount = 0 + self.TotalBuyCount = 0 self.DailyBuyCount = 0 self.GainGold = 0 self.GainGoldPrize = 0 @@ -3309,6 +3390,8 @@ return def GetRecordID(self): return self.RecordID # 记录ID + def GetCanResetBuyCount(self): return self.CanResetBuyCount # 是否允许重置次数 + def GetTotalBuyCount(self): return self.TotalBuyCount # 总限购次数 def GetDailyBuyCount(self): return self.DailyBuyCount # 每日限购次数 def GetGainGold(self): return self.GainGold # 获得仙玉数 def GetGainGoldPrize(self): return self.GainGoldPrize # 赠送仙玉数 @@ -4075,48 +4158,20 @@ def GetSingleTimes(self): return self.SingleTimes # 单次领奖需要的次数 def GetReward(self): return self.Reward # 奖励物品 -# 诛仙装备套装属性表 -class IPY_ZhuXianSuitAttr(): - - def __init__(self): - self.SuitType = 0 - self.SuitLV = 0 - self.SuitAttrIDList = [] - self.SuitAttrValueList = [] - return - - def GetSuitType(self): return self.SuitType # 套装类型 - def GetSuitLV(self): return self.SuitLV # 套装等级 - def GetSuitAttrIDList(self): return self.SuitAttrIDList # 属性ID列表 - def GetSuitAttrValueList(self): return self.SuitAttrValueList # 属性值列表 - # 诛仙BOSS表 class IPY_ZhuXianBoss(): def __init__(self): self.NPCID = 0 self.LineID = 0 - self.KillTime = 0 self.RealmLV = 0 self.ZhuXianScore = 0 return def GetNPCID(self): return self.NPCID # ID def GetLineID(self): return self.LineID - def GetKillTime(self): return self.KillTime # 击杀总时间秒 def GetRealmLV(self): return self.RealmLV # 需要境界 def GetZhuXianScore(self): return self.ZhuXianScore # 需要诛仙总评分 - -# 诛仙装备分解表 -class IPY_ZhuXianEquipDecompose(): - - def __init__(self): - self.ClassLV = 0 - self.DecomposeInfo = {} - return - - def GetClassLV(self): return self.ClassLV # 阶级 - def GetDecomposeInfo(self): return self.DecomposeInfo # {(产出物品ID,..):饼图,..} # 节日巡礼活动时间表 class IPY_ActFeastWeekParty(): @@ -4189,21 +4244,6 @@ def GetIndex(self): return self.Index # 索引 def GetNeedPoint(self): return self.NeedPoint # 需要点数 def GetAward(self): return self.Award # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...} - -# 诛仙宝石共鸣属性表 -class IPY_ZhuXianStoneAttr(): - - def __init__(self): - self.SuitType = 0 - self.ShareSoneLV = 0 - self.AttrIDList = [] - self.AttrValueList = [] - return - - def GetSuitType(self): return self.SuitType # 套装类型 - def GetShareSoneLV(self): return self.ShareSoneLV # 共鸣等级 - def GetAttrIDList(self): return self.AttrIDList # 属性ID列表 - def GetAttrValueList(self): return self.AttrValueList # 属性值列表 # 幸运鉴宝活动时间表 class IPY_ActLuckyTreasure(): @@ -4280,7 +4320,8 @@ self.IsJobLimit = 0 self.CostEquipColor = [] self.CostEquipCnt = 0 - self.SuitTotalRate = 0 + self.UnSuitRate = 0 + self.SuitRate = 0 self.CostItemDict = {} self.StarAttrInfo = {} self.BaseAttrInfo = {} @@ -4293,7 +4334,8 @@ def GetIsJobLimit(self): return self.IsJobLimit # 是否只用本职业装备材料 def GetCostEquipColor(self): return self.CostEquipColor # 可用装备品质 def GetCostEquipCnt(self): return self.CostEquipCnt # 装备数量 - def GetSuitTotalRate(self): return self.SuitTotalRate # 全套装加成概率(非套50%) + def GetUnSuitRate(self): return self.UnSuitRate # 单件非套装加成概率 + def GetSuitRate(self): return self.SuitRate # 单件套装加成概率 def GetCostItemDict(self): return self.CostItemDict # 特殊材料 def GetStarAttrInfo(self): return self.StarAttrInfo # 星级属性 def GetBaseAttrInfo(self): return self.BaseAttrInfo # 基础属性增加 @@ -4319,12 +4361,14 @@ class IPY_FamilyBossAward(): def __init__(self): + self.BossID = 0 self.WorldLV = [] self.Rank = [] self.Award1 = [] self.Award2 = {} return + def GetBossID(self): return self.BossID # BossID def GetWorldLV(self): return self.WorldLV # 世界等级 def GetRank(self): return self.Rank # 排名 def GetAward1(self): return self.Award1 # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..] @@ -4351,14 +4395,14 @@ self.WorldLV = [] self.Rank = [] self.Award1 = [] - self.Award2 = {} + self.Award2 = [] return def GetLineID(self): return self.LineID # 线路ID def GetWorldLV(self): return self.WorldLV # 世界等级 def GetRank(self): return self.Rank # 排名 def GetAward1(self): return self.Award1 # 奖励 [[独立概率万分率,[物品ID,数量,是否拍品]],..] - def GetAward2(self): return self.Award2 # 饼图奖励{随机次数:[(概率,[物品ID,数量,是否拍品]),..]} + def GetAward2(self): return self.Award2 # 饼图奖励 [[(概率,[物品ID,数量,是否拍品]),..]] # 缥缈仙域表 class IPY_FairyDomain(): @@ -4471,6 +4515,51 @@ def GetNeedLV(self): return self.NeedLV # 要求等级 def GetFightPower(self): return self.FightPower # 推荐战力 def GetIsNotify(self): return self.IsNotify # 是否广播 + +# 灵根特效表 +class IPY_LingGenEffect(): + + def __init__(self): + self.ID = 0 + self.PointID = 0 + self.QualityLV = 0 + return + + def GetID(self): return self.ID # 唯一ID + def GetPointID(self): return self.PointID # 灵根ID + def GetQualityLV(self): return self.QualityLV # 品级 + +# 骑宠幻化表 +class IPY_HorsePetSkin(): + + def __init__(self): + self.Type = 0 + self.ID = 0 + self.SkinLV = 0 + self.NeedExp = 0 + self.AttrInfo = {} + self.SkinIndex = 0 + return + + def GetType(self): return self.Type # 1坐骑2灵宠 + def GetID(self): return self.ID # 关联ID(坐骑表和灵宠表ID) + def GetSkinLV(self): return self.SkinLV # 幻化等级 + def GetNeedExp(self): return self.NeedExp # 升级需要经验 + def GetAttrInfo(self): return self.AttrInfo # 属性 + def GetSkinIndex(self): return self.SkinIndex # 外观 + +# 累计充值奖励表 +class IPY_HistoryRechargeAward(): + + def __init__(self): + self.ID = 0 + self.Recharge = 0 + self.Reward = {} + return + + def GetID(self): return self.ID # id + def GetRecharge(self): return self.Recharge # 所需充值元 + def GetReward(self): return self.Reward # 职业对应的奖励内容,每个职业4组数据,物品ID和物品数量(1.枪豪2.道师3.剑修) def Log(msg, playerID=0, par=0): @@ -4500,6 +4589,8 @@ self.ipyDienstgradLen = len(self.ipyDienstgradCache) self.ipyRolePointCache = self.__LoadFileData("RolePoint", IPY_RolePoint) self.ipyRolePointLen = len(self.ipyRolePointCache) + self.ipyLingQiAttrCache = self.__LoadFileData("LingQiAttr", IPY_LingQiAttr) + self.ipyLingQiAttrLen = len(self.ipyLingQiAttrCache) self.ipyRealmCache = self.__LoadFileData("Realm", IPY_Realm) self.ipyRealmLen = len(self.ipyRealmCache) self.ipyGodWeaponCache = self.__LoadFileData("GodWeapon", IPY_GodWeapon) @@ -4568,6 +4659,8 @@ self.ipyNPCDropItemLen = len(self.ipyNPCDropItemCache) self.ipyRuneTowerCache = self.__LoadFileData("RuneTower", IPY_RuneTower) self.ipyRuneTowerLen = len(self.ipyRuneTowerCache) + self.ipyChinMapCache = self.__LoadFileData("ChinMap", IPY_ChinMap) + self.ipyChinMapLen = len(self.ipyChinMapCache) self.ipyFBFuncCache = self.__LoadFileData("FBFunc", IPY_FBFunc) self.ipyFBFuncLen = len(self.ipyFBFuncCache) self.ipyFBLineCache = self.__LoadFileData("FBLine", IPY_FBLine) @@ -4746,12 +4839,8 @@ self.ipyActLoginAwardLen = len(self.ipyActLoginAwardCache) self.ipyLoginAwardCache = self.__LoadFileData("LoginAward", IPY_LoginAward) self.ipyLoginAwardLen = len(self.ipyLoginAwardCache) - self.ipyZhuXianSuitAttrCache = self.__LoadFileData("ZhuXianSuitAttr", IPY_ZhuXianSuitAttr) - self.ipyZhuXianSuitAttrLen = len(self.ipyZhuXianSuitAttrCache) self.ipyZhuXianBossCache = self.__LoadFileData("ZhuXianBoss", IPY_ZhuXianBoss) self.ipyZhuXianBossLen = len(self.ipyZhuXianBossCache) - self.ipyZhuXianEquipDecomposeCache = self.__LoadFileData("ZhuXianEquipDecompose", IPY_ZhuXianEquipDecompose) - self.ipyZhuXianEquipDecomposeLen = len(self.ipyZhuXianEquipDecomposeCache) self.ipyActFeastWeekPartyCache = self.__LoadFileData("ActFeastWeekParty", IPY_ActFeastWeekParty) self.ipyActFeastWeekPartyLen = len(self.ipyActFeastWeekPartyCache) self.ipyFeastWeekPartyCache = self.__LoadFileData("FeastWeekParty", IPY_FeastWeekParty) @@ -4760,8 +4849,6 @@ self.ipyNewAllPeoplePartyLen = len(self.ipyNewAllPeoplePartyCache) self.ipyNewAllPeoplePartyAwardCache = self.__LoadFileData("NewAllPeoplePartyAward", IPY_NewAllPeoplePartyAward) self.ipyNewAllPeoplePartyAwardLen = len(self.ipyNewAllPeoplePartyAwardCache) - self.ipyZhuXianStoneAttrCache = self.__LoadFileData("ZhuXianStoneAttr", IPY_ZhuXianStoneAttr) - self.ipyZhuXianStoneAttrLen = len(self.ipyZhuXianStoneAttrCache) self.ipyActLuckyTreasureCache = self.__LoadFileData("ActLuckyTreasure", IPY_ActLuckyTreasure) self.ipyActLuckyTreasureLen = len(self.ipyActLuckyTreasureCache) self.ipyLuckyTreasureTemplateCache = self.__LoadFileData("LuckyTreasureTemplate", IPY_LuckyTreasureTemplate) @@ -4792,6 +4879,12 @@ self.ipySkillElementLen = len(self.ipySkillElementCache) self.ipySkyTowerCache = self.__LoadFileData("SkyTower", IPY_SkyTower) self.ipySkyTowerLen = len(self.ipySkyTowerCache) + self.ipyLingGenEffectCache = self.__LoadFileData("LingGenEffect", IPY_LingGenEffect) + self.ipyLingGenEffectLen = len(self.ipyLingGenEffectCache) + self.ipyHorsePetSkinCache = self.__LoadFileData("HorsePetSkin", IPY_HorsePetSkin) + self.ipyHorsePetSkinLen = len(self.ipyHorsePetSkinCache) + self.ipyHistoryRechargeAwardCache = self.__LoadFileData("HistoryRechargeAward", IPY_HistoryRechargeAward) + self.ipyHistoryRechargeAwardLen = len(self.ipyHistoryRechargeAwardCache) Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict)) Log("IPY_DataMgr InitOK!") return @@ -4962,6 +5055,8 @@ def GetDienstgradByIndex(self, index): return self.ipyDienstgradCache[index] def GetRolePointCount(self): return self.ipyRolePointLen def GetRolePointByIndex(self, index): return self.ipyRolePointCache[index] + def GetLingQiAttrCount(self): return self.ipyLingQiAttrLen + def GetLingQiAttrByIndex(self, index): return self.ipyLingQiAttrCache[index] def GetRealmCount(self): return self.ipyRealmLen def GetRealmByIndex(self, index): return self.ipyRealmCache[index] def GetGodWeaponCount(self): return self.ipyGodWeaponLen @@ -5030,6 +5125,8 @@ def GetNPCDropItemByIndex(self, index): return self.ipyNPCDropItemCache[index] def GetRuneTowerCount(self): return self.ipyRuneTowerLen def GetRuneTowerByIndex(self, index): return self.ipyRuneTowerCache[index] + def GetChinMapCount(self): return self.ipyChinMapLen + def GetChinMapByIndex(self, index): return self.ipyChinMapCache[index] def GetFBFuncCount(self): return self.ipyFBFuncLen def GetFBFuncByIndex(self, index): return self.ipyFBFuncCache[index] def GetFBLineCount(self): return self.ipyFBLineLen @@ -5208,12 +5305,8 @@ def GetActLoginAwardByIndex(self, index): return self.ipyActLoginAwardCache[index] def GetLoginAwardCount(self): return self.ipyLoginAwardLen def GetLoginAwardByIndex(self, index): return self.ipyLoginAwardCache[index] - def GetZhuXianSuitAttrCount(self): return self.ipyZhuXianSuitAttrLen - def GetZhuXianSuitAttrByIndex(self, index): return self.ipyZhuXianSuitAttrCache[index] def GetZhuXianBossCount(self): return self.ipyZhuXianBossLen def GetZhuXianBossByIndex(self, index): return self.ipyZhuXianBossCache[index] - def GetZhuXianEquipDecomposeCount(self): return self.ipyZhuXianEquipDecomposeLen - def GetZhuXianEquipDecomposeByIndex(self, index): return self.ipyZhuXianEquipDecomposeCache[index] def GetActFeastWeekPartyCount(self): return self.ipyActFeastWeekPartyLen def GetActFeastWeekPartyByIndex(self, index): return self.ipyActFeastWeekPartyCache[index] def GetFeastWeekPartyCount(self): return self.ipyFeastWeekPartyLen @@ -5222,8 +5315,6 @@ def GetNewAllPeoplePartyByIndex(self, index): return self.ipyNewAllPeoplePartyCache[index] def GetNewAllPeoplePartyAwardCount(self): return self.ipyNewAllPeoplePartyAwardLen def GetNewAllPeoplePartyAwardByIndex(self, index): return self.ipyNewAllPeoplePartyAwardCache[index] - def GetZhuXianStoneAttrCount(self): return self.ipyZhuXianStoneAttrLen - def GetZhuXianStoneAttrByIndex(self, index): return self.ipyZhuXianStoneAttrCache[index] def GetActLuckyTreasureCount(self): return self.ipyActLuckyTreasureLen def GetActLuckyTreasureByIndex(self, index): return self.ipyActLuckyTreasureCache[index] def GetLuckyTreasureTemplateCount(self): return self.ipyLuckyTreasureTemplateLen @@ -5254,6 +5345,12 @@ def GetSkillElementByIndex(self, index): return self.ipySkillElementCache[index] def GetSkyTowerCount(self): return self.ipySkyTowerLen def GetSkyTowerByIndex(self, index): return self.ipySkyTowerCache[index] + def GetLingGenEffectCount(self): return self.ipyLingGenEffectLen + def GetLingGenEffectByIndex(self, index): return self.ipyLingGenEffectCache[index] + def GetHorsePetSkinCount(self): return self.ipyHorsePetSkinLen + def GetHorsePetSkinByIndex(self, index): return self.ipyHorsePetSkinCache[index] + def GetHistoryRechargeAwardCount(self): return self.ipyHistoryRechargeAwardLen + def GetHistoryRechargeAwardByIndex(self, index): return self.ipyHistoryRechargeAwardCache[index] IPYData = IPY_DataMgr() def IPY_Data(): return IPYData -- Gitblit v1.8.0