From 5900ca084b3e9d549ff9d4246a2e15cf1bd68a59 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 09 五月 2019 16:35:01 +0800
Subject: [PATCH] 6603 【后端】【2.0】增加新版的sp和被动技能 - 关联类型修复

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py | 1379 +++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 898 insertions(+), 481 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 933fd8c..1f63907 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -41,18 +41,26 @@
                         ("list", "Skills", 0),
                         ),
 
+                "RolePoint":(
+                        ("BYTE", "AttrID", 1),
+                        ("dict", "AddAttrInfoPerPoint", 0),
+                        ("dict", "PointQualityAttrIDDict", 0),
+                        ("dict", "PointQualityAttrValueDict", 0),
+                        ("list", "PointQualityIntervalList", 0),
+                        ),
+
                 "Realm":(
                         ("WORD", "Lv", 1),
-                        ("BYTE", "IsBigRealm", 0),
-                        ("DWORD", "NeedPoint", 0),
+                        ("DWORD", "NeedLV", 0),
                         ("DWORD", "NeedItemID", 0),
                         ("WORD", "NeedItemCnt", 0),
-                        ("dict", "NeedActiveTreasure", 0),
+                        ("list", "NeedEquip", 0),
                         ("list", "AddAttrType", 0),
                         ("list", "AddAttrNum", 0),
                         ("DWORD", "BossID", 0),
-                        ("dict", "SitTime", 0),
-                        ("dict", "TeamAward", 0),
+                        ("DWORD", "BuffID", 0),
+                        ("DWORD", "ExpRate", 0),
+                        ("DWORD", "ExpLimit", 0),
                         ),
 
                 "GodWeapon":(
@@ -113,21 +121,39 @@
 
                 "ItemPlusMax":(
                         ("BYTE", "Type", 1),
-                        ("BYTE", "ItemRank", 1),
-                        ("BYTE", "ItemColor", 1),
+                        ("BYTE", "Star", 1),
                         ("WORD", "LevelMax", 0),
-                        ),
-
-                "ItemPlusSumAttr":(
-                        ("WORD", "PlusCntNeed", 1),
-                        ("list", "AttrType", 0),
-                        ("list", "AttrValue", 0),
                         ),
 
                 "RoleEquipStars":(
                         ("BYTE", "StarsNeed", 1),
                         ("list", "AttrType", 0),
                         ("list", "AttrValue", 0),
+                        ),
+
+                "EquipLegendAttrCount":(
+                        ("BYTE", "ItemType", 1),
+                        ("BYTE", "ItemColor", 1),
+                        ("BYTE", "IsSuit", 1),
+                        ("list", "LegendAttrCountInfo", 0),
+                        ),
+
+                "EquipLegendAttrType":(
+                        ("BYTE", "ItemType", 1),
+                        ("dict", "LegendAttrTypeLib", 0),
+                        ),
+
+                "EquipLegendAttrLib":(
+                        ("BYTE", "LegendAttrID", 1),
+                        ("dict", "LegendAttrLib", 0),
+                        ),
+
+                "EquipLegendAttrValue":(
+                        ("BYTE", "ItemType", 1),
+                        ("BYTE", "ItemClassLV", 1),
+                        ("BYTE", "ItemColor", 1),
+                        ("BYTE", "IsSuit", 1),
+                        ("dict", "LVLegendAttrLibNumInfo", 0),
                         ),
 
                 "Dogz":(
@@ -177,17 +203,11 @@
                         ("list", "GoldWashCostList", 0),
                         ),
 
-                "EquipWashSpec":(
-                        ("BYTE", "WashTypeNeed", 1),
-                        ("BYTE", "WashLVNeed", 1),
-                        ("list", "AddAttrType", 0),
-                        ("list", "AddAttrValue", 0),
-                        ),
-
                 "AttrFruit":(
                         ("DWORD", "ID", 1),
                         ("BYTE", "FuncID", 0),
-                        ("WORD", "MaxUseCnt", 0),
+                        ("dict", "MaxUseCnt", 0),
+                        ("list", "AddItemInfo", 0),
                         ("WORD", "RecycleMoney", 0),
                         ("DWORD", "FightPowerEx", 0),
                         ),
@@ -315,29 +335,20 @@
                         ("DWORD", "FightPowerCoefficient", 0),
                         ),
 
