public override void UpdateSkillActivation(ItemSkill SourceItemSkill, float CurrentActivationTime, bool StillActivating, bool ActivationIntervallReached) { if (CurrentActivationTime < ActivationTime) { return; } // Spawn and Initialize Projectile: SkillProjectile SpawnedProjectile = Instantiate(ProjectilePrefab, SourceItemSkill.transform.position, SourceItemSkill.GetCurrentOwner().transform.rotation); SpawnedProjectile.InitializeProjectile(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, this); if (ThrowSound) { var audioSource = SourceItemSkill.GetComponent <AudioSource>(); audioSource.clip = ThrowSound; audioSource.volume = 1; audioSource.loop = false; audioSource.Play(); } // Stop Skill Activation: if (Cooldown > 0) { SourceItemSkill.SetCurrentCooldown(Cooldown); } RemoveActivationMovementRateModifier(SourceItemSkill, SourceItemSkill.GetCurrentOwner()); SourceItemSkill.StoppedActivatingSkillWithHitObjects(this); SourceItemSkill.FinishedSkillActivation(); }
public override void UpdateSkillActivation(ItemSkill SourceItemSkill, float CurrentActivationTime, bool StillActivating, bool ActivationIntervallReached) { if (CurrentActivationTime < ActivationTime) { return; } if (!SourceItemSkill.GetEffectOnlyOnceBool(0)) { SourceItemSkill.SetEffectOnlyOnceBool(0, true); for (int i = 0; i < EffectsStart.Length; i++) { EffectsStart[i].ApplyEffect(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, SourceItemSkill.GetCurrentOwner()); } SourceItemSkill.GetCurrentOwner().StartAnimation(IdleAnimation, 1, SourceItemSkill.GetParentItemEquipmentSlot()); } if (ActivationIntervallReached) { ApplyEffects(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, SourceItemSkill.GetCurrentOwner()); var audioSource = SourceItemSkill.GetComponent <AudioSource>(); if (ChanellingSound) { audioSource.clip = ChanellingSound; audioSource.loop = true; audioSource.Play(); } } if (!StillActivating || (ActivationTimeMax > 0 && CurrentActivationTime >= ActivationTimeMax)) { for (int i = 0; i < EffectsEnd.Length; i++) { EffectsEnd[i].ApplyEffect(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, SourceItemSkill.GetCurrentOwner()); } SourceItemSkill.GetCurrentOwner().StartAnimation(ReleaseAnimation, 1, SourceItemSkill.GetParentItemEquipmentSlot()); // Stop Skill Activation: if (Cooldown > 0) { SourceItemSkill.SetCurrentCooldown(Cooldown); if (ChanellingSound) { SourceItemSkill.GetComponent <AudioSource>().Stop(); } } RemoveActivationMovementRateModifier(SourceItemSkill, SourceItemSkill.GetCurrentOwner()); SourceItemSkill.StoppedActivatingSkillWithHitObjects(this); SourceItemSkill.FinishedSkillActivation(); } }
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(); } }
public override void UpdateSkillActivation(ItemSkill SourceItemSkill, float CurrentActivationTime, bool StillActivating, bool ActivationIntervallReached) { if (CurrentActivationTime < ActivationTime) { return; } // Spawn and Initialize Projectile: SkillHitObject SpawnedHitObject = Instantiate(HitObjectPrefab, SourceItemSkill.transform.position, SourceItemSkill.GetCurrentOwner().transform.rotation); if (SpawnSound) { var audioSource = SpawnedHitObject.gameObject.GetComponent <AudioSource>(); if (!audioSource) { audioSource = SpawnedHitObject.gameObject.AddComponent <AudioSource>(); } audioSource.clip = SpawnSound; if (LoopSound) { audioSource.loop = LoopSound; SpawnedHitObject.FadeSound = true; SpawnedHitObject.StartCoroutine(FadeAudioIn(audioSource, .5f)); } else { audioSource.Play(); } } SpawnedHitObject.InitializeHitObject(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, this, UseSkillLevelAtActivationMoment); // Stop Skill Activation: if (Cooldown > 0) { SourceItemSkill.SetCurrentCooldown(Cooldown); } RemoveActivationMovementRateModifier(SourceItemSkill, SourceItemSkill.GetCurrentOwner()); SourceItemSkill.StoppedActivatingSkillWithHitObjects(this); SourceItemSkill.FinishedSkillActivation(); }
public override void UpdateSkillActivation(ItemSkill SourceItemSkill, float CurrentActivationTime, bool StillActivating, bool ActivationIntervallReached) { if (CurrentActivationTime < ActivationTime) { return; } if (!SourceItemSkill.GetEffectOnlyOnceBool(0)) { SourceItemSkill.SetEffectOnlyOnceBool(0, true); SourceItemSkill.StopAllCoroutines(); if (ChanellingLoop) { var audioSource = SourceItemSkill.GetComponent <AudioSource>(); audioSource.clip = ChanellingLoop; audioSource.loop = true; audioSource.Play(); } SkillHitObject SpawnedHitObjectStart; for (int i = 0; i < EffectsStart.Length; i++) { EffectsStart[i].ApplyEffect(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, SourceItemSkill.GetCurrentOwner()); } for (int i = 0; i < AtStartHitObjectPrefabs.Length; i++) { // Spawn and Initialize Projectile: SpawnedHitObjectStart = Instantiate(AtStartHitObjectPrefabs[i], SourceItemSkill.transform.position, SourceItemSkill.GetCurrentOwner().transform.rotation); SpawnedHitObjectStart.InitializeHitObject(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, this, UseSkillLevelAtActivationMoment); } SourceItemSkill.GetCurrentOwner().StartAnimation(IdleAnimation, 1, SourceItemSkill.GetParentItemEquipmentSlot()); } if (ActivationIntervallReached) { ApplyEffects(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, SourceItemSkill.GetCurrentOwner()); SkillHitObject SpawnedHitObjectIntervall; for (int i = 0; i < IntervallHitObjectPrefabs.Length; i++) { // Spawn and Initialize Projectile: SpawnedHitObjectIntervall = Instantiate(IntervallHitObjectPrefabs[i], SourceItemSkill.transform.position, SourceItemSkill.GetCurrentOwner().transform.rotation); SpawnedHitObjectIntervall.InitializeHitObject(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, this, UseSkillLevelAtActivationMoment); } } if (!StillActivating || (ActivationTimeMax > 0 && CurrentActivationTime >= ActivationTimeMax)) { for (int i = 0; i < EffectsEnd.Length; i++) { EffectsEnd[i].ApplyEffect(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, SourceItemSkill.GetCurrentOwner()); } var audioSource = SourceItemSkill.GetComponent <AudioSource>(); SourceItemSkill.StopAllCoroutines(); if (ChanellingRelease) { audioSource.clip = ChanellingRelease; audioSource.loop = false; audioSource.Play(); } else { SourceItemSkill.StartCoroutine(FadeSoundOutAndStop(audioSource, .3f)); } SkillHitObject SpawnedHitObjectEnd; for (int i = 0; i < AtEndHitObjectPrefabs.Length; i++) { // Spawn and Initialize Projectile: SpawnedHitObjectEnd = Instantiate(AtEndHitObjectPrefabs[i], SourceItemSkill.transform.position, SourceItemSkill.GetCurrentOwner().transform.rotation); SpawnedHitObjectEnd.InitializeHitObject(SourceItemSkill.GetCurrentOwner(), SourceItemSkill, this, UseSkillLevelAtActivationMoment); } SourceItemSkill.GetCurrentOwner().StartAnimation(ReleaseAnimation, 1, SourceItemSkill.GetParentItemEquipmentSlot()); // Stop Skill Activation: if (Cooldown > 0) { SourceItemSkill.SetCurrentCooldown(Cooldown); } RemoveActivationMovementRateModifier(SourceItemSkill, SourceItemSkill.GetCurrentOwner()); SourceItemSkill.StoppedActivatingSkillWithHitObjects(this); SourceItemSkill.FinishedSkillActivation(); } }