internal void addForm(PokemonDP pokemon) { Forms.Add(pokemon); }
internal static void PopulatePokemonTables() { // Instanciate tables pokemonGSTable = new PokemonGS[PokemonGS.RELEASED_POKEMON + 1]; pokemonCrystalTable = new PokemonCrystal[PokemonCrystal.RELEASED_POKEMON + 1]; pokemonRSTable = new PokemonRS[PokemonRS.RELEASED_POKEMON + 1]; pokemonEmeraldTable = new PokemonEmerald[PokemonEmerald.RELEASED_POKEMON + 1]; pokemonFRLGTable = new PokemonFRLG[PokemonFRLG.RELEASED_POKEMON + 1]; pokemonDPTable = new PokemonDP[PokemonDP.RELEASED_POKEMON + 1]; pokemonPtTable = new PokemonPt[PokemonPt.RELEASED_POKEMON + 1]; pokemonHGSSTable = new PokemonHGSS[PokemonHGSS.RELEASED_POKEMON + 1]; pokemonBWTable = new PokemonBW[PokemonBW.RELEASED_POKEMON + 1]; pokemonB2W2Table = new PokemonB2W2[PokemonB2W2.RELEASED_POKEMON + 1]; pokemonXYTable = new PokemonXY[PokemonXY.RELEASED_POKEMON + 1]; pokemonORASTable = new PokemonORAS[PokemonORAS.RELEASED_POKEMON + 1]; pokemonSuMoTable = new PokemonSuMo[PokemonSuMo.RELEASED_POKEMON + 1]; pokemonUSUMTable = new PokemonUSUM[PokemonUSUM.RELEASED_POKEMON + 1]; // Populate tables // Gen 2-3 tables now use gen 4 Pokémon data. // TODO: Change data to match gen when they'll be added. for (short i = 0; i <= PokemonGS.RELEASED_POKEMON; i++) { pokemonGSTable[i] = new PokemonGS(i, Properties.Resources.PokemonInfo4.Skip(PokemonGS.SIZE * i).Take(PokemonGS.SIZE).ToArray()); setNames(pokemonGSTable[i]); } for (short i = 0; i <= PokemonCrystal.RELEASED_POKEMON; i++) { pokemonCrystalTable[i] = new PokemonCrystal(i, Properties.Resources.PokemonInfo4.Skip(PokemonCrystal.SIZE * i).Take(PokemonCrystal.SIZE).ToArray()); setNames(pokemonCrystalTable[i]); } for (short i = 0; i <= PokemonRS.RELEASED_POKEMON; i++) { pokemonRSTable[i] = new PokemonRS(i, Properties.Resources.PokemonInfo4.Skip(PokemonRS.SIZE * i).Take(PokemonRS.SIZE).ToArray()); setNames(pokemonRSTable[i]); } for (short i = 0; i <= PokemonEmerald.RELEASED_POKEMON; i++) { pokemonEmeraldTable[i] = new PokemonEmerald(i, Properties.Resources.PokemonInfo4.Skip(PokemonEmerald.SIZE * i).Take(PokemonEmerald.SIZE).ToArray()); setNames(pokemonEmeraldTable[i]); } for (short i = 0; i <= PokemonFRLG.RELEASED_POKEMON; i++) { pokemonFRLGTable[i] = new PokemonFRLG(i, Properties.Resources.PokemonInfo4.Skip(PokemonFRLG.SIZE * i).Take(PokemonFRLG.SIZE).ToArray()); setNames(pokemonFRLGTable[i]); } for (short i = 0; i <= PokemonDP.RELEASED_POKEMON; i++) { pokemonDPTable[i] = new PokemonDP(i, Properties.Resources.PokemonInfo4.Skip(PokemonDP.SIZE * i).Take(PokemonDP.SIZE).ToArray()); setNames(pokemonDPTable[i]); } for (short i = 0; i <= PokemonPt.RELEASED_POKEMON; i++) { pokemonPtTable[i] = new PokemonPt(i, Properties.Resources.PokemonInfo4.Skip(PokemonPt.SIZE * i).Take(PokemonPt.SIZE).ToArray()); setNames(pokemonPtTable[i]); } for (short i = 0; i <= PokemonHGSS.RELEASED_POKEMON; i++) { pokemonHGSSTable[i] = new PokemonHGSS(i, Properties.Resources.PokemonInfo4.Skip(PokemonHGSS.SIZE * i).Take(PokemonHGSS.SIZE).ToArray()); setNames(pokemonHGSSTable[i]); } for (short i = 0; i <= PokemonBW.RELEASED_POKEMON; i++) { pokemonBWTable[i] = new PokemonBW(i, Properties.Resources.PokemonInfo5.Skip(PokemonBW.SIZE * i).Take(PokemonBW.SIZE).ToArray()); setNames(pokemonBWTable[i]); } for (short i = 0; i <= PokemonB2W2.RELEASED_POKEMON; i++) { pokemonB2W2Table[i] = new PokemonB2W2(i, Properties.Resources.PokemonInfo5.Skip(PokemonB2W2.SIZE * i).Take(PokemonB2W2.SIZE).ToArray()); setNames(pokemonB2W2Table[i]); } for (short i = 0; i <= PokemonXY.RELEASED_POKEMON; i++) { pokemonXYTable[i] = new PokemonXY(i, Properties.Resources.PokemonInfo6.Skip(PokemonXY.SIZE * i).Take(PokemonXY.SIZE).ToArray()); if (new[] { 382, 383 }.Contains(i)) { pokemonXYTable[i].CatchRate = 5; } if (i == 384) { pokemonXYTable[i].CatchRate = 3; } setNames(pokemonXYTable[i]); } for (short i = 0; i <= PokemonORAS.RELEASED_POKEMON; i++) { pokemonORASTable[i] = new PokemonORAS(i, Properties.Resources.PokemonInfo6.Skip(PokemonORAS.SIZE * i).Take(PokemonORAS.SIZE).ToArray()); setNames(pokemonORASTable[i]); } for (short i = 0; i <= PokemonSuMo.RELEASED_POKEMON; i++) { pokemonSuMoTable[i] = new PokemonSuMo(i, Properties.Resources.PokemonInfo7.Skip(PokemonSuMo.SIZE * i).Take(PokemonSuMo.SIZE).ToArray()); setNames(pokemonSuMoTable[i]); } for (short i = 0; i <= PokemonUSUM.RELEASED_POKEMON; i++) { pokemonUSUMTable[i] = new PokemonUSUM(i, Properties.Resources.PokemonInfoU.Skip(PokemonUSUM.SIZE * i).Take(PokemonUSUM.SIZE).ToArray()); setNames(pokemonUSUMTable[i]); } // Add forms // Gen 2-3 tables now use gen 4 Pokémon data. // TODO: Change data to match gen when they'll be added. for (short f = 0; f < PokemonGS.RELEASED_FORMS; f++) { PokemonGS p = new PokemonGS(FormTable[f], Properties.Resources.PokemonInfo4.Skip(PokemonGS.SIZE * (PokemonGS.RELEASED_POKEMON + f + 1)) .Take(PokemonGS.SIZE).ToArray()); pokemonGSTable[FormTable[f]].addForm(p); p.Form = (byte)pokemonGSTable[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonCrystal.RELEASED_FORMS; f++) { PokemonCrystal p = new PokemonCrystal(FormTable[f], Properties.Resources.PokemonInfo4.Skip(PokemonCrystal.SIZE * (PokemonCrystal.RELEASED_POKEMON + f + 1)) .Take(PokemonCrystal.SIZE).ToArray()); pokemonCrystalTable[FormTable[f]].addForm(p); p.Form = (byte)pokemonCrystalTable[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonRS.RELEASED_FORMS; f++) { PokemonRS p = new PokemonRS(FormTable[f], Properties.Resources.PokemonInfo4.Skip(PokemonRS.SIZE * (PokemonRS.RELEASED_POKEMON + f + 1)) .Take(PokemonRS.SIZE).ToArray()); pokemonRSTable[FormTable[f]].addForm(p); p.Form = (byte)pokemonRSTable[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonEmerald.RELEASED_FORMS; f++) { PokemonEmerald p = new PokemonEmerald(FormTable[f], Properties.Resources.PokemonInfo4.Skip(PokemonEmerald.SIZE * (PokemonEmerald.RELEASED_POKEMON + f + 1)) .Take(PokemonEmerald.SIZE).ToArray()); pokemonEmeraldTable[FormTable[f]].addForm(p); p.Form = (byte)pokemonEmeraldTable[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonFRLG.RELEASED_FORMS; f++) { PokemonFRLG p = new PokemonFRLG(FormTable[f], Properties.Resources.PokemonInfo4.Skip(PokemonFRLG.SIZE * (PokemonFRLG.RELEASED_POKEMON + f + 1)) .Take(PokemonFRLG.SIZE).ToArray()); pokemonFRLGTable[FormTable[f]].addForm(p); p.Form = (byte)pokemonFRLGTable[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonDP.RELEASED_FORMS; f++) { PokemonDP p = new PokemonDP(FormTable[f], Properties.Resources.PokemonInfo4.Skip(PokemonDP.SIZE * (PokemonDP.RELEASED_POKEMON + f + 1)) .Take(PokemonDP.SIZE).ToArray()); pokemonDPTable[FormTable[f]].addForm(p); p.Form = (byte)pokemonDPTable[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonPt.RELEASED_FORMS; f++) { PokemonPt p = new PokemonPt(FormTable[f], Properties.Resources.PokemonInfo4.Skip(PokemonPt.SIZE * (PokemonPt.RELEASED_POKEMON + f + 1)) .Take(PokemonPt.SIZE).ToArray()); pokemonPtTable[FormTable[f]].addForm(p); p.Form = (byte)pokemonPtTable[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonHGSS.RELEASED_FORMS; f++) { PokemonHGSS p = new PokemonHGSS(FormTable[f], Properties.Resources.PokemonInfo4.Skip(PokemonHGSS.SIZE * (PokemonHGSS.RELEASED_POKEMON + f + 1)) .Take(PokemonHGSS.SIZE).ToArray()); pokemonHGSSTable[FormTable[f]].addForm(p); p.Form = (byte)pokemonHGSSTable[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonBW.RELEASED_FORMS; f++) { PokemonBW p = new PokemonBW(FormTable[f], Properties.Resources.PokemonInfo5.Skip(PokemonBW.SIZE * (PokemonBW.RELEASED_POKEMON + f + 1)) .Take(PokemonBW.SIZE).ToArray()); pokemonBWTable[FormTable[f]].addForm(p); p.Form = (byte)pokemonBWTable[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonB2W2.RELEASED_FORMS; f++) { PokemonB2W2 p = new PokemonB2W2(FormTable[f], Properties.Resources.PokemonInfo5.Skip(PokemonB2W2.SIZE * (PokemonB2W2.RELEASED_POKEMON + f + 1)) .Take(PokemonB2W2.SIZE).ToArray()); pokemonB2W2Table[FormTable[f]].addForm(p); p.Form = (byte)pokemonB2W2Table[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonXY.RELEASED_FORMS; f++) { PokemonXY p = new PokemonXY(FormTable[f], Properties.Resources.PokemonInfo6.Skip(PokemonXY.SIZE * (PokemonXY.RELEASED_POKEMON + f + 1)) .Take(PokemonXY.SIZE).ToArray()); pokemonXYTable[FormTable[f]].addForm(p); p.Form = (byte)pokemonXYTable[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonORAS.RELEASED_FORMS; f++) { PokemonORAS p = new PokemonORAS(FormTable[f], Properties.Resources.PokemonInfo6.Skip(PokemonORAS.SIZE * (PokemonORAS.RELEASED_POKEMON + f + 1)) .Take(PokemonORAS.SIZE).ToArray()); pokemonORASTable[FormTable[f]].addForm(p); p.Form = (byte)pokemonORASTable[FormTable[f]].Forms.Count; setFormNames(p, (short)(PokemonORAS.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonSuMo.RELEASED_FORMS; f++) { PokemonSuMo p = new PokemonSuMo(FormTableSuMo[f], Properties.Resources.PokemonInfo7.Skip(PokemonSuMo.SIZE * (PokemonSuMo.RELEASED_POKEMON + f + 1)) .Take(PokemonSuMo.SIZE).ToArray()); pokemonSuMoTable[FormTableSuMo[f]].addForm(p); p.Form = (byte)pokemonSuMoTable[FormTableSuMo[f]].Forms.Count; setFormNames(p, (short)(PokemonSuMo.RELEASED_POKEMON + f)); } for (short f = 0; f < PokemonUSUM.RELEASED_FORMS; f++) { PokemonUSUM p = new PokemonUSUM(FormTableUSUM[f], Properties.Resources.PokemonInfoU.Skip(PokemonUSUM.SIZE * (PokemonUSUM.RELEASED_POKEMON + f + 1)) .Take(PokemonUSUM.SIZE).ToArray()); pokemonUSUMTable[FormTableUSUM[f]].addForm(p); p.Form = (byte)pokemonUSUMTable[FormTableUSUM[f]].Forms.Count; setFormNames(p, (short)(PokemonUSUM.RELEASED_POKEMON + f)); } // Other Sun/moon forms for (short f = 0; f < OtherFormTableSuMo.Length; f++) { PokemonSuMo p = new PokemonSuMo(OtherFormTableSuMo[f], Properties.Resources.PokemonInfo7.Skip(PokemonSuMo.SIZE * (OtherFormTableSuMo[f])) .Take(PokemonSuMo.SIZE).ToArray()); pokemonSuMoTable[OtherFormTableSuMo[f]].addForm(p); p.Form = (byte)pokemonSuMoTable[OtherFormTableSuMo[f]].Forms.Count; setFormNames(p, (short)(PokemonSuMo.RELEASED_POKEMON + PokemonSuMo.RELEASED_FORMS + f)); // USUM PokemonUSUM u = new PokemonUSUM(OtherFormTableSuMo[f], Properties.Resources.PokemonInfoU.Skip(PokemonUSUM.SIZE * (OtherFormTableSuMo[f])) .Take(PokemonUSUM.SIZE).ToArray()); pokemonUSUMTable[OtherFormTableSuMo[f]].addForm(u); u.Form = (byte)pokemonUSUMTable[OtherFormTableSuMo[f]].Forms.Count; setFormNames(u, (short)(PokemonUSUM.RELEASED_POKEMON + PokemonUSUM.RELEASED_FORMS + f)); } }