-                "EquipSuitAttr":(
-                        ("BYTE", "GroupType", 1),
-                        ("BYTE", "SuiteType", 1),
-                        ("WORD", "SuiteLV", 1),
-                        ("BYTE", "Job", 1),
-                        ("BYTE", "Count1", 0),
-                        ("list", "AttrType1", 0),
-                        ("list", "AttrValue1", 0),
-                        ("BYTE", "Count2", 0),
-                        ("list", "AttrType2", 0),
-                        ("list", "AttrValue2", 0),
-                        ("BYTE", "Count3", 0),
-                        ("list", "AttrType3", 0),
-                        ("list", "AttrValue3", 0),
+                "NPCTimeLostHP":(
+                        ("DWORD", "NPCID", 1),
+                        ("DWORD", "LostHPPerSecond", 0),
+                        ("BYTE", "MaxPlayerCount", 0),
+                        ("DWORD", "LostHPPerSecondEx", 0),
                         ),
 
-                "EquipSuitCompound":(
-                        ("BYTE", "SuiteType", 1),
-                        ("BYTE", "EquipPlace", 1),
-                        ("WORD", "SuiteLV", 1),
-                        ("BYTE", "Job", 1),
-                        ("list", "CostItemID", 0),
-                        ("list", "CostItemCnt", 0),
+                "EquipSuitAttr":(
+                        ("WORD", "SuiteID", 1),
+                        ("BYTE", "SuiteCnt", 0),
+                        ("BYTE", "Star", 0),
+                        ("dict", "AttrInfo", 0),
+                        ("DWORD", "SkillID", 0),
+                        ("BYTE", "IsNotify", 0),
                         ),
 
                 "WingRefineAttr":(
@@ -404,10 +415,10 @@
                         ("BYTE", "PieRateDoCnt", 0),
                         ("dict", "IndepRateDrop", 0),
                         ("BYTE", "IndepRateDoCnt", 0),
-                        ("dict", "IndepRateMaxDropCount", 0),
-                        ("dict", "EquipStarInfo", 0),
-                        ("list", "KillCountDropEquipEx", 0),
-                        ("list", "KillCountDropEquipEx2", 0),
+                        ("dict", "EquipColorMaxDropCount", 0),
+                        ("dict", "EquipColorSuitInfo", 0),
+                        ("dict", "EquipPartKeyRateInfo", 0),
+                        ("dict", "KillCountDropEquipPub", 0),
                         ("dict", "ItemIDDropRate", 0),
                         ("dict", "ItemIDMaxDropCount", 0),
                         ("dict", "ItemKeyDropRate", 0),
@@ -417,8 +428,10 @@
                         ("WORD", "DropMoneyRate", 0),
                         ("WORD", "DropMoneyMin", 0),
                         ("WORD", "DropMoneyMax", 0),
-                        ("list", "KillCountDrop", 0),
+                        ("dict", "KillCountDropPub", 0),
+                        ("list", "KillCountDropPri", 0),
                         ("list", "PriItemIDDrop", 0),
+                        ("BYTE", "AucionItemCanSell", 0),
                         ),
 
                 "RuneTower":(
@@ -457,7 +470,6 @@
                         ("DWORD", "MapID", 0),
                         ("WORD", "LVLimitMin", 0),
                         ("WORD", "LVLimitMax", 0),
-                        ("BYTE", "JobRankLimit", 0),
                         ("DWORD", "TicketID", 0),
                         ("list", "TicketCostCnt", 0),
                         ("WORD", "TicketPrice", 0),
@@ -498,6 +510,10 @@
                 "DailyAction":(
                         ("DWORD", "DailyID", 1),
                         ("DWORD", "DayTimes", 0),
+                        ("DWORD", "DayBuyTimes", 0),
+                        ("DWORD", "BuyNeedMoney", 0),
+                        ("DWORD", "DayItemAddTimes", 0),
+                        ("DWORD", "DayItemID", 0),
                         ("BYTE", "DayResetType", 0),
                         ("DWORD", "WeekTimes", 0),
                         ("BYTE", "WeekResetType", 0),
@@ -506,46 +522,20 @@
                 "EquipGSParam":(
                         ("BYTE", "ClassLV", 1),
                         ("BYTE", "EquipColor", 1),
-                        ("BYTE", "EquipQualityLV", 1),
-                        ("DWORD", "AtkPerC", 0),
-                        ("DWORD", "DamagePerC", 0),
-                        ("DWORD", "SuperHitRateC", 0),
+                        ("BYTE", "IsSuit", 1),
+                        ("DWORD", "BaseEquipMaxHPAddPerC", 0),
+                        ("DWORD", "BaseEquipAtkAddPerC", 0),
+                        ("DWORD", "SuperHitC", 0),
                         ("DWORD", "SuperHitPerC", 0),
-                        ("DWORD", "DamReducePerC", 0),
-                        ("DWORD", "MaxHPPerC", 0),
-                        ("DWORD", "DefPerC", 0),
                         ("DWORD", "LuckyHitRateC", 0),
-                        ("DWORD", "PetDamPerC", 0),
+                        ("DWORD", "LuckyHitRateReduceC", 0),
+                        ("DWORD", "LuckPerC", 0),
                         ("DWORD", "PerLVAtkC", 0),
-                        ("DWORD", "MissRateC", 0),
-                        ("DWORD", "HitRateC", 0),
-                        ("DWORD", "DamBackPerC", 0),
                         ("DWORD", "PerLVMaxHPC", 0),
-                        ("DWORD", "DropEquipPerC", 0),
                         ("DWORD", "DropMoneyPerC", 0),
-                        ("DWORD", "IgnoreDefRateReduceC", 0),
-                        ("DWORD", "DamChanceDefC", 0),
                         ("DWORD", "SuperHitReduceC", 0),
-                        ("DWORD", "SkillAtkRateC", 0),
-                        ("DWORD", "SpeedPerC", 0),
-                        ("DWORD", "AtkSpeedC", 0),
-                        ("DWORD", "SkillAtkRateReduceC", 0),
                         ("DWORD", "HitC", 0),
                         ("DWORD", "MissC", 0),
-                        ("DWORD", "SkillAddPer1C", 0),
-                        ("DWORD", "SkillAddPer2C", 0),
-                        ("DWORD", "SkillAddPer3C", 0),
-                        ("DWORD", "SkillAddPer4C", 0),
-                        ("DWORD", "SkillAddPer5C", 0),
-                        ("DWORD", "SkillAddPer6C", 0),
-                        ("DWORD", "SkillAddPer7C", 0),
-                        ("DWORD", "SkillReducePer1C", 0),
-                        ("DWORD", "SkillReducePer2C", 0),
-                        ("DWORD", "SkillReducePer3C", 0),
-                        ("DWORD", "SkillReducePer4C", 0),
-                        ("DWORD", "SkillReducePer5C", 0),
-                        ("DWORD", "SkillReducePer6C", 0),
-                        ("DWORD", "SkillReducePer7C", 0),
                         ),
 
                 "Success":(
@@ -567,9 +557,9 @@
                         ("DWORD", "ID", 1),
                         ("BYTE", "TreasureType", 0),
                         ("DWORD", "PreTreasure", 0),
-                        ("list", "SuccID", 0),
-                        ("list", "Potentials", 0),
-                        ("list", "SkillPower", 0),
+                        ("DWORD", "FBMapID", 0),
+                        ("DWORD", "FBLineID", 0),
+                        ("DWORD", "NeedLV", 0),
                         ("dict", "NeedItem", 0),
                         ),
 
@@ -579,30 +569,7 @@
                         ("DWORD", "NeedExp", 0),
                         ("dict", "AddAttr", 0),
                         ("list", "UnLockSkill", 0),
-                        ("DWORD", "ActiveMWID", 0),
-                        ("list", "ItemAward", 0),
-                        ("DWORD", "ActiveSoulID", 0),
                         ("DWORD", "PowerEx", 0),
-                        ),
-
-                "TreasurePrivilege":(
-                        ("DWORD", "PrivilegeID", 1),
-                        ("eval", "EffectValue", 0),
-                        ("DWORD", "SingleValue", 0),
-                        ("DWORD", "MaxValue", 0),
-                        ("dict", "AddAttr", 0),
-                        ("list", "ItemAward", 0),
-                        ("list", "SuccessList", 0),
-                        ),
-
-                "TreasureSkill":(
-                        ("BYTE", "SkillUpType", 1),
-                        ("BYTE", "SkillLV", 1),
-                        ("DWORD", "NeedPoint", 0),
-                        ("WORD", "InitRate", 0),
-                        ("list", "NeedItemID", 0),
-                        ("list", "NeedItemCnt", 0),
-                        ("list", "MaxRate", 0),
                         ),
 
                 "ContineSignAward":(
@@ -637,6 +604,10 @@
                         ("list", "LegendAttrValue", 0),
                         ("list", "OutOfPrintAttr", 0),
                         ("list", "OutOfPrintAttrValue", 0),
+                        ),
+
+                "AuctionItem":(
+                        ("DWORD", "AuctionItemID", 1),
                         ),
 
                 "VipPrivilege":(
@@ -691,7 +662,7 @@
                         ("WORD", "AdvanceMinutes", 0),
                         ("WORD", "LVLimit", 0),
                         ("BYTE", "IsDayReset", 0),
-                        ("list", "ShopTypeList", 0),
+                        ("dict", "ShopTypeList", 0),
                         ("char", "MailKey", 0),
                         ("list", "MailItemPrize", 0),
                         ),
@@ -729,27 +700,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":(
@@ -815,6 +784,17 @@
                         ("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":(
                         ("DWORD", "TagItemID", 1),
                         ("list", "NeedItem", 0),
@@ -835,11 +815,27 @@
 
                 "CollectNPC":(
                         ("DWORD", "NPCID", 1),
+                        ("BYTE", "IsMissionCollectNPC", 0),
                         ("BYTE", "PrepareTime", 0),
                         ("list", "LostHPPer", 0),
                         ("BYTE", "MaxCollectCount", 0),
+                        ("BYTE", "CollectResetType", 0),
                         ("char", "CollectCountLimitNotify", 0),
                         ("list", "CollectAward", 0),
+                        ("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":(
@@ -982,7 +978,7 @@
                         ("WORD", "AdvanceMinutes", 0),
                         ("WORD", "LVLimit", 0),
                         ("BYTE", "IsDayReset", 0),
-                        ("list", "GiftbagTypeList", 0),
+                        ("dict", "GiftbagTypeList", 0),
                         ("char", "MailKey", 0),
                         ("list", "MailItemPrize", 0),
                         ),
@@ -1016,7 +1012,7 @@
                         ("DWORD", "TemplateID", 1),
                         ("DWORD", "NeedCostGold", 0),
                         ("BYTE", "AwardIndex", 0),
-                        ("list", "AwardItemList", 0),
+                        ("dict", "AwardItemList", 0),
                         ("char", "NotifyKey", 0),
                         ),
 
@@ -1034,7 +1030,7 @@
                         ("BYTE", "ID", 1),
                         ("DWORD", "TotalTimes", 0),
                         ("WORD", "SingleTimes", 0),
-                        ("list", "Reward", 0),
+                        ("dict", "Reward", 0),
                         ),
 
                 "ActRealmPoint":(
@@ -1159,16 +1155,9 @@
                         ("list", "ItemList", 0),
                         ),
 
-                "GodWeaponEffect":(
-                        ("BYTE", "GWType", 0),
-                        ("WORD", "Level", 0),
-                        ("char", "NotifyCode", 0),
-                        ("DWORD", "FightPower", 0),
-                        ("dict", "Attr", 0),
-                        ),
-
                 "CrossRealmPKDan":(
                         ("BYTE", "DanLV", 1),
+                        ("WORD", "LVUpScore", 0),
                         ),
 
                 "CrossRealmPKDanAward":(
@@ -1186,6 +1175,12 @@
                         ),
 
                 "CrossZoneComm":(
+                        ("char", "CrossZoneName", 1),
+                        ("BYTE", "ZoneID", 1),
+                        ("list", "ServerGroupIDList", 0),
+                        ),
+
+                "CrossZonePK":(
                         ("char", "CrossZoneName", 1),
                         ("BYTE", "ZoneID", 1),
                         ("list", "ServerGroupIDList", 0),
@@ -1281,7 +1276,7 @@
                         ("BYTE", "ActionType", 0),
                         ("DWORD", "TotalTimes", 0),
                         ("WORD", "SingleTimes", 0),
-                        ("list", "Reward", 0),
+                        ("char", "Reward", 0),
                         ),
 
                 "ZhuXianSuitAttr":(
@@ -1297,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":(
@@ -1353,6 +1339,129 @@
                         ("list", "AttrIDList", 0),
                         ("list", "AttrValueList", 0),
                         ),
+
+                "ActLuckyTreasure":(
+                        ("DWORD", "CfgID", 1),
+                        ("char", "StartDate", 0),
+                        ("char", "EndDate", 0),
+                        ("BYTE", "ResetType", 0),
+                        ("WORD", "LVLimit", 0),
+                        ("BYTE", "TemplateID", 0),
+                        ("WORD", "LuckyPoint", 0),
+                        ),
+
+                "LuckyTreasureTemplate":(
+                        ("BYTE", "TemplateID", 1),
+                        ("list", "WorldLVLimit", 0),
+                        ("DWORD", "ItemID", 0),
+                        ("WORD", "ItemCnt", 0),
+                        ("BYTE", "IsBind", 0),
+                        ("DWORD", "Weight", 0),
+                        ),
+
+                "MysteryShop":(
+                        ("list", "LVRange", 0),
+                        ("DWORD", "GoodsID", 0),
+                        ),
+
+                "EquipPlaceIndexMap":(
+                        ("DWORD", "GridIndex", 0),
+                        ("DWORD", "ClassLV", 1),
+                        ("DWORD", "EquipPlace", 1),
+                        ),
+
+                "EquipStarUp":(
+                        ("BYTE", "ClassLV", 1),
+                        ("BYTE", "EquipPlace", 1),
+                        ("BYTE", "Star", 1),
+                        ("list", "CostEquipPlace", 0),
+                        ("list", "CostEquipColor", 0),
+                        ("BYTE", "CostEquipCnt", 0),
+                        ("BYTE", "SuitTotalRate", 0),
+                        ("dict", "CostItemDict", 0),
+                        ("dict", "StarAttrInfo", 0),
+                        ("dict", "BaseAttrInfo", 0),
+                        ),
+
+                "EquipPlusEvolve":(
+                        ("BYTE", "EquipPlace", 1),
+                        ("BYTE", "EvolveLV", 1),
+                        ("WORD", "NeedPlusLV", 0),
+                        ("dict", "CostItem", 0),
+                        ("dict", "Attr", 0),
+                        ),
+
+                "FamilyBossAward":(
+                        ("list", "WorldLV", 0),
+                        ("list", "Rank", 0),
+                        ("list", "Award1", 0),
+                        ("dict", "Award2", 0),
+                        ),
+
+                "ItemWashMax":(
+                        ("BYTE", "Type", 1),
+                        ("BYTE", "Star", 1),
+                        ("WORD", "LevelMax", 0),
+                        ),
+
+                "HorsePetBossAward":(
+                        ("BYTE", "LineID", 1),
+                        ("list", "WorldLV", 0),
+                        ("list", "Rank", 0),
+                        ("list", "Award1", 0),
+                        ("dict", "Award2", 0),
+                        ),
+
+                "FairyDomain":(
+                        ("WORD", "ID", 1),
+                        ("BYTE", "EventType", 0),
+                        ("DWORD", "MapID", 0),
+                        ("BYTE", "LineID", 0),
+                        ("DWORD", "BossID", 0),
+                        ("BYTE", "CostEnergy", 0),
+                        ("BYTE", "NeedAlchemyLV", 0),
+                        ("list", "NeedLV", 0),
+                        ("DWORD", "Weight", 0),
+                        ("DWORD", "HourCntPriLimit", 0),
+                        ("DWORD", "DayCntPriLimit", 0),
+                        ),
+
+                "FairyAdventures":(
+                        ("WORD", "ID", 1),
+                        ("DWORD", "OpenServerDay", 0),
+                        ("BYTE", "EventID", 0),
+                        ("list", "Condition", 0),
+                        ("list", "GearAward", 0),
+                        ("list", "BasicAward", 0),
+                        ),
+
+                "FairyDomainAppoint":(
+                        ("WORD", "Cnt", 1),
+                        ("DWORD", "EventID", 0),
+                        ("list", "Award", 0),
+                        ),
+
+                "FBBuyBuff":(
+                        ("DWORD", "MapId", 1),
+                        ("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),
+                        ),
                 }
 
 
@@ -1375,34 +1484,51 @@
     def GetLightAttribute(self): return self.LightAttribute # 点亮属性值
     def GetSkills(self): return self.Skills # 被动技能
 
+# 灵根表
+class IPY_RolePoint():
+    
+    def __init__(self):
+        self.AttrID = 0
+        self.AddAttrInfoPerPoint = {}
+        self.PointQualityAttrIDDict = {}
+        self.PointQualityAttrValueDict = {}
+        self.PointQualityIntervalList = []
+        return
+        
+    def GetAttrID(self): return self.AttrID # 属性ID
+    def GetAddAttrInfoPerPoint(self): return self.AddAttrInfoPerPoint # 每点增加属性信息
+    def GetPointQualityAttrIDDict(self): return self.PointQualityAttrIDDict # 点数品质进阶增加属性ID, 根据职业区分
+    def GetPointQualityAttrValueDict(self): return self.PointQualityAttrValueDict # 点数品质进阶增加属性值列表, 根据职业区分
+    def GetPointQualityIntervalList(self): return self.PointQualityIntervalList # 点数品质进阶属性点区间列表
+
 # 境界表
 class IPY_Realm():
     
     def __init__(self):
         self.Lv = 0
-        self.IsBigRealm = 0
-        self.NeedPoint = 0
+        self.NeedLV = 0
         self.NeedItemID = 0
         self.NeedItemCnt = 0
-        self.NeedActiveTreasure = {}
+        self.NeedEquip = []
         self.AddAttrType = []
         self.AddAttrNum = []
         self.BossID = 0
-        self.SitTime = {}
-        self.TeamAward = {}
+        self.BuffID = 0
+        self.ExpRate = 0
+        self.ExpLimit = 0
         return
         
     def GetLv(self): return self.Lv # 境界等级
-    def GetIsBigRealm(self): return self.IsBigRealm # 是否大境界
-    def GetNeedPoint(self): return self.NeedPoint # 开启渡劫需要修炼点
-    def GetNeedItemID(self): return self.NeedItemID # 开启渡劫需要道具ID
-    def GetNeedItemCnt(self): return self.NeedItemCnt # 开启渡劫消耗的道具数量
-    def GetNeedActiveTreasure(self): return self.NeedActiveTreasure # 开启渡劫需要激活法宝条件
+    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
-    def GetSitTime(self): return self.SitTime # 打坐时间
-    def GetTeamAward(self): return self.TeamAward # 组队帮打的人的奖励
+    def GetBuffID(self): return self.BuffID # 给全服在线玩家增加buff
+    def GetExpRate(self): return self.ExpRate # 修为池经验速率
+    def GetExpLimit(self): return self.ExpLimit # 修为池经验上限
 
 # 神兵表
 class IPY_GodWeapon():
@@ -1526,28 +1652,13 @@
     
     def __init__(self):
         self.Type = 0
-        self.ItemRank = 0
-        self.ItemColor = 0
+        self.Star = 0
         self.LevelMax = 0
         return
         
     def GetType(self): return self.Type # 按装备位对应类型查找
-    def GetItemRank(self): return self.ItemRank #  装备阶数
-    def GetItemColor(self): return self.ItemColor # 装备颜色 如橙装
+    def GetStar(self): return self.Star #  装备星数
     def GetLevelMax(self): return self.LevelMax # 强化等级上限
-
-# 装备全身强化属性
-class IPY_ItemPlusSumAttr():
-    
-    def __init__(self):
-        self.PlusCntNeed = 0
-        self.AttrType = []
-        self.AttrValue = []
-        return
-        
-    def GetPlusCntNeed(self): return self.PlusCntNeed # 全身强化等级
-    def GetAttrType(self): return self.AttrType # 全身强化激活属性类型
-    def GetAttrValue(self): return self.AttrValue # 全身强化激活属性值
 
 # 装备全身星数属性
 class IPY_RoleEquipStars():
@@ -1561,6 +1672,60 @@
     def GetStarsNeed(self): return self.StarsNeed # 全身星数
     def GetAttrType(self): return self.AttrType # 属性类型
     def GetAttrValue(self): return self.AttrValue # 属性值
+
+# 装备传奇属性条数表
+class IPY_EquipLegendAttrCount():
+    
+    def __init__(self):
+        self.ItemType = 0
+        self.ItemColor = 0
+        self.IsSuit = 0
+        self.LegendAttrCountInfo = []
+        return
+        
+    def GetItemType(self): return self.ItemType # 物品类型
+    def GetItemColor(self): return self.ItemColor # 物品颜色
+    def GetIsSuit(self): return self.IsSuit # 是否套装
+    def GetLegendAttrCountInfo(self): return self.LegendAttrCountInfo # 传奇属性条数信息 [[条数, [属性类型库编号, ...]], ...]
+
+# 装备传奇属性类型表
+class IPY_EquipLegendAttrType():
+    
+    def __init__(self):
+        self.ItemType = 0
+        self.LegendAttrTypeLib = {}
+        return
+        
+    def GetItemType(self): return self.ItemType # 物品类型
+    def GetLegendAttrTypeLib(self): return self.LegendAttrTypeLib # 传奇属性类型库 {属性类型库编号:[属性ID,...], ...}
+
+# 装备传奇属性值库表
+class IPY_EquipLegendAttrLib():
+    
+    def __init__(self):
+        self.LegendAttrID = 0
+        self.LegendAttrLib = {}
+        return
+        
+    def GetLegendAttrID(self): return self.LegendAttrID # 传奇属性ID
+    def GetLegendAttrLib(self): return self.LegendAttrLib # 属性库信息 {库编号:[随机数值, ...], ...}
+
+# 装备传奇属性等级数值表
+class IPY_EquipLegendAttrValue():
+    
+    def __init__(self):
+        self.ItemType = 0
+        self.ItemClassLV = 0
+        self.ItemColor = 0
+        self.IsSuit = 0
+        self.LVLegendAttrLibNumInfo = {}
+        return
+        
+    def GetItemType(self): return self.ItemType # 物品类型
+    def GetItemClassLV(self): return self.ItemClassLV # 物品阶级
+    def GetItemColor(self): return self.ItemColor # 物品颜色
+    def GetIsSuit(self): return self.IsSuit # 是否套装
+    def GetLVLegendAttrLibNumInfo(self): return self.LVLegendAttrLibNumInfo # 属性ID等级段对应数值库编号 {属性ID:{等级:库编号, ...}}
 
 # 神兽表
 class IPY_Dogz():
@@ -1660,35 +1825,22 @@
     def GetCostItemCount(self): return self.CostItemCount #  固定消耗物品个数
     def GetGoldWashCostList(self): return self.GoldWashCostList #  仙玉洗练条数对应消耗
 
-# 洗练特殊属性表
-class IPY_EquipWashSpec():
-    
-    def __init__(self):
-        self.WashTypeNeed = 0
-        self.WashLVNeed = 0
-        self.AddAttrType = []
-        self.AddAttrValue = []
-        return
-        
-    def GetWashTypeNeed(self): return self.WashTypeNeed #  所需装备归组类型
-    def GetWashLVNeed(self): return self.WashLVNeed #  所需洗练等级
-    def GetAddAttrType(self): return self.AddAttrType # 激活加成属性类型
-    def GetAddAttrValue(self): return self.AddAttrValue # 激活加成属性值
-
 # 属性果实表
 class IPY_AttrFruit():
     
     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 # 附加战斗力
 
@@ -1947,57 +2099,39 @@
     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.LostHPPerSecondEx = 0
+        return
+        
+    def GetNPCID(self): return self.NPCID # NPCID
+    def GetLostHPPerSecond(self): return self.LostHPPerSecond # 单人每秒掉血量
+    def GetMaxPlayerCount(self): return self.MaxPlayerCount # 最大人数
+    def GetLostHPPerSecondEx(self): return self.LostHPPerSecondEx # 每增加一人附加掉血量
+
 # 装备套装属性表
 class IPY_EquipSuitAttr():
     
     def __init__(self):
-        self.GroupType = 0
-        self.SuiteType = 0
-        self.SuiteLV = 0
-        self.Job = 0
-        self.Count1 = 0
-        self.AttrType1 = []
-        self.AttrValue1 = []
-        self.Count2 = 0
-        self.AttrType2 = []
-        self.AttrValue2 = []
-        self.Count3 = 0
-        self.AttrType3 = []
-        self.AttrValue3 = []
+        self.SuiteID = 0
+        self.SuiteCnt = 0
+        self.Star = 0
+        self.AttrInfo = {}
+        self.SkillID = 0
+        self.IsNotify = 0
         return
         
-    def GetGroupType(self): return self.GroupType # 套装组合类型
-    def GetSuiteType(self): return self.SuiteType # 套装类型
-    def GetSuiteLV(self): return self.SuiteLV # 套装等级
-    def GetJob(self): return self.Job # 职业
-    def GetCount1(self): return self.Count1 # 阶段1所需数量
-    def GetAttrType1(self): return self.AttrType1 # 阶段1属性类型
-    def GetAttrValue1(self): return self.AttrValue1 # 阶段1属性值
-    def GetCount2(self): return self.Count2 # 阶段2所需数量
-    def GetAttrType2(self): return self.AttrType2 # 阶段2属性类型
-    def GetAttrValue2(self): return self.AttrValue2 # 阶段2属性值
-    def GetCount3(self): return self.Count3 # 阶段2所需数量
-    def GetAttrType3(self): return self.AttrType3 # 阶段2属性类型
-    def GetAttrValue3(self): return self.AttrValue3 # 阶段2属性值
-
-# 套装合成表
-class IPY_EquipSuitCompound():
-    
-    def __init__(self):
-        self.SuiteType = 0
-        self.EquipPlace = 0
-        self.SuiteLV = 0
-        self.Job = 0
-        self.CostItemID = []
-        self.CostItemCnt = []
-        return
-        
-    def GetSuiteType(self): return self.SuiteType # 套装类型
-    def GetEquipPlace(self): return self.EquipPlace # 装备部位
-    def GetSuiteLV(self): return self.SuiteLV # 套装等级
-    def GetJob(self): return self.Job # 职业
-    def GetCostItemID(self): return self.CostItemID # 材料ID
-    def GetCostItemCnt(self): return self.CostItemCnt # 材料数量
+    def GetSuiteID(self): return self.SuiteID # 套装ID
+    def GetSuiteCnt(self): return self.SuiteCnt # 套装件数
+    def GetStar(self): return self.Star # 星数
+    def GetAttrInfo(self): return self.AttrInfo # 属性
+    def GetSkillID(self): return self.SkillID # 技能ID
+    def GetIsNotify(self): return self.IsNotify # 是否广播
 
 # 羽翼精炼属性表
 class IPY_WingRefineAttr():
@@ -2124,10 +2258,10 @@
         self.PieRateDoCnt = 0
         self.IndepRateDrop = {}
         self.IndepRateDoCnt = 0
-        self.IndepRateMaxDropCount = {}
-        self.EquipStarInfo = {}
-        self.KillCountDropEquipEx = []
-        self.KillCountDropEquipEx2 = []
+        self.EquipColorMaxDropCount = {}
+        self.EquipColorSuitInfo = {}
+        self.EquipPartKeyRateInfo = {}
+        self.KillCountDropEquipPub = {}
         self.ItemIDDropRate = {}
         self.ItemIDMaxDropCount = {}
         self.ItemKeyDropRate = {}
@@ -2137,8 +2271,10 @@
         self.DropMoneyRate = 0
         self.DropMoneyMin = 0
         self.DropMoneyMax = 0
-        self.KillCountDrop = []
-        self.PriItemIDDrop = []
+        self.KillCountDropPub = {}
+        self.KillCountDropPri = []
+        self.PriItemIDDrop = []
+        self.AucionItemCanSell = 0
         return
         
     def GetNPCID(self): return self.NPCID # NPCID
@@ -2146,14 +2282,14 @@
     def GetMaxDropLV(self): return self.MaxDropLV # 最大可掉落的玩家等级, 不影响世界等级
     def GetCanDropRatePlus(self): return self.CanDropRatePlus # 额外提升掉率的是否有效
     def GetIsDropJobSelf(self): return self.IsDropJobSelf # 是否只掉落本职业
-    def GetPieRateDrop(self): return self.PieRateDrop # 饼图概率掉落信息 [(概率,0),(概率,(阶,颜色,部位集合key)),...]
+    def GetPieRateDrop(self): return self.PieRateDrop # 饼图概率掉落信息 [(概率,0),(概率,(阶,颜色)),...]
     def GetPieRateDoCnt(self): return self.PieRateDoCnt # 饼图概率执行次数
-    def GetIndepRateDrop(self): return self.IndepRateDrop # 独立概率掉落信息 {(阶,颜色,部位集合key):概率,...}
+    def GetIndepRateDrop(self): return self.IndepRateDrop # 独立概率掉落信息 {(阶,颜色):概率,...}
     def GetIndepRateDoCnt(self): return self.IndepRateDoCnt # 独立概率执行次数
-    def GetIndepRateMaxDropCount(self): return self.IndepRateMaxDropCount # 独立概率装备颜色最大掉落物品数 {颜色:上限数量,...}
-    def GetEquipStarInfo(self): return self.EquipStarInfo # 装备颜色对应星级产出规则 {颜色:[(概率, 星级),...], ...}
-    def GetKillCountDropEquipEx(self): return self.KillCountDropEquipEx # 第x次击杀附加必掉装备 [次数,阶,颜色,[(概率,星级),...],部位集合key]
-    def GetKillCountDropEquipEx2(self): return self.KillCountDropEquipEx2 # 前x次击杀附加必掉装备 [次数,阶,颜色,[(概率,星级),...],部位集合key]
+    def GetEquipColorMaxDropCount(self): return self.EquipColorMaxDropCount # 装备颜色最大掉落物品数 {颜色:上限数量,...}
+    def GetEquipColorSuitInfo(self): return self.EquipColorSuitInfo # 装备颜色对应套装概率 {颜色:套装概率, ...}
+    def GetEquipPartKeyRateInfo(self): return self.EquipPartKeyRateInfo # 装备部位集合信息 {(颜色,是否套装):部位集合key, ...}
+    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:随机次数,...}
     def GetItemKeyDropRate(self): return self.ItemKeyDropRate # 物品ID集合Key概率, 随机一个, 优先级低 {物品ID集合key:概率, ...}
@@ -2163,8 +2299,10 @@
     def GetDropMoneyRate(self): return self.DropMoneyRate # 掉落金币概率
     def GetDropMoneyMin(self): return self.DropMoneyMin # 掉落金币最小值
     def GetDropMoneyMax(self): return self.DropMoneyMax # 掉落金币最大值
-    def GetKillCountDrop(self): return self.KillCountDrop # 击杀次数必掉,防止版本变更重复掉,只支持一次机会 [击杀次数,是否直接放入背包,[物品ID,...]]
-    def GetPriItemIDDrop(self): return self.PriItemIDDrop # 所有归属者私有掉落物品ID列表,每人一份,默认绑定,没有职业区分[物品ID, ...]
+    def GetKillCountDropPub(self): return self.KillCountDropPub # 击杀次数必掉(公共){击杀次数:[[物品ID, ...], [随机物品ID, ...]], ...}
+    def GetKillCountDropPri(self): return self.KillCountDropPri # 击杀次数必掉(私有)[击杀次数,[物品ID,...],是否直接放入背包]
+    def GetPriItemIDDrop(self): return self.PriItemIDDrop # 所有归属者私有掉落物品ID列表,每人一份,默认绑定,没有职业区分[物品ID, ...]
+    def GetAucionItemCanSell(self): return self.AucionItemCanSell # 掉落拍品可否上架集市
 
 # 符印塔表
 class IPY_RuneTower():
@@ -2237,7 +2375,6 @@
         self.MapID = 0
         self.LVLimitMin = 0
         self.LVLimitMax = 0
-        self.JobRankLimit = 0
         self.TicketID = 0
         self.TicketCostCnt = []
         self.TicketPrice = 0
@@ -2256,7 +2393,6 @@
     def GetMapID(self): return self.MapID # 场景地图ID
     def GetLVLimitMin(self): return self.LVLimitMin # 最低等级限制, 0为不限制
     def GetLVLimitMax(self): return self.LVLimitMax # 最高等级限制, 0为不限制
-    def GetJobRankLimit(self): return self.JobRankLimit # 所需职业阶
     def GetTicketID(self): return self.TicketID # 门票ID
     def GetTicketCostCnt(self): return self.TicketCostCnt # 门票消耗数信息
     def GetTicketPrice(self): return self.TicketPrice # 门票单价(不能用钱抵的配0)
@@ -2325,6 +2461,10 @@
     def __init__(self):
         self.DailyID = 0
         self.DayTimes = 0
+        self.DayBuyTimes = 0
+        self.BuyNeedMoney = 0
+        self.DayItemAddTimes = 0
+        self.DayItemID = 0
         self.DayResetType = 0
         self.WeekTimes = 0
         self.WeekResetType = 0
@@ -2332,6 +2472,10 @@
         
     def GetDailyID(self): return self.DailyID # 活动ID
     def GetDayTimes(self): return self.DayTimes # 每日次数, 0为不限制
+    def GetDayBuyTimes(self): return self.DayBuyTimes # 每日可购买次数
+    def GetBuyNeedMoney(self): return self.BuyNeedMoney # 购买次数需要仙玉
+    def GetDayItemAddTimes(self): return self.DayItemAddTimes # 每日可用物品增加次数
+    def GetDayItemID(self): return self.DayItemID # 增加次数的物品ID
     def GetDayResetType(self): return self.DayResetType # 每日次数重置类型; 0-不重置,1-0点,2-5点
     def GetWeekTimes(self): return self.WeekTimes # 每周次数, 0为不限制
     def GetWeekResetType(self): return self.WeekResetType # 每周次数重置类型; 0-不重置,1-0点,2-5点
@@ -2342,90 +2486,38 @@
     def __init__(self):
         self.ClassLV = 0
         self.EquipColor = 0
-        self.EquipQualityLV = 0
-        self.AtkPerC = 0
-        self.DamagePerC = 0
-        self.SuperHitRateC = 0
+        self.IsSuit = 0
+        self.BaseEquipMaxHPAddPerC = 0
+        self.BaseEquipAtkAddPerC = 0
+        self.SuperHitC = 0
         self.SuperHitPerC = 0
-        self.DamReducePerC = 0
-        self.MaxHPPerC = 0
-        self.DefPerC = 0
         self.LuckyHitRateC = 0
-        self.PetDamPerC = 0
+        self.LuckyHitRateReduceC = 0
+        self.LuckPerC = 0
         self.PerLVAtkC = 0
-        self.MissRateC = 0
-        self.HitRateC = 0
-        self.DamBackPerC = 0
         self.PerLVMaxHPC = 0
-        self.DropEquipPerC = 0
         self.DropMoneyPerC = 0
-        self.IgnoreDefRateReduceC = 0
-        self.DamChanceDefC = 0
         self.SuperHitReduceC = 0
-        self.SkillAtkRateC = 0
-        self.SpeedPerC = 0
-        self.AtkSpeedC = 0
-        self.SkillAtkRateReduceC = 0
         self.HitC = 0
-        self.MissC = 0
-        self.SkillAddPer1C = 0
-        self.SkillAddPer2C = 0
-        self.SkillAddPer3C = 0
-        self.SkillAddPer4C = 0
-        self.SkillAddPer5C = 0
-        self.SkillAddPer6C = 0
-        self.SkillAddPer7C = 0
-        self.SkillReducePer1C = 0
-        self.SkillReducePer2C = 0
-        self.SkillReducePer3C = 0
-        self.SkillReducePer4C = 0
-        self.SkillReducePer5C = 0
-        self.SkillReducePer6C = 0
-        self.SkillReducePer7C = 0
+        self.MissC = 0
         return
         
     def GetClassLV(self): return self.ClassLV #  装备阶级
     def GetEquipColor(self): return self.EquipColor #  装备颜色
-    def GetEquipQualityLV(self): return self.EquipQualityLV #  装备星级
-    def GetAtkPerC(self): return self.AtkPerC #  攻击百分比系数
-    def GetDamagePerC(self): return self.DamagePerC #  增加伤害系数
-    def GetSuperHitRateC(self): return self.SuperHitRateC #  暴击率系数
+    def GetIsSuit(self): return self.IsSuit #  是否套装
+    def GetBaseEquipMaxHPAddPerC(self): return self.BaseEquipMaxHPAddPerC #  基础防具生命百分比系数
+    def GetBaseEquipAtkAddPerC(self): return self.BaseEquipAtkAddPerC #  基础武器攻击百分比系数
+    def GetSuperHitC(self): return self.SuperHitC #  暴击值系数
     def GetSuperHitPerC(self): return self.SuperHitPerC #  暴击值百分比系数
-    def GetDamReducePerC(self): return self.DamReducePerC #  减少伤害系数
-    def GetMaxHPPerC(self): return self.MaxHPPerC #  生命上限百分比系数
-    def GetDefPerC(self): return self.DefPerC #  防御力百分比系数
     def GetLuckyHitRateC(self): return self.LuckyHitRateC #  会心一击率系数
-    def GetPetDamPerC(self): return self.PetDamPerC #  灵宠伤害增加百分比系数
+    def GetLuckyHitRateReduceC(self): return self.LuckyHitRateReduceC #  会心一击抗性系数
+    def GetLuckPerC(self): return self.LuckPerC #  气运百分比系数
     def GetPerLVAtkC(self): return self.PerLVAtkC #  每级增加攻击力系数
-    def GetMissRateC(self): return self.MissRateC #  闪避值百分比系数
-    def GetHitRateC(self): return self.HitRateC #  命中力百分比系数
-    def GetDamBackPerC(self): return self.DamBackPerC #  伤害反射百分比系数
     def GetPerLVMaxHPC(self): return self.PerLVMaxHPC #  每级增加生命值系数
-    def GetDropEquipPerC(self): return self.DropEquipPerC #  增加装备掉落几率系数
     def GetDropMoneyPerC(self): return self.DropMoneyPerC #  增加掉落金币量百分比系数
-    def GetIgnoreDefRateReduceC(self): return self.IgnoreDefRateReduceC #  无视防御抗性百分比系数
-    def GetDamChanceDefC(self): return self.DamChanceDefC #  抵御百分比系数
     def GetSuperHitReduceC(self): return self.SuperHitReduceC #  暴击抗性百分比系数
-    def GetSkillAtkRateC(self): return self.SkillAtkRateC #  技能伤害百分比系数
-    def GetSpeedPerC(self): return self.SpeedPerC #  移动速度百分比系数
-    def GetAtkSpeedC(self): return self.AtkSpeedC #  攻击速度系数
-    def GetSkillAtkRateReduceC(self): return self.SkillAtkRateReduceC #  技能减伤百分比系数
     def GetHitC(self): return self.HitC #  命中系数
-    def GetMissC(self): return self.MissC #  闪避系数
-    def GetSkillAddPer1C(self): return self.SkillAddPer1C #  技能伤害增强1系数
-    def GetSkillAddPer2C(self): return self.SkillAddPer2C #  技能伤害增强2系数
-    def GetSkillAddPer3C(self): return self.SkillAddPer3C #  技能伤害增强3系数
-    def GetSkillAddPer4C(self): return self.SkillAddPer4C #  技能伤害增强4系数
-    def GetSkillAddPer5C(self): return self.SkillAddPer5C #  技能伤害增强5系数
-    def GetSkillAddPer6C(self): return self.SkillAddPer6C #  技能伤害增强6系数
-    def GetSkillAddPer7C(self): return self.SkillAddPer7C #  技能伤害增强7系数
-    def GetSkillReducePer1C(self): return self.SkillReducePer1C #  受到技能伤害减少1系数
-    def GetSkillReducePer2C(self): return self.SkillReducePer2C #  受到技能伤害减少2系数
-    def GetSkillReducePer3C(self): return self.SkillReducePer3C #  受到技能伤害减少3系数
-    def GetSkillReducePer4C(self): return self.SkillReducePer4C #  受到技能伤害减少4系数
-    def GetSkillReducePer5C(self): return self.SkillReducePer5C #  受到技能伤害减少5系数
-    def GetSkillReducePer6C(self): return self.SkillReducePer6C #  受到技能伤害减少6系数
-    def GetSkillReducePer7C(self): return self.SkillReducePer7C #  受到技能伤害减少7系数
+    def GetMissC(self): return self.MissC #  闪避系数
 
 # 成就表
 class IPY_Success():
@@ -2465,18 +2557,18 @@
         self.ID = 0
         self.TreasureType = 0
         self.PreTreasure = 0
-        self.SuccID = []
-        self.Potentials = []
-        self.SkillPower = []
+        self.FBMapID = 0
+        self.FBLineID = 0
+        self.NeedLV = 0
         self.NeedItem = {}
         return
         
     def GetID(self): return self.ID # ID
     def GetTreasureType(self): return self.TreasureType # 法宝类型
     def GetPreTreasure(self): return self.PreTreasure # 前置法宝
-    def GetSuccID(self): return self.SuccID # 成就ID
-    def GetPotentials(self): return self.Potentials # 技能潜力升级
-    def GetSkillPower(self): return self.SkillPower # 技能解锁战力
+    def GetFBMapID(self): return self.FBMapID # 副本ID
+    def GetFBLineID(self): return self.FBLineID # 副本线路ID
+    def GetNeedLV(self): return self.NeedLV # 需要等级
     def GetNeedItem(self): return self.NeedItem # 需要消耗物品
 
 # 法宝升级表
@@ -2488,9 +2580,6 @@
         self.NeedExp = 0
         self.AddAttr = {}
         self.UnLockSkill = []
-        self.ActiveMWID = 0
-        self.ItemAward = []
-        self.ActiveSoulID = 0
         self.PowerEx = 0
         return
         
@@ -2499,52 +2588,7 @@
     def GetNeedExp(self): return self.NeedExp # 需要经验
     def GetAddAttr(self): return self.AddAttr # 属性
     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 GetPowerEx(self): return self.PowerEx # 额外固定战力
-
-# 法宝特权表
-class IPY_TreasurePrivilege():
-    
-    def __init__(self):
-        self.PrivilegeID = 0
-        self.EffectValue = 0
-        self.SingleValue = 0
-        self.MaxValue = 0
-        self.AddAttr = {}
-        self.ItemAward = []
-        self.SuccessList = []
-        return
-        
-    def GetPrivilegeID(self): return self.PrivilegeID # 特权ID
-    def GetEffectValue(self): return self.EffectValue # 特殊效果
-    def GetSingleValue(self): return self.SingleValue # 进度
-    def GetMaxValue(self): return self.MaxValue # 最大进度
-    def GetAddAttr(self): return self.AddAttr # 属性
-    def GetItemAward(self): return self.ItemAward # 物品奖励
-    def GetSuccessList(self): return self.SuccessList # 需要完成成就
-
-# 法宝技能升级表
-class IPY_TreasureSkill():
-    
-    def __init__(self):
-        self.SkillUpType = 0
-        self.SkillLV = 0
-        self.NeedPoint = 0
-        self.InitRate = 0
-        self.NeedItemID = []
-        self.NeedItemCnt = []
-        self.MaxRate = []
-        return
-        
-    def GetSkillUpType(self): return self.SkillUpType # 技能升级类型
-    def GetSkillLV(self): return self.SkillLV # 技能等级
-    def GetNeedPoint(self): return self.NeedPoint # 升到当前级消耗天石精华
-    def GetInitRate(self): return self.InitRate # 初始概率
-    def GetNeedItemID(self): return self.NeedItemID # 升到当前级溶彩石ID
-    def GetNeedItemCnt(self): return self.NeedItemCnt # 升到当前级溶彩石数量
-    def GetMaxRate(self): return self.MaxRate # 升到当前级概率
 
 # 连续签到奖励表
 class IPY_ContineSignAward():
@@ -2617,6 +2661,15 @@
     def GetLegendAttrValue(self): return self.LegendAttrValue # 传奇属性值
     def GetOutOfPrintAttr(self): return self.OutOfPrintAttr # 绝版属性ID
     def GetOutOfPrintAttrValue(self): return self.OutOfPrintAttrValue # 绝版属性最大值
+
+# 拍卖物品表
+class IPY_AuctionItem():
+    
+    def __init__(self):
+        self.AuctionItemID = 0
+        return
+        
+    def GetAuctionItemID(self): return self.AuctionItemID
 
 # VIP特权表
 class IPY_VipPrivilege():
@@ -2718,7 +2771,7 @@
         self.AdvanceMinutes = 0
         self.LVLimit = 0
         self.IsDayReset = 0
-        self.ShopTypeList = []
+        self.ShopTypeList = {}
         self.MailKey = ""
         self.MailItemPrize = []
         return
@@ -2803,55 +2856,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():
@@ -2988,6 +3037,29 @@
     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():
     
@@ -3031,19 +3103,52 @@
     
     def __init__(self):
         self.NPCID = 0
+        self.IsMissionCollectNPC = 0
         self.PrepareTime = 0
         self.LostHPPer = []
         self.MaxCollectCount = 0
+        self.CollectResetType = 0
         self.CollectCountLimitNotify = ""
-        self.CollectAward = []
+        self.CollectAward = []
+        self.CollectAppointAward = {}
+        self.AlchemyDiffLV = 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限制
+    def GetMaxCollectCount(self): return self.MaxCollectCount # 可采集次数,0无限制
+    def GetCollectResetType(self): return self.CollectResetType # 采集次数重置类型,0-不重置,1-每日5点重置
     def GetCollectCountLimitNotify(self): return self.CollectCountLimitNotify # 无采集次数采集提示
-    def GetCollectAward(self): return self.CollectAward # 采集奖励物品, [物品ID,个数,是否绑定]
+    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 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():
@@ -3334,7 +3439,7 @@
         self.AdvanceMinutes = 0
         self.LVLimit = 0
         self.IsDayReset = 0
-        self.GiftbagTypeList = []
+        self.GiftbagTypeList = {}
         self.MailKey = ""
         self.MailItemPrize = []
         return
@@ -3411,14 +3516,14 @@
         self.TemplateID = 0
         self.NeedCostGold = 0
         self.AwardIndex = 0
-        self.AwardItemList = []
+        self.AwardItemList = {}
         self.NotifyKey = ""
         return
         
     def GetTemplateID(self): return self.TemplateID # 模板ID
     def GetNeedCostGold(self): return self.NeedCostGold # 需要消费仙玉数
     def GetAwardIndex(self): return self.AwardIndex # 返利奖励索引0~31,同个模板中不重复
-    def GetAwardItemList(self): return self.AwardItemList # 返利物品信息列表 [(物品ID,个数,是否绑定),...]
+    def GetAwardItemList(self): return self.AwardItemList # 返利物品信息列表 {世界等级范围:[({职业:物品ID,..},个数,是否绑定), ...]}
     def GetNotifyKey(self): return self.NotifyKey # 全服广播key,默认两个参数(玩家名, 档位额度)
 
 # BOSS复活活动时间表
@@ -3448,7 +3553,7 @@
         self.ID = 0
         self.TotalTimes = 0
         self.SingleTimes = 0
-        self.Reward = []
+        self.Reward = {}
         return
         
     def GetTemplateID(self): return self.TemplateID # 模板ID
@@ -3716,31 +3821,16 @@
     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.DanLV = 0
+        self.LVUpScore = 0
         return
         
-    def GetDanLV(self): return self.DanLV # 段位等级
+    def GetDanLV(self): return self.DanLV # 段位等级
+    def GetLVUpScore(self): return self.LVUpScore # 升段位所需积分
 
 # 跨服竞技场段位奖励表
 class IPY_CrossRealmPKDanAward():
@@ -3774,6 +3864,19 @@
 
 # 跨服分区表通用
 class IPY_CrossZoneComm():
+    
+    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列表
+
+# 跨服分区表竞技场
+class IPY_CrossZonePK():
     
     def __init__(self):
         self.CrossZoneName = ""
@@ -3973,7 +4076,7 @@
         self.ActionType = 0
         self.TotalTimes = 0
         self.SingleTimes = 0
-        self.Reward = []
+        self.Reward = ""
         return
         
     def GetTemplateID(self): return self.TemplateID # 模板ID
@@ -4013,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():
@@ -4130,6 +4214,267 @@
     def GetShareSoneLV(self): return self.ShareSoneLV # 共鸣等级
     def GetAttrIDList(self): return self.AttrIDList # 属性ID列表
     def GetAttrValueList(self): return self.AttrValueList # 属性值列表
+
+# 幸运鉴宝活动时间表
+class IPY_ActLuckyTreasure():
+    
+    def __init__(self):
+        self.CfgID = 0
+        self.StartDate = ""
+        self.EndDate = ""
+        self.ResetType = 0
+        self.LVLimit = 0
+        self.TemplateID = 0
+        self.LuckyPoint = 0
+        return
+        
+    def GetCfgID(self): return self.CfgID # 配置ID
+    def GetStartDate(self): return self.StartDate # 开启日期
+    def GetEndDate(self): return self.EndDate # 结束日期
+    def GetResetType(self): return self.ResetType # 重置类型,0-0点重置;1-5点重置
+    def GetLVLimit(self): return self.LVLimit # 限制等级
+    def GetTemplateID(self): return self.TemplateID # 模板编号
+    def GetLuckyPoint(self): return self.LuckyPoint # 总幸运值
+
+# 幸运鉴宝库模板表
+class IPY_LuckyTreasureTemplate():
+    
+    def __init__(self):
+        self.TemplateID = 0
+        self.WorldLVLimit = []
+        self.ItemID = 0
+        self.ItemCnt = 0
+        self.IsBind = 0
+        self.Weight = 0
+        return
+        
+    def GetTemplateID(self): return self.TemplateID # 模板ID
+    def GetWorldLVLimit(self): return self.WorldLVLimit # 世界等级范围
+    def GetItemID(self): return self.ItemID # 物品ID
+    def GetItemCnt(self): return self.ItemCnt # 物品数量
+    def GetIsBind(self): return self.IsBind # 是否绑定
+    def GetWeight(self): return self.Weight # 权重
+
+# 神秘商店表
+class IPY_MysteryShop():
+    
+    def __init__(self):
+        self.LVRange = []
+        self.GoodsID = 0
+        return
+        
+    def GetLVRange(self): return self.LVRange # 等级范围
+    def GetGoodsID(self): return self.GoodsID # 商城表ID
+
+# 装备位背包索引映射表
+class IPY_EquipPlaceIndexMap():
+    
+    def __init__(self):
+        self.GridIndex = 0
+        self.ClassLV = 0
+        self.EquipPlace = 0
+        return
+        
+    def GetGridIndex(self): return self.GridIndex # 背包格子索引
+    def GetClassLV(self): return self.ClassLV # 阶级(物品表LV字段)
+    def GetEquipPlace(self): return self.EquipPlace # 装备位(物品表EquipPlace字段)
+
+# 装备升星表
+class IPY_EquipStarUp():
+    
+    def __init__(self):
+        self.ClassLV = 0
+        self.EquipPlace = 0
+        self.Star = 0
+        self.CostEquipPlace = []
+        self.CostEquipColor = []
+        self.CostEquipCnt = 0
+        self.SuitTotalRate = 0
+        self.CostItemDict = {}
+        self.StarAttrInfo = {}
+        self.BaseAttrInfo = {}
+        return
+        
+    def GetClassLV(self): return self.ClassLV # 阶级
+    def GetEquipPlace(self): return self.EquipPlace # 装备位
+    def GetStar(self): return self.Star # 星数
+    def GetCostEquipPlace(self): return self.CostEquipPlace # 可用装备部位
+    def GetCostEquipColor(self): return self.CostEquipColor # 可用装备品质
+    def GetCostEquipCnt(self): return self.CostEquipCnt # 装备数量
+    def GetSuitTotalRate(self): return self.SuitTotalRate # 全套装加成概率(非套50%)
+    def GetCostItemDict(self): return self.CostItemDict # 特殊材料
+    def GetStarAttrInfo(self): return self.StarAttrInfo # 星级属性
+    def GetBaseAttrInfo(self): return self.BaseAttrInfo # 基础属性增加
+
+# 装备强化进化表
+class IPY_EquipPlusEvolve():
+    
+    def __init__(self):
+        self.EquipPlace = 0
+        self.EvolveLV = 0
+        self.NeedPlusLV = 0
+        self.CostItem = {}
+        self.Attr = {}
+        return
+        
+    def GetEquipPlace(self): return self.EquipPlace # 装备位
+    def GetEvolveLV(self): return self.EvolveLV # 进化等级
+    def GetNeedPlusLV(self): return self.NeedPlusLV # 需要强化等级
+    def GetCostItem(self): return self.CostItem # 消耗材料
+    def GetAttr(self): return self.Attr # 属性
+
+# 仙盟Boss奖励表
+class IPY_FamilyBossAward():
+    
+    def __init__(self):
+        self.WorldLV = []
+        self.Rank = []
+        self.Award1 = []
+        self.Award2 = {}
+        return
+        
+    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,数量,是否拍品]),..]}
+
+# 装备洗练等级上限
+class IPY_ItemWashMax():
+    
+    def __init__(self):
+        self.Type = 0
+        self.Star = 0
+        self.LevelMax = 0
+        return
+        
+    def GetType(self): return self.Type # 按装备位对应类型查找
+    def GetStar(self): return self.Star #  装备星数
+    def GetLevelMax(self): return self.LevelMax # 洗练等级上限
+
+# 骑宠Boss奖励表
+class IPY_HorsePetBossAward():
+    
+    def __init__(self):
+        self.LineID = 0
+        self.WorldLV = []
+        self.Rank = []
+        self.Award1 = []
+        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,数量,是否拍品]),..]}
+
+# 缥缈仙域表
+class IPY_FairyDomain():
+    
+    def __init__(self):
+        self.ID = 0
+        self.EventType = 0
+        self.MapID = 0
+        self.LineID = 0
+        self.BossID = 0
+        self.CostEnergy = 0
+        self.NeedAlchemyLV = 0
+        self.NeedLV = []
+        self.Weight = 0
+        self.HourCntPriLimit = 0
+        self.DayCntPriLimit = 0
+        return
+        
+    def GetID(self): return self.ID # 事件编号
+    def GetEventType(self): return self.EventType # 事件类型
+    def GetMapID(self): return self.MapID # 副本id
+    def GetLineID(self): return self.LineID # 副本线路id
+    def GetBossID(self): return self.BossID # 副本BossID
+    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 GetHourCntPriLimit(self): return self.HourCntPriLimit # 个人每小时次数限制
+    def GetDayCntPriLimit(self): return self.DayCntPriLimit # 个人每天次数限制
+
+# 缥缈奇遇表
+class IPY_FairyAdventures():
+    
+    def __init__(self):
+        self.ID = 0
+        self.OpenServerDay = 0
+        self.EventID = 0
+        self.Condition = []
+        self.GearAward = []
+        self.BasicAward = []
+        return
+        
+    def GetID(self): return self.ID # 唯一ID
+    def GetOpenServerDay(self): return self.OpenServerDay # 开服天
+    def GetEventID(self): return self.EventID # 事件编号
+    def GetCondition(self): return self.Condition # 条件
+    def GetGearAward(self): return self.GearAward # 档位奖励
+    def GetBasicAward(self): return self.BasicAward # 保底奖励
+
+# 缥缈仙域定制表
+class IPY_FairyDomainAppoint():
+    
+    def __init__(self):
+        self.Cnt = 0
+        self.EventID = 0
+        self.Award = []
+        return
+        
+    def GetCnt(self): return self.Cnt # 次数
+    def GetEventID(self): return self.EventID # 事件编号
+    def GetAward(self): return self.Award # 定制奖励(没配走正常奖励规则)[[物品ID,数量,是否拍品],..]
+
+# 副本Buff表
+class IPY_FBBuyBuff():
+    
+    def __init__(self):
+        self.MapId = 0
+        self.MoneyCnt = 0
+        self.BuffID = 0
+        self.BuffCD = 0
+        return
+        
+    def GetMapId(self): return self.MapId # 
+    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):
@@ -4157,6 +4502,8 @@
         self.ipyConfigEx = {}
         self.ipyDienstgradCache = self.__LoadFileData("Dienstgrad", IPY_Dienstgrad)
         self.ipyDienstgradLen = len(self.ipyDienstgradCache)
