zxl
/
CTT
forked from Cal/CTT
1
0
Fork 0
CTT/Server/Hotfix/Game/SkillSystem/NewSkill/Component/SkillOptions/SkillOptionLogic_修改Modifier...

31 lines
1.3 KiB
C#
Raw Normal View History

2021-04-08 20:09:59 +08:00
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>();
2021-04-11 19:50:39 +08:00
Unit owner = skillSender.caster;
2021-04-08 20:09:59 +08:00
SkillLogic skillLogic = skillSender.skillLogic;
2021-04-11 19:50:39 +08:00
NumericComponent num = owner.GetComponent<NumericComponent>();
ModifierContainerComponent modifierContainer = skillLogic.owner.GetComponent<ModifierContainerComponent>();
ModifierLogic logic = modifierContainer.GetModifierLogic(skillOption.modifierId);
2021-04-08 20:09:59 +08:00
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()
{
}
}
}