static Encounters6() { MarkEncounterTradeStrings(TradeGift_XY, TradeXY); MarkEncounterTradeStrings(TradeGift_AO, TradeAO); Encounter_XY.SetVersion(GameVersion.XY); Encounter_AO.SetVersion(GameVersion.ORAS); TradeGift_XY.SetVersion(GameVersion.XY); TradeGift_AO.SetVersion(GameVersion.ORAS); }
static Encounters6() { StaticX = GetStaticEncounters(Encounter_XY, GameVersion.X); StaticY = GetStaticEncounters(Encounter_XY, GameVersion.Y); StaticA = GetStaticEncounters(Encounter_AO, GameVersion.AS); StaticO = GetStaticEncounters(Encounter_AO, GameVersion.OR); var XSlots = GetEncounterTables(GameVersion.X); var YSlots = GetEncounterTables(GameVersion.Y); MarkG6XYSlots(ref XSlots); MarkG6XYSlots(ref YSlots); MarkEncounterAreaArray(SlotsXYAlt); SlotsX = AddExtraTableSlots(XSlots, SlotsXYAlt); SlotsY = AddExtraTableSlots(YSlots, SlotsXYAlt); SlotsA = GetEncounterTables(GameVersion.AS); SlotsO = GetEncounterTables(GameVersion.OR); MarkG6AOSlots(ref SlotsA); MarkG6AOSlots(ref SlotsO); MarkEncountersGeneration(6, SlotsX, SlotsY, SlotsA, SlotsO); MarkEncountersGeneration(6, StaticX, StaticY, StaticA, StaticO, TradeGift_XY, TradeGift_AO); FriendSafari = GetFriendSafariArea(); MarkEncounterTradeStrings(TradeGift_XY, TradeXY); MarkEncounterTradeStrings(TradeGift_AO, TradeAO); SlotsXYAlt.SetVersion(GameVersion.XY); FriendSafari.SelectMany(z => z).SetVersion(GameVersion.XY); SlotsX.SetVersion(GameVersion.X); SlotsY.SetVersion(GameVersion.Y); SlotsA.SetVersion(GameVersion.AS); SlotsO.SetVersion(GameVersion.OR); Encounter_XY.SetVersion(GameVersion.XY); Encounter_AO.SetVersion(GameVersion.ORAS); TradeGift_XY.SetVersion(GameVersion.XY); TradeGift_AO.SetVersion(GameVersion.ORAS); }
internal static EncounterTrade getValidIngameTrade(PK6 pk6) { if (!pk6.WasIngameTrade) { return(null); } int lang = pk6.Language; if (lang == 0) { return(null); } // Get valid pre-evolutions IEnumerable <DexLevel> p = getValidPreEvolutions(pk6); EncounterTrade z = null; if (pk6.XY) { z = lang == 6 ? null : TradeGift_XY.FirstOrDefault(f => p.Any(r => r.Species == f.Species)); } if (pk6.AO) { z = lang == 6 ? null : TradeGift_AO.FirstOrDefault(f => p.Any(r => r.Species == f.Species)); } if (z == null) { return(null); } for (int i = 0; i < 6; i++) { if (z.IVs[i] != -1 && z.IVs[i] != pk6.IVs[i]) { return(null); } } if (z.Shiny ^ pk6.IsShiny) // Are PIDs static? { return(null); } if (z.TID != pk6.TID) { return(null); } if (z.SID != pk6.SID) { return(null); } if (z.Location != pk6.Met_Location) { return(null); } if (z.Level != pk6.Met_Level) { return(null); } if (z.Nature != Nature.Random && (int)z.Nature != pk6.Nature) { return(null); } if (z.Gender != pk6.Gender) { return(null); } // if (z.Ability == 4 ^ pk6.AbilityNumber == 4) // defer to Ability // return null; return(z); }