+        self.ipyRolePointCache = self.__LoadFileData("RolePoint", IPY_RolePoint)
+        self.ipyRolePointLen = len(self.ipyRolePointCache)
         self.ipyRealmCache = self.__LoadFileData("Realm", IPY_Realm)
         self.ipyRealmLen = len(self.ipyRealmCache)
         self.ipyGodWeaponCache = self.__LoadFileData("GodWeapon", IPY_GodWeapon)
@@ -4171,10 +4518,16 @@
         self.ipyItemPlusLen = len(self.ipyItemPlusCache)
         self.ipyItemPlusMaxCache = self.__LoadFileData("ItemPlusMax", IPY_ItemPlusMax)
         self.ipyItemPlusMaxLen = len(self.ipyItemPlusMaxCache)
-        self.ipyItemPlusSumAttrCache = self.__LoadFileData("ItemPlusSumAttr", IPY_ItemPlusSumAttr)
-        self.ipyItemPlusSumAttrLen = len(self.ipyItemPlusSumAttrCache)
         self.ipyRoleEquipStarsCache = self.__LoadFileData("RoleEquipStars", IPY_RoleEquipStars)
         self.ipyRoleEquipStarsLen = len(self.ipyRoleEquipStarsCache)
+        self.ipyEquipLegendAttrCountCache = self.__LoadFileData("EquipLegendAttrCount", IPY_EquipLegendAttrCount)
+        self.ipyEquipLegendAttrCountLen = len(self.ipyEquipLegendAttrCountCache)
+        self.ipyEquipLegendAttrTypeCache = self.__LoadFileData("EquipLegendAttrType", IPY_EquipLegendAttrType)
+        self.ipyEquipLegendAttrTypeLen = len(self.ipyEquipLegendAttrTypeCache)
+        self.ipyEquipLegendAttrLibCache = self.__LoadFileData("EquipLegendAttrLib", IPY_EquipLegendAttrLib)
+        self.ipyEquipLegendAttrLibLen = len(self.ipyEquipLegendAttrLibCache)
+        self.ipyEquipLegendAttrValueCache = self.__LoadFileData("EquipLegendAttrValue", IPY_EquipLegendAttrValue)
+        self.ipyEquipLegendAttrValueLen = len(self.ipyEquipLegendAttrValueCache)
         self.ipyDogzCache = self.__LoadFileData("Dogz", IPY_Dogz)
         self.ipyDogzLen = len(self.ipyDogzCache)
         self.ipyDogzEquipPlusCache = self.__LoadFileData("DogzEquipPlus", IPY_DogzEquipPlus)
