private void CalculateLevel()
        {
            while (Experience > ExperienceRequiredForNextLevel && ExperienceRequiredForNextLevel != -1)
            {
                LevelUp();
            }

            CombatStats = new PokemonCombatStats(CurrentStats);
        }
        public void PrepareForCombat(RenderingPosition renderingPosition)
        {
            CombatStats = new PokemonCombatStats(CurrentStats);

            // All enemies always start at max health
            if (RenderingPosition == RenderingPosition.Enemy)
                CurrentHealth = CurrentStats[Stats.Health];

            RenderingPosition = renderingPosition;
            switch (RenderingPosition)
            {
                case RenderingPosition.Ally:
                    Position = AllyStartPosition;
                    break;
                case RenderingPosition.Enemy:
                    Position = EnemyStartPosition;
                    break;
            }
        }