public static SpellDefinition FullIndexGetSpell(int fullidx)
        {
            if (fullidx < 1 || fullidx > 799)
                return EmptySpell;

            if (fullidx < 100)
                return SpellsMagery.GetSpell(fullidx);

            if (fullidx < 200)
                return SpellsNecromancy.GetSpell(fullidx % 100);

            if (fullidx < 300)
                return SpellsChivalry.GetSpell(fullidx % 100);

            if (fullidx < 500)
                return SpellsBushido.GetSpell(fullidx % 100);

            if (fullidx < 600)
                return SpellsNinjitsu.GetSpell(fullidx % 100);

            if (fullidx < 678)
                return SpellsSpellweaving.GetSpell(fullidx % 100);

            if (fullidx < 700)
                return SpellsMysticism.GetSpell((fullidx - 77) % 100);

            return SpellsBardic.GetSpell(fullidx % 100);
        }
        public static SpellDefinition FullIndexGetSpell(int fullidx)
        {
            if (fullidx < 1 || fullidx > 799)
            {
                return(EmptySpell);
            }

            if (fullidx < 100)
            {
                return(SpellsMagery.GetSpell(fullidx));
            }

            if (fullidx < 200)
            {
                return(SpellsNecromancy.GetSpell(fullidx % 100));
            }

            if (fullidx < 300)
            {
                return(SpellsChivalry.GetSpell(fullidx % 100));
            }

            if (fullidx < 500)
            {
                return(SpellsBushido.GetSpell(fullidx % 100));
            }

            if (fullidx < 600)
            {
                return(SpellsNinjitsu.GetSpell(fullidx % 100));
            }

            if (fullidx < 678)
            {
                return(SpellsSpellweaving.GetSpell(fullidx % 100));
            }

            if (fullidx < 700)
            {
                return(SpellsMysticism.GetSpell((fullidx - 77) % 100));
            }

            return(SpellsMastery.GetSpell(fullidx % 100));
        }