private void FixEvoTreeSM() { // Wormadam -- Copy Burmy 0 to Wormadam-1/2 Lineage[Personal.GetFormeIndex(413, 1)].Chain.Insert(0, Lineage[413].Chain[0]); Lineage[Personal.GetFormeIndex(413, 2)].Chain.Insert(0, Lineage[413].Chain[0]); // Shellos -- Move Shellos-1 evo from Gastrodon-0 to Gastrodon-1 Lineage[Personal.GetFormeIndex(422 + 1, 1)].Chain.Insert(0, Lineage[422 + 1].Chain[0]); Lineage[422 + 1].Chain.RemoveAt(0); // Meowstic -- Meowstic-1 (F) should point back to Espurr, copy Meowstic-0 (M) Lineage[Personal.GetFormeIndex(678, 1)].Chain.Insert(0, Lineage[678].Chain[0]); // Floette doesn't contain evo info for forms 1-4, copy. Florges points to form 0, no fix needed. var fbb = Lineage[669 + 1].Chain[0]; for (int i = 1; i <= 4; i++) // NOT AZ { Lineage[Personal.GetFormeIndex(669 + 1, i)].Chain.Insert(0, fbb); } // Clear forme chains from Florges Lineage[671].Chain.RemoveRange(0, Lineage[671].Chain.Count - 2); // Gourgeist -- Sizes are still relevant. Formes are in reverse order. for (int i = 1; i <= 3; i++) { Lineage[Personal.GetFormeIndex(711, i)].Chain.Clear(); Lineage[Personal.GetFormeIndex(711, i)].Chain.Add(Lineage[711].Chain[3 - i]); } Lineage[711].Chain.RemoveRange(0, 3); // Ban Raichu Evolution on SM Lineage[Personal.GetFormeIndex(26, 0)] .Chain[1].StageEntryMethods[0] .Banlist = EvolutionMethod.BanSM; // Ban Exeggutor Evolution on SM Lineage[Personal.GetFormeIndex(103, 0)] .Chain[0].StageEntryMethods[0] .Banlist = EvolutionMethod.BanSM; // Ban Marowak Evolution on SM Lineage[Personal.GetFormeIndex(105, 0)] .Chain[0].StageEntryMethods[0] .Banlist = EvolutionMethod.BanSM; }
private void FixEvoTreeSM() { // Wormadam -- Copy Burmy 0 to Wormadam-1/2 Lineage[Personal.GetFormeIndex(413, 1)].Chain.Insert(0, Lineage[413].Chain[0]); Lineage[Personal.GetFormeIndex(413, 2)].Chain.Insert(0, Lineage[413].Chain[0]); // Shellos -- Move Shellos-1 evo from Gastrodon-0 to Gastrodon-1 Lineage[Personal.GetFormeIndex(422 + 1, 1)].Chain.Insert(0, Lineage[422 + 1].Chain[0]); Lineage[422 + 1].Chain.RemoveAt(0); // Meowstic -- Meowstic-1 (F) should point back to Espurr, copy Meowstic-0 (M) Lineage[Personal.GetFormeIndex(678, 1)].Chain.Insert(0, Lineage[678].Chain[0]); // Floette doesn't contain evo info for forms 1-4, copy. Florges points to form 0, no fix needed. var fbb = Lineage[669 + 1].Chain[0]; for (int i = 1; i <= 4; i++) // NOT AZ { Lineage[Personal.GetFormeIndex(669 + 1, i)].Chain.Insert(0, fbb); } // Clear forme chains from Florges Lineage[671].Chain.RemoveRange(0, Lineage[671].Chain.Count - 2); // Gourgeist -- Sizes are still relevant. Formes are in reverse order. for (int i = 1; i <= 3; i++) { Lineage[Personal.GetFormeIndex(711, i)].Chain.Clear(); Lineage[Personal.GetFormeIndex(711, i)].Chain.Add(Lineage[711].Chain[3 - i]); } Lineage[711].Chain.RemoveRange(0, 3); // Add past gen evolutions for other Marowak and Exeggutor var raichu1 = Lineage[Personal.GetFormeIndex(26, 1)]; var evo1 = raichu1.Chain[0].StageEntryMethods[0].Copy(); Lineage[26].Chain.Add(new EvolutionStage { StageEntryMethods = new List <EvolutionMethod> { evo1 } }); var evo2 = raichu1.Chain[1].StageEntryMethods[0].Copy(); evo2.Form = -1; evo2.Banlist = new[] { GameVersion.SN, GameVersion.MN }; Lineage[26].Chain.Add(new EvolutionStage { StageEntryMethods = new List <EvolutionMethod> { evo2 } }); var exegg = Lineage[Personal.GetFormeIndex(103, 1)].Chain[0].StageEntryMethods[0].Copy(); exegg.Form = -1; exegg.Banlist = new[] { GameVersion.SN, GameVersion.MN }; exegg.Method = 8; // No night required (doesn't matter) Lineage[103].Chain.Add(new EvolutionStage { StageEntryMethods = new List <EvolutionMethod> { exegg } }); var marowak = Lineage[Personal.GetFormeIndex(105, 1)].Chain[0].StageEntryMethods[0].Copy(); marowak.Form = -1; marowak.Banlist = new[] { GameVersion.SN, GameVersion.MN }; Lineage[105].Chain.Add(new EvolutionStage { StageEntryMethods = new List <EvolutionMethod> { marowak } }); }
public List <int> AddMoves(List <int> moves, int species, int form, int max, int min = 0) { int index = Table.GetFormeIndex(species, form); return(AddMovesIndex(moves, index, max, min)); }