28 lines
1.2 KiB
C#
Executable File
28 lines
1.2 KiB
C#
Executable File
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<SkillOption_承担伤害>();
|
|
SelectTargetHelper.GetTarget(skillOption.selectTarget, skillSender, Action);
|
|
}
|
|
|
|
private async ETTask Action(Unit target, ISkillSender skillSender)
|
|
{
|
|
Unit owner = skillSender.caster;
|
|
AttackComponent hurter = target.GetComponent<AttackComponent>();
|
|
AttackComponent attacker = hurter.attacker.GetComponent<AttackComponent>();
|
|
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);
|
|
}
|
|
}
|
|
} |