@@ -4183,8 +4536,6 @@
         self.ipyRuneLen = len(self.ipyRuneCache)
         self.ipyEquipWashCache = self.__LoadFileData("EquipWash", IPY_EquipWash)
         self.ipyEquipWashLen = len(self.ipyEquipWashCache)
-        self.ipyEquipWashSpecCache = self.__LoadFileData("EquipWashSpec", IPY_EquipWashSpec)
-        self.ipyEquipWashSpecLen = len(self.ipyEquipWashSpecCache)
         self.ipyAttrFruitCache = self.__LoadFileData("AttrFruit", IPY_AttrFruit)
         self.ipyAttrFruitLen = len(self.ipyAttrFruitCache)
         self.ipyPetInfoCache = self.__LoadFileData("PetInfo", IPY_PetInfo)
@@ -4205,10 +4556,10 @@
         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.ipyEquipSuitCompoundCache = self.__LoadFileData("EquipSuitCompound", IPY_EquipSuitCompound)
-        self.ipyEquipSuitCompoundLen = len(self.ipyEquipSuitCompoundCache)
         self.ipyWingRefineAttrCache = self.__LoadFileData("WingRefineAttr", IPY_WingRefineAttr)
         self.ipyWingRefineAttrLen = len(self.ipyWingRefineAttrCache)
         self.ipyWingRefineExpCache = self.__LoadFileData("WingRefineExp", IPY_WingRefineExp)
