using UnityEngine; using UnityEngine.AI; using System.Collections.Generic; using Kryz.CharacterStats.Examples; using Kryz.CharacterStats; [CreateAssetMenu(fileName = "MovementSpeedModifierEffect", menuName = "RiftMayhem/AbilitySystem/Effects/Movement Speed Modifier Effect", order = 1)] public class MovementSpeedModifierEffect : StatusEffect { public float speedModifierPercentage; StatusEffectHandler effectHandler; public override void ApplyEffect(Taggable user, List targets, BaseAbility source) { base.ApplyEffect(user, targets, source); if (applyToTargetsHit) { foreach (Taggable target in targets) { effectHandler = target.GetComponent(); effectHandler.ApplyEffect(this, user, target, source, defaultNumberOfStacks); } } if (applyToSelf) { effectHandler = user.GetComponent(); effectHandler.ApplyEffect(this, user, user, source, defaultNumberOfStacks); } } public override RuntimeEffectInstance CreateEffectInstance() { MovementSpeedModifierRuntimeEffectInstance instance = CObjectPool.Get(); instance.speedModifierPercentage = speedModifierPercentage; return instance; } }