static Legal() // Setup { // Gen 6 { StaticX = getStaticEncounters(GameVersion.X); StaticY = getStaticEncounters(GameVersion.Y); StaticA = getStaticEncounters(GameVersion.AS); StaticO = getStaticEncounters(GameVersion.OR); var XSlots = getEncounterTables(GameVersion.X); var YSlots = getEncounterTables(GameVersion.Y); MarkG6XYSlots(ref XSlots); MarkG6XYSlots(ref YSlots); SlotsX = addXYAltTiles(XSlots, SlotsXYAlt); SlotsY = addXYAltTiles(YSlots, SlotsXYAlt); SlotsA = getEncounterTables(GameVersion.AS); SlotsO = getEncounterTables(GameVersion.OR); MarkG6AOSlots(ref SlotsA); MarkG6AOSlots(ref SlotsO); Evolves6 = new EvolutionTree(Data.unpackMini(Properties.Resources.evos_ao, "ao"), GameVersion.ORAS, PersonalTable.AO, 721); } // Gen 7 { StaticSN = getStaticEncounters(GameVersion.SN); StaticMN = getStaticEncounters(GameVersion.MN); SlotsSN = getEncounterTables(GameVersion.SN); SlotsMN = getEncounterTables(GameVersion.MN); Evolves7 = new EvolutionTree(Data.unpackMini(Properties.Resources.evos_sm, "sm"), GameVersion.SM, PersonalTable.SM, 802); } }
private static EncounterArea[] getEncounterTables(GameVersion Game) { string ident = null; byte[] tables = null; switch (Game) { case GameVersion.X: ident = "xy"; tables = Properties.Resources.encounter_x; break; case GameVersion.Y: ident = "xy"; tables = Properties.Resources.encounter_y; break; case GameVersion.AS: ident = "ao"; tables = Properties.Resources.encounter_a; break; case GameVersion.OR: ident = "ao"; tables = Properties.Resources.encounter_o; break; case GameVersion.SN: ident = "sm"; tables = Properties.Resources.encounter_sn; break; case GameVersion.MN: ident = "sm"; tables = Properties.Resources.encounter_mn; break; } if (ident == null) { return(null); } return(EncounterArea.getArray(Data.unpackMini(tables, ident))); }
static Legal() // Setup { // Gen 6 { StaticX = getStaticEncounters(GameVersion.X); StaticY = getStaticEncounters(GameVersion.Y); StaticA = getStaticEncounters(GameVersion.AS); StaticO = getStaticEncounters(GameVersion.OR); var XSlots = getEncounterTables(GameVersion.X); var YSlots = getEncounterTables(GameVersion.Y); MarkG6XYSlots(ref XSlots); MarkG6XYSlots(ref YSlots); SlotsX = addExtraTableSlots(XSlots, SlotsXYAlt); SlotsY = addExtraTableSlots(YSlots, SlotsXYAlt); SlotsA = getEncounterTables(GameVersion.AS); SlotsO = getEncounterTables(GameVersion.OR); MarkG6AOSlots(ref SlotsA); MarkG6AOSlots(ref SlotsO); Evolves6 = new EvolutionTree(Data.unpackMini(Properties.Resources.evos_ao, "ao"), GameVersion.ORAS, PersonalTable.AO, 721); } // Gen 7 { StaticSN = getStaticEncounters(GameVersion.SN); StaticMN = getStaticEncounters(GameVersion.MN); var REG_SN = getEncounterTables(GameVersion.SN); var REG_MN = getEncounterTables(GameVersion.MN); var SOS_SN = getEncounterTables(Properties.Resources.encounter_sn_sos, "sm"); var SOS_MN = getEncounterTables(Properties.Resources.encounter_mn_sos, "sm"); MarkG7SMSlots(ref SOS_SN); MarkG7SMSlots(ref 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); } }
private static EncounterArea[] getEncounterTables(byte[] mini, string ident) { return(EncounterArea.getArray(Data.unpackMini(mini, ident))); }
static Legal() // Setup { StaticX = getSpecial(GameVersion.X); StaticY = getSpecial(GameVersion.Y); StaticA = getSpecial(GameVersion.AS); StaticO = getSpecial(GameVersion.OR); var XSlots = EncounterArea.getArray(Data.unpackMini(Properties.Resources.encounter_x, "xy")); var YSlots = EncounterArea.getArray(Data.unpackMini(Properties.Resources.encounter_y, "xy")); // Mark Horde Encounters foreach (var area in XSlots) { int slotct = area.Slots.Length; for (int i = slotct - 15; i < slotct; i++) { area.Slots[i].Type = SlotType.Horde; } } foreach (var area in YSlots) { int slotct = area.Slots.Length; for (int i = slotct - 15; i < slotct; i++) { area.Slots[i].Type = SlotType.Horde; } } SlotsX = addXYAltTiles(XSlots, SlotsXYAlt); SlotsY = addXYAltTiles(YSlots, SlotsXYAlt); SlotsA = EncounterArea.getArray(Data.unpackMini(Properties.Resources.encounter_a, "ao")); SlotsO = EncounterArea.getArray(Data.unpackMini(Properties.Resources.encounter_o, "ao")); // Mark Rock Smash Encounters foreach (var area in SlotsA) { for (int i = 32; i < 37; i++) { area.Slots[i].Type = SlotType.Rock_Smash; } int slotct = area.Slots.Length; for (int i = slotct - 15; i < slotct; i++) { area.Slots[i].Type = SlotType.Horde; } } foreach (var area in SlotsO) { for (int i = 32; i < 37; i++) { area.Slots[i].Type = SlotType.Rock_Smash; } int slotct = area.Slots.Length; for (int i = slotct - 15; i < slotct; i++) { area.Slots[i].Type = SlotType.Horde; } } DexNavA = getDexNavSlots(SlotsA); DexNavO = getDexNavSlots(SlotsO); }