@@ -4239,10 +4590,6 @@
         self.ipyTreasureLen = len(self.ipyTreasureCache)
         self.ipyTreasureUpCache = self.__LoadFileData("TreasureUp", IPY_TreasureUp)
         self.ipyTreasureUpLen = len(self.ipyTreasureUpCache)
-        self.ipyTreasurePrivilegeCache = self.__LoadFileData("TreasurePrivilege", IPY_TreasurePrivilege)
-        self.ipyTreasurePrivilegeLen = len(self.ipyTreasurePrivilegeCache)
-        self.ipyTreasureSkillCache = self.__LoadFileData("TreasureSkill", IPY_TreasureSkill)
-        self.ipyTreasureSkillLen = len(self.ipyTreasureSkillCache)
         self.ipyContineSignAwardCache = self.__LoadFileData("ContineSignAward", IPY_ContineSignAward)
         self.ipyContineSignAwardLen = len(self.ipyContineSignAwardCache)
         self.ipySignAwardCache = self.__LoadFileData("SignAward", IPY_SignAward)
@@ -4251,6 +4598,8 @@
         self.ipyVIPAwardLen = len(self.ipyVIPAwardCache)
         self.ipyAppointItemCache = self.__LoadFileData("AppointItem", IPY_AppointItem)
         self.ipyAppointItemLen = len(self.ipyAppointItemCache)
