31 lines
1.2 KiB
C#
31 lines
1.2 KiB
C#
|
using Cal;
|
|||
|
namespace ET
|
|||
|
{
|
|||
|
public class SkillOptionLogic_修改Modifier数据 : SkillOptionLogicBase
|
|||
|
{
|
|||
|
public override SkillOptionType skillOptionType => SkillOptionType.修改Modifier数据;
|
|||
|
public override SkillOptionBase skillOptionBase { get; set; }
|
|||
|
|
|||
|
SkillOption_修改Modifier数据 skillOption;
|
|||
|
public override void HandleEvent(ISkillSender skillSender)
|
|||
|
{
|
|||
|
skillOption = skillOptionBase.As<SkillOption_修改Modifier数据>();
|
|||
|
var owner = skillSender.caster;
|
|||
|
SkillLogic skillLogic = skillSender.skillLogic;
|
|||
|
var num = owner.GetComponent<NumericComponent>();
|
|||
|
var modifierContainer = skillLogic.owner.GetComponent<ModifierContainerComponent>();
|
|||
|
var logic = modifierContainer.GetModifierLogic(skillOption.modifierId);
|
|||
|
if (logic != null)
|
|||
|
{
|
|||
|
modifierContainer.RemoveModifier(logic);
|
|||
|
}
|
|||
|
skillLogic.dataX10000 = (1 - (float)num.GetAsInt(NumericType.Hp) / num.GetAsInt(NumericType.MaxHp)) / 0.1f;
|
|||
|
modifierContainer.ApplyModifier(skillLogic.owner, skillLogic,skillOption. modifierId);
|
|||
|
}
|
|||
|
|
|||
|
public override void Clear()
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|