using Cal; namespace ET { public class SkillOptionLogic_承担伤害 : SkillOptionLogicBase { public override SkillOptionType skillOptionType => SkillOptionType.承担伤害; public override SkillOptionBase skillOptionBase { get; set; } SkillOption_承担伤害 skillOption; public override void HandleEvent(ISkillSender skillSender) { skillOption = skillOptionBase.As(); SelectTargetHelper.GetTarget(skillOption.selectTarget, skillSender, Action); } private async ETTask Action(Unit target, ISkillSender skillSender) { Unit owner = skillSender.caster; AttackComponent hurter = target.GetComponent(); AttackComponent attacker = hurter.attacker.GetComponent(); BallisticData damageData = attacker.GetAttackData(); if (!SkillHelper.GetParam(this.skillOption.param, skillSender.skillConfigId, out float value)) return; damageData.ChangeValue(damageData.value * value); attacker.AttackTarget(owner, damageData, skillSender); } } }