129 【战斗】战斗系统-服务端(丁奉技能;觉醒1技能强化护盾,暂无反弹;)
| | |
| | | def CalcBuffValue(turnFight, attacker, defender, curSkill):
|
| | | calcType = curSkill.GetCalcType()
|
| | | skillPer = curSkill.GetSkillPer()
|
| | | skillPer += TurnSkill.GetAddSkillPer(turnFight, attacker, defender, curSkill)
|
| | | skillValue = curSkill.GetSkillValue()
|
| | | baseValue = TurnSkill.GetCalcBaseValue(calcType, attacker, defender, curSkill)
|
| | | shieldValue = int(baseValue * skillPer / 10000.0) + skillValue
|
| | |
| | | dHP, dMaxHP = defObj.GetHP(), defObj.GetMaxHP()
|
| | | dDef = 0 if ignoreDef else defObj.GetDef() # 防守方防御力
|
| | |
|
| | | atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPer, curSkill)
|
| | | atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByHP, curSkill)
|
| | | atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByJob, curSkill)
|
| | | atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByBuffLayer, curSkill)
|
| | | atkSkillPer += GetAddSkillPer(turnFight, atkObj, defObj, curSkill)
|
| | |
|
| | | aFinalDamPer = atkObj.GetBatAttrValue(ChConfig.AttrID_FinalDamPer) # 最终加成
|
| | | dFinalDamPerDef = defObj.GetBatAttrValue(ChConfig.AttrID_FinalDamPerDef) # 最终减伤
|
| | |
| | |
|
| | | hurtValue = max(1, int(hurtValue)) # 负值、保底防范,放最后
|
| | | return hurtValue, hurtTypes
|
| | |
|
| | | def GetAddSkillPer(turnFight, atkObj, defObj, curSkill):
|
| | | ## 获取额外增加的技能万分比
|
| | | atkSkillPer = 0
|
| | | atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPer, curSkill)
|
| | | atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByHP, curSkill)
|
| | | atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByJob, curSkill)
|
| | | atkSkillPer += TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_AddSkillPerByBuffLayer, curSkill)
|
| | | return atkSkillPer
|
| | |
|
| | | def CanSuperHit(turnFight, atkObj, defObj, curSkill):
|
| | | if TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_MustSuperHit, curSkill):
|
| | |
| | | skillPer = curSkill.GetSkillPer()
|
| | | #skillValue = curSkill.GetSkillValue()
|
| | |
|
| | | skillPer += TurnPassive.GetTriggerEffectValue(turnFight, userObj, tagObj, ChConfig.PassiveEff_AddSkillPer, curSkill)
|
| | | skillPer += GetAddSkillPer(turnFight, userObj, tagObj, curSkill)
|
| | |
|
| | | cureHP = __calcCureHP(turnFight, userObj, tagObj, curSkill, cureType, skillPer, largeNum)
|
| | |
|