| | |
| | | ("WORD", "SuccessRateMax", 0),
|
| | | ("BYTE", "AddonsCountMax", 0),
|
| | | ("char", "SysMark", 0),
|
| | | ("BYTE", "SysMarkParamType", 0),
|
| | | ),
|
| | |
|
| | | "ItemPlus":(
|
| | |
| | | ("DWORD", "SkillAtkRateC", 0),
|
| | | ("DWORD", "SpeedPerC", 0),
|
| | | ("DWORD", "AtkSpeedC", 0),
|
| | | ("DWORD", "SkillAtkRateReduceC", 0),
|
| | | ),
|
| | |
|
| | | "Success":(
|
| | |
| | | ("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.SuperHitReduceC = 0
|
| | | self.SkillAtkRateC = 0
|
| | | self.SpeedPerC = 0
|
| | | self.AtkSpeedC = 0 |
| | | self.AtkSpeedC = 0
|
| | | self.SkillAtkRateReduceC = 0 |
| | | return |
| | | |
| | | def GetClassLV(self): return self.ClassLV # 装备阶级
|
| | |
| | | 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 GetAtkSpeedC(self): return self.AtkSpeedC # 攻击速度系数
|
| | | def GetSkillAtkRateReduceC(self): return self.SkillAtkRateReduceC # 技能减伤百分比系数 |
| | | |
| | | # 成就表 |
| | | class IPY_Success(): |
| | |
| | | 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
|