+        self.ipyAuctionItemCache = self.__LoadFileData("AuctionItem", IPY_AuctionItem)
+        self.ipyAuctionItemLen = len(self.ipyAuctionItemCache)
         self.ipyVipPrivilegeCache = self.__LoadFileData("VipPrivilege", IPY_VipPrivilege)
         self.ipyVipPrivilegeLen = len(self.ipyVipPrivilegeCache)
         self.ipyStoreCache = self.__LoadFileData("Store", IPY_Store)
@@ -4267,8 +4616,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)
@@ -4287,12 +4636,16 @@
         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)
         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)
@@ -4367,8 +4720,6 @@
         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.ipyCrossRealmPKDanAwardCache = self.__LoadFileData("CrossRealmPKDanAward", IPY_CrossRealmPKDanAward)
@@ -4377,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)
@@ -4403,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)
@@ -4417,6 +4768,36 @@
         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)
+        self.ipyLuckyTreasureTemplateLen = len(self.ipyLuckyTreasureTemplateCache)
+        self.ipyMysteryShopCache = self.__LoadFileData("MysteryShop", IPY_MysteryShop)
+        self.ipyMysteryShopLen = len(self.ipyMysteryShopCache)
+        self.ipyEquipPlaceIndexMapCache = self.__LoadFileData("EquipPlaceIndexMap", IPY_EquipPlaceIndexMap)
+        self.ipyEquipPlaceIndexMapLen = len(self.ipyEquipPlaceIndexMapCache)
+        self.ipyEquipStarUpCache = self.__LoadFileData("EquipStarUp", IPY_EquipStarUp)
+        self.ipyEquipStarUpLen = len(self.ipyEquipStarUpCache)
+        self.ipyEquipPlusEvolveCache = self.__LoadFileData("EquipPlusEvolve", IPY_EquipPlusEvolve)
+        self.ipyEquipPlusEvolveLen = len(self.ipyEquipPlusEvolveCache)
+        self.ipyFamilyBossAwardCache = self.__LoadFileData("FamilyBossAward", IPY_FamilyBossAward)
+        self.ipyFamilyBossAwardLen = len(self.ipyFamilyBossAwardCache)
+        self.ipyItemWashMaxCache = self.__LoadFileData("ItemWashMax", IPY_ItemWashMax)
+        self.ipyItemWashMaxLen = len(self.ipyItemWashMaxCache)
+        self.ipyHorsePetBossAwardCache = self.__LoadFileData("HorsePetBossAward", IPY_HorsePetBossAward)
+        self.ipyHorsePetBossAwardLen = len(self.ipyHorsePetBossAwardCache)
+        self.ipyFairyDomainCache = self.__LoadFileData("FairyDomain", IPY_FairyDomain)
+        self.ipyFairyDomainLen = len(self.ipyFairyDomainCache)
+        self.ipyFairyAdventuresCache = self.__LoadFileData("FairyAdventures", IPY_FairyAdventures)
+        self.ipyFairyAdventuresLen = len(self.ipyFairyAdventuresCache)
+        self.ipyFairyDomainAppointCache = self.__LoadFileData("FairyDomainAppoint", IPY_FairyDomainAppoint)
+        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
@@ -4585,6 +4966,8 @@
     
     def GetDienstgradCount(self): return self.ipyDienstgradLen
     def GetDienstgradByIndex(self, index): return self.ipyDienstgradCache[index]
