From 8a5a4dc89554504aa6f106744498319b8ce4f2b8 Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期三, 20 三月 2019 10:53:39 +0800
Subject: [PATCH] 6381 【后端】【2.0】任务接口开发

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |  148 ++++++++++++++++++++----------------------------
 1 files changed, 62 insertions(+), 86 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 2746289..b4436fa 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -43,16 +43,13 @@
 
                 "Realm":(
                         ("WORD", "Lv", 1),
-                        ("BYTE", "IsBigRealm", 0),
-                        ("DWORD", "NeedPoint", 0),
+                        ("DWORD", "NeedLV", 0),
                         ("DWORD", "NeedItemID", 0),
                         ("WORD", "NeedItemCnt", 0),
-                        ("dict", "NeedActiveTreasure", 0),
                         ("list", "AddAttrType", 0),
                         ("list", "AddAttrNum", 0),
                         ("DWORD", "BossID", 0),
-                        ("dict", "SitTime", 0),
-                        ("dict", "TeamAward", 0),
+                        ("DWORD", "BuffID", 0),
                         ),
 
                 "GodWeapon":(
@@ -133,16 +130,12 @@
                         ("BYTE", "ItemType", 1),
                         ("BYTE", "ItemColor", 1),
                         ("BYTE", "IsSuit", 1),
-                        ("BYTE", "FixedLegendAttrCount", 0),
-                        ("BYTE", "GoodLegendAttrCount", 0),
-                        ("BYTE", "OtherLegendAttrCount", 0),
+                        ("list", "LegendAttrCountInfo", 0),
                         ),
 
                 "EquipLegendAttrType":(
                         ("BYTE", "ItemType", 1),
-                        ("list", "FixedLegendAttrList", 0),
-                        ("list", "GoodLegendAttrList", 0),
-                        ("list", "CommLegendAttrList", 0),
+                        ("dict", "LegendAttrTypeLib", 0),
                         ),
 
                 "EquipLegendAttrLib":(
@@ -416,10 +409,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),
@@ -429,8 +422,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":(
@@ -469,7 +464,6 @@
                         ("DWORD", "MapID", 0),
                         ("WORD", "LVLimitMin", 0),
                         ("WORD", "LVLimitMax", 0),
-                        ("BYTE", "JobRankLimit", 0),
                         ("DWORD", "TicketID", 0),
                         ("list", "TicketCostCnt", 0),
                         ("WORD", "TicketPrice", 0),
@@ -1165,14 +1159,6 @@
                         ("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),
@@ -1417,6 +1403,12 @@
                         ("list", "Rank", 0),
                         ("list", "Award", 0),
                         ),
+
+                "ItemWashMax":(
+                        ("BYTE", "Type", 1),
+                        ("BYTE", "Star", 1),
+                        ("WORD", "LevelMax", 0),
+                        ),
                 }
 
 
@@ -1444,29 +1436,23 @@
     
     def __init__(self):
         self.Lv = 0
-        self.IsBigRealm = 0
-        self.NeedPoint = 0
+        self.NeedLV = 0
         self.NeedItemID = 0
         self.NeedItemCnt = 0
-        self.NeedActiveTreasure = {}
         self.AddAttrType = []
         self.AddAttrNum = []
         self.BossID = 0
-        self.SitTime = {}
-        self.TeamAward = {}
+        self.BuffID = 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 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
 
 # 神兵表
 class IPY_GodWeapon():
@@ -1631,32 +1617,24 @@
         self.ItemType = 0
         self.ItemColor = 0
         self.IsSuit = 0
-        self.FixedLegendAttrCount = 0
-        self.GoodLegendAttrCount = 0
-        self.OtherLegendAttrCount = 0
+        self.LegendAttrCountInfo = []
         return
         
     def GetItemType(self): return self.ItemType # 物品类型
     def GetItemColor(self): return self.ItemColor # 物品颜色
     def GetIsSuit(self): return self.IsSuit # 是否套装
-    def GetFixedLegendAttrCount(self): return self.FixedLegendAttrCount # 固定传奇属性条数
-    def GetGoodLegendAttrCount(self): return self.GoodLegendAttrCount # 追求传奇属性保底条数
-    def GetOtherLegendAttrCount(self): return self.OtherLegendAttrCount # 其他随机传奇属性条数
+    def GetLegendAttrCountInfo(self): return self.LegendAttrCountInfo # 传奇属性条数信息 [[条数, [属性类型库编号, ...]], ...]
 
 # 装备传奇属性类型表
 class IPY_EquipLegendAttrType():
     
     def __init__(self):
         self.ItemType = 0
-        self.FixedLegendAttrList = []
-        self.GoodLegendAttrList = []
-        self.CommLegendAttrList = []
+        self.LegendAttrTypeLib = {}
         return
         
     def GetItemType(self): return self.ItemType # 物品类型
-    def GetFixedLegendAttrList(self): return self.FixedLegendAttrList # 固定传奇属性列表
-    def GetGoodLegendAttrList(self): return self.GoodLegendAttrList # 追求传奇属性列表
-    def GetCommLegendAttrList(self): return self.CommLegendAttrList # 一般传奇属性列表
+    def GetLegendAttrTypeLib(self): return self.LegendAttrTypeLib # 传奇属性类型库 {属性类型库编号:[属性ID,...], ...}
 
 # 装备传奇属性值库表
 class IPY_EquipLegendAttrLib():
@@ -2215,10 +2193,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 = {}
@@ -2228,8 +2206,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
@@ -2237,14 +2217,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:概率, ...}
@@ -2254,8 +2234,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():
@@ -2328,7 +2310,6 @@
         self.MapID = 0
         self.LVLimitMin = 0
         self.LVLimitMax = 0
-        self.JobRankLimit = 0
         self.TicketID = 0
         self.TicketCostCnt = []
         self.TicketPrice = 0
@@ -2347,7 +2328,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)
@@ -3795,23 +3775,6 @@
     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():
     
@@ -4332,6 +4295,19 @@
     def GetWorldLV(self): return self.WorldLV # 世界等级
     def GetRank(self): return self.Rank # 排名
     def GetAward(self): return self.Award # 奖励 [[独立概率万分率,[物品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 # 洗练等级上限
 
 
 def Log(msg, playerID=0, par=0):
@@ -4575,8 +4551,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)
@@ -4639,6 +4613,8 @@
         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)
         Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
         Log("IPY_DataMgr InitOK!")
         return
@@ -5023,8 +4999,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
@@ -5087,6 +5061,8 @@
     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]
 
 IPYData = IPY_DataMgr()
 def IPY_Data(): return IPYData

--
Gitblit v1.8.0