public void ActivateTransform(BattlePokemon pokemonToTransformInto)
        {
            Transform.Activate(pokemonToTransformInto);

            StatStageModifiers = new StatStageModifiers(
                pokemonToTransformInto.StatStageModifiers.Attack,
                pokemonToTransformInto.StatStageModifiers.Defense,
                pokemonToTransformInto.StatStageModifiers.Special,
                pokemonToTransformInto.StatStageModifiers.Speed,
                pokemonToTransformInto.StatStageModifiers.Accuracy,
                pokemonToTransformInto.StatStageModifiers.Evasion);

            OnTransformActivated(pokemonToTransformInto);
        }
        public BattlePokemon(Pokemon pokemon)
        {
            Pokemon = pokemon;
            AttachPokemonEventHandlers();

            StatStageModifiers = new StatStageModifiers();
            mimic         = new Mimic();
            Conversion    = new Conversion();
            Substitute    = new Substitute();
            Transform     = new Transform();
            Bide          = new Bide();
            MultiTurnMove = null;
            TwoTurnMove   = null;
            Disable       = new Disable();
            MistActive    = false;
            LightScreen   = false;
            N             = 1f;
            InitializeEventArgs();
        }