+    def GetRolePointCount(self): return self.ipyRolePointLen
+    def GetRolePointByIndex(self, index): return self.ipyRolePointCache[index]
     def GetRealmCount(self): return self.ipyRealmLen
     def GetRealmByIndex(self, index): return self.ipyRealmCache[index]
     def GetGodWeaponCount(self): return self.ipyGodWeaponLen
@@ -4599,10 +4982,16 @@
     def GetItemPlusByIndex(self, index): return self.ipyItemPlusCache[index]
     def GetItemPlusMaxCount(self): return self.ipyItemPlusMaxLen
     def GetItemPlusMaxByIndex(self, index): return self.ipyItemPlusMaxCache[index]
-    def GetItemPlusSumAttrCount(self): return self.ipyItemPlusSumAttrLen
-    def GetItemPlusSumAttrByIndex(self, index): return self.ipyItemPlusSumAttrCache[index]
     def GetRoleEquipStarsCount(self): return self.ipyRoleEquipStarsLen
     def GetRoleEquipStarsByIndex(self, index): return self.ipyRoleEquipStarsCache[index]
+    def GetEquipLegendAttrCountCount(self): return self.ipyEquipLegendAttrCountLen
+    def GetEquipLegendAttrCountByIndex(self, index): return self.ipyEquipLegendAttrCountCache[index]
+    def GetEquipLegendAttrTypeCount(self): return self.ipyEquipLegendAttrTypeLen
+    def GetEquipLegendAttrTypeByIndex(self, index): return self.ipyEquipLegendAttrTypeCache[index]
+    def GetEquipLegendAttrLibCount(self): return self.ipyEquipLegendAttrLibLen
+    def GetEquipLegendAttrLibByIndex(self, index): return self.ipyEquipLegendAttrLibCache[index]
+    def GetEquipLegendAttrValueCount(self): return self.ipyEquipLegendAttrValueLen
+    def GetEquipLegendAttrValueByIndex(self, index): return self.ipyEquipLegendAttrValueCache[index]
     def GetDogzCount(self): return self.ipyDogzLen
     def GetDogzByIndex(self, index): return self.ipyDogzCache[index]
     def GetDogzEquipPlusCount(self): return self.ipyDogzEquipPlusLen
@@ -4611,8 +5000,6 @@
     def GetRuneByIndex(self, index): return self.ipyRuneCache[index]
     def GetEquipWashCount(self): return self.ipyEquipWashLen
     def GetEquipWashByIndex(self, index): return self.ipyEquipWashCache[index]
-    def GetEquipWashSpecCount(self): return self.ipyEquipWashSpecLen
-    def GetEquipWashSpecByIndex(self, index): return self.ipyEquipWashSpecCache[index]
     def GetAttrFruitCount(self): return self.ipyAttrFruitLen
     def GetAttrFruitByIndex(self, index): return self.ipyAttrFruitCache[index]
     def GetPetInfoCount(self): return self.ipyPetInfoLen
@@ -4633,10 +5020,10 @@
     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 GetEquipSuitCompoundCount(self): return self.ipyEquipSuitCompoundLen
-    def GetEquipSuitCompoundByIndex(self, index): return self.ipyEquipSuitCompoundCache[index]
     def GetWingRefineAttrCount(self): return self.ipyWingRefineAttrLen
     def GetWingRefineAttrByIndex(self, index): return self.ipyWingRefineAttrCache[index]
     def GetWingRefineExpCount(self): return self.ipyWingRefineExpLen
@@ -4667,10 +5054,6 @@
     def GetTreasureByIndex(self, index): return self.ipyTreasureCache[index]
     def GetTreasureUpCount(self): return self.ipyTreasureUpLen
     def GetTreasureUpByIndex(self, index): return self.ipyTreasureUpCache[index]
-    def GetTreasurePrivilegeCount(self): return self.ipyTreasurePrivilegeLen
-    def GetTreasurePrivilegeByIndex(self, index): return self.ipyTreasurePrivilegeCache[index]
-    def GetTreasureSkillCount(self): return self.ipyTreasureSkillLen
-    def GetTreasureSkillByIndex(self, index): return self.ipyTreasureSkillCache[index]
     def GetContineSignAwardCount(self): return self.ipyContineSignAwardLen
     def GetContineSignAwardByIndex(self, index): return self.ipyContineSignAwardCache[index]
     def GetSignAwardCount(self): return self.ipySignAwardLen
@@ -4679,6 +5062,8 @@
     def GetVIPAwardByIndex(self, index): return self.ipyVIPAwardCache[index]
     def GetAppointItemCount(self): return self.ipyAppointItemLen
     def GetAppointItemByIndex(self, index): return self.ipyAppointItemCache[index]
+    def GetAuctionItemCount(self): return self.ipyAuctionItemLen
+    def GetAuctionItemByIndex(self, index): return self.ipyAuctionItemCache[index]
     def GetVipPrivilegeCount(self): return self.ipyVipPrivilegeLen
     def GetVipPrivilegeByIndex(self, index): return self.ipyVipPrivilegeCache[index]
     def GetStoreCount(self): return self.ipyStoreLen
@@ -4695,8 +5080,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
@@ -4715,12 +5100,16 @@
     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
     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
@@ -4795,8 +5184,6 @@
     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 GetCrossRealmPKDanAwardCount(self): return self.ipyCrossRealmPKDanAwardLen
@@ -4805,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
@@ -4831,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
@@ -4845,6 +5232,36 @@
     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
+    def GetLuckyTreasureTemplateByIndex(self, index): return self.ipyLuckyTreasureTemplateCache[index]
+    def GetMysteryShopCount(self): return self.ipyMysteryShopLen
+    def GetMysteryShopByIndex(self, index): return self.ipyMysteryShopCache[index]
+    def GetEquipPlaceIndexMapCount(self): return self.ipyEquipPlaceIndexMapLen
+    def GetEquipPlaceIndexMapByIndex(self, index): return self.ipyEquipPlaceIndexMapCache[index]
+    def GetEquipStarUpCount(self): return self.ipyEquipStarUpLen
+    def GetEquipStarUpByIndex(self, index): return self.ipyEquipStarUpCache[index]
+    def GetEquipPlusEvolveCount(self): return self.ipyEquipPlusEvolveLen
+    def GetEquipPlusEvolveByIndex(self, index): return self.ipyEquipPlusEvolveCache[index]
+    def GetFamilyBossAwardCount(self): return self.ipyFamilyBossAwardLen
+    def GetFamilyBossAwardByIndex(self, index): return self.ipyFamilyBossAwardCache[index]
+    def GetItemWashMaxCount(self): return self.ipyItemWashMaxLen
+    def GetItemWashMaxByIndex(self, index): return self.ipyItemWashMaxCache[index]
+    def GetHorsePetBossAwardCount(self): return self.ipyHorsePetBossAwardLen
+    def GetHorsePetBossAwardByIndex(self, index): return self.ipyHorsePetBossAwardCache[index]
+    def GetFairyDomainCount(self): return self.ipyFairyDomainLen
+    def GetFairyDomainByIndex(self, index): return self.ipyFairyDomainCache[index]
+    def GetFairyAdventuresCount(self): return self.ipyFairyAdventuresLen
+    def GetFairyAdventuresByIndex(self, index): return self.ipyFairyAdventuresCache[index]
+    def GetFairyDomainAppointCount(self): return self.ipyFairyDomainAppointLen
+    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

--
Gitblit v1.8.0