| | |
| | |
|
| | | for tagObj in useSkill.GetTagObjList():
|
| | | tagID = tagObj.GetID()
|
| | | if tagID == curID or tagID in missObjIDList:
|
| | | # 自己或对方闪避了不再触发被动
|
| | | if tagID in missObjIDList:
|
| | | continue
|
| | |
|
| | | # 直接攻击
|
| | | if isUseSkill and not SkillCommon.IsBuff(useSkill) and useSkill.GetSkillType() in [ChConfig.Def_SkillType_Atk]:
|
| | | TurnPassive.OnTriggerPassiveEffect(turnFight, curObj, ChConfig.TriggerWay_AttackOverDirect, tagObj, connSkill=useSkill)
|
| | | TurnPassive.OnTriggerPassiveEffect(turnFight, tagObj, ChConfig.TriggerWay_BeAttackedDirect, curObj, connSkill=useSkill)
|
| | | |
| | | # 使用技能后
|
| | | if isUseSkill:
|
| | | TurnPassive.OnTriggerPassiveEffect(turnFight, curObj, ChConfig.TriggerWay_UseSkillOver, tagObj, connSkill=useSkill)
|
| | |
|
| | | if killObjList:
|
| | | tagObj = killObjList[0]
|
| | |
| | | skillID = curSkill.GetSkillID()
|
| | | pmType = GetPMType(atkObj, curSkill)
|
| | | ignoreDef = IsIgnoreDef(curSkill)
|
| | | batType = curSkill.GetBatType()
|
| | |
|
| | | changeHurtType = TurnPassive.GetTriggerEffectValue(turnFight, atkObj, defObj, ChConfig.PassiveEff_ChangeHurtType, curSkill)
|
| | | if changeHurtType == 1:
|
| | |
| | | aPMDamPer = atkObj.GetBatAttrValue(ChConfig.AttrID_PhyDamPer)
|
| | | dPMDamPerDef = defObj.GetBatAttrValue(ChConfig.AttrID_PhyDamPerDef)
|
| | |
|
| | | aComboDamPer = 0 # 连击增伤
|
| | | if batType == ChConfig.TurnBattleType_Combo:
|
| | | aComboDamPer = atkObj.GetBatAttrValue(ChConfig.AttrID_ComboDamPer)
|
| | | |
| | | aPursueDamPer = 0 # 追击增伤
|
| | | if batType == ChConfig.TurnBattleType_Pursue:
|
| | | aPursueDamPer = atkObj.GetBatAttrValue(ChConfig.AttrID_PursueDamPer)
|
| | | |
| | | # 所有万分率参数统一除10000.0
|
| | | atkSkillPer /= 10000.0
|
| | | aNormalSkillPer /= 10000.0
|
| | |
| | | dSuperDamPerDef /= 10000.0
|
| | | aFinalDamPer /= 10000.0
|
| | | dFinalDamPerDef /= 10000.0
|
| | | aComboDamPer /= 10000.0
|
| | | aPursueDamPer /= 10000.0
|
| | |
|
| | | if calcType != ChConfig.Def_Calc_Attack:
|
| | | aAtk = GetCalcBaseValue(calcType, atkObj, defObj)
|
| | |
| | | parryYJBuff = buffMgr.FindBuffByState(ChConfig.BatObjState_ParryYJ)
|
| | | if parryYJBuff and parryYJBuff.GetLayer():
|
| | | GameWorld.DebugLog("格挡印记格挡了: buffID=%s,buffLayer=%s" % (parryYJBuff.GetBuffID(), parryYJBuff.GetLayer()))
|
| | | TurnBuff.DecBuffLayer(turnFight, defObj, parryYJBuff, 1, curSkill.GetSkillID())
|
| | | TurnBuff.DoBuffLayerChange(turnFight, defObj, parryYJBuff, parryYJBuff.GetLayer() - 1, curSkill)
|
| | | return True
|
| | |
|
| | | aParryRateDef = atkObj.GetBatAttrValue(ChConfig.AttrID_ParryRateDef)
|