/// <summary>
        /// Tells whether Mario and his Partner can switch places with each other.
        /// </summary>
        /// <returns>true if Mario or his Partner hasn't used up all of his or her turns and isn't dead, otherwise false.</returns>
        private bool CanSwitch()
        {
            BattleEntity otherPlayer = BattleManager.Instance.EntityTurn == BattleManager.Instance.GetFrontPlayer()
                    ? BattleManager.Instance.GetBackPlayer() : BattleManager.Instance.GetFrontPlayer();

            if (otherPlayer == null)
            {
                return(false);
            }

            return(otherPlayer.UsedTurn == false && otherPlayer.IsDead == false && otherPlayer.IsImmobile() == false);
        }
        /// <summary>
        /// Tells whether Mario and his Partner can switch places with each other.
        /// </summary>
        /// <returns>true if Mario or his Partner hasn't used up all of his or her turns and isn't dead, otherwise false.</returns>
        private bool CanSwitch()
        {
            BattleEntity otherPlayer = (User == User.BManager.FrontPlayer)
                    ? User.BManager.BackPlayer : User.BManager.FrontPlayer;

            if (otherPlayer == null)
            {
                return(false);
            }

            return(otherPlayer.UsedTurn == false && otherPlayer.IsDead == false && otherPlayer.IsImmobile() == false);
        }
        protected override void SequenceMainBranch()
        {
            switch (SequenceStep)
            {
            case 0:
                //Add evasion
                User.AddEvasionMod(0d);
                AllyAffected.AddEvasionMod(0d);

                //Turn them both transparent
                User.TintColor         = User.TintColor.CeilingMult(AlphaVal);
                AllyAffected.TintColor = AllyAffected.TintColor.CeilingMult(AlphaVal);

                //Suppress these Statuses in these ways
                //In PM, Outta Sight technically doesn't suppress anything, since Status Effects take place on the character's turn instead
                //of at the start of each phase cycle
                //Follow Veil in this regard, since that was designed with TTYD's battle system
                EntityUsing.EntityProperties.SuppressStatuses(Enumerations.StatusSuppressionTypes.Effects, Enumerations.StatusTypes.Poison, Enumerations.StatusTypes.Burn, Enumerations.StatusTypes.Frozen);
                AllyAffected.EntityProperties.SuppressStatuses(Enumerations.StatusSuppressionTypes.Effects, Enumerations.StatusTypes.Poison, Enumerations.StatusTypes.Burn, Enumerations.StatusTypes.Frozen);
                EntityUsing.EntityProperties.SuppressStatuses(Enumerations.StatusSuppressionTypes.TurnCount, Enumerations.StatusTypes.Invisible);
                AllyAffected.EntityProperties.SuppressStatuses(Enumerations.StatusSuppressionTypes.TurnCount, Enumerations.StatusTypes.Invisible);

                //The ally assumes the Guard position if it's not immobile
                if (AllyAffected.IsImmobile() == false)
                {
                    AllyAffected.AnimManager.PlayAnimation(AnimationGlobals.PlayerBattleAnimations.GuardName);
                }

                //This half of the sequence ends here
                ChangeSequenceBranch(SequenceBranch.End);
                break;

            default:
                PrintInvalidSequence();
                break;
            }
        }