Ejemplo n.º 1
0
        private static void PopulateGen4Tutors()
        {
            var tutors = Data.UnpackMini(Util.GetBinaryResource("tutors_g4.pkl"), "g4");

            for (int i = 0; i <= Legal.MaxSpeciesID_4; i++)
            {
                HGSS[i].AddTypeTutors(tutors[i]);
            }
        }
Ejemplo n.º 2
0
        private static void PopulateGen3Tutors()
        {
            // Update Gen3 data with Emerald's data, FR/LG is a subset of Emerald's compatibility.
            var TMHM   = Data.UnpackMini(Util.GetBinaryResource("hmtm_g3.pkl"), "g3");
            var tutors = Data.UnpackMini(Util.GetBinaryResource("tutors_g3.pkl"), "g3");

            for (int i = 0; i <= Legal.MaxSpeciesID_3; i++)
            {
                E[i].AddTMHM(TMHM[i]);
                E[i].AddTypeTutors(tutors[i]);
            }
        }
Ejemplo n.º 3
0
        static EvolutionTree()
        {
            // Evolution tables need Personal Tables initialized beforehand, hence why the EvolutionTree data is initialized here.
            byte[] get(string resource) => Util.GetBinaryResource($"evos_{resource}.pkl");

            byte[][] unpack(string resource) => Data.UnpackMini(get(resource), resource);

            Evolves1 = new EvolutionTree(new[] { get("rby") }, GameVersion.RBY, PersonalTable.Y, Legal.MaxSpeciesID_1);
            Evolves2 = new EvolutionTree(new[] { get("gsc") }, GameVersion.GSC, PersonalTable.C, Legal.MaxSpeciesID_2);
            Evolves3 = new EvolutionTree(new[] { get("g3") }, GameVersion.RS, PersonalTable.RS, Legal.MaxSpeciesID_3);
            Evolves4 = new EvolutionTree(new[] { get("g4") }, GameVersion.DP, PersonalTable.DP, Legal.MaxSpeciesID_4);
            Evolves5 = new EvolutionTree(new[] { get("g5") }, GameVersion.BW, PersonalTable.BW, Legal.MaxSpeciesID_5);
            Evolves6 = new EvolutionTree(unpack("ao"), GameVersion.ORAS, PersonalTable.AO, Legal.MaxSpeciesID_6);
            Evolves7 = new EvolutionTree(unpack("sm"), GameVersion.SM, PersonalTable.SM, Legal.MaxSpeciesID_7);
        }
Ejemplo n.º 4
0
        static EvolutionTree()
        {
            // Evolution tables need Personal Tables initialized beforehand, hence why the EvolutionTree data is initialized here.
            byte[] get(string resource) => Util.GetBinaryResource($"evos_{resource}.pkl");

            byte[][] unpack(string resource) => Data.UnpackMini(get(resource), resource);

            Evolves1 = new EvolutionTree(new[] { get("rby") }, GameVersion.Gen1, PersonalTable.Y, Legal.MaxSpeciesID_1);
            Evolves2 = new EvolutionTree(new[] { get("gsc") }, GameVersion.Gen2, PersonalTable.C, Legal.MaxSpeciesID_2);
            Evolves3 = new EvolutionTree(new[] { get("g3") }, GameVersion.Gen3, PersonalTable.RS, Legal.MaxSpeciesID_3);
            Evolves4 = new EvolutionTree(new[] { get("g4") }, GameVersion.Gen4, PersonalTable.DP, Legal.MaxSpeciesID_4);
            Evolves5 = new EvolutionTree(new[] { get("g5") }, GameVersion.Gen5, PersonalTable.BW, Legal.MaxSpeciesID_5);
            Evolves6 = new EvolutionTree(unpack("ao"), GameVersion.Gen6, PersonalTable.AO, Legal.MaxSpeciesID_6);
            Evolves7 = new EvolutionTree(unpack("uu"), GameVersion.Gen7, PersonalTable.USUM, Legal.MaxSpeciesID_7_USUM);

            // There's always oddballs.
            Evolves7.FixEvoTreeSM();
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Direct fetch for <see cref="EncounterArea"/> data; can also be used to fetch supplementary encounter streams.
 /// </summary>
 /// <param name="ident">Unpacking identification ASCII characters (first two bytes of binary)</param>
 /// <param name="resource">Resource name (will be prefixed with "encounter_"</param>
 /// <returns>Array of encounter areas</returns>
 internal static EncounterArea[] GetEncounterTables(string ident, string resource)
 {
     byte[] mini = Util.GetBinaryResource($"encounter_{resource}.pkl");
     return(EncounterArea.GetArray(Data.UnpackMini(mini, ident)));
 }
Ejemplo n.º 6
0
 static byte[][] unpack(string resource) => Data.UnpackMini(get(resource), resource);
Ejemplo n.º 7
0
 /// <summary>
 /// Direct fetch for <see cref="EncounterArea"/> data; can also be used to fetch supplementary encounter streams.
 /// </summary>
 /// <param name="ident">Unpacking identification ASCII characters (first two bytes of binary)</param>
 /// <param name="resource">Resource name (will be prefixed with "encounter_"</param>
 /// <returns>Array of encounter areas</returns>
 internal static T[] GetEncounterTables8 <T>(string ident, string resource) where T : EncounterAreaSH, new()
 {
     byte[] mini = Util.GetBinaryResource($"encounter_{resource}.pkl");
     return(EncounterAreaSH.GetArray <T>(Data.UnpackMini(mini, ident)));
 }