// The main function used to resolve a round of combat
    public void TakeRound()
    {
        CUI.DisplayLine("");

        // Apply defense modifiers first
        if (player_action == PlayerAction.Defend)
        {
            Player.ModifyDefense(4);
        }

        if (dragon_action == DragonAction.Defend)
        {
            Player.ModifyDefense(4);
        }

        // If Player Speed > Enemy Speed and Dragon Speed, Player goes first
        if (Player.GetSpeed() >= Enemy.GetSpeed() && Player.GetSpeed() >= Dragon.GetSpeed())
        {
            PlayerTurn();

            // If Enemy not dead
            if (!Enemy.IsDead())
            {
                //if a dragon exists and is not dead, it gets a turn
                if (Dragon != null && !Dragon.IsDead())
                {
                    //if it's faster than the enemy
                    if (Dragon.GetSpeed() >= Enemy.GetSpeed())
                    {
                        DragonTurn();
                        // If Enemy still not dead and not caputured
                        if (!Enemy.IsDead() || !captured)
                        {
                            EnemyTurn();
                        }
                    }
                    //else if enemy is faster than dragon
                    else
                    {
                        // If Enemy still not dead and not caputured
                        if (!Enemy.IsDead() || !captured)
                        {
                            EnemyTurn();
                        }
                        //if dragon is not dead, dragon's turn
                        if (!Dragon.IsDead())
                        {
                            DragonTurn();
                        }
                    }
                }
                //else if no usable dragonn
                else
                {
                    // If Enemy still not dead and not caputured
                    if (!Enemy.IsDead() || !captured)
                    {
                        EnemyTurn();
                    }
                }
            }
        }
        //Else if dragon is fastest
        else if (Dragon != null && !Dragon.IsDead() && Dragon.GetSpeed() >= Enemy.GetSpeed())
        {
            DragonTurn();

            // If Enemy not dead and player not dead
            if (!Enemy.IsDead() && !Player.IsDead())
            {
                //if player's faster than the enemy
                if (Player.GetSpeed() >= Enemy.GetSpeed())
                {
                    PlayerTurn();
                    // If Enemy still not dead and not caputured
                    if (!Enemy.IsDead() || !captured)
                    {
                        EnemyTurn();
                    }
                }
                //else if enemy is faster than player
                else
                {
                    // If Enemy still not dead and not caputured
                    if (!Enemy.IsDead() || !captured)
                    {
                        EnemyTurn();
                    }
                    //if player is not dead, player's turn
                    if (!Player.IsDead())
                    {
                        PlayerTurn();
                    }
                }
            }
        }
        //Else if enemy is fastest
        else
        {
            EnemyTurn();
            //If Player not dead
            if (!Player.IsDead())
            {
                //if a dragon exists and is not dead, it gets a turn
                if (Dragon != null && !Dragon.IsDead())
                {
                    //if dragon's faster than the player
                    if (Dragon.GetSpeed() >= Player.GetSpeed())
                    {
                        DragonTurn();
                        //if enemy and player not dead, player's turn
                        if (!Enemy.IsDead() && !Player.IsDead())
                        {
                            PlayerTurn();
                        }
                    }
                    //else if player is faster than dragon
                    else
                    {
                        PlayerTurn();
                        //if dragon is not dead and enemy is not caputured or dead, dragon's turn
                        if (!Dragon.IsDead() && !Enemy.IsDead() && !captured)
                        {
                            DragonTurn();
                        }
                    }
                }
                //else if no usable dragonn
                else
                {
                    PlayerTurn();
                }
            }
        }

        // Reset variables at the end of the round
        player_action = PlayerAction.None;
        dragon_action = DragonAction.None;
        item          = string.Empty;
        SuccessUse    = false;

        // Reset any modifiers that occurred this round
        Player.ResetStats();
        Dragon.ResetStats();
        Enemy.ResetStats();

        // Reset queue status
        CUI.ResetQueue();

        CUI.UpdateSliders(Player.GetCurrentHealth(), Dragon.GetCurrentHealth(), Dragon.GetCurrentMana(), Enemy.GetCurrentHealth());

        // If Player dead
        if (Player.IsDead() || Player.AllDragonsDead())
        {
            // Game over
            CUI.DisplayLine("Game over");
            CUI.Wait();
        }

        // If Dragon dead
        if (Dragon.IsDead())
        {
            GameObject.Find("Dragon").GetComponent <SpriteRenderer>().enabled = false;
            //if the player has dragons left with > 0 HP, send one out
            if (!Player.AllDragonsDead())
            {
                CUI.SendOutDragon();
            }
        }

        // If Enemy dead
        if (Enemy.IsDead())
        {
            // Award experience and gold
            //float gold = Enemy.GetGold();
            float gold = Random.Range(1, 25);
            float exp  = 100;

            InventoryCanvasController.instance.InsertReward();

            Player.AddGold(gold);
            Player.GainExperience(100);
            Dragon.GainExperience(100);

            CUI.DisplayLine("");
            CUI.DisplayLine("Enemy defeated!");
            CUI.DisplayLine("Gained " + gold.ToString() + " gold!");
            CUI.DisplayLine("Gained " + exp.ToString() + " XP!");
            CUI.DisplayLine("Press any key to continue...");

            CUI.Wait();
        }

        RoundCounter++;
    }