public override void UpdateSkillActivation(ItemSkill SourceItemSkill, float CurrentActivationTime, bool StillActivating, bool ActivationIntervallReached) { if (CurrentActivationTime >= HitTimeStart && CurrentActivationTime <= HitTimeStop) { if (!SourceItemSkill.CheckIfSkillIsUsingHitBox(SourceItemSkill)) { SourceItemSkill.StartSkillCurrentlyUsingItemHitBox(HitEachCharacterOnlyOnce, MaxHittableCharacters); } } else if (SourceItemSkill.CheckIfSkillIsUsingHitBox(SourceItemSkill)) { SourceItemSkill.EndSkillCurrentlyUsingItemHitBox(); } if (CheckForAnimationTrigger) { if (SourceItemSkill.GetCurrentOwner().GetHand(0).TriggerActivateEffect(0)) { for (int i = 0; i < EffectsOnSelfOnAnimationTrigger.Length; i++) { EffectsOnSelfOnAnimationTrigger[i].ApplyEffect(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, SourceItemSkill.GetCurrentOwner()); } } if (SourceItemSkill.GetCurrentOwner().GetHand(0).TriggerActivateEffect(1)) { for (int i = 0; i < EffectsOnSelfOnAnimationTrigger2.Length; i++) { EffectsOnSelfOnAnimationTrigger2[i].ApplyEffect(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, SourceItemSkill.GetCurrentOwner()); } } } if (CurrentActivationTime >= ActivationTime) { // Stop Skill Activation: if (Cooldown > 0) { SourceItemSkill.SetCurrentCooldown(Cooldown); } RemoveActivationMovementRateModifier(SourceItemSkill, SourceItemSkill.GetCurrentOwner()); SourceItemSkill.EndSkillCurrentlyUsingItemHitBox(); SourceItemSkill.StoppedActivatingSkillWithHitObjects(this); SourceItemSkill.FinishedSkillActivation(); } }