From ce40ae73d260536b37d3adaf0714bcf8a0f78f53 Mon Sep 17 00:00:00 2001 From: Kurt Date: Thu, 29 Dec 2016 15:57:32 -0800 Subject: [PATCH] Add Pelago slot info Randomized levels => store as encounter area Range 10-55, this is unverified but based on limited data gathered. It's possible that some species have narrower ranges. Closes #590 --- PKHeX/Legality/Core.cs | 4 +-- PKHeX/Legality/Tables7.cs | 63 +++++++++++++++++++++++---------------- 2 files changed, 39 insertions(+), 28 deletions(-) diff --git a/PKHeX/Legality/Core.cs b/PKHeX/Legality/Core.cs index 96e124265..834beef14 100644 --- a/PKHeX/Legality/Core.cs +++ b/PKHeX/Legality/Core.cs @@ -158,8 +158,8 @@ private static void MarkG7SMSlots(ref EncounterArea[] Areas) var SOS_MN = getEncounterTables(Properties.Resources.encounter_mn_sos, "sm"); MarkG7SMSlots(ref SOS_SN); MarkG7SMSlots(ref SOS_MN); - SlotsSN = addExtraTableSlots(REG_SN, SOS_SN); - SlotsMN = addExtraTableSlots(REG_MN, SOS_MN); + SlotsSN = addExtraTableSlots(REG_SN, SOS_SN).Concat(Encounter_SM_Pelago).ToArray(); + SlotsMN = addExtraTableSlots(REG_MN, SOS_MN).Concat(Encounter_SM_Pelago).ToArray(); Evolves7 = new EvolutionTree(Data.unpackMini(Properties.Resources.evos_sm, "sm"), GameVersion.SM, PersonalTable.SM, 802); } diff --git a/PKHeX/Legality/Tables7.cs b/PKHeX/Legality/Tables7.cs index 8e2c11d7a..945b8e11e 100644 --- a/PKHeX/Legality/Tables7.cs +++ b/PKHeX/Legality/Tables7.cs @@ -249,33 +249,44 @@ public static partial class Legal new EncounterStatic { Species = 718, Form = 1, Level = 50, Relearn = new[]{000, 000, 000, 000}, Shiny = false, Ability = 1, Location = 118, IV3 = true, }, // Zygarde new EncounterStatic { Species = 718, Form = 2, Level = 50, Relearn = new[]{000, 000, 000, 000}, Shiny = false, Ability = 1, Location = 118, IV3 = true, }, // Zygarde new EncounterStatic { Species = 718, Form = 3, Level = 50, Relearn = new[]{000, 000, 000, 000}, Shiny = false, Ability = 1, Location = 118, IV3 = true, }, // Zygarde + }; - new EncounterStatic { Species = 021, Location = 30016, Level = -1, }, // Spearow - new EncounterStatic { Species = 041, Location = 30016, Level = -1, }, // Zubat - new EncounterStatic { Species = 060, Location = 30016, Level = -1, }, // Poliwag - new EncounterStatic { Species = 064, Location = 30016, Level = -1, }, // Kadabra - new EncounterStatic { Species = 081, Location = 30016, Level = -1, }, // Magnemite - new EncounterStatic { Species = 090, Location = 30016, Level = -1, }, // Shellder - new EncounterStatic { Species = 092, Location = 30016, Level = -1, }, // Gastly - new EncounterStatic { Species = 120, Location = 30016, Level = -1, }, // Staryu - new EncounterStatic { Species = 123, Location = 30016, Level = -1, }, // Scyther - new EncounterStatic { Species = 127, Location = 30016, Level = -1, }, // Pinsir - new EncounterStatic { Species = 131, Location = 30016, Level = -1, }, // Lapras - new EncounterStatic { Species = 198, Location = 30016, Level = -1, }, // Murkrow - new EncounterStatic { Species = 227, Location = 30016, Level = -1, }, // Skarmory - new EncounterStatic { Species = 278, Location = 30016, Level = -1, }, // Wingull - new EncounterStatic { Species = 375, Location = 30016, Level = -1, }, // Metang - new EncounterStatic { Species = 426, Location = 30016, Level = -1, }, // Drifblim - new EncounterStatic { Species = 429, Location = 30016, Level = -1, }, // Mismagius - new EncounterStatic { Species = 587, Location = 30016, Level = -1, }, // Emolga - new EncounterStatic { Species = 627, Location = 30016, Level = -1, }, // Rufflet - new EncounterStatic { Species = 629, Location = 30016, Level = -1, }, // Vullaby - new EncounterStatic { Species = 661, Location = 30016, Level = -1, }, // Fletchling - new EncounterStatic { Species = 703, Location = 30016, Level = -1, }, // Carbink - new EncounterStatic { Species = 707, Location = 30016, Level = -1, }, // Klefki - new EncounterStatic { Species = 709, Location = 30016, Level = -1, }, // Trevenant - new EncounterStatic { Species = 731, Location = 30016, Level = -1, }, // Pikipek - new EncounterStatic { Species = 771, Location = 30016, Level = -1, }, // Pyukumuku + private static readonly EncounterArea[] Encounter_SM_Pelago = + { + new EncounterArea + { + Location = 30016, // Poké Pelago + Slots = new[] + { + // Note: These level ranges are arbitrary -- no 'official'/verified documentation available. + new EncounterSlot {Species = 021, LevelMin = 10, LevelMax = 55}, // Spearow + new EncounterSlot {Species = 041, LevelMin = 10, LevelMax = 55}, // Zubat + new EncounterSlot {Species = 060, LevelMin = 10, LevelMax = 55}, // Poliwag + new EncounterSlot {Species = 064, LevelMin = 10, LevelMax = 55}, // Kadabra + new EncounterSlot {Species = 081, LevelMin = 10, LevelMax = 55}, // Magnemite + new EncounterSlot {Species = 090, LevelMin = 10, LevelMax = 55}, // Shellder + new EncounterSlot {Species = 092, LevelMin = 10, LevelMax = 55}, // Gastly + new EncounterSlot {Species = 120, LevelMin = 10, LevelMax = 55}, // Staryu + new EncounterSlot {Species = 123, LevelMin = 10, LevelMax = 55}, // Scyther + new EncounterSlot {Species = 127, LevelMin = 10, LevelMax = 55}, // Pinsir + new EncounterSlot {Species = 131, LevelMin = 10, LevelMax = 55}, // Lapras + new EncounterSlot {Species = 198, LevelMin = 10, LevelMax = 55}, // Murkrow + new EncounterSlot {Species = 227, LevelMin = 10, LevelMax = 55}, // Skarmory + new EncounterSlot {Species = 278, LevelMin = 10, LevelMax = 55}, // Wingull + new EncounterSlot {Species = 375, LevelMin = 10, LevelMax = 55}, // Metang + new EncounterSlot {Species = 426, LevelMin = 10, LevelMax = 55}, // Drifblim + new EncounterSlot {Species = 429, LevelMin = 10, LevelMax = 55}, // Mismagius + new EncounterSlot {Species = 587, LevelMin = 10, LevelMax = 55}, // Emolga + new EncounterSlot {Species = 627, LevelMin = 10, LevelMax = 55}, // Rufflet + new EncounterSlot {Species = 629, LevelMin = 10, LevelMax = 55}, // Vullaby + new EncounterSlot {Species = 661, LevelMin = 10, LevelMax = 55}, // Fletchling + new EncounterSlot {Species = 703, LevelMin = 10, LevelMax = 55}, // Carbink + new EncounterSlot {Species = 707, LevelMin = 10, LevelMax = 55}, // Klefki + new EncounterSlot {Species = 709, LevelMin = 10, LevelMax = 55}, // Trevenant + new EncounterSlot {Species = 731, LevelMin = 10, LevelMax = 55}, // Pikipek + new EncounterSlot {Species = 771, LevelMin = 10, LevelMax = 55}, // Pyukumuku + }, + } }; private static readonly EncounterTrade[] TradeGift_SM = // @ a\1\5\5 {