CTT/Server/Hotfix/Game/SkillSystem/NewSkill/Component/SkillOptions/SkillOptionLogic_修改Modifier...

31 lines
1.3 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>();
Unit owner = skillSender.caster;
SkillLogic skillLogic = skillSender.skillLogic;
NumericComponent num = owner.GetComponent<NumericComponent>();
ModifierContainerComponent modifierContainer = skillLogic.owner.GetComponent<ModifierContainerComponent>();
ModifierLogic 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()
{
}
}
}