/// <summary>
        /// タイトル画面入る前(ロゴが出てくるあたり?)で発生する消費.
        /// 消費後の現在seedを返します.
        /// </summary>
        /// <param name="seed"></param>
        /// <param name="finSeed"></param>
        /// <returns></returns>
        public static uint GameInitialization(this uint seed)
        {
            seed.Advance1000();
            seed.Advance(2); // tsv生成されてるけど色回避判定は無いらしい?

            // なんかエフィブラっぽいよね
            dummySlot.Generate(ref seed);
            dummySlot.Generate(ref seed);
            seed.Advance(2); // 用途不明

            return(seed);
        }
        public RNGResult <GCIndividual> Generate(uint seed)
        {
            var head = seed;
            var res  = slot.Generate(ref seed, TID ^ SID);

            return(new RNGResult <GCIndividual>(res, head, seed));
        }
        public CoStarterResult Generate(uint seed)
        {
            var head = seed;

            seed.Advance1000();
            uint TID = seed.GetRand();
            uint SID = seed.GetRand();
            var  u   = UMBREON.Generate(ref seed, TID ^ SID);
            var  e   = ESPEON.Generate(ref seed, TID ^ SID);

            return(new CoStarterResult(head, TID, SID, e, u));
        }
        public RNGResult <GCIndividual> Generate(uint seed)
        {
            var  head     = seed;
            uint DummyTSV = seed.GetRand() ^ seed.GetRand();

            foreach (var pokemon in preGeneratePokemons)
            {
                pokemon.Generate(ref seed, DummyTSV);
            }

            var res = slot.Generate(ref seed, DummyTSV);

            return(new RNGResult <GCIndividual>(res, head, seed));
        }