|  |  |  | 
|---|
|  |  |  | ("WORD", "SuccessRateMax", 0), | 
|---|
|  |  |  | ("BYTE", "AddonsCountMax", 0), | 
|---|
|  |  |  | ("char", "SysMark", 0), | 
|---|
|  |  |  | ("BYTE", "SysMarkParamType", 0), | 
|---|
|  |  |  | ), | 
|---|
|  |  |  |  | 
|---|
|  |  |  | "ItemPlus":( | 
|---|
|  |  |  | 
|---|
|  |  |  | ("DWORD", "NPCID", 1), | 
|---|
|  |  |  | ("DWORD", "MapID", 0), | 
|---|
|  |  |  | ("BYTE", "RefreshMark", 0), | 
|---|
|  |  |  | ("BYTE", "IsNeedShunt", 0), | 
|---|
|  |  |  | ("BYTE", "RelatedType", 0), | 
|---|
|  |  |  | ("WORD", "RelatedID", 0), | 
|---|
|  |  |  | ("DWORD", "StoneNPCID", 0), | 
|---|
|  |  |  | ), | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | ("dict", "GridItemInfo", 0), | 
|---|
|  |  |  | ("list", "JobItemList", 0), | 
|---|
|  |  |  | ("list", "GridItemRateListFree", 0), | 
|---|
|  |  |  | ("list", "FreeGridItemRateList2", 0), | 
|---|
|  |  |  | ("dict", "FreeGridItemRateList3", 0), | 
|---|
|  |  |  | ("list", "GridItemRateList1", 0), | 
|---|
|  |  |  | ("list", "GridItemRateList2", 0), | 
|---|
|  |  |  | ("dict", "GridItemRateList3", 0), | 
|---|
|  |  |  | 
|---|
|  |  |  | self.SuccessRate = 0 | 
|---|
|  |  |  | self.SuccessRateMax = 0 | 
|---|
|  |  |  | self.AddonsCountMax = 0 | 
|---|
|  |  |  | self.SysMark = "" | 
|---|
|  |  |  | self.SysMark = "" | 
|---|
|  |  |  | self.SysMarkParamType = 0 | 
|---|
|  |  |  | return | 
|---|
|  |  |  |  | 
|---|
|  |  |  | def GetID(self): return self.ID # 合成配置编号ID | 
|---|
|  |  |  | 
|---|
|  |  |  | 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(): | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | # 古神禁地表 | 
|---|
|  |  |  | 
|---|
|  |  |  | self.GridItemInfo = {} | 
|---|
|  |  |  | self.JobItemList = [] | 
|---|
|  |  |  | self.GridItemRateListFree = [] | 
|---|
|  |  |  | self.FreeGridItemRateList2 = [] | 
|---|
|  |  |  | self.FreeGridItemRateList3 = {} | 
|---|
|  |  |  | self.GridItemRateList1 = [] | 
|---|
|  |  |  | self.GridItemRateList2 = [] | 
|---|
|  |  |  | self.GridItemRateList3 = {} | 
|---|
|  |  |  | 
|---|
|  |  |  | 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次必出产出格子编号饼图 {次数:[[概率, 格子编号], ...], ...} | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 | 
|---|