IEnumerator PlayerPoison()
    {
        CommandText.GetComponent <TextMeshProUGUI>().text = "Poisoning enemy";

        yield return(new WaitForSeconds(2f));

        EnemyIsPoisoned    = true;
        EnemyPoisonCounter = 3;

        EnemyPoisonText.GetComponent <TextMeshProUGUI>().text = "Enemy is poisoned";

        if (EnemyUnit.CurrentHP <= 0)
        {
            states    = BattleStates.WON;
            EnemyDead = true;
            EndBattle();
        }
        else
        {
            states = BattleStates.ENEMYTURN;
            StartCoroutine(EnemyTurn());
        }
    }
    IEnumerator EnemyTurn()
    {
        if (EnemyIsPoisoned)
        {
            EnemyUnit.CurrentHP--;
            EnemyHUD.SetHUD(EnemyUnit);

            if (EnemyPoisonCounter > 0)
            {
                EnemyPoisonCounter--;
                if (EnemyPoisonCounter == 0)
                {
                    EnemyIsPoisoned = false;
                    EnemyPoisonText.GetComponent <TextMeshProUGUI>().text = "";
                }
            }
        }

        if (EnemyUnit.CurrentHP <= 0)
        {
            states = BattleStates.WON;
        }

        if (EnemyIsDefending)
        {
            EnemyIsDefending = false;
        }

        CommandText.GetComponent <TextMeshProUGUI>().text = "Enemy's turn";

        if (EnemyCrippleCounter == 0)
        {
            EnemyIsCrippled = false;
            EnemyCrippleText.GetComponent <TextMeshProUGUI>().text = "";
        }

        RandomEnemyAttack = Random.Range(1, 3);

        if (RandomEnemyAttack == 1)
        {
            EnemyDmg();
        }
        if (RandomEnemyAttack == 2)
        {
            EnemyDefend();
        }

        /* if(RandomEnemyAttack == 3)
         * {
         *   EnemyHeal();
         * } */

        yield return(new WaitForSeconds(2f));

        PlayerHUD.SetHUD(PlayerUnit);

        if (PlayerUnit.CurrentHP <= 0)
        {
            states     = BattleStates.LOST;
            PlayerDead = true;
            EndBattle();
        }
        else
        {
            states = BattleStates.PLAYERTURN;
            PlayerTurn();
        }
    }