From ec45b62795c111074562fab788b5cccdea5d1d1d Mon Sep 17 00:00:00 2001
From: xdh <xiefantasy@qq.com>
Date: 星期六, 01 九月 2018 11:25:38 +0800
Subject: [PATCH] fix:3124 守卫人皇、仙盟心法增加仙盟等级限制

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py |   87 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 69 insertions(+), 18 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
index 9d231c9..3c7a74b 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/IpyGameDataPY.py
@@ -94,6 +94,7 @@
                         ("WORD", "SuccessRateMax", 0),
                         ("BYTE", "AddonsCountMax", 0),
                         ("char", "SysMark", 0),
+                        ("BYTE", "SysMarkParamType", 0),
                         ),
 
                 "ItemPlus":(
@@ -697,6 +698,9 @@
                         ("DWORD", "NPCID", 1),
                         ("DWORD", "MapID", 0),
                         ("BYTE", "RefreshMark", 0),
+                        ("BYTE", "IsNeedShunt", 0),
+                        ("BYTE", "RelatedType", 0),
+                        ("WORD", "RelatedID", 0),
                         ("DWORD", "StoneNPCID", 0),
                         ),
 
@@ -879,6 +883,8 @@
                         ("dict", "GridItemInfo", 0),
                         ("list", "JobItemList", 0),
                         ("list", "GridItemRateListFree", 0),
+                        ("list", "FreeGridItemRateList2", 0),
+                        ("dict", "FreeGridItemRateList3", 0),
                         ("list", "GridItemRateList1", 0),
                         ("list", "GridItemRateList2", 0),
                         ("dict", "GridItemRateList3", 0),
@@ -949,6 +955,14 @@
                         ("DWORD", "Index", 1),
                         ("DWORD", "NeedPoint", 0),
                         ("dict", "Award", 0),
+                        ),
+
+                "MapEventPoint":(
+                        ("DWORD", "MapID", 1),
+                        ("DWORD", "NPCID", 1),
+                        ("WORD", "LowLV", 0),
+                        ("WORD", "HighestLV", 0),
+                        ("DWORD", "Defense", 0),
                         ),
                 }
 
@@ -1072,7 +1086,8 @@
         self.SuccessRate = 0
         self.SuccessRateMax = 0
         self.AddonsCountMax = 0
-        self.SysMark = ""
+        self.SysMark = ""
+        self.SysMarkParamType = 0
         return
         
     def GetID(self): return self.ID # 合成配置编号ID
@@ -1085,7 +1100,8 @@
     def GetSuccessRate(self): return self.SuccessRate #  成功率万分率
     def GetSuccessRateMax(self): return self.SuccessRateMax #  最大成功率万分率
     def GetAddonsCountMax(self): return self.AddonsCountMax # 最大可附加材料数, 增加概率用, 非必须, 0代表不可附加材料
-    def GetSysMark(self): return self.SysMark # 提示mark
+    def GetSysMark(self): return self.SysMark # 提示mark
+    def GetSysMarkParamType(self): return self.SysMarkParamType # 系统提示参数组合类型
 
 # 物品强化效果表
 class IPY_ItemPlus():
@@ -2338,12 +2354,18 @@
         self.NPCID = 0
         self.MapID = 0
         self.RefreshMark = 0
+        self.IsNeedShunt = 0
+        self.RelatedType = 0
+        self.RelatedID = 0
         self.StoneNPCID = 0
         return
         
     def GetNPCID(self): return self.NPCID # ID
     def GetMapID(self): return self.MapID # 地图ID
     def GetRefreshMark(self): return self.RefreshMark # 刷新标识点
+    def GetIsNeedShunt(self): return self.IsNeedShunt # 是否需要分流
+    def GetRelatedType(self): return self.RelatedType # 刷怪关联类型
+    def GetRelatedID(self): return self.RelatedID # 关联ID
     def GetStoneNPCID(self): return self.StoneNPCID # 墓碑NPCID
 
 # 古神禁地表
@@ -2723,6 +2745,8 @@
         self.GridItemInfo = {}
         self.JobItemList = []
         self.GridItemRateListFree = []
+        self.FreeGridItemRateList2 = []
+        self.FreeGridItemRateList3 = {}
         self.GridItemRateList1 = []
         self.GridItemRateList2 = []
         self.GridItemRateList3 = {}
@@ -2734,6 +2758,8 @@
     def GetGridItemInfo(self): return self.GridItemInfo # 格子编号对应物品信息 {"编号":[物品ID, 个数], ...}
     def GetJobItemList(self): return self.JobItemList # 职业物品组列表 [[职业1物品, 职业2物品, ...], ...]
     def GetGridItemRateListFree(self): return self.GridItemRateListFree # 免费产出格子编号饼图 [[概率, 格子编号], ...]
+    def GetFreeGridItemRateList2(self): return self.FreeGridItemRateList2 # 免费每满x次保底产出格子编号饼图 [[概率, 格子编号], ...]
+    def GetFreeGridItemRateList3(self): return self.FreeGridItemRateList3 # 免费第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...}
     def GetGridItemRateList1(self): return self.GridItemRateList1 # 常规产出格子编号饼图 [[概率, 格子编号], ...]
     def GetGridItemRateList2(self): return self.GridItemRateList2 # 每满x次保底产出格子编号饼图 [[概率, 格子编号], ...]
     def GetGridItemRateList3(self): return self.GridItemRateList3 # 第x次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...}
@@ -2878,6 +2904,23 @@
     def GetIndex(self): return self.Index # 索引
     def GetNeedPoint(self): return self.NeedPoint # 需要点数
     def GetAward(self): return self.Award # 奖励 {"职业":[[物品ID,个数,是否绑定],...], ...}
+
+# 地图NPC配置表-挂机点
+class IPY_MapEventPoint():
+    
+    def __init__(self):
+        self.MapID = 0
+        self.NPCID = 0
+        self.LowLV = 0
+        self.HighestLV = 0
+        self.Defense = 0
+        return
+        
+    def GetMapID(self): return self.MapID
+    def GetNPCID(self): return self.NPCID
+    def GetLowLV(self): return self.LowLV #  推荐最低等级
+    def GetHighestLV(self): return self.HighestLV #  推荐最高等级
+    def GetDefense(self): return self.Defense #  推荐防御
 
 
 def Log(msg, playerID=0, par=0):
@@ -3079,6 +3122,8 @@
         self.ipyAllPeoplePartyLen = len(self.ipyAllPeoplePartyCache)
         self.ipyAllPeoplePartyAwardCache = self.__LoadFileData("AllPeoplePartyAward", IPY_AllPeoplePartyAward)
         self.ipyAllPeoplePartyAwardLen = len(self.ipyAllPeoplePartyAwardCache)
+        self.ipyMapEventPointCache = self.__LoadFileData("MapEventPoint", IPY_MapEventPoint)
+        self.ipyMapEventPointLen = len(self.ipyMapEventPointCache)
         Log("IPY_FuncConfig count=%s" % len(self.ipyFuncConfigDict))
         Log("IPY_DataMgr InitOK!")
         return
@@ -3170,22 +3215,26 @@
         for i, strValue in enumerate(rowList):
             if i == 0:
                 continue
-            fieldName = fieldList[i][1]
-            strValue = strValue.lstrip().rstrip()
-            if strValue.isdigit():
-                configValue = int(strValue)
-            elif (strValue.startswith("{") and strValue.endswith("}")) \
-                or (strValue.startswith("[") and strValue.endswith("]")) \
-                or (strValue.startswith("(") and strValue.endswith(")")):
-                configValue = eval(strValue)
-            elif "_" in strValue and type(self.__StrToDict(strValue)) == dict:
-                configValue = self.__StrToDict(strValue)
-            elif ChConfig.Def_Str_Montant in strValue:
-                configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ","))
-            elif strValue in ["-", ""]:
-                configValue = ""
-            else:
-                configValue = self.__ToFloat(strValue)
+            try:
+                fieldName = fieldList[i][1]
+                strValue = strValue.lstrip().rstrip()
+                if strValue.isdigit():
+                    configValue = int(strValue)
+                elif (strValue.startswith("{") and strValue.endswith("}")) \
+                    or (strValue.startswith("[") and strValue.endswith("]")) \
+                    or (strValue.startswith("(") and strValue.endswith(")")):
+                    configValue = eval(strValue)
+                elif "_" in strValue and type(self.__StrToDict(strValue)) == dict:
+                    configValue = self.__StrToDict(strValue)
+                elif ChConfig.Def_Str_Montant in strValue:
+                    configValue = eval("(%s,)" % strValue.replace(ChConfig.Def_Str_Montant, ","))
+                elif strValue in ["-", ""]:
+                    configValue = ""
+                else:
+                    configValue = self.__ToFloat(strValue)
+            except BaseException:
+                ErrLog("SetIpyDataError: tableName=%s,key=%s,i=%s,value=%s" % ("FuncConfig", key, i, strValue))
+                raise
             setattr(funcConfigObj, fieldName, configValue)
         self.ipyFuncConfigDict[key] = funcConfigObj
         return
@@ -3417,6 +3466,8 @@
     def GetAllPeoplePartyByIndex(self, index): return self.ipyAllPeoplePartyCache[index]
     def GetAllPeoplePartyAwardCount(self): return self.ipyAllPeoplePartyAwardLen
     def GetAllPeoplePartyAwardByIndex(self, index): return self.ipyAllPeoplePartyAwardCache[index]
+    def GetMapEventPointCount(self): return self.ipyMapEventPointLen
+    def GetMapEventPointByIndex(self, index): return self.ipyMapEventPointCache[index]
 
 IPYData = IPY_DataMgr()
 def IPY_Data(): return IPYData

--
Gitblit v1.8.0