private IEnumerator CryoblastMain()
        {
            active = false;

            GameObject projectile =
                Instantiate(Resources.Load("Projectiles/Potion/Potion"), origin, Quaternion.identity) as GameObject;

            Debug.Log("FREEZE!!");
            yield return(null);

            if (targetBC != attackerBC)
            {
                Debug.Log(targetBC == attackerBC);
                while ((projectile.transform.position - destination).magnitude >= 0.005f)
                {
                    projectile.transform.position =
                        Vector3.MoveTowards(projectile.transform.position, destination, 10 * Time.deltaTime);
                    yield return(null);
                }
            }

            targetBC.DeltaHP(-20);
            Destroy(projectile);

            FrozenEffect frozenEffect = new FrozenEffect(targetBC);

            targetBC.TryAddEffect(frozenEffect, targetBC.characterDataComponent.effects);

            // StartCoroutine(stimulatorEffect.ApplyEffect(targetBC.characterDataComponent.effects));

            Debug.Log(description);

            EndEvent(out battleManager.busy);
        }
        private IEnumerator VulnerabilityScanMain()
        {
            active = false;

            ScannedEffect scannedEffect = new ScannedEffect(targetBC);

            targetBC.TryAddEffect(scannedEffect, targetBC.characterDataComponent.effects);

            Debug.Log(description);

            EndEvent(out battleManager.busy);
            yield return(null);
        }
        public override void ConfirmTarget()
        {
            try
            {
                currentCharControl.DeltaAP(2);
                currentCharControl.SetCD(typeof(AdrenalineTargetingController), 3);
                AdrenalineEffect adrenalineEffect = new AdrenalineEffect(currentCharControl);

                currentCharControl.TryAddEffect(adrenalineEffect, currentCharControl.characterDataComponent.effects);
                // StartCoroutine(adrenalineEffect.ApplyEffect(_currentCharacterDataComponent.effects));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            // Deselect();
            currentCharControl.SwapTargeting(0);
        }
        private IEnumerator OverloadMain()
        {
            active = false;

            ShockEffect shockEffect = new ShockEffect(target);

            target.TryAddEffect(shockEffect, target.characterDataComponent.effects);

            // StartCoroutine(shockEffect.ApplyEffect(target.characterDataComponent.effects));

            // if (target == battleManager.currentBattleController)
            // {
            //     GameObject effectIcon = (Instantiate(Resources.Load("EffectIcons/EffectIcon")) as GameObject);
            //     effectIcon.transform.SetParent(battleManager.EffectPanel.transform, false);
            //     shockEffect.uiEffectController = effectIcon.GetComponent<UIEffectController>();
            //     shockEffect.uiEffectController.UpdatCounter(shockEffect.duration.ToString());
            //     shockEffect.uiEffectController.UpdateIcon(shockEffect.iconResourceURL);
            // }

            Debug.Log(description);

            EndEvent(out battleManager.busy);
            yield return(null);
        }