| | |
| | |
|
| | | __AttrName = "%s" # 参数为ChConfig.Def_Calc_AllAttrType_MAX对应所有属性列表索引
|
| | | __AttrNameNoline = "Noline_%s" # 参数为ChConfig.Def_Calc_AllAttrType_MAX对应所有属性列表索引
|
| | | __NolineAttrList = [ChConfig.TYPE_Calc_AttrSpeed] # 需要记录的非线性战斗属性
|
| | | __NolineAttrList = [ChConfig.TYPE_Calc_AttrSpeed, ChConfig.TYPE_Calc_AttrATKMin, ChConfig.TYPE_Calc_AttrATKMax, |
| | | ChConfig.TYPE_Calc_AttrMaxHP] # 需要记录的非线性战斗属性
|
| | |
|
| | | ## 初始化
|
| | | # @param self 类实例
|
| | |
| | | AtkSpeedParameter = fpParam.GetCftAtkSpeed()
|
| | | LuckyHitParameter = fpParam.GetCftLuckyHit()
|
| | |
|
| | | fpEx = 0
|
| | | #装备模块特殊处理
|
| | | if self.mfpType == ShareDefine.Def_MFPType_Equip:
|
| | | AtkPer = getattr(self, self.__AttrNameNoline % ChConfig.TYPE_Calc_AttrATKMax) * fpParam.GetCftAtkPer() # 攻击百分比系数
|
| | | MaxHPPer = getattr(self, self.__AttrNameNoline % ChConfig.TYPE_Calc_AttrMaxHP) * fpParam.GetCftMaxHPPer() # 生命百分比系数
|
| | | fpEx = eval(IpyGameDataPY.GetFuncCompileCfg("FightpowerFormula", 3))
|
| | | GameWorld.DebugLog("装备模块攻击生命百分比传奇属性战力: fpEx=%s" % fpEx)
|
| | | else:
|
| | | AtkPer = 0
|
| | | MaxHPPer = 0
|
| | | |
| | | #获取策划配置的表格
|
| | | FightpowerFormula = IpyGameDataPY.GetFuncCfg("FightpowerFormula")
|
| | | totalFightPower = eval(FormulaControl.GetCompileFormula("FightpowerFormula", FightpowerFormula))
|
| | | totalFightPower = eval(FormulaControl.GetCompileFormula("FightpowerFormula", FightpowerFormula)) + fpEx
|
| | |
|
| | | #GameWorld.DebugLog("MfpType=%s,FightPower=%s, %s" % (self.mfpType, totalFightPower, self.GetMFPAttrStr()))
|
| | | if totalFightPower > ShareDefine.Def_UpperLimit_DWord:
|