25 lines
1.0 KiB
C#
25 lines
1.0 KiB
C#
|
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, (target, skillSender) =>
|
|||
|
{
|
|||
|
var owner = skillSender.caster;
|
|||
|
var attacker = owner.GetComponent<AttackComponent>();
|
|||
|
var damageData = attacker.GetAttackData();
|
|||
|
if (!SkillHelper.GetParam(skillOption.param, skillSender.skillLogic.skillConfigId, out var value))
|
|||
|
return;
|
|||
|
damageData.ChangeValue(damageData.value * value/100);
|
|||
|
attacker.TreatTarget(target, damageData, skillSender);
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
}
|