/// <summary>
        /// Indicates if a player has a jump "primed" for use (including double, triple, etc. jumps).
        /// </summary>
        /// <param name="player"></param>
        /// <returns></returns>
        public static bool IsJumpPrimed(Player player)
        {
            if (player.dead)
            {
                return(false);
            }
            if (player.CCed)
            {
                return(false);
            }

            return(player.jumpAgainCloud ||
                   player.jumpAgainSandstorm ||
                   player.jumpAgainBlizzard ||
                   player.jumpAgainFart ||
                   player.jumpAgainSail ||
                   player.jumpAgainUnicorn ||
                   PlayerMovementLibraries.IsOnFloor(player) ||
                   (player.mount.Active && player.mount.Type == MountID.Slime && player.wetSlime > 0) ||
                   (player.wet && player.accFlipper && (!player.mount.Active || !player.mount.Cart)));
        }
        /// <summary>
        /// Indicates if a player can jump.
        /// </summary>
        /// <param name="player"></param>
        /// <returns></returns>
        public static bool CanPlayerJump(Player player)
        {
            if (player.dead)
            {
                return(false);
            }
            if (player.CCed)
            {
                return(false);
            }

            if (!PlayerMovementLibraries.IsJumpPrimed(player))
            {
                return(false);
            }

            if (!player.releaseJump && !(player.autoJump && PlayerMovementLibraries.IsOnFloor(player)))
            {
                return(false);
            }

            return(true);
        }