| | |
| | | #
|
| | | ##@package Skill.PassiveTrigger.PassiveEff_5505
|
| | | #
|
| | | # @todo:触发释放技能(验证目标生命)
|
| | | # @todo:触发释放技能(验证生命)
|
| | | # @author hxp
|
| | | # @date 2025-12-16
|
| | | # @version 1.0
|
| | | #
|
| | | # 详细描述: 触发释放技能(验证目标生命)
|
| | | # 详细描述: 触发释放技能(验证生命)
|
| | | #
|
| | | #-------------------------------------------------------------------------------
|
| | | #"""Version = 2025-12-16 19:30"""
|
| | |
| | | import ChConfig
|
| | |
|
| | | def DoSkillEffectLogic(turnFight, batObj, tagObj, effSkill, curEffect, connSkill, connBuff, **kwargs):
|
| | | skillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
|
| | | passiveSkillID = curEffect.GetEffectValue(0) # 技能ID,为0时释放本技能
|
| | | checkTagHPInfo = curEffect.GetEffectValue(1) # 可附加验证目标生命值[计算方式, 百分比]
|
| | | checkTagType = curEffect.GetEffectValue(2) # 验证目标默认0-对方;1自己
|
| | | if checkTagHPInfo:
|
| | | checkType, checkHPPer = checkTagHPInfo
|
| | | tagHP = tagObj.GetHP()
|
| | | tagHPMax = tagObj.GetMaxHP()
|
| | | checkTag = batObj if checkTagType == 1 else tagObj
|
| | | tagHP = checkTag.GetHP()
|
| | | tagHPMax = checkTag.GetMaxHP()
|
| | | nowPer = tagHP / float(tagHPMax) * 100
|
| | |
|
| | | effSkillTypeID = effSkill.GetSkillTypeID()
|
| | | checkHPPer += TurnPassive.GetTriggerEffectValue(turnFight, batObj, tagObj, ChConfig.PassiveEff_AddCheckPer5505, connSkillTypeID=effSkillTypeID, **kwargs)
|
| | | checkHPPer += TurnPassive.GetTriggerEffectValue(turnFight, batObj, checkTag, ChConfig.PassiveEff_AddCheckPer5505, connSkillTypeID=effSkillTypeID, **kwargs)
|
| | |
|
| | | GameWorld.DebugLogEx("5505验证目标生命! tagHP=%s/%s,nowPer=%s,checkHPPer=%s,checkType=%s,effSkillTypeID=%s", |
| | | tagHP, tagHPMax, nowPer, checkHPPer, checkType, effSkillTypeID)
|
| | | GameWorld.DebugLogEx("5505验证生命! checkTagType=%s,checkTagID=%s,HP=%s/%s,nowPer=%s,checkHPPer=%s,checkType=%s,effSkillTypeID=%s", |
| | | checkTagType, checkTag.GetID(), tagHP, tagHPMax, nowPer, checkHPPer, checkType, effSkillTypeID)
|
| | |
|
| | | # 小于等于
|
| | | if checkType == 0:
|
| | |
| | | if nowPer < checkHPPer:
|
| | | return
|
| | |
|
| | | if not skillID:
|
| | | passiveSkill = effSkill
|
| | | else:
|
| | | passiveSkill = IpyGameDataPY.GetIpyGameData("Skill", skillID)
|
| | | if not passiveSkill:
|
| | | return
|
| | | effectID = curEffect.GetEffectID()
|
| | | effSkillID = effSkill.GetSkillID()
|
| | | return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkill, connSkill, effSkillID, effectID, connBuff, **kwargs)
|
| | | if not passiveSkillID:
|
| | | passiveSkillID = effSkillID
|
| | | return TurnSkill.OnUsePassiveSkill(turnFight, batObj, tagObj, passiveSkillID, connSkill, effSkillID, effectID, connBuff, **kwargs)
|
| | |
|
| | | def DoBuffEffectLogic(turnFight, batObj, tagObj, effBuff, curEffect, connSkill, connBuff, **kwargs):
|
| | | effSkill = effBuff.GetSkillData().GetIpyData()
|