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 attacker = owner.GetComponent(); BallisticData damageData = attacker.GetAttackData(); if (!SkillHelper.GetParam(this.skillOption.param, skillSender.skillConfigId, out float value)) return; damageData.ChangeValue(damageData.value * value / 100); attacker.TreatTarget(target, damageData, skillSender); } } }