private static Wand ChangeWand(Wand w)
        {
            Wand n;

            do
            {
                n = (Wand)Generator.Random(Generator.Category.WAND);
            } while (n.GetType() == w.GetType());

            n.Level = 0;
            n.Upgrade(w.Level);

            n.levelKnown  = w.levelKnown;
            n.cursedKnown = w.cursedKnown;
            n.cursed      = w.cursed;

            return(n);
        }