public static int KnowsThisMany(Mobile m)
        {
            if (!BlueMageControl.IsBlueMage(m))
            {
                return(0);
            }

            int count = 0;

            bool[] known = BlueMageControl.GetBoolList(m);

            for (int i = 0; i < known.Length; i++)
            {
                if (known[i])
                {
                    ++count;
                }
            }

            return(count);
        }
        public static bool KnowsAll(Mobile m, int type)
        {
            if (!BlueMageControl.IsBlueMage(m))
            {
                return(false);
            }

            bool spells = true, moves = true;

            bool[] known = BlueMageControl.GetBoolList(m);

            for (int i = 0; i < known.Length; i++)
            {
                if (known[i])
                {
                    continue;
                }
                else if (IsBlueMove(i))
                {
                    moves = false;
                }
                else
                {
                    spells = false;
                }
            }

            if (type == 1)
            {
                return(spells);
            }
            else if (type == 2)
            {
                return(moves);
            }
            else
            {
                return(spells && moves);
            }
        }