mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-05-23 05:46:49 -05:00
Relocate encounter data loading to separate files
shifts encounter data from Legal's split tables to individual files for easier maintenance and initialization. Legal Core's init is so much simpler now. fix resource name typo
This commit is contained in:
parent
2faf6ae8e5
commit
68aa9aeec9
|
|
@ -273,13 +273,13 @@ private void VerifyNicknameTrade()
|
|||
int index = -1;
|
||||
if (pkm.XY)
|
||||
{
|
||||
validOT = Legal.TradeXY[pkm.Language];
|
||||
index = Array.IndexOf(Legal.TradeGift_XY, EncounterMatch);
|
||||
validOT = Encounters6.TradeXY[pkm.Language];
|
||||
index = Array.IndexOf(Encounters6.TradeGift_XY, EncounterMatch);
|
||||
}
|
||||
else if (pkm.AO)
|
||||
{
|
||||
validOT = Legal.TradeAO[pkm.Language];
|
||||
index = Array.IndexOf(Legal.TradeGift_AO, EncounterMatch);
|
||||
validOT = Encounters6.TradeAO[pkm.Language];
|
||||
index = Array.IndexOf(Encounters6.TradeGift_AO, EncounterMatch);
|
||||
}
|
||||
else if (pkm.SM)
|
||||
{
|
||||
|
|
@ -1017,7 +1017,7 @@ private static IEnumerable<RibbonResult> VerifyRibbonSet1(PKM pkm, object encoun
|
|||
if (pkm.Version == 15 && encounterContent is EncounterStaticShadow s)
|
||||
{
|
||||
// only require national ribbon if no longer on origin game
|
||||
bool xd = !Legal.Encounter_Colo.Contains(s);
|
||||
bool xd = !Encounters3.Encounter_Colo.Contains(s);
|
||||
eb[1] = !(xd && pkm is XK3 x && !x.RibbonNational || !xd && pkm is CK3 c && !c.RibbonNational);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,14 @@
|
|||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using static PKHeX.Core.Encounters1;
|
||||
using static PKHeX.Core.Encounters2;
|
||||
using static PKHeX.Core.Encounters3;
|
||||
using static PKHeX.Core.Encounters4;
|
||||
using static PKHeX.Core.Encounters5;
|
||||
using static PKHeX.Core.Encounters6;
|
||||
using static PKHeX.Core.Encounters7;
|
||||
using static PKHeX.Core.EncountersWC3;
|
||||
using static PKHeX.Core.LegalityCheckStrings;
|
||||
|
||||
namespace PKHeX.Core
|
||||
|
|
@ -50,8 +58,6 @@ public static partial class Legal
|
|||
private static readonly Learnset[] LevelUpRB = Learnset1.GetArray(Util.GetBinaryResource("lvlmove_rb.pkl"), MaxSpeciesID_1);
|
||||
private static readonly Learnset[] LevelUpY = Learnset1.GetArray(Util.GetBinaryResource("lvlmove_y.pkl"), MaxSpeciesID_1);
|
||||
private static readonly EvolutionTree Evolves1;
|
||||
private static readonly EncounterArea[] SlotsRBY;
|
||||
private static readonly EncounterStatic[] StaticRBY;
|
||||
|
||||
// Gen 2
|
||||
private static readonly EggMoves[] EggMovesGS = EggMoves2.GetArray(Util.GetBinaryResource("eggmove_gs.pkl"), MaxSpeciesID_2);
|
||||
|
|
@ -59,9 +65,6 @@ public static partial class Legal
|
|||
private static readonly EggMoves[] EggMovesC = EggMoves2.GetArray(Util.GetBinaryResource("eggmove_c.pkl"), MaxSpeciesID_2);
|
||||
private static readonly Learnset[] LevelUpC = Learnset1.GetArray(Util.GetBinaryResource("lvlmove_c.pkl"), MaxSpeciesID_2);
|
||||
private static readonly EvolutionTree Evolves2;
|
||||
private static readonly EncounterArea[] SlotsGSC, SlotsGS, SlotsC;
|
||||
private static readonly EncounterStatic[] StaticGSC, StaticGS, StaticC;
|
||||
private static readonly TreesArea[] HeadbuttTreesC = TreesArea.GetArray(Data.UnpackMini(Util.GetBinaryResource("trees_h_c.pkl"), "ch"));
|
||||
|
||||
// Gen 3
|
||||
private static readonly Learnset[] LevelUpE = Learnset6.GetArray(Data.UnpackMini(Util.GetBinaryResource("lvlmove_e.pkl"), "em"));
|
||||
|
|
@ -70,8 +73,6 @@ public static partial class Legal
|
|||
private static readonly Learnset[] LevelUpLG = Learnset6.GetArray(Data.UnpackMini(Util.GetBinaryResource("lvlmove_lg.pkl"), "lg"));
|
||||
private static readonly EggMoves[] EggMovesRS = EggMoves6.GetArray(Data.UnpackMini(Util.GetBinaryResource("eggmove_rs.pkl"), "rs"));
|
||||
private static readonly EvolutionTree Evolves3;
|
||||
private static readonly EncounterArea[] SlotsR, SlotsS, SlotsE, SlotsFR, SlotsLG;
|
||||
private static readonly EncounterStatic[] StaticR, StaticS, StaticE, StaticFR, StaticLG;
|
||||
|
||||
// Gen 4
|
||||
private static readonly Learnset[] LevelUpDP = Learnset6.GetArray(Data.UnpackMini(Util.GetBinaryResource("lvlmove_dp.pkl"), "dp"));
|
||||
|
|
@ -80,16 +81,12 @@ public static partial class Legal
|
|||
private static readonly EggMoves[] EggMovesDPPt = EggMoves6.GetArray(Data.UnpackMini(Util.GetBinaryResource("eggmove_dppt.pkl"), "dp"));
|
||||
private static readonly EggMoves[] EggMovesHGSS = EggMoves6.GetArray(Data.UnpackMini(Util.GetBinaryResource("eggmove_hgss.pkl"), "hs"));
|
||||
private static readonly EvolutionTree Evolves4;
|
||||
private static readonly EncounterArea[] SlotsD, SlotsP, SlotsPt, SlotsHG, SlotsSS;
|
||||
private static readonly EncounterStatic[] StaticD, StaticP, StaticPt, StaticHG, StaticSS;
|
||||
|
||||
// Gen 5
|
||||
private static readonly Learnset[] LevelUpBW = Learnset6.GetArray(Data.UnpackMini(Util.GetBinaryResource("lvlmove_bw.pkl"), "51"));
|
||||
private static readonly Learnset[] LevelUpB2W2 = Learnset6.GetArray(Data.UnpackMini(Util.GetBinaryResource("lvlmove_b2w2.pkl"), "52"));
|
||||
private static readonly EggMoves[] EggMovesBW = EggMoves6.GetArray(Data.UnpackMini(Util.GetBinaryResource("eggmove_bw.pkl"), "bw"));
|
||||
private static readonly EvolutionTree Evolves5;
|
||||
private static readonly EncounterArea[] SlotsB, SlotsW, SlotsB2, SlotsW2;
|
||||
private static readonly EncounterStatic[] StaticB, StaticW, StaticB2, StaticW2;
|
||||
|
||||
// Gen 6
|
||||
private static readonly EggMoves[] EggMovesXY = EggMoves6.GetArray(Data.UnpackMini(Util.GetBinaryResource("eggmove_xy.pkl"), "xy"));
|
||||
|
|
@ -97,15 +94,11 @@ public static partial class Legal
|
|||
private static readonly EggMoves[] EggMovesAO = EggMoves6.GetArray(Data.UnpackMini(Util.GetBinaryResource("eggmove_ao.pkl"), "ao"));
|
||||
private static readonly Learnset[] LevelUpAO = Learnset6.GetArray(Data.UnpackMini(Util.GetBinaryResource("lvlmove_ao.pkl"), "ao"));
|
||||
private static readonly EvolutionTree Evolves6;
|
||||
private static readonly EncounterArea[] SlotsX, SlotsY, SlotsA, SlotsO;
|
||||
private static readonly EncounterStatic[] StaticX, StaticY, StaticA, StaticO;
|
||||
|
||||
// Gen 7
|
||||
private static readonly EggMoves[] EggMovesSM = EggMoves7.GetArray(Data.UnpackMini(Util.GetBinaryResource("eggmove_sm.pkl"), "sm"));
|
||||
private static readonly Learnset[] LevelUpSM = Learnset7.GetArray(Data.UnpackMini(Util.GetBinaryResource("lvlmove_sm.pkl"), "sm"));
|
||||
private static readonly EvolutionTree Evolves7;
|
||||
private static readonly EncounterArea[] SlotsSN, SlotsMN;
|
||||
private static readonly EncounterStatic[] StaticSN, StaticMN;
|
||||
|
||||
// Setup Help
|
||||
private static HashSet<MysteryGift> GetPCDDB(byte[] bin)
|
||||
|
|
@ -195,869 +188,44 @@ public static void RefreshMGDB(string localDbPath)
|
|||
MGDB_G7 = g7.ToArray();
|
||||
}
|
||||
|
||||
private static EncounterStatic[] GetStaticEncounters(GameVersion Game)
|
||||
{
|
||||
EncounterStatic[] table;
|
||||
switch (Game)
|
||||
{
|
||||
case GameVersion.RBY:
|
||||
return Encounter_RBY; // GameVersion filtering not possible, return immediately
|
||||
case GameVersion.GS:
|
||||
return Encounter_GS;
|
||||
case GameVersion.C:
|
||||
return Encounter_C;
|
||||
case GameVersion.GSC:
|
||||
return Encounter_GSC;
|
||||
|
||||
case GameVersion.R: case GameVersion.S: case GameVersion.E:
|
||||
table = Encounter_RSE;
|
||||
break;
|
||||
case GameVersion.FR: case GameVersion.LG:
|
||||
table = Encounter_FRLG;
|
||||
break;
|
||||
case GameVersion.CXD:
|
||||
table = Encounter_CXD;
|
||||
break;
|
||||
|
||||
case GameVersion.D: case GameVersion.P: case GameVersion.Pt:
|
||||
table = Encounter_DPPt;
|
||||
break;
|
||||
case GameVersion.HG: case GameVersion.SS:
|
||||
table = Encounter_HGSS.Concat(Encounter_PokeWalker).ToArray();
|
||||
break;
|
||||
|
||||
case GameVersion.B: case GameVersion.W:
|
||||
table = Encounter_BW.Concat(BW_DreamWorld).ToArray();
|
||||
break;
|
||||
case GameVersion.B2: case GameVersion.W2:
|
||||
table = Encounter_B2W2.Concat(B2W2_DreamWorld).ToArray();
|
||||
break;
|
||||
|
||||
case GameVersion.X: case GameVersion.Y:
|
||||
table = Encounter_XY;
|
||||
break;
|
||||
case GameVersion.AS: case GameVersion.OR:
|
||||
table = Encounter_AO;
|
||||
break;
|
||||
case GameVersion.SN: case GameVersion.MN:
|
||||
table = Encounter_SM;
|
||||
break;
|
||||
|
||||
default: return null;
|
||||
}
|
||||
return table?.Where(s => s.Version.Contains(Game)).ToArray();
|
||||
}
|
||||
private static EncounterArea[] GetEncounterTables(GameVersion Game)
|
||||
{
|
||||
string ident = null;
|
||||
byte[] tables = null;
|
||||
switch (Game)
|
||||
{
|
||||
case GameVersion.R: return EncounterArea.GetArray3(Data.UnpackMini(Util.GetBinaryResource("encounter_r.pkl"), "ru"));
|
||||
case GameVersion.S: return EncounterArea.GetArray3(Data.UnpackMini(Util.GetBinaryResource("encounter_s.pkl"), "sa"));
|
||||
case GameVersion.E: return EncounterArea.GetArray3(Data.UnpackMini(Util.GetBinaryResource("encounter_e.pkl"), "em"));
|
||||
case GameVersion.FR: return EncounterArea.GetArray3(Data.UnpackMini(Util.GetBinaryResource("encounter_fr.pkl"), "fr"));
|
||||
case GameVersion.LG: return EncounterArea.GetArray3(Data.UnpackMini(Util.GetBinaryResource("encounter_lg.pkl"), "lg"));
|
||||
case GameVersion.D: return EncounterArea.GetArray4DPPt(Data.UnpackMini(Util.GetBinaryResource("encounter_d.pkl"), "da"));
|
||||
case GameVersion.P: return EncounterArea.GetArray4DPPt(Data.UnpackMini(Util.GetBinaryResource("encounter_p.pkl"), "pe"));
|
||||
case GameVersion.Pt: return EncounterArea.GetArray4DPPt(Data.UnpackMini(Util.GetBinaryResource("encounter_pt.pkl"), "pt"));
|
||||
case GameVersion.HG: return EncounterArea.GetArray4HGSS(Data.UnpackMini(Util.GetBinaryResource("encounter_hg.pkl"), "hg"));
|
||||
case GameVersion.SS: return EncounterArea.GetArray4HGSS(Data.UnpackMini(Util.GetBinaryResource("encounter_ss.pkl"), "ss"));
|
||||
case GameVersion.B: ident = "51"; tables = Util.GetBinaryResource("encounter_b.pkl"); break;
|
||||
case GameVersion.W: ident = "51"; tables = Util.GetBinaryResource("encounter_w.pkl"); break;
|
||||
case GameVersion.B2: ident = "52"; tables = Util.GetBinaryResource("encounter_b2.pkl"); break;
|
||||
case GameVersion.W2: ident = "52"; tables = Util.GetBinaryResource("encounter_w2.pkl"); break;
|
||||
case GameVersion.X: ident = "xy"; tables = Util.GetBinaryResource("encounter_x.pkl"); break;
|
||||
case GameVersion.Y: ident = "xy"; tables = Util.GetBinaryResource("encounter_y.pkl"); break;
|
||||
case GameVersion.AS: ident = "ao"; tables = Util.GetBinaryResource("encounter_a.pkl"); break;
|
||||
case GameVersion.OR: ident = "ao"; tables = Util.GetBinaryResource("encounter_o.pkl"); break;
|
||||
case GameVersion.SN: ident = "sm"; tables = Util.GetBinaryResource("encounter_sn.pkl"); break;
|
||||
case GameVersion.MN: ident = "sm"; tables = Util.GetBinaryResource("encounter_mn.pkl"); break;
|
||||
}
|
||||
if (ident == null)
|
||||
return new EncounterArea[0];
|
||||
|
||||
return GetEncounterTables(tables, ident);
|
||||
}
|
||||
private static EncounterArea[] GetEncounterTables(byte[] mini, string ident)
|
||||
{
|
||||
return EncounterArea.GetArray(Data.UnpackMini(mini, ident));
|
||||
}
|
||||
private static EncounterArea[] AddExtraTableSlots(params EncounterArea[][] tables)
|
||||
{
|
||||
return tables.SelectMany(s => s).GroupBy(l => l.Location)
|
||||
.Select(t => t.Count() == 1
|
||||
? t.First() // only one table, just return the area
|
||||
: new EncounterArea {Location = t.First().Location, Slots = t.SelectMany(s => s.Slots).ToArray()})
|
||||
.ToArray();
|
||||
}
|
||||
private static void MarkEncountersStaticMagnetPull(ref EncounterArea[] Areas, PersonalTable t)
|
||||
{
|
||||
const int steel = 8;
|
||||
const int electric = 12;
|
||||
foreach (EncounterArea Area in Areas)
|
||||
{
|
||||
var s = new List<EncounterSlot>(); // Static
|
||||
var m = new List<EncounterSlot>(); // Magnet Pull
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
var types = t[Slot.Species].Types;
|
||||
if (types[0] == steel || types[1] == steel)
|
||||
m.Add(Slot);
|
||||
if (types[0] == electric || types[1] == electric)
|
||||
s.Add(Slot);
|
||||
}
|
||||
foreach (var slot in s)
|
||||
{
|
||||
slot.Permissions.Static = true;
|
||||
slot.Permissions.StaticCount = s.Count;
|
||||
}
|
||||
foreach (var slot in m)
|
||||
{
|
||||
slot.Permissions.MagnetPull = true;
|
||||
slot.Permissions.MagnetPullCount = s.Count;
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void MarkEncountersGeneration(ref EncounterStatic[] Encounters, int Generation)
|
||||
{
|
||||
foreach (EncounterStatic Encounter in Encounters)
|
||||
Encounter.Generation = Generation;
|
||||
}
|
||||
private static void MarkEncountersVersion(ref EncounterArea[] Areas, GameVersion Version)
|
||||
{
|
||||
foreach (EncounterArea Area in Areas)
|
||||
foreach (var Slot in Area.Slots.OfType<EncounterSlot1>())
|
||||
Slot.Version = Version;
|
||||
}
|
||||
private static void MarkEncountersGeneration(ref EncounterArea[] Areas, int Generation)
|
||||
{
|
||||
foreach (EncounterArea Area in Areas)
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
Slot.Generation = Generation;
|
||||
}
|
||||
private static void ReduceAreasSize(ref EncounterArea[] Areas)
|
||||
{
|
||||
// Group areas by location id, the raw data have areas with different slots but the same location id
|
||||
Areas = Areas.GroupBy(a => a.Location).Select(a => new EncounterArea
|
||||
{
|
||||
Location = a.First().Location,
|
||||
Slots = a.SelectMany(m => m.Slots).ToArray()
|
||||
}).ToArray();
|
||||
}
|
||||
private static void MarkSlotLocation(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach(EncounterArea Area in Areas)
|
||||
{
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
Slot.Location = Area.Location;
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void MarkG2Slots(ref EncounterArea[] Areas)
|
||||
{
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
private static void MarkG3Slots_FRLG(ref EncounterArea[] Areas)
|
||||
{
|
||||
// Remove slots for unown, those slots does not contains alt form info, it will be added manually in SlotsRFLGAlt
|
||||
// Group areas by location id, the raw data have areas with different slots but the same location id
|
||||
Areas = Areas.Where(a => a.Location < 188 || a.Location > 194).GroupBy(a => a.Location).Select(a => new EncounterArea
|
||||
{
|
||||
Location = a.First().Location,
|
||||
Slots = a.SelectMany(m => m.Slots).ToArray()
|
||||
}).ToArray();
|
||||
}
|
||||
private static void MarkG3Slots_RSE(ref EncounterArea[] Areas)
|
||||
{
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
private static void MarkG3SlotsSafariZones(ref EncounterArea[] Areas, int location)
|
||||
{
|
||||
foreach (EncounterArea Area in Areas.Where(a => a.Location == location))
|
||||
{
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
SlotType t;
|
||||
switch (Slot.Type)
|
||||
{
|
||||
case SlotType.Grass: t = SlotType.Grass_Safari; break;
|
||||
case SlotType.Surf: t = SlotType.Surf_Safari; break;
|
||||
case SlotType.Old_Rod: t = SlotType.Old_Rod_Safari; break;
|
||||
case SlotType.Good_Rod: t = SlotType.Good_Rod_Safari; break;
|
||||
case SlotType.Super_Rod: t = SlotType.Super_Rod_Safari; break;
|
||||
case SlotType.Rock_Smash: t = SlotType.Rock_Smash_Safari; break;
|
||||
default: continue;
|
||||
}
|
||||
Slot.Type = t;
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void MarkG4PokeWalker(ref EncounterStatic[] t)
|
||||
{
|
||||
foreach (EncounterStatic s in t)
|
||||
{
|
||||
s.Location = 233; //Pokéwalker
|
||||
s.Gift = true; //Pokeball only
|
||||
}
|
||||
}
|
||||
private static void MarkG4SlotsGreatMarsh(ref EncounterArea[] Areas, int location)
|
||||
{
|
||||
foreach (EncounterArea Area in Areas.Where(a => a.Location == location))
|
||||
{
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
SlotType t;
|
||||
switch (Slot.Type)
|
||||
{
|
||||
case SlotType.Grass: t = SlotType.Grass_Safari; break;
|
||||
case SlotType.Surf: t = SlotType.Surf_Safari; break;
|
||||
case SlotType.Old_Rod: t = SlotType.Old_Rod_Safari; break;
|
||||
case SlotType.Good_Rod: t = SlotType.Good_Rod_Safari; break;
|
||||
case SlotType.Super_Rod: t = SlotType.Super_Rod_Safari; break;
|
||||
case SlotType.Pokeradar: t = SlotType.Pokeradar_Safari; break;
|
||||
default: continue;
|
||||
}
|
||||
Slot.Type = t;
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void MarkG4SwarmSlots(ref EncounterArea[] Areas, EncounterArea[] SwarmAreas)
|
||||
{
|
||||
// Grass Swarm slots replace slots 0 and 1 from encounters data
|
||||
// for surfing only replace slots 0 from encounters data
|
||||
// for fishing replace one or several random slots from encounters data, but all slots have the same level, it's ok to only replace the first
|
||||
// Species id are not included in encounter tables but levels can be copied from the encounter raw data
|
||||
foreach (EncounterArea Area in Areas)
|
||||
{
|
||||
var SwarmSlots = SwarmAreas.Where(a => a.Location == Area.Location).SelectMany(s => s.Slots);
|
||||
var OutputSlots = new List<EncounterSlot>();
|
||||
foreach (EncounterSlot SwarmSlot in SwarmSlots)
|
||||
{
|
||||
int slotsnum = SwarmSlot.Type == SlotType.Grass ? 2 : 1;
|
||||
foreach (var swarmSlot in Area.Slots.Where(s => s.Type == SwarmSlot.Type).Take(slotsnum).Select(slot => slot.Clone()))
|
||||
{
|
||||
swarmSlot.Species = SwarmSlot.Species;
|
||||
OutputSlots.Add(swarmSlot);
|
||||
}
|
||||
}
|
||||
Area.Slots = Area.Slots.Concat(OutputSlots).Where(a => a.Species > 0).ToArray();
|
||||
}
|
||||
}
|
||||
// Gen 4 raw encounter data does not contains info for alt slots
|
||||
// Shellos and Gastrodom East Sea form should be modified
|
||||
private static void MarkG4AltFormSlots(ref EncounterArea[] Areas, int Species, int form, int[] Locations)
|
||||
{
|
||||
foreach(EncounterArea Area in Areas.Where(a => Locations.Contains(a.Location)))
|
||||
{
|
||||
foreach (EncounterSlot Slot in Area.Slots.Where(s=>s.Species == Species))
|
||||
{
|
||||
Slot.Form = form;
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void MarkG4Slots(ref EncounterArea[] Areas)
|
||||
{
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
private static EncounterType GetEncounterTypeBySlotDPPt(SlotType Type, EncounterType GrassType)
|
||||
{
|
||||
switch (Type)
|
||||
{
|
||||
case SlotType.Pokeradar:
|
||||
case SlotType.Pokeradar_Safari:
|
||||
case SlotType.Swarm:
|
||||
case SlotType.Grass: return GrassType;
|
||||
case SlotType.Surf:
|
||||
case SlotType.Old_Rod:
|
||||
case SlotType.Good_Rod:
|
||||
case SlotType.Super_Rod:
|
||||
case SlotType.Surf_Safari:
|
||||
case SlotType.Old_Rod_Safari:
|
||||
case SlotType.Good_Rod_Safari:
|
||||
case SlotType.Super_Rod_Safari: return EncounterType.Surfing_Fishing;
|
||||
case SlotType.Grass_Safari: return EncounterType.MarshSafari;
|
||||
case SlotType.HoneyTree: return EncounterType.None;
|
||||
}
|
||||
return EncounterType.None;
|
||||
}
|
||||
private static EncounterType GetEncounterTypeBySlotHGSS(SlotType Type, EncounterType GrassType, EncounterType HeadbuttType)
|
||||
{
|
||||
switch (Type)
|
||||
{
|
||||
// HGSS Safari encounters have normal water/grass encounter type, not safari encounter type
|
||||
case SlotType.Grass:
|
||||
case SlotType.Grass_Safari:
|
||||
case SlotType.BugContest: return GrassType;
|
||||
case SlotType.Surf:
|
||||
case SlotType.Old_Rod:
|
||||
case SlotType.Good_Rod:
|
||||
case SlotType.Super_Rod:
|
||||
case SlotType.Surf_Safari:
|
||||
case SlotType.Old_Rod_Safari:
|
||||
case SlotType.Good_Rod_Safari:
|
||||
case SlotType.Super_Rod_Safari: return EncounterType.Surfing_Fishing;
|
||||
case SlotType.Rock_Smash:
|
||||
case SlotType.Rock_Smash_Safari: return EncounterType.RockSmash;
|
||||
case SlotType.Headbutt: return HeadbuttType;
|
||||
case SlotType.Headbutt_Special: return EncounterType.None;
|
||||
}
|
||||
return EncounterType.None;
|
||||
}
|
||||
private static void MarkDPPtEncounterTypeSlots_MultipleTypes(ref EncounterArea[] Areas, int Location, int SpecialEncounterFile, EncounterType NormalEncounterType)
|
||||
{
|
||||
// Area with two different encounter type for grass encounters
|
||||
// SpecialEncounterFile is tall grass encounter type, the other files have the normal encounter type for this location
|
||||
var numfile = 0;
|
||||
foreach (EncounterArea Area in Areas.Where(x => x.Location == Location))
|
||||
{
|
||||
numfile++;
|
||||
var GrassType = numfile == SpecialEncounterFile ? EncounterType.TallGrass : NormalEncounterType;
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
Slot.TypeEncounter = GetEncounterTypeBySlotDPPt(Slot.Type, GrassType);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void MarkDPPtEncounterTypeSlots_MultipleTypes(ref EncounterArea[] Areas, int Location, int[] SpecialEncounterFiles, EncounterType NormalEncounterType)
|
||||
{
|
||||
var numfile = 0;
|
||||
foreach (EncounterArea Area in Areas.Where(x => x.Location == Location))
|
||||
{
|
||||
numfile++;
|
||||
var GrassType = SpecialEncounterFiles.Contains(numfile) ? EncounterType.TallGrass : NormalEncounterType;
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
Slot.TypeEncounter = GetEncounterTypeBySlotDPPt(Slot.Type, GrassType);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void MarkHGSSEncounterTypeSlots_MultipleTypes(ref EncounterArea[] Areas, int Location, int SpecialEncounterFile, EncounterType NormalEncounterType)
|
||||
{
|
||||
// Area with two different encounter type for grass encounters
|
||||
// SpecialEncounterFile is taall grass encounter type, the other files have the normal encounter type for this location
|
||||
var HeadbuttType = GetHeadbuttEncounterType(Location);
|
||||
var numfile = 0;
|
||||
foreach (EncounterArea Area in Areas.Where(x => x.Location == Location))
|
||||
{
|
||||
numfile++;
|
||||
var GrassType = numfile == SpecialEncounterFile ? EncounterType.TallGrass : NormalEncounterType;
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
Slot.TypeEncounter = GetEncounterTypeBySlotHGSS(Slot.Type, GrassType, HeadbuttType);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void MarkHGSSEncounterTypeSlots_MultipleTypes(ref EncounterArea[] Areas, int Location, int[] SpecialEncounterFiles, EncounterType NormalEncounterType)
|
||||
{
|
||||
var HeadbuttType = GetHeadbuttEncounterType(Location);
|
||||
var numfile = 0;
|
||||
foreach (EncounterArea Area in Areas.Where(x => x.Location == Location))
|
||||
{
|
||||
numfile++;
|
||||
var GrassType = SpecialEncounterFiles.Contains(numfile) ? EncounterType.TallGrass : NormalEncounterType;
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
Slot.TypeEncounter = GetEncounterTypeBySlotHGSS(Slot.Type, GrassType, HeadbuttType);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void MarkDPPtEncounterTypeSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach(EncounterArea Area in Areas)
|
||||
{
|
||||
if (DPPt_MixInteriorExteriorLocations.Contains(Area.Location))
|
||||
continue;
|
||||
var GrassType = (Area.Location == 70) ? EncounterType.Building_EnigmaStone :// Old Chateau
|
||||
DPPt_CaveLocations.Contains(Area.Location) ? EncounterType.Cave_HallOfOrigin :
|
||||
EncounterType.TallGrass;
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
Slot.TypeEncounter = GetEncounterTypeBySlotDPPt(Slot.Type, GrassType);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static EncounterType GetHeadbuttEncounterType(int Location)
|
||||
{
|
||||
// Routes with trees adjacent to water tiles
|
||||
var allowsurf= HGSS_SurfingHeadbutt_Locations.Contains(Location);
|
||||
// Cities
|
||||
if (HGSS_CityLocations.Contains(Location))
|
||||
return allowsurf ? EncounterType.Headbutt_CitySurf : EncounterType.Building_EnigmaStone;
|
||||
// Caves with no exterior zones
|
||||
if (!HGSS_MixInteriorExteriorLocations.Contains(Location) && HGSS_CaveLocations.Contains(Location))
|
||||
return allowsurf ? EncounterType.Headbutt_CaveSurf : EncounterType.Cave_HallOfOrigin;
|
||||
|
||||
// Routes and exterior areas
|
||||
// Routes with trees adjacent to grass tiles
|
||||
var allowgrass = HGSS_GrassHeadbutt_Locations.Contains(Location);
|
||||
return allowgrass && allowsurf ? EncounterType.Headbutt_GrassSurf :
|
||||
allowgrass ? EncounterType.Headbutt_Grass :
|
||||
allowsurf ? EncounterType.Headbutt_Surf :
|
||||
EncounterType.None;
|
||||
}
|
||||
|
||||
private static void MarkHGSSEncounterTypeSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (EncounterArea Area in Areas)
|
||||
{
|
||||
if (HGSS_MixInteriorExteriorLocations.Contains(Area.Location))
|
||||
continue;
|
||||
var GrassType = HGSS_CaveLocations.Contains(Area.Location) ? EncounterType.Cave_HallOfOrigin: EncounterType.TallGrass;
|
||||
var HeadbuttType = GetHeadbuttEncounterType(Area.Location);
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
Slot.TypeEncounter = GetEncounterTypeBySlotHGSS(Slot.Type, GrassType, HeadbuttType);
|
||||
}
|
||||
}
|
||||
}
|
||||
private static void MarkBWSwarmSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (EncounterSlot s in Areas.SelectMany(area => area.Slots))
|
||||
{
|
||||
s.LevelMin = 15; s.LevelMax = 55; s.Type = SlotType.Swarm;
|
||||
}
|
||||
}
|
||||
private static void MarkB2W2SwarmSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (EncounterSlot s in Areas.SelectMany(area => area.Slots))
|
||||
{
|
||||
s.LevelMin = 40; s.LevelMax = 55; s.Type = SlotType.Swarm;
|
||||
}
|
||||
}
|
||||
private static void MarkG5HiddenGrottoSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (EncounterSlot s in Areas[0].Slots) //Only 1 area
|
||||
s.Type = SlotType.HiddenGrotto;
|
||||
}
|
||||
private static void MarkG5DreamWorld(ref EncounterStatic[] t)
|
||||
{
|
||||
foreach (EncounterStatic s in t)
|
||||
{
|
||||
s.Location = 75; //Entree Forest
|
||||
s.Ability = PersonalTable.B2W2.GetAbilities(s.Species, s.Form)[2] == 0 ? 1 : 4; // Check if has HA
|
||||
s.Shiny = false;
|
||||
}
|
||||
|
||||
// Split encounters with multiple permitted special moves -- a pkm can only be obtained with 1 of the special moves!
|
||||
var list = new List<EncounterStatic>();
|
||||
foreach (EncounterStatic s in t)
|
||||
{
|
||||
if (s.Moves == null || s.Moves.Length <= 1) // no special moves
|
||||
{
|
||||
list.Add(s);
|
||||
continue;
|
||||
}
|
||||
|
||||
var loc = s.Location;
|
||||
for (int i = 0; i < s.Moves.Length; i++)
|
||||
{
|
||||
var clone = s.Clone(loc);
|
||||
clone.Moves = new[] {s.Moves[i]};
|
||||
list.Add(clone);
|
||||
}
|
||||
}
|
||||
t = list.ToArray();
|
||||
}
|
||||
private static void MarkG5Slots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (var area in Areas)
|
||||
{
|
||||
int ctr = 0;
|
||||
do
|
||||
{
|
||||
for (int i = 0; i < 12; i++)
|
||||
area.Slots[ctr++].Type = SlotType.Grass; // Single
|
||||
|
||||
for (int i = 0; i < 12; i++)
|
||||
area.Slots[ctr++].Type = SlotType.Grass; // Double
|
||||
|
||||
for (int i = 0; i < 12; i++)
|
||||
area.Slots[ctr++].Type = SlotType.Grass; // Shaking
|
||||
|
||||
for (int i = 0; i < 5; i++) // 5
|
||||
area.Slots[ctr++].Type = SlotType.Surf; // Surf
|
||||
|
||||
for (int i = 0; i < 5; i++) // 5
|
||||
area.Slots[ctr++].Type = SlotType.Surf; // Surf Spot
|
||||
|
||||
for (int i = 0; i < 5; i++) // 5
|
||||
area.Slots[ctr++].Type = SlotType.Super_Rod; // Fish
|
||||
|
||||
for (int i = 0; i < 5; i++) // 5
|
||||
area.Slots[ctr++].Type = SlotType.Super_Rod; // Fish Spot
|
||||
} while (ctr != area.Slots.Length);
|
||||
area.Slots = area.Slots.Where(slot => slot.Species != 0).ToArray();
|
||||
}
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
private static void MarkG6XYSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (var area in Areas)
|
||||
{
|
||||
int slotct = area.Slots.Length;
|
||||
for (int i = slotct - 15; i < slotct; i++)
|
||||
area.Slots[i].Type = SlotType.Horde;
|
||||
}
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
private static void MarkG6AOSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (var area in Areas)
|
||||
{
|
||||
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;
|
||||
|
||||
for (int i = 0; i < slotct; i++)
|
||||
area.Slots[i].Permissions.AllowDexNav = area.Slots[i].Type != SlotType.Rock_Smash;
|
||||
}
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
private static void MarkG7REGSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
private static void MarkG7SMSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (EncounterSlot s in Areas.SelectMany(area => area.Slots))
|
||||
s.Type = SlotType.SOS;
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
private static EncounterArea[] GetTables1()
|
||||
{
|
||||
var red_gw = EncounterArea.GetArray1_GW(Util.GetBinaryResource("encounter_red.pkl"));
|
||||
var blu_gw = EncounterArea.GetArray1_GW(Util.GetBinaryResource("encounter_blue.pkl"));
|
||||
var ylw_gw = EncounterArea.GetArray1_GW(Util.GetBinaryResource("encounter_yellow.pkl"));
|
||||
var rb_fish = EncounterArea.GetArray1_F(Util.GetBinaryResource("encounter_rb_f.pkl"));
|
||||
var ylw_fish = EncounterArea.GetArray1_FY(Util.GetBinaryResource("encounter_yellow_f.pkl"));
|
||||
|
||||
MarkEncountersVersion(ref red_gw, GameVersion.RD);
|
||||
MarkEncountersVersion(ref blu_gw, GameVersion.BW);
|
||||
MarkEncountersVersion(ref ylw_gw, GameVersion.YW);
|
||||
MarkEncountersVersion(ref rb_fish, GameVersion.RB);
|
||||
MarkEncountersVersion(ref ylw_fish, GameVersion.YW);
|
||||
|
||||
var table = AddExtraTableSlots(red_gw, blu_gw, ylw_gw, rb_fish, ylw_fish);
|
||||
Array.Resize(ref table, table.Length + 1);
|
||||
table[table.Length - 1] = FishOldGood_RBY;
|
||||
|
||||
return table;
|
||||
}
|
||||
private static EncounterArea[] GetTables2(GameVersion Version)
|
||||
{
|
||||
EncounterArea[] Slots = null;
|
||||
// Fishing
|
||||
var f = EncounterArea.GetArray2_F(Util.GetBinaryResource("encounter_gsc_f.pkl"));
|
||||
|
||||
if (Version == GameVersion.GS || Version == GameVersion.GSC)
|
||||
{
|
||||
// Grass/Water
|
||||
var g = EncounterArea.GetArray2_GW(Util.GetBinaryResource("encounter_gold.pkl"));
|
||||
var s = EncounterArea.GetArray2_GW(Util.GetBinaryResource("encounter_silver.pkl"));
|
||||
// Headbutt/Rock Smash
|
||||
var h_g = EncounterArea.GetArray2_H(Util.GetBinaryResource("encounter_gold_h.pkl"));
|
||||
var h_s = EncounterArea.GetArray2_H(Util.GetBinaryResource("encounter_silver_h.pkl"));
|
||||
var safari_gs = EncounterSafari_GSC;
|
||||
var bcc_gs = EncounterBCC_GSC;
|
||||
|
||||
MarkEncountersVersion(ref bcc_gs, GameVersion.GS);
|
||||
MarkEncountersVersion(ref f, GameVersion.GS);
|
||||
MarkEncountersVersion(ref g, GameVersion.GD);
|
||||
MarkEncountersVersion(ref s, GameVersion.SV);
|
||||
MarkEncountersVersion(ref h_g, GameVersion.GD);
|
||||
MarkEncountersVersion(ref h_s, GameVersion.SV);
|
||||
MarkEncountersVersion(ref safari_gs, GameVersion.GS);
|
||||
|
||||
Slots = AddExtraTableSlots(g, s, h_g, h_s, f, bcc_gs, safari_gs);
|
||||
}
|
||||
if (Version == GameVersion.C || Version == GameVersion.GSC)
|
||||
{
|
||||
// Grass/Water
|
||||
var c = EncounterArea.GetArray2_GW(Util.GetBinaryResource("encounter_crystal.pkl"));
|
||||
// Headbutt/Rock Smash
|
||||
var h_c = EncounterArea.GetArray2_H(Util.GetBinaryResource("encounter_crystal_h.pkl"));
|
||||
var safari_c= EncounterSafari_GSC;
|
||||
var bcc_c = EncounterBCC_GSC;
|
||||
|
||||
MarkEncountersVersion(ref bcc_c, GameVersion.C);
|
||||
MarkEncountersVersion(ref safari_c, GameVersion.C);
|
||||
MarkEncountersVersion(ref f, GameVersion.C);
|
||||
MarkEncountersVersion(ref c, GameVersion.C);
|
||||
MarkEncountersVersion(ref h_c, GameVersion.C);
|
||||
|
||||
var extra = AddExtraTableSlots(c, h_c, f, bcc_c, safari_c);
|
||||
MarkSlotLocation(ref extra);
|
||||
return Version == GameVersion.C ? extra : AddExtraTableSlots(Slots, extra);
|
||||
}
|
||||
|
||||
return Slots;
|
||||
}
|
||||
|
||||
static Legal() // Setup
|
||||
{
|
||||
// Gen 1
|
||||
{
|
||||
StaticRBY = GetStaticEncounters(GameVersion.RBY);
|
||||
SlotsRBY = GetTables1();
|
||||
// Gen 1 is the only gen where ReduceAreasSize is not needed
|
||||
MarkEncountersGeneration(ref SlotsRBY, 1);
|
||||
MarkEncountersGeneration(ref StaticRBY, 1);
|
||||
Evolves1 = new EvolutionTree(new[] { Util.GetBinaryResource("evos_rby.pkl") }, GameVersion.RBY, PersonalTable.Y, MaxSpeciesID_1);
|
||||
FixPersonalTableY();
|
||||
}
|
||||
// Gen 2
|
||||
{
|
||||
StaticGS = GetStaticEncounters(GameVersion.GS);
|
||||
StaticC = GetStaticEncounters(GameVersion.C);
|
||||
StaticGSC = GetStaticEncounters(GameVersion.GSC);
|
||||
SlotsGS = GetTables2(GameVersion.GS);
|
||||
SlotsC = GetTables2(GameVersion.C);
|
||||
SlotsGSC = GetTables2(GameVersion.GSC);
|
||||
MarkG2Slots(ref SlotsGS);
|
||||
MarkG2Slots(ref SlotsC);
|
||||
MarkG2Slots(ref SlotsGSC);
|
||||
MarkEncountersGeneration(ref SlotsGS, 2);
|
||||
MarkEncountersGeneration(ref SlotsC, 2);
|
||||
MarkEncountersGeneration(ref SlotsGSC, 2);
|
||||
MarkEncountersGeneration(ref StaticGS, 2);
|
||||
MarkEncountersGeneration(ref StaticC, 2);
|
||||
MarkEncountersGeneration(ref StaticGSC, 2);
|
||||
Evolves2 = new EvolutionTree(new[] { Util.GetBinaryResource("evos_gsc.pkl") }, GameVersion.GSC, PersonalTable.C, MaxSpeciesID_2);
|
||||
}
|
||||
// Gen3
|
||||
{
|
||||
StaticR = GetStaticEncounters(GameVersion.R);
|
||||
StaticS = GetStaticEncounters(GameVersion.S);
|
||||
StaticE = GetStaticEncounters(GameVersion.E);
|
||||
StaticFR = GetStaticEncounters(GameVersion.FR);
|
||||
StaticLG = GetStaticEncounters(GameVersion.LG);
|
||||
// Evolution tables need Personal Tables initialized beforehand, hence why the EvolutionTree data is initialized here.
|
||||
Evolves1 = new EvolutionTree(new[] { Util.GetBinaryResource("evos_rby.pkl") }, GameVersion.RBY, PersonalTable.Y, MaxSpeciesID_1);
|
||||
Evolves2 = new EvolutionTree(new[] { Util.GetBinaryResource("evos_gsc.pkl") }, GameVersion.GSC, PersonalTable.C, MaxSpeciesID_2);
|
||||
Evolves3 = new EvolutionTree(new[] { Util.GetBinaryResource("evos_g3.pkl") }, GameVersion.RS, PersonalTable.RS, MaxSpeciesID_3);
|
||||
Evolves4 = new EvolutionTree(new[] { Util.GetBinaryResource("evos_g4.pkl") }, GameVersion.DP, PersonalTable.DP, MaxSpeciesID_4);
|
||||
Evolves5 = new EvolutionTree(new[] { Util.GetBinaryResource("evos_g5.pkl") }, GameVersion.BW, PersonalTable.BW, MaxSpeciesID_5);
|
||||
Evolves6 = new EvolutionTree(Data.UnpackMini(Util.GetBinaryResource("evos_ao.pkl"), "ao"), GameVersion.ORAS, PersonalTable.AO, MaxSpeciesID_6);
|
||||
Evolves7 = new EvolutionTree(Data.UnpackMini(Util.GetBinaryResource("evos_sm.pkl"), "sm"), GameVersion.SM, PersonalTable.SM, MaxSpeciesID_7);
|
||||
|
||||
var R_Slots = GetEncounterTables(GameVersion.R);
|
||||
var S_Slots = GetEncounterTables(GameVersion.S);
|
||||
var E_Slots = GetEncounterTables(GameVersion.E);
|
||||
var FR_Slots = GetEncounterTables(GameVersion.FR);
|
||||
var LG_Slots = GetEncounterTables(GameVersion.LG);
|
||||
|
||||
MarkG3Slots_RSE(ref R_Slots);
|
||||
MarkG3Slots_RSE(ref S_Slots);
|
||||
MarkG3Slots_RSE(ref E_Slots);
|
||||
MarkG3Slots_FRLG(ref FR_Slots);
|
||||
MarkG3Slots_FRLG(ref LG_Slots);
|
||||
MarkG3SlotsSafariZones(ref R_Slots, 57);
|
||||
MarkG3SlotsSafariZones(ref S_Slots, 57);
|
||||
MarkG3SlotsSafariZones(ref E_Slots, 57);
|
||||
MarkG3SlotsSafariZones(ref FR_Slots, 136);
|
||||
MarkG3SlotsSafariZones(ref LG_Slots, 136);
|
||||
|
||||
MarkEncountersStaticMagnetPull(ref R_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref S_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref E_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref FR_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref LG_Slots, PersonalTable.SM);
|
||||
|
||||
SlotsR = AddExtraTableSlots(R_Slots, SlotsRSEAlt);
|
||||
SlotsS = AddExtraTableSlots(S_Slots, SlotsRSEAlt);
|
||||
SlotsE = AddExtraTableSlots(E_Slots, SlotsRSEAlt);
|
||||
SlotsFR = AddExtraTableSlots(FR_Slots, SlotsFRLGAlt);
|
||||
SlotsLG = AddExtraTableSlots(LG_Slots, SlotsFRLGAlt);
|
||||
|
||||
MarkSlotLocation(ref SlotsR);
|
||||
MarkSlotLocation(ref SlotsS);
|
||||
MarkSlotLocation(ref SlotsE);
|
||||
MarkSlotLocation(ref SlotsFR);
|
||||
MarkSlotLocation(ref SlotsLG);
|
||||
|
||||
Evolves3 = new EvolutionTree(new[] { Util.GetBinaryResource("evos_g3.pkl") }, GameVersion.RS, PersonalTable.RS, MaxSpeciesID_3);
|
||||
|
||||
// Update Personal Entries with TM/Tutor Data
|
||||
var TMHM = Data.UnpackMini(Util.GetBinaryResource("hmtm_g3.pkl"), "g3");
|
||||
for (int i = 0; i <= MaxSpeciesID_3; i++)
|
||||
PersonalTable.E[i].AddTMHM(TMHM[i]);
|
||||
// Tutors g3 contains tutor compatiblity data extracted from emerald,
|
||||
// fire red and leaf green tutors data is a subset of emerald data
|
||||
var tutors = Data.UnpackMini(Util.GetBinaryResource("tutors_g3.pkl"), "g3");
|
||||
for (int i = 0; i <= MaxSpeciesID_3; i++)
|
||||
PersonalTable.E[i].AddTypeTutors(tutors[i]);
|
||||
}
|
||||
// Gen 4
|
||||
{
|
||||
MarkG4PokeWalker(ref Encounter_PokeWalker);
|
||||
StaticD = GetStaticEncounters(GameVersion.D);
|
||||
StaticP = GetStaticEncounters(GameVersion.P);
|
||||
StaticPt = GetStaticEncounters(GameVersion.Pt);
|
||||
StaticHG = GetStaticEncounters(GameVersion.HG);
|
||||
StaticSS = GetStaticEncounters(GameVersion.SS);
|
||||
|
||||
var D_Slots = GetEncounterTables(GameVersion.D);
|
||||
var P_Slots = GetEncounterTables(GameVersion.P);
|
||||
var Pt_Slots = GetEncounterTables(GameVersion.Pt);
|
||||
var HG_Slots = GetEncounterTables(GameVersion.HG);
|
||||
var SS_Slots = GetEncounterTables(GameVersion.SS);
|
||||
|
||||
MarkEncountersStaticMagnetPull(ref D_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref P_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref Pt_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref HG_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref SS_Slots, PersonalTable.SM);
|
||||
|
||||
var DP_Trophy = EncounterArea.GetTrophyArea(TrophyDP, new[] {16, 18});
|
||||
var Pt_Trophy = EncounterArea.GetTrophyArea(TrophyPt, new[] {22, 22});
|
||||
var HG_Headbutt_Slots = EncounterArea.GetArray4HGSS_Headbutt(Data.UnpackMini(Util.GetBinaryResource("encunters_hb_hg.pkl"), "hg"));
|
||||
var SS_Headbutt_Slots = EncounterArea.GetArray4HGSS_Headbutt(Data.UnpackMini(Util.GetBinaryResource("encunters_hb_ss.pkl"), "ss"));
|
||||
|
||||
var D_HoneyTrees_Slots = SlotsD_HoneyTree.Clone(HoneyTreesLocation);
|
||||
var P_HoneyTrees_Slots = SlotsP_HoneyTree.Clone(HoneyTreesLocation);
|
||||
var Pt_HoneyTrees_Slots = SlotsPt_HoneyTree.Clone(HoneyTreesLocation);
|
||||
|
||||
MarkG4SwarmSlots(ref HG_Slots, SlotsHG_Swarm);
|
||||
MarkG4SwarmSlots(ref SS_Slots, SlotsSS_Swarm);
|
||||
|
||||
MarkG4AltFormSlots(ref D_Slots, 422, 1, Shellos_EastSeaLocation_DP);
|
||||
MarkG4AltFormSlots(ref D_Slots, 423, 1, Gastrodon_EastSeaLocation_DP);
|
||||
MarkG4AltFormSlots(ref P_Slots, 422, 1, Shellos_EastSeaLocation_DP);
|
||||
MarkG4AltFormSlots(ref P_Slots, 423, 1, Gastrodon_EastSeaLocation_DP);
|
||||
MarkG4AltFormSlots(ref Pt_Slots, 422, 1, Shellos_EastSeaLocation_Pt);
|
||||
MarkG4AltFormSlots(ref Pt_Slots, 423, 1, Gastrodon_EastSeaLocation_Pt);
|
||||
|
||||
// Route 209
|
||||
MarkDPPtEncounterTypeSlots_MultipleTypes(ref D_Slots, 24, 1, EncounterType.Building_EnigmaStone);
|
||||
MarkDPPtEncounterTypeSlots_MultipleTypes(ref P_Slots, 24, 1, EncounterType.Building_EnigmaStone);
|
||||
MarkDPPtEncounterTypeSlots_MultipleTypes(ref Pt_Slots, 24, 1, EncounterType.Building_EnigmaStone);
|
||||
|
||||
// Stark Mountain
|
||||
MarkDPPtEncounterTypeSlots_MultipleTypes(ref D_Slots, 84, 1, EncounterType.Cave_HallOfOrigin);
|
||||
MarkDPPtEncounterTypeSlots_MultipleTypes(ref P_Slots, 84, 1, EncounterType.Cave_HallOfOrigin);
|
||||
MarkDPPtEncounterTypeSlots_MultipleTypes(ref Pt_Slots, 84, 1, EncounterType.Cave_HallOfOrigin);
|
||||
// Mt Coronet
|
||||
MarkDPPtEncounterTypeSlots_MultipleTypes(ref D_Slots, 50, DPPt_MtCoronetExteriorEncounters, EncounterType.Cave_HallOfOrigin);
|
||||
MarkDPPtEncounterTypeSlots_MultipleTypes(ref P_Slots, 50, DPPt_MtCoronetExteriorEncounters, EncounterType.Cave_HallOfOrigin);
|
||||
MarkDPPtEncounterTypeSlots_MultipleTypes(ref Pt_Slots, 50, DPPt_MtCoronetExteriorEncounters, EncounterType.Cave_HallOfOrigin);
|
||||
|
||||
// Ruins of Alph
|
||||
MarkHGSSEncounterTypeSlots_MultipleTypes(ref HG_Slots, 209, 1, EncounterType.Cave_HallOfOrigin);
|
||||
MarkHGSSEncounterTypeSlots_MultipleTypes(ref SS_Slots, 209, 1, EncounterType.Cave_HallOfOrigin);
|
||||
// Mt Silver Cave
|
||||
MarkHGSSEncounterTypeSlots_MultipleTypes(ref HG_Slots, 219, HGSS_MtSilverCaveExteriorEncounters, EncounterType.Cave_HallOfOrigin);
|
||||
MarkHGSSEncounterTypeSlots_MultipleTypes(ref SS_Slots, 219, HGSS_MtSilverCaveExteriorEncounters, EncounterType.Cave_HallOfOrigin);
|
||||
|
||||
MarkG4Slots(ref D_Slots);
|
||||
MarkG4Slots(ref P_Slots);
|
||||
MarkG4Slots(ref Pt_Slots);
|
||||
MarkG4Slots(ref HG_Slots);
|
||||
MarkG4Slots(ref SS_Slots);
|
||||
MarkG4Slots(ref HG_Headbutt_Slots);
|
||||
MarkG4Slots(ref SS_Headbutt_Slots);
|
||||
|
||||
MarkG4SlotsGreatMarsh(ref D_Slots, 52);
|
||||
MarkG4SlotsGreatMarsh(ref P_Slots, 52);
|
||||
MarkG4SlotsGreatMarsh(ref Pt_Slots, 52);
|
||||
|
||||
SlotsD = AddExtraTableSlots(D_Slots, D_HoneyTrees_Slots, DP_GreatMarshAlt, SlotsDPPPtAlt, DP_Trophy);
|
||||
SlotsP = AddExtraTableSlots(P_Slots, P_HoneyTrees_Slots, DP_GreatMarshAlt, SlotsDPPPtAlt, DP_Trophy);
|
||||
SlotsPt = AddExtraTableSlots(Pt_Slots, Pt_HoneyTrees_Slots, Pt_GreatMarshAlt, SlotsDPPPtAlt, Pt_Trophy);
|
||||
SlotsHG = AddExtraTableSlots(HG_Slots, HG_Headbutt_Slots, SlotsHGSSAlt);
|
||||
SlotsSS = AddExtraTableSlots(SS_Slots, SS_Headbutt_Slots, SlotsHGSSAlt);
|
||||
|
||||
MarkDPPtEncounterTypeSlots(ref SlotsD);
|
||||
MarkDPPtEncounterTypeSlots(ref SlotsP);
|
||||
MarkDPPtEncounterTypeSlots(ref SlotsPt);
|
||||
MarkHGSSEncounterTypeSlots(ref SlotsHG);
|
||||
MarkHGSSEncounterTypeSlots(ref SlotsSS);
|
||||
|
||||
MarkSlotLocation(ref SlotsD);
|
||||
MarkSlotLocation(ref SlotsP);
|
||||
MarkSlotLocation(ref SlotsPt);
|
||||
MarkSlotLocation(ref SlotsHG);
|
||||
MarkSlotLocation(ref SlotsSS);
|
||||
|
||||
Evolves4 = new EvolutionTree(new[] { Util.GetBinaryResource("evos_g4.pkl") }, GameVersion.DP, PersonalTable.DP, MaxSpeciesID_4);
|
||||
|
||||
// Update Personal Entries with Tutor Data
|
||||
var tutors = Data.UnpackMini(Util.GetBinaryResource("tutors_g4.pkl"), "g4");
|
||||
for (int i = 0; i <= MaxSpeciesID_4; i++)
|
||||
PersonalTable.HGSS[i].AddTypeTutors(tutors[i]);
|
||||
}
|
||||
// Gen 5
|
||||
{
|
||||
MarkG5DreamWorld(ref BW_DreamWorld);
|
||||
MarkG5DreamWorld(ref B2W2_DreamWorld);
|
||||
StaticB = GetStaticEncounters(GameVersion.B);
|
||||
StaticW = GetStaticEncounters(GameVersion.W);
|
||||
StaticB2 = GetStaticEncounters(GameVersion.B2);
|
||||
StaticW2 = GetStaticEncounters(GameVersion.W2);
|
||||
|
||||
var BSlots = GetEncounterTables(GameVersion.B);
|
||||
var WSlots = GetEncounterTables(GameVersion.W);
|
||||
MarkG5Slots(ref BSlots);
|
||||
MarkG5Slots(ref WSlots);
|
||||
MarkBWSwarmSlots(ref SlotsB_Swarm);
|
||||
MarkBWSwarmSlots(ref SlotsW_Swarm);
|
||||
SlotsB = AddExtraTableSlots(BSlots, SlotsB_Swarm);
|
||||
SlotsW = AddExtraTableSlots(WSlots, SlotsW_Swarm, WhiteForestSlot);
|
||||
|
||||
var B2Slots = GetEncounterTables(GameVersion.B2);
|
||||
var W2Slots = GetEncounterTables(GameVersion.W2);
|
||||
MarkG5Slots(ref B2Slots);
|
||||
MarkG5Slots(ref W2Slots);
|
||||
MarkB2W2SwarmSlots(ref SlotsB2_Swarm);
|
||||
MarkB2W2SwarmSlots(ref SlotsW2_Swarm);
|
||||
MarkG5HiddenGrottoSlots(ref SlotsB2_HiddenGrotto);
|
||||
MarkG5HiddenGrottoSlots(ref SlotsW2_HiddenGrotto);
|
||||
SlotsB2 = AddExtraTableSlots(B2Slots, SlotsB2_Swarm, SlotsB2_HiddenGrotto);
|
||||
SlotsW2 = AddExtraTableSlots(W2Slots, SlotsW2_Swarm, SlotsW2_HiddenGrotto);
|
||||
|
||||
Evolves5 = new EvolutionTree(new[] { Util.GetBinaryResource("evos_g5.pkl") }, GameVersion.BW, PersonalTable.BW, MaxSpeciesID_5);
|
||||
}
|
||||
// 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(Util.GetBinaryResource("evos_ao.pkl"), "ao"), GameVersion.ORAS, PersonalTable.AO, MaxSpeciesID_6);
|
||||
}
|
||||
// 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(Util.GetBinaryResource("encounter_sn_sos.pkl"), "sm");
|
||||
var SOS_MN = GetEncounterTables(Util.GetBinaryResource("encounter_mn_sos.pkl"), "sm");
|
||||
MarkG7REGSlots(ref REG_SN);
|
||||
MarkG7REGSlots(ref REG_MN);
|
||||
MarkG7SMSlots(ref SOS_SN);
|
||||
MarkG7SMSlots(ref SOS_MN);
|
||||
SlotsSN = AddExtraTableSlots(REG_SN, SOS_SN, Encounter_Pelago_SM, Encounter_Pelago_SN);
|
||||
SlotsMN = AddExtraTableSlots(REG_MN, SOS_MN, Encounter_Pelago_SM, Encounter_Pelago_MN);
|
||||
|
||||
Evolves7 = new EvolutionTree(Data.UnpackMini(Util.GetBinaryResource("evos_sm.pkl"), "sm"), GameVersion.SM, PersonalTable.SM, MaxSpeciesID_7);
|
||||
}
|
||||
FixPersonalTableY();
|
||||
PopulateGen3Tutors();
|
||||
PopulateGen4Tutors();
|
||||
}
|
||||
|
||||
private static void FixPersonalTableY()
|
||||
{
|
||||
// Personal Table from Yellow do not have yellow catch rate for Pikachu and Kadabra, have RedBlue instead
|
||||
PersonalTable.Y[25].CatchRate = 163; // Pikachu
|
||||
PersonalTable.Y[64].CatchRate = 96; // Kadabra
|
||||
}
|
||||
private static void PopulateGen3Tutors()
|
||||
{
|
||||
// Update Gen3 data with Emerald's data, FR/LG is a subset of Emerald's compatibility.
|
||||
var TMHM = Data.UnpackMini(Util.GetBinaryResource("hmtm_g3.pkl"), "g3");
|
||||
var tutors = Data.UnpackMini(Util.GetBinaryResource("tutors_g3.pkl"), "g3");
|
||||
for (int i = 0; i <= MaxSpeciesID_3; i++)
|
||||
{
|
||||
PersonalTable.E[i].AddTMHM(TMHM[i]);
|
||||
PersonalTable.E[i].AddTypeTutors(tutors[i]);
|
||||
}
|
||||
}
|
||||
private static void PopulateGen4Tutors()
|
||||
{
|
||||
var tutors = Data.UnpackMini(Util.GetBinaryResource("tutors_g4.pkl"), "g4");
|
||||
for (int i = 0; i <= MaxSpeciesID_4; i++)
|
||||
PersonalTable.HGSS[i].AddTypeTutors(tutors[i]);
|
||||
}
|
||||
|
||||
// Moves
|
||||
internal static int[] GetMinLevelLearnMove(int species, int Generation, List<int> moves)
|
||||
|
|
|
|||
111
PKHeX.Core/Legality/Encounters/Data/EncounterUtil.cs
Normal file
111
PKHeX.Core/Legality/Encounters/Data/EncounterUtil.cs
Normal file
|
|
@ -0,0 +1,111 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
internal static class EncounterUtil
|
||||
{
|
||||
internal static EncounterArea[] GetEncounterTables(GameVersion Game)
|
||||
{
|
||||
switch (Game)
|
||||
{
|
||||
case GameVersion.B: return GetEncounterTables("51", "b");
|
||||
case GameVersion.W: return GetEncounterTables("51", "w");
|
||||
case GameVersion.B2: return GetEncounterTables("52", "b2");
|
||||
case GameVersion.W2: return GetEncounterTables("52", "w2");
|
||||
case GameVersion.X: return GetEncounterTables("xy", "x");
|
||||
case GameVersion.Y: return GetEncounterTables("xy", "y");
|
||||
case GameVersion.AS: return GetEncounterTables("ao", "a");
|
||||
case GameVersion.OR: return GetEncounterTables("ao", "o");
|
||||
case GameVersion.SN: return GetEncounterTables("sm", "sn");
|
||||
case GameVersion.MN: return GetEncounterTables("sm", "mn");
|
||||
}
|
||||
return null; // bad request
|
||||
}
|
||||
|
||||
internal static EncounterArea[] GetEncounterTables(string ident, string resource)
|
||||
{
|
||||
byte[] mini = Util.GetBinaryResource($"encounter_{resource}.pkl");
|
||||
return EncounterArea.GetArray(Data.UnpackMini(mini, ident));
|
||||
}
|
||||
|
||||
internal static EncounterArea[] AddExtraTableSlots(params EncounterArea[][] tables)
|
||||
{
|
||||
return tables.SelectMany(s => s).GroupBy(l => l.Location)
|
||||
.Select(t => t.Count() == 1
|
||||
? t.First() // only one table, just return the area
|
||||
: new EncounterArea { Location = t.First().Location, Slots = t.SelectMany(s => s.Slots).ToArray() })
|
||||
.ToArray();
|
||||
}
|
||||
|
||||
internal static void MarkEncountersStaticMagnetPull(ref EncounterArea[] Areas, PersonalTable t)
|
||||
{
|
||||
const int steel = 8;
|
||||
const int electric = 12;
|
||||
foreach (EncounterArea Area in Areas)
|
||||
{
|
||||
var s = new List<EncounterSlot>(); // Static
|
||||
var m = new List<EncounterSlot>(); // Magnet Pull
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
var types = t[Slot.Species].Types;
|
||||
if (types[0] == steel || types[1] == steel)
|
||||
m.Add(Slot);
|
||||
if (types[0] == electric || types[1] == electric)
|
||||
s.Add(Slot);
|
||||
}
|
||||
foreach (var slot in s)
|
||||
{
|
||||
slot.Permissions.Static = true;
|
||||
slot.Permissions.StaticCount = s.Count;
|
||||
}
|
||||
foreach (var slot in m)
|
||||
{
|
||||
slot.Permissions.MagnetPull = true;
|
||||
slot.Permissions.MagnetPullCount = s.Count;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
internal static void MarkEncountersGeneration(EncounterStatic[] Encounters, int Generation)
|
||||
{
|
||||
foreach (EncounterStatic Encounter in Encounters)
|
||||
Encounter.Generation = Generation;
|
||||
}
|
||||
|
||||
internal static void MarkEncountersVersion(EncounterArea[] Areas, GameVersion Version)
|
||||
{
|
||||
foreach (EncounterArea Area in Areas)
|
||||
foreach (var Slot in Area.Slots.OfType<EncounterSlot1>())
|
||||
Slot.Version = Version;
|
||||
}
|
||||
|
||||
internal static void MarkEncountersGeneration(IEnumerable<EncounterArea> Areas, int Generation)
|
||||
{
|
||||
foreach (EncounterArea Area in Areas)
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
Slot.Generation = Generation;
|
||||
}
|
||||
|
||||
internal static void ReduceAreasSize(ref EncounterArea[] Areas)
|
||||
{
|
||||
// Group areas by location id, the raw data have areas with different slots but the same location id
|
||||
Areas = Areas.GroupBy(a => a.Location).Select(a => new EncounterArea
|
||||
{
|
||||
Location = a.First().Location,
|
||||
Slots = a.SelectMany(m => m.Slots).ToArray()
|
||||
}).ToArray();
|
||||
}
|
||||
|
||||
internal static void MarkSlotLocation(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (EncounterArea Area in Areas)
|
||||
{
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
{
|
||||
Slot.Location = Area.Location;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
185
PKHeX.Core/Legality/Encounters/Data/Encounters1.cs
Normal file
185
PKHeX.Core/Legality/Encounters/Data/Encounters1.cs
Normal file
|
|
@ -0,0 +1,185 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using static PKHeX.Core.EncounterUtil;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
internal static class Encounters1
|
||||
{
|
||||
internal static readonly EncounterArea[] SlotsRBY;
|
||||
internal static readonly EncounterStatic[] StaticRBY;
|
||||
|
||||
static Encounters1()
|
||||
{
|
||||
StaticRBY = Encounter_RBY;
|
||||
SlotsRBY = GetAreas();
|
||||
MarkEncountersGeneration(SlotsRBY, 1);
|
||||
MarkEncountersGeneration(StaticRBY, 1);
|
||||
}
|
||||
|
||||
private static EncounterArea[] GetAreas()
|
||||
{
|
||||
var red_gw = EncounterArea.GetArray1_GW(Util.GetBinaryResource("encounter_red.pkl"));
|
||||
var blu_gw = EncounterArea.GetArray1_GW(Util.GetBinaryResource("encounter_blue.pkl"));
|
||||
var ylw_gw = EncounterArea.GetArray1_GW(Util.GetBinaryResource("encounter_yellow.pkl"));
|
||||
var rb_fish = EncounterArea.GetArray1_F(Util.GetBinaryResource("encounter_rb_f.pkl"));
|
||||
var ylw_fish = EncounterArea.GetArray1_FY(Util.GetBinaryResource("encounter_yellow_f.pkl"));
|
||||
|
||||
MarkEncountersVersion(red_gw, GameVersion.RD);
|
||||
MarkEncountersVersion(blu_gw, GameVersion.BW);
|
||||
MarkEncountersVersion(ylw_gw, GameVersion.YW);
|
||||
MarkEncountersVersion(rb_fish, GameVersion.RB);
|
||||
MarkEncountersVersion(ylw_fish, GameVersion.YW);
|
||||
|
||||
var table = AddExtraTableSlots(red_gw, blu_gw, ylw_gw, rb_fish, ylw_fish);
|
||||
Array.Resize(ref table, table.Length + 1);
|
||||
table[table.Length - 1] = FishOldGood_RBY;
|
||||
|
||||
return table;
|
||||
}
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_RBY =
|
||||
{
|
||||
// Gameversion is RBY for pokemon with the same catch rate and initial moves in all games
|
||||
// If there are differents in moves or catch rate they will have different encounters defined
|
||||
new EncounterStatic { Species = 001, Level = 05, Version = GameVersion.RBY }, // Bulbasaur
|
||||
new EncounterStatic { Species = 004, Level = 05, Version = GameVersion.RBY }, // Charmander
|
||||
new EncounterStatic { Species = 007, Level = 05, Version = GameVersion.RBY }, // Squirtle
|
||||
new EncounterStatic { Species = 025, Level = 05, Version = GameVersion.YW }, // Pikachu
|
||||
|
||||
// Game Corner
|
||||
new EncounterStatic { Species = 030, Level = 17, Version = GameVersion.RB }, // Nidorina (Red Game Corner)
|
||||
new EncounterStatic { Species = 033, Level = 17, Version = GameVersion.BU }, // Nidorino (Blue[EN] / Green[JP] Game Corner)
|
||||
new EncounterStatic { Species = 035, Level = 08, Version = GameVersion.RBY }, // Clefairy (Red Game Corner)
|
||||
new EncounterStatic { Species = 036, Level = 24, Version = GameVersion.RBY }, // Clefable (Blue[JP] Game Corner)
|
||||
new EncounterStatic { Species = 037, Level = 18, Version = GameVersion.RBY }, // Vulpix (Yellow Game Corner)
|
||||
new EncounterStatic { Species = 040, Level = 22, Version = GameVersion.RBY }, // Wigglytuff (Yellow Game Corner)
|
||||
new EncounterStatic { Species = 063, Level = 06, Version = GameVersion.RBY }, // Abra (Blue[EN] / Green[JP] Game Corner)
|
||||
new EncounterStatic { Species = 116, Level = 18, Version = GameVersion.RBY }, // Horsea (Blue[JP] Game Corner)
|
||||
new EncounterStatic { Species = 123, Level = 25, Version = GameVersion.RBY }, // Scyther (Red Game Corner)
|
||||
new EncounterStatic { Species = 127, Level = 20, Version = GameVersion.BU }, // Pinsir (Blue[EN] / Green[JP] Game Corner)
|
||||
new EncounterStatic { Species = 127, Level = 30, Version = GameVersion.YW }, // Pinsir (Yellow Game Corner) (Different initial moves)
|
||||
new EncounterStatic { Species = 137, Level = 18, Version = GameVersion.RBY }, // Porygon (Blue[EN] / Green[JP] Game Corner)
|
||||
new EncounterStatic { Species = 147, Level = 18, Version = GameVersion.RBY }, // Dratini (Red Game Corner)
|
||||
new EncounterStatic { Species = 148, Level = 30, Version = GameVersion.BU }, // Dragonair (Blue[JP] Game Corner)
|
||||
new EncounterStatic { Species = 025, Level = 12, Version = GameVersion.BU }, // Pikachu (Blue[JP] Game Corner) (Different catch rate)
|
||||
|
||||
// Lower level less ideal matches; best match is from above.
|
||||
// new EncounterStatic { Species = 035, Level = 12 }, // Clefairy (Blue[EN] / Green[JP] Game Corner)
|
||||
// new EncounterStatic { Species = 063, Level = 09 }, // Abra (Red Game Corner)
|
||||
// new EncounterStatic { Species = 063, Level = 08 }, // Abra (Blue[JP] Game Corner)
|
||||
// new EncounterStatic { Species = 063, Level = 15 }, // Abra (Yellow Game Corner)
|
||||
// new EncounterStatic { Species = 123, Level = 30 }, // Scyther (Yellow Game Corner)
|
||||
// new EncounterStatic { Species = 137, Level = 22 }, // Porygon (Blue[JP] Game Corner)
|
||||
// new EncounterStatic { Species = 137, Level = 26 }, // Porygon (Red Game Corner)
|
||||
// new EncounterStatic { Species = 137, Level = 26 }, // Porygon (Yellow Game Corner)
|
||||
// new EncounterStatic { Species = 147, Level = 24 }, // Dratini (Blue[EN] / Green[JP] Game Corner)
|
||||
|
||||
new EncounterStatic { Species = 129, Level = 05, Version = GameVersion.RBY }, // Magikarp
|
||||
new EncounterStatic { Species = 143, Level = 30, Version = GameVersion.RBY }, // Snorlax
|
||||
new EncounterStatic { Species = 106, Level = 30, Version = GameVersion.RBY }, // Hitmonlee
|
||||
new EncounterStatic { Species = 107, Level = 30, Version = GameVersion.RBY }, // Hitmonchan
|
||||
|
||||
new EncounterStatic { Species = 131, Level = 15, Version = GameVersion.RBY }, // Lapras
|
||||
new EncounterStatic { Species = 138, Level = 30, Version = GameVersion.RBY }, // Omanyte
|
||||
new EncounterStatic { Species = 140, Level = 30, Version = GameVersion.RBY }, // Kabuto
|
||||
new EncounterStatic { Species = 142, Level = 30, Version = GameVersion.RBY }, // Aerodactyl
|
||||
|
||||
new EncounterStatic { Species = 144, Level = 50, Version = GameVersion.RBY }, // Articuno
|
||||
new EncounterStatic { Species = 145, Level = 50, Version = GameVersion.RBY }, // Zapdos
|
||||
new EncounterStatic { Species = 146, Level = 50, Version = GameVersion.RBY }, // Moltres
|
||||
|
||||
new EncounterStatic { Species = 150, Level = 70, Version = GameVersion.RBY }, // Mewtwo
|
||||
|
||||
new EncounterStatic { Species = 133, Level = 25, Version = GameVersion.RB }, // Eevee
|
||||
new EncounterStatic { Species = 133, Level = 25, Version = GameVersion.YW }, // Eevee (Different initial moves)
|
||||
|
||||
// Yellow Only -- duplicate encounters with a higher level
|
||||
// new EncounterStatic { Species = 001, Level = 10, Version = GameVersion.YW }, // Bulbasaur (Cerulean City)
|
||||
// new EncounterStatic { Species = 004, Level = 10, Version = GameVersion.YW }, // Charmander (Route 24)
|
||||
// new EncounterStatic { Species = 007, Level = 10, Version = GameVersion.YW }, // Squirtle (Vermillion City)
|
||||
|
||||
new EncounterStatic { Species = 054, Level = 15, Moves = new [] { 133, 10 }, Version = GameVersion.Stadium }, // Stadium Psyduck (Amnesia)
|
||||
new EncounterStatic { Species = 001, Level = 05, Version = GameVersion.Stadium }, // Bulbasaur
|
||||
new EncounterStatic { Species = 004, Level = 05, Version = GameVersion.Stadium }, // Charmander
|
||||
new EncounterStatic { Species = 071, Level = 05, Version = GameVersion.Stadium }, // Squirtle
|
||||
new EncounterStatic { Species = 106, Level = 20, Version = GameVersion.Stadium }, // Hitmonlee
|
||||
new EncounterStatic { Species = 107, Level = 20, Version = GameVersion.Stadium }, // Hitmonchan
|
||||
new EncounterStatic { Species = 133, Level = 25, Version = GameVersion.Stadium }, // Eevee
|
||||
new EncounterStatic { Species = 138, Level = 20, Version = GameVersion.Stadium }, // Omanyte
|
||||
new EncounterStatic { Species = 140, Level = 20, Version = GameVersion.Stadium }, // Kabuto
|
||||
new EncounterStatic { Species = 151, Level = 5, IVs = new [] {15,15,15,15,15,15}, Version = GameVersion.VCEvents }, // Event Mew
|
||||
};
|
||||
|
||||
internal static readonly EncounterTrade[] TradeGift_RBY_Common =
|
||||
{
|
||||
// Species & Minimum level (legal) possible to acquire at.
|
||||
//new EncounterTrade { Species = 122, Generation = 1, Level = 06 }, // Mr. Mime - Game Corner Abra
|
||||
new EncounterTrade { Species = 032, Generation = 1, Level = 02, Version = GameVersion.RD }, // Nidoran♂ - Wild Nidoran♀
|
||||
new EncounterTrade { Species = 029, Generation = 1, Level = 02, Version = GameVersion.BU }, // Nidoran♀ - Wild Nidoran♂
|
||||
new EncounterTrade { Species = 030, Generation = 1, Level = 16, Version = GameVersion.RB }, // Nidorina - Evolve Nidorino
|
||||
new EncounterTrade { Species = 030, Generation = 1, Level = 16, Version = GameVersion.YW }, // Nidorina - Evolve Nidorino (Different initial moves)
|
||||
new EncounterTrade { Species = 108, Generation = 1, Level = 15, Version = GameVersion.RBY }, // Lickitung - Surf Slowbro
|
||||
new EncounterTrade { Species = 083, Generation = 1, Level = 02, Version = GameVersion.RBY }, // Farfetch’d - Wild Spearow
|
||||
new EncounterTrade { Species = 101, Generation = 1, Level = 03, Version = GameVersion.RBY }, // Electrode - Wild Raichu
|
||||
|
||||
new EncounterTrade { Species = 122, Generation = 1, Level = 03, Version = GameVersion.RBY }, // Mr. Mime - Wild Jigglypuff
|
||||
new EncounterTrade { Species = 060, Generation = 1, Level = 02, Version = GameVersion.RBY }, // Poliwag - Wild Rattata
|
||||
//new EncounterTrade { Species = 083, Generation = 1, Level = 02 }, // Farfetch’d - Wild Pidgey
|
||||
new EncounterTrade { Species = 079, Generation = 1, Level = 22, Version = GameVersion.RBY }, // Slowpoke - Wild Seel
|
||||
|
||||
new EncounterTrade { Species = 051, Generation = 1, Level = 15, Version = GameVersion.RBY }, // Dugtrio - Trade Lickitung
|
||||
new EncounterTrade { Species = 047, Generation = 1, Level = 13, Version = GameVersion.RBY }, // Parasect - Trade Tangela
|
||||
};
|
||||
|
||||
internal static readonly EncounterTrade[] TradeGift_RBY_NoTradeback = TradeGift_RBY_Common.Concat(new[]
|
||||
{
|
||||
// Species & Minimum level (legal) possible to acquire at.
|
||||
new EncounterTrade { Species = 124, Generation = 1, Level = 15, Version = GameVersion.RBY }, // Jynx - Fish Poliwhirl (GSC: 10)
|
||||
new EncounterTrade { Species = 114, Generation = 1, Level = 13, Version = GameVersion.RBY }, // Tangela - Wild Venonat (GSC: 5) No different moves at level 13
|
||||
new EncounterTrade { Species = 086, Generation = 1, Level = 28, Version = GameVersion.RBY }, // Seel - Wild Ponyta (GSC: 6)
|
||||
|
||||
new EncounterTrade { Species = 115, Generation = 1, Level = 42, Version = GameVersion.RBY }, // Kangaskhan - Evolve Rhydon (GSC: 30)
|
||||
new EncounterTrade { Species = 128, Generation = 1, Level = 28, Version = GameVersion.RBY }, // Tauros - Evolve Persian (GSC: 18)
|
||||
new EncounterTradeCatchRate { Species = 093, Generation = 1, Level = 20, Catch_Rate = 45, EvolveOnTrade = true, Version = GameVersion.RBY }, // Haunter - Trade Machoke (GSC: 10)
|
||||
new EncounterTradeCatchRate { Species = 075, Generation = 1, Level = 16, Catch_Rate = 45, EvolveOnTrade = true, Version = GameVersion.RBY }, // Graveler - Evolve Kadabra (GSC: 15)
|
||||
new EncounterTradeCatchRate { Species = 098, Generation = 1, Level = 15, Catch_Rate = 204, Version = GameVersion.RBY }, // Krabby - Wild Growlithe (GSC: 5)
|
||||
|
||||
//new EncounterTrade { Species = 122, Generation = 1, Level = 08 }, // Mr. Mime - Wild Clefairy (GSC: 6)
|
||||
new EncounterTradeCatchRate { Species = 067, Generation = 1, Level = 20, Catch_Rate = 180, EvolveOnTrade = true, Version = GameVersion.RBY }, // Machoke - Wild Cubone (GSC: 10)
|
||||
new EncounterTrade { Species = 112, Generation = 1, Level = 15, Version = GameVersion.RBY }, // Rhydon - Surf Golduck (GSC: 10)
|
||||
new EncounterTrade { Species = 087, Generation = 1, Level = 15, Version = GameVersion.RBY }, // Dewgong - Wild Growlithe (GSC: 5)
|
||||
new EncounterTrade { Species = 089, Generation = 1, Level = 25, Version = GameVersion.RBY }, // Muk - Wild Kangaskhan (GSC: 14)
|
||||
}).ToArray();
|
||||
|
||||
internal static readonly EncounterTrade[] TradeGift_RBY_Tradeback = TradeGift_RBY_Common.Concat(new[]
|
||||
{
|
||||
// Trade gifts that can be obtained at a lower level due to the requested Pokémon being a lower level in GSC
|
||||
new EncounterTrade { Species = 124, Generation = 1, Level = 10, Version = GameVersion.RBY }, // Jynx - Fish Poliwhirl (RBY: 15)
|
||||
new EncounterTrade { Species = 114, Generation = 1, Level = 05, Version = GameVersion.RBY }, // Tangela - Wild Venonat (RBY: 13)
|
||||
new EncounterTrade { Species = 086, Generation = 1, Level = 05, Version = GameVersion.RBY }, // Seel - Egg Ponyta (RBY: 28)
|
||||
|
||||
new EncounterTrade { Species = 115, Generation = 1, Level = 30, Version = GameVersion.RBY }, // Kangaskhan - Evolve Rhydon (RBY: 42)
|
||||
new EncounterTrade { Species = 128, Generation = 1, Level = 18, Version = GameVersion.RBY }, // Tauros - Evolve Persian (RBY: 28)
|
||||
new EncounterTradeCatchRate { Species = 093, Generation = 1, Level = 10, Catch_Rate = 45, EvolveOnTrade = true, Version = GameVersion.RBY }, // Haunter - Trade Machoke (RBY: 20)
|
||||
new EncounterTradeCatchRate { Species = 075, Generation = 1, Level = 15, Catch_Rate = 45, EvolveOnTrade = true, Version = GameVersion.RBY }, // Graveler - Evolve Kadabra (RBY: 16)
|
||||
new EncounterTradeCatchRate { Species = 098, Generation = 1, Level = 05, Catch_Rate = 204, Version = GameVersion.RBY }, // Krabby - Egg Growlithe (RBY: 15)
|
||||
|
||||
//new EncounterTrade { Species = 122, Generation = 1, Level = 08 }, // Mr. Mime - Wild Clefairy (RBY: 6)
|
||||
new EncounterTradeCatchRate { Species = 067, Generation = 1, Level = 05, Catch_Rate = 180, EvolveOnTrade = true, Version = GameVersion.RBY }, // Machoke - Egg Cubone (RBY: 20)
|
||||
new EncounterTrade { Species = 112, Generation = 1, Level = 10, Version = GameVersion.RBY }, // Rhydon - Surf Golduck (RBY: 15)
|
||||
new EncounterTrade { Species = 087, Generation = 1, Level = 05, Version = GameVersion.RBY }, // Dewgong - Egg Growlithe (RBY: 15)
|
||||
new EncounterTrade { Species = 089, Generation = 1, Level = 05, Version = GameVersion.RBY }, // Muk - Egg Kangaskhan (RBY: 25)
|
||||
}).ToArray();
|
||||
private static readonly EncounterArea FishOldGood_RBY = new EncounterArea
|
||||
{
|
||||
Location = -1,
|
||||
Slots = new EncounterSlot[]
|
||||
{
|
||||
new EncounterSlot1 {Species = 129, LevelMin = 05, LevelMax = 05, Type = SlotType.Old_Rod, Rate = -1, Version = GameVersion.RBY }, // Magikarp
|
||||
new EncounterSlot1 {Species = 118, LevelMin = 10, LevelMax = 10, Type = SlotType.Good_Rod, Rate = -1, Version = GameVersion.RBY }, // Goldeen
|
||||
new EncounterSlot1 {Species = 060, LevelMin = 10, LevelMax = 10, Type = SlotType.Good_Rod, Rate = -1, Version = GameVersion.RBY }, // Poliwag
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
241
PKHeX.Core/Legality/Encounters/Data/Encounters2.cs
Normal file
241
PKHeX.Core/Legality/Encounters/Data/Encounters2.cs
Normal file
|
|
@ -0,0 +1,241 @@
|
|||
using System.Linq;
|
||||
using static PKHeX.Core.EncounterUtil;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
internal static class Encounters2
|
||||
{
|
||||
internal static readonly EncounterArea[] SlotsGSC, SlotsGS, SlotsC;
|
||||
internal static readonly EncounterStatic[] StaticGSC, StaticGS, StaticC;
|
||||
internal static readonly TreesArea[] HeadbuttTreesC = TreesArea.GetArray(Data.UnpackMini(Util.GetBinaryResource("trees_h_c.pkl"), "ch"));
|
||||
|
||||
static Encounters2()
|
||||
{
|
||||
StaticGS = Encounter_GS;
|
||||
StaticC = Encounter_C;
|
||||
StaticGSC = Encounter_GSC;
|
||||
SlotsGS = GetTables2(GameVersion.GS);
|
||||
SlotsC = GetTables2(GameVersion.C);
|
||||
SlotsGSC = GetTables2(GameVersion.GSC);
|
||||
ReduceAreasSize(ref SlotsGS);
|
||||
ReduceAreasSize(ref SlotsC);
|
||||
ReduceAreasSize(ref SlotsGSC);
|
||||
MarkEncountersGeneration(SlotsGS, 2);
|
||||
MarkEncountersGeneration(SlotsC, 2);
|
||||
MarkEncountersGeneration(SlotsGSC, 2);
|
||||
MarkEncountersGeneration(StaticGS, 2);
|
||||
MarkEncountersGeneration(StaticC, 2);
|
||||
MarkEncountersGeneration(StaticGSC, 2);
|
||||
}
|
||||
|
||||
private static EncounterArea[] GetTables2(GameVersion Version)
|
||||
{
|
||||
// Fishing
|
||||
var f = EncounterArea.GetArray2_F(Util.GetBinaryResource("encounter_gsc_f.pkl"));
|
||||
|
||||
EncounterArea[] Slots = new EncounterArea[0];
|
||||
if (GameVersion.GS.Contains(Version))
|
||||
Slots = GetSlots_GS(f);
|
||||
if (Version.Contains(GameVersion.C))
|
||||
Slots = AddExtraTableSlots(Slots, GetSlots_C(f));
|
||||
|
||||
return Slots;
|
||||
}
|
||||
|
||||
private static EncounterArea[] GetSlots_GS(EncounterArea[] f)
|
||||
{
|
||||
// Grass/Water
|
||||
var g = EncounterArea.GetArray2_GW(Util.GetBinaryResource("encounter_gold.pkl"));
|
||||
var s = EncounterArea.GetArray2_GW(Util.GetBinaryResource("encounter_silver.pkl"));
|
||||
// Headbutt/Rock Smash
|
||||
var h_g = EncounterArea.GetArray2_H(Util.GetBinaryResource("encounter_gold_h.pkl"));
|
||||
var h_s = EncounterArea.GetArray2_H(Util.GetBinaryResource("encounter_silver_h.pkl"));
|
||||
var safari_gs = EncounterSafari_GSC;
|
||||
var bcc_gs = EncounterBCC_GSC;
|
||||
|
||||
MarkEncountersVersion(bcc_gs, GameVersion.GS);
|
||||
MarkEncountersVersion(f, GameVersion.GS);
|
||||
MarkEncountersVersion(g, GameVersion.GD);
|
||||
MarkEncountersVersion(s, GameVersion.SV);
|
||||
MarkEncountersVersion(h_g, GameVersion.GD);
|
||||
MarkEncountersVersion(h_s, GameVersion.SV);
|
||||
MarkEncountersVersion(safari_gs, GameVersion.GS);
|
||||
|
||||
return AddExtraTableSlots(g, s, h_g, h_s, f, bcc_gs, safari_gs);
|
||||
}
|
||||
|
||||
private static EncounterArea[] GetSlots_C(EncounterArea[] f)
|
||||
{
|
||||
// Grass/Water
|
||||
var c = EncounterArea.GetArray2_GW(Util.GetBinaryResource("encounter_crystal.pkl"));
|
||||
// Headbutt/Rock Smash
|
||||
var h_c = EncounterArea.GetArray2_H(Util.GetBinaryResource("encounter_crystal_h.pkl"));
|
||||
var safari_c = EncounterSafari_GSC;
|
||||
var bcc_c = EncounterBCC_GSC;
|
||||
|
||||
MarkEncountersVersion(bcc_c, GameVersion.C);
|
||||
MarkEncountersVersion(safari_c, GameVersion.C);
|
||||
MarkEncountersVersion(f, GameVersion.C);
|
||||
MarkEncountersVersion(c, GameVersion.C);
|
||||
MarkEncountersVersion(h_c, GameVersion.C);
|
||||
|
||||
var extra = AddExtraTableSlots(c, h_c, f, bcc_c, safari_c);
|
||||
MarkSlotLocation(ref extra);
|
||||
return extra;
|
||||
}
|
||||
|
||||
private static readonly int[] Roaming_MetLocation_GSC_Grass =
|
||||
{
|
||||
// Routes 29, 30-31, 33, 34, 35, 36-37, 38-39, 42, 43, 44, 45-46 can be encountered in grass
|
||||
2, 4, 5, 8, 11, 15, 18, 20, 21,
|
||||
25, 26, 34, 37, 39, 43, 45,
|
||||
};
|
||||
|
||||
private static readonly EncounterArea[] EncounterBCC_GSC = { new EncounterArea {
|
||||
Location = 19,
|
||||
Slots = new EncounterSlot[]
|
||||
{
|
||||
new EncounterSlot1 {Species = 010, LevelMin = 07, LevelMax = 18, Rate = 20, SlotNumber = 0}, // Caterpie
|
||||
new EncounterSlot1 {Species = 013, LevelMin = 07, LevelMax = 18, Rate = 20, SlotNumber = 1}, // Weedle
|
||||
new EncounterSlot1 {Species = 011, LevelMin = 09, LevelMax = 18, Rate = 10, SlotNumber = 2}, // Metapod
|
||||
new EncounterSlot1 {Species = 014, LevelMin = 09, LevelMax = 18, Rate = 10, SlotNumber = 3}, // Kakuna
|
||||
new EncounterSlot1 {Species = 012, LevelMin = 12, LevelMax = 15, Rate = 05, SlotNumber = 4}, // Butterfree
|
||||
new EncounterSlot1 {Species = 015, LevelMin = 12, LevelMax = 15, Rate = 05, SlotNumber = 5}, // Beedrill
|
||||
new EncounterSlot1 {Species = 048, LevelMin = 10, LevelMax = 16, Rate = 10, SlotNumber = 6}, // Venonat
|
||||
new EncounterSlot1 {Species = 046, LevelMin = 10, LevelMax = 17, Rate = 10, SlotNumber = 7}, // Paras
|
||||
new EncounterSlot1 {Species = 123, LevelMin = 13, LevelMax = 14, Rate = 05, SlotNumber = 8}, // Scyther
|
||||
new EncounterSlot1 {Species = 127, LevelMin = 13, LevelMax = 14, Rate = 05, SlotNumber = 9}, // Pinsir
|
||||
}
|
||||
}};
|
||||
|
||||
private static readonly EncounterArea[] EncounterSafari_GSC = { new EncounterArea {
|
||||
Location = 81,
|
||||
Slots = new EncounterSlot[]
|
||||
{
|
||||
new EncounterSlot1 {Species = 129, LevelMin = 10, LevelMax = 10, Type = SlotType.Old_Rod_Safari}, // Magikarp
|
||||
new EncounterSlot1 {Species = 098, LevelMin = 10, LevelMax = 10, Type = SlotType.Old_Rod_Safari}, // Krabby
|
||||
new EncounterSlot1 {Species = 098, LevelMin = 20, LevelMax = 20, Type = SlotType.Good_Rod_Safari}, // Krabby
|
||||
new EncounterSlot1 {Species = 129, LevelMin = 20, LevelMax = 20, Type = SlotType.Good_Rod_Safari}, // Magikarp
|
||||
new EncounterSlot1 {Species = 222, LevelMin = 20, LevelMax = 20, Type = SlotType.Good_Rod_Safari}, // Corsola
|
||||
new EncounterSlot1 {Species = 120, LevelMin = 20, LevelMax = 20, Type = SlotType.Good_Rod_Safari}, // Staryu
|
||||
new EncounterSlot1 {Species = 098, LevelMin = 40, LevelMax = 40, Type = SlotType.Super_Rod_Safari}, // Krabby
|
||||
new EncounterSlot1 {Species = 222, LevelMin = 40, LevelMax = 40, Type = SlotType.Super_Rod_Safari}, // Corsola
|
||||
new EncounterSlot1 {Species = 120, LevelMin = 40, LevelMax = 40, Type = SlotType.Super_Rod_Safari}, // Staryu
|
||||
new EncounterSlot1 {Species = 121, LevelMin = 40, LevelMax = 40, Type = SlotType.Super_Rod_Safari}, // Kingler
|
||||
}
|
||||
}};
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_GSC_Common =
|
||||
{
|
||||
new EncounterStatic { Species = 152, Level = 05, Location = 001, Version = GameVersion.GSC }, // Chikorita @ New Bark Town
|
||||
new EncounterStatic { Species = 155, Level = 05, Location = 001, Version = GameVersion.GSC }, // Cyndaquil @ New Bark Town
|
||||
new EncounterStatic { Species = 158, Level = 05, Location = 001, Version = GameVersion.GSC }, // Totodile @ New Bark Town
|
||||
|
||||
new EncounterStatic { Species = 175, Level = 05, Version = GameVersion.GSC, EggLocation = 256 }, // Togepi
|
||||
new EncounterStatic { Species = 131, Level = 20, Location = 010, Version = GameVersion.GSC }, // Lapras @ Union Cave
|
||||
new EncounterStatic { Species = 133, Level = 20, Location = 016, Version = GameVersion.GSC }, // Eevee @ Goldenrod City
|
||||
|
||||
new EncounterStatic { Species = 185, Level = 20, Location = 020, Version = GameVersion.GSC }, // Sudowoodo @ Route 36
|
||||
new EncounterStatic { Species = 236, Level = 10, Location = 035, Version = GameVersion.GSC }, // Tyrogue @ Mt. Mortar
|
||||
|
||||
new EncounterStatic { Species = 130, Level = 30, Location = 038, Version = GameVersion.GSC, Shiny = true, }, // Gyarados @ Lake of Rage
|
||||
new EncounterStatic { Species = 074, Level = 21, Location = 036, Version = GameVersion.GSC }, // Geodude @ Rocket Hideout (Mahogany Town)
|
||||
new EncounterStatic { Species = 109, Level = 21, Location = 036, Version = GameVersion.GSC }, // Koffing @ Rocket Hideout (Mahogany Town)
|
||||
new EncounterStatic { Species = 100, Level = 23, Location = 036, Version = GameVersion.GSC }, // Voltorb @ Rocket Hideout (Mahogany Town)
|
||||
new EncounterStatic { Species = 101, Level = 23, Location = 036, Version = GameVersion.GSC }, // Electrode @ Rocket Hideout (Mahogany Town)
|
||||
new EncounterStatic { Species = 143, Level = 50, Location = 061, Version = GameVersion.GSC }, // Snorlax @ Vermillion City
|
||||
|
||||
new EncounterStatic { Species = 083, Level = 05, Moves = new [] { 226, 14, 97, 37 }, Version = GameVersion.Stadium2 }, // Stadium 2 Baton Pass Farfetch'd
|
||||
new EncounterStatic { Species = 207, Level = 05, Moves = new [] { 89, 68, 17 }, Version = GameVersion.Stadium2 }, // Stadium 2 Earthquake Gligar
|
||||
};
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_GS_Exclusive =
|
||||
{
|
||||
new EncounterStatic { Species = 245, Level = 40, Version = GameVersion.GS }, // Suicune
|
||||
|
||||
new EncounterStatic { Species = 249, Level = 70, Version = GameVersion.GD }, // Lugia @ Whirl Islands
|
||||
new EncounterStatic { Species = 249, Level = 40, Version = GameVersion.SV }, // Lugia @ Whirl Islands
|
||||
|
||||
new EncounterStatic { Species = 250, Level = 40, Version = GameVersion.GD }, // Ho-Oh @ Tin Tower
|
||||
new EncounterStatic { Species = 250, Level = 70, Version = GameVersion.SV }, // Ho-Oh @ Tin Tower
|
||||
|
||||
new EncounterStatic { Species = 137, Level = 15, Version = GameVersion.GS }, // Porygon @ Celadon Game Corner
|
||||
new EncounterStatic { Species = 133, Level = 15, Version = GameVersion.GS }, // Eevee @ Celadon Game Corner
|
||||
new EncounterStatic { Species = 122, Level = 15, Version = GameVersion.GS }, // Mr. Mime @ Celadon Game Corner
|
||||
|
||||
new EncounterStatic { Species = 063, Level = 10, Version = GameVersion.GS }, // Abra @ Goldenrod City (Game Corner)
|
||||
new EncounterStatic { Species = 147, Level = 10, Version = GameVersion.GS }, // Dratini @ Goldenrod City (Game Corner)
|
||||
new EncounterStatic { Species = 023, Level = 10, Version = GameVersion.GS }, // Ekans @ Goldenrod City (Game Corner) (Gold)
|
||||
new EncounterStatic { Species = 027, Level = 10, Version = GameVersion.GS }, // Sandshrew @ Goldenrod City (Game Corner) (Silver)
|
||||
};
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_C_Exclusive =
|
||||
{
|
||||
new EncounterStatic { Species = 245, Level = 40, Location = 023, Version = GameVersion.C }, // Suicune @ Tin Tower
|
||||
|
||||
new EncounterStatic { Species = 172, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Pichu Dizzy Punch
|
||||
new EncounterStatic { Species = 173, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Cleffa Dizzy Punch
|
||||
new EncounterStatic { Species = 174, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Igglybuff Dizzy Punch
|
||||
new EncounterStatic { Species = 236, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Tyrogue Dizzy Punch
|
||||
new EncounterStatic { Species = 238, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Smoochum Dizzy Punch
|
||||
new EncounterStatic { Species = 239, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Elekid Dizzy Punch
|
||||
new EncounterStatic { Species = 240, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Magby Dizzy Punch
|
||||
|
||||
new EncounterStatic { Species = 147, Level = 15, Location = 042, Version = GameVersion.C, Moves = new [] {245} }, // Dratini ExtremeSpeed
|
||||
|
||||
new EncounterStatic { Species = 249, Level = 60, Location = 031, Version = GameVersion.C }, // Lugia @ Whirl Islands
|
||||
new EncounterStatic { Species = 250, Level = 60, Location = 023, Version = GameVersion.C }, // Ho-Oh @ Tin Tower
|
||||
new EncounterStatic { Species = 251, Level = 30, Location = 014, Version = GameVersion.EventsGBGen2 }, // Celebi @ Ilex Forest
|
||||
|
||||
new EncounterStatic { Species = 137, Level = 15, Location = 071, Version = GameVersion.C }, // Porygon @ Celadon Game Corner
|
||||
new EncounterStatic { Species = 025, Level = 25, Location = 071, Version = GameVersion.C }, // Pikachu @ Celadon Game Corner
|
||||
new EncounterStatic { Species = 246, Level = 40, Location = 071, Version = GameVersion.C }, // Larvitar @ Celadon Game Corner
|
||||
|
||||
new EncounterStatic { Species = 063, Level = 05, Location = 016, Version = GameVersion.C }, // Abra @ Goldenrod City (Game Corner)
|
||||
new EncounterStatic { Species = 104, Level = 15, Location = 016, Version = GameVersion.C }, // Cubone @ Goldenrod City (Game Corner)
|
||||
new EncounterStatic { Species = 202, Level = 15, Location = 016, Version = GameVersion.C }, // Wobbuffet @ Goldenrod City (Game Corner)
|
||||
};
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_GSC_Roam =
|
||||
{
|
||||
new EncounterStatic { Species = 243, Level = 40, Roaming = true }, // Raikou
|
||||
new EncounterStatic { Species = 244, Level = 40, Roaming = true }, // Entei
|
||||
new EncounterStatic { Species = 245, Level = 40, Roaming = true, Version = GameVersion.GS }, // Suicune
|
||||
};
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_GS = Encounter_GSC_Common.Concat(Encounter_GS_Exclusive).Concat(Encounter_GSC_Roam.SelectMany(e => e.Clone(Roaming_MetLocation_GSC_Grass))).ToArray();
|
||||
private static readonly EncounterStatic[] Encounter_C = Encounter_GSC_Common.Concat(Encounter_C_Exclusive).Concat(Encounter_GSC_Roam.Take(2).SelectMany(e => e.Clone(Roaming_MetLocation_GSC_Grass))).ToArray();
|
||||
private static readonly EncounterStatic[] Encounter_GSC = Encounter_GSC_Common.Concat(Encounter_GS_Exclusive).Concat(Encounter_C_Exclusive).Concat(Encounter_GSC_Roam.SelectMany(e => e.Clone(Roaming_MetLocation_GSC_Grass))).ToArray();
|
||||
|
||||
internal static readonly EncounterTrade[] TradeGift_GSC =
|
||||
{
|
||||
new EncounterTrade { Species = 095, Generation = 2, Level = 03, Gender = 0, TID = 48926, IVs = new[] {08, 09, 06, 06, 06, 06} }, // Onix @ Violet City for Bellsprout [wild]
|
||||
new EncounterTrade { Species = 066, Generation = 2, Level = 05, Gender = 1, TID = 37460, IVs = new[] {12, 03, 07, 06, 06, 06} }, // Machop @ Goldenrod City for Drowzee [wild 9, hatched egg 5]
|
||||
new EncounterTrade { Species = 100, Generation = 2, Level = 05, Gender = 2, TID = 29189, IVs = new[] {08, 09, 08, 08, 08, 08} }, // Voltorb @ Olivine City for Krabby [egg]
|
||||
new EncounterTrade { Species = 112, Generation = 2, Level = 30, Gender = 0, TID = 00283, IVs = new[] {12, 07, 07, 06, 06, 06} }, // Rhydon @ Blackthorn City for Dragonair [blue jp game corner]
|
||||
new EncounterTrade { Species = 142, Generation = 2, Level = 05, Gender = 0, TID = 26491, IVs = new[] {08, 09, 06, 06, 06, 06} }, // Aerodactyl @ Route 14 for Chansey [egg]
|
||||
new EncounterTrade { Species = 078, Generation = 2, Level = 14, Gender = 0, TID = 15616, IVs = new[] {08, 09, 06, 06, 06, 06} }, // Rapidash @ Pewter City for Gloom [wild]
|
||||
|
||||
new EncounterTrade { Species = 085, Generation = 2, Level = 30, Gender = 0, TID = 00283, IVs = new[] {12, 07, 07, 06, 06, 06} }, // Dodrio @ Blackthorn City for Dragonair [blue jp game corner]
|
||||
new EncounterTrade { Species = 178, Generation = 2, Level = 15, Gender = 0, TID = 15616, IVs = new[] {08, 09, 06, 08, 06, 06} }, // Xatu @ Pewter City for Haunter [wild]
|
||||
new EncounterTrade { Species = 082, Generation = 2, Level = 16, Gender = 2, TID = 50082, IVs = new[] {08, 09, 06, 06, 06, 06} }, // Magneton @ Power Plant for Dugtrio [wild]
|
||||
|
||||
new EncounterTrade { Species = 213, Generation = 2, Level = 15, TID = 00518 } // Shuckle @ Cianwood City for free
|
||||
};
|
||||
internal static readonly string[][] TradeGift_GSC_OTs =
|
||||
{
|
||||
new[] { "コンタ", "KYLE" },
|
||||
new[] { "ナオキ", "MIKE" },
|
||||
new[] { "ゲン", "TIM" },
|
||||
new[] { "ミサコ", "EMY" },
|
||||
new[] { "キヨミ", "KIM" },
|
||||
new[] { "デンジ", "CHRIS" },
|
||||
|
||||
new[] { "ミサコ", "EMY" },
|
||||
new[] { "デンジ", "CHRIS" },
|
||||
new[] { "モリオ", "FOREST" },
|
||||
|
||||
new[] { "セイジ", "MANIA" },
|
||||
};
|
||||
}
|
||||
}
|
||||
654
PKHeX.Core/Legality/Encounters/Data/Encounters3.cs
Normal file
654
PKHeX.Core/Legality/Encounters/Data/Encounters3.cs
Normal file
|
|
@ -0,0 +1,654 @@
|
|||
using System.Linq;
|
||||
using static PKHeX.Core.EncounterUtil;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
internal static class Encounters3
|
||||
{
|
||||
internal static readonly EncounterArea[] SlotsR, SlotsS, SlotsE;
|
||||
internal static readonly EncounterArea[] SlotsFR, SlotsLG;
|
||||
internal static readonly EncounterStatic[] StaticR, StaticS, StaticE;
|
||||
internal static readonly EncounterStatic[] StaticFR, StaticLG;
|
||||
|
||||
private const int SafariLocation_RSE = 57;
|
||||
private const int SafariLocation_FRLG = 136;
|
||||
|
||||
static Encounters3()
|
||||
{
|
||||
StaticR = Encounter_RSE;
|
||||
StaticS = Encounter_RSE;
|
||||
StaticE = Encounter_RSE;
|
||||
StaticFR = Encounter_FRLG;
|
||||
StaticLG = Encounter_FRLG;
|
||||
|
||||
EncounterArea[] get(string resource, string ident)
|
||||
=> EncounterArea.GetArray3(Data.UnpackMini(Util.GetBinaryResource($"encounter_{resource}.pkl"), ident));
|
||||
|
||||
var R_Slots = get("r", "ru");
|
||||
var S_Slots = get("s", "sa");
|
||||
var E_Slots = get("e", "em");
|
||||
var FR_Slots = get("fr", "fr");
|
||||
var LG_Slots = get("lg", "lg");
|
||||
|
||||
ReduceAreasSize(ref R_Slots);
|
||||
ReduceAreasSize(ref S_Slots);
|
||||
ReduceAreasSize(ref E_Slots);
|
||||
MarkG3Slots_FRLG(ref FR_Slots);
|
||||
MarkG3Slots_FRLG(ref LG_Slots);
|
||||
|
||||
MarkG3SlotsSafariZones(ref R_Slots, SafariLocation_RSE);
|
||||
MarkG3SlotsSafariZones(ref S_Slots, SafariLocation_RSE);
|
||||
MarkG3SlotsSafariZones(ref E_Slots, SafariLocation_RSE);
|
||||
MarkG3SlotsSafariZones(ref FR_Slots, SafariLocation_FRLG);
|
||||
MarkG3SlotsSafariZones(ref LG_Slots, SafariLocation_FRLG);
|
||||
|
||||
MarkEncountersStaticMagnetPull(ref R_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref S_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref E_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref FR_Slots, PersonalTable.SM);
|
||||
MarkEncountersStaticMagnetPull(ref LG_Slots, PersonalTable.SM);
|
||||
|
||||
SlotsR = AddExtraTableSlots(R_Slots, SlotsRSEAlt);
|
||||
SlotsS = AddExtraTableSlots(S_Slots, SlotsRSEAlt);
|
||||
SlotsE = AddExtraTableSlots(E_Slots, SlotsRSEAlt);
|
||||
SlotsFR = AddExtraTableSlots(FR_Slots, SlotsFRLGAlt);
|
||||
SlotsLG = AddExtraTableSlots(LG_Slots, SlotsFRLGAlt);
|
||||
|
||||
MarkSlotLocation(ref SlotsR);
|
||||
MarkSlotLocation(ref SlotsS);
|
||||
MarkSlotLocation(ref SlotsE);
|
||||
MarkSlotLocation(ref SlotsFR);
|
||||
MarkSlotLocation(ref SlotsLG);
|
||||
}
|
||||
|
||||
private static void MarkG3Slots_FRLG(ref EncounterArea[] Areas)
|
||||
{
|
||||
// Remove slots for unown, those slots does not contains alt form info, it will be added manually in SlotsRFLGAlt
|
||||
// Group areas by location id, the raw data have areas with different slots but the same location id
|
||||
Areas = Areas.Where(a => a.Location < 188 || a.Location > 194).GroupBy(a => a.Location).Select(a => new EncounterArea
|
||||
{
|
||||
Location = a.First().Location,
|
||||
Slots = a.SelectMany(m => m.Slots).ToArray()
|
||||
}).ToArray();
|
||||
}
|
||||
|
||||
private static void MarkG3SlotsSafariZones(ref EncounterArea[] Areas, int location)
|
||||
{
|
||||
foreach (EncounterArea Area in Areas.Where(a => a.Location == location))
|
||||
foreach (EncounterSlot Slot in Area.Slots)
|
||||
Slot.Type = Slot.Type.GetSafariSlotType();
|
||||
}
|
||||
private static SlotType GetSafariSlotType(this SlotType t)
|
||||
{
|
||||
switch (t)
|
||||
{
|
||||
case SlotType.Grass: return SlotType.Grass_Safari;
|
||||
case SlotType.Surf: return SlotType.Surf_Safari;
|
||||
case SlotType.Old_Rod: return SlotType.Old_Rod_Safari;
|
||||
case SlotType.Good_Rod: return SlotType.Good_Rod_Safari;
|
||||
case SlotType.Super_Rod: return SlotType.Super_Rod_Safari;
|
||||
case SlotType.Rock_Smash: return SlotType.Rock_Smash_Safari;
|
||||
default: return t;
|
||||
}
|
||||
}
|
||||
|
||||
private static readonly int[] Roaming_MetLocation_FRLG =
|
||||
{
|
||||
//Route 1-25 encounter is possible either in grass or on water
|
||||
101,102,103,104,105,106,107,108,109,110,
|
||||
111,112,113,114,115,116,117,118,119,120,
|
||||
121,122,123,124,125
|
||||
};
|
||||
|
||||
private static readonly int[] Roaming_MetLocation_RSE =
|
||||
{
|
||||
//Roaming encounter is possible in tall grass and on water
|
||||
//Route 101-138
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
|
||||
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
|
||||
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
|
||||
46, 47, 48, 49,
|
||||
};
|
||||
private static readonly EncounterStatic[] Encounter_RSE_Roam =
|
||||
{
|
||||
new EncounterStatic { Species = 380, Level = 40, Version = GameVersion.S, Roaming = true }, // Latias
|
||||
new EncounterStatic { Species = 380, Level = 40, Version = GameVersion.E, Roaming = true }, // Latias
|
||||
new EncounterStatic { Species = 381, Level = 40, Version = GameVersion.R, Roaming = true }, // Latios
|
||||
new EncounterStatic { Species = 381, Level = 40, Version = GameVersion.E, Roaming = true }, // Latios
|
||||
};
|
||||
private static readonly EncounterStatic[] Encounter_RSE_Regular =
|
||||
{
|
||||
// Starters
|
||||
new EncounterStatic { Gift = true, Species = 152, Level = 05, Location = 000, Version = GameVersion.E, }, // Chikorita @ Littleroot Town
|
||||
new EncounterStatic { Gift = true, Species = 155, Level = 05, Location = 000, Version = GameVersion.E, }, // Cyndaquil
|
||||
new EncounterStatic { Gift = true, Species = 158, Level = 05, Location = 000, Version = GameVersion.E, }, // Totodile
|
||||
new EncounterStatic { Gift = true, Species = 252, Level = 05, Location = 016, }, // Treecko @ Route 101
|
||||
new EncounterStatic { Gift = true, Species = 255, Level = 05, Location = 016, }, // Torchic
|
||||
new EncounterStatic { Gift = true, Species = 258, Level = 05, Location = 016, }, // Mudkip
|
||||
|
||||
// Fossil @ Rustboro City
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 20, Location = 010, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 20, Location = 010, }, // Anorith
|
||||
|
||||
// Gift
|
||||
new EncounterStatic { Gift = true, Species = 351, Level = 25, Location = 034, }, // Castform @ Weather Institute
|
||||
new EncounterStatic { Gift = true, Species = 374, Level = 05, Location = 013, }, // Beldum @ Mossdeep City
|
||||
new EncounterStatic { Gift = true, Species = 360, Level = 05, EggLocation = 253}, // Wynaut Egg
|
||||
|
||||
// Stationary
|
||||
new EncounterStatic { Species = 352, Level = 30, Location = 034, }, // Kecleon @ Route 119
|
||||
new EncounterStatic { Species = 352, Level = 30, Location = 035, }, // Kecleon @ Route 120
|
||||
new EncounterStatic { Species = 101, Level = 30, Location = 066, Version = GameVersion.RS, }, // Electrode @ Hideout (R:Magma Hideout/S:Aqua Hideout)
|
||||
new EncounterStatic { Species = 101, Level = 30, Location = 197, Version = GameVersion.E, }, // Electrode @ Aqua Hideout
|
||||
new EncounterStatic { Species = 185, Level = 40, Location = 058, Version = GameVersion.E, }, // Sudowoodo @ Battle Frontier
|
||||
|
||||
// Stationary Lengendary
|
||||
new EncounterStatic { Species = 377, Level = 40, Location = 082, }, // Regirock @ Desert Ruins
|
||||
new EncounterStatic { Species = 378, Level = 40, Location = 081, }, // Regice @ Island Cave
|
||||
new EncounterStatic { Species = 379, Level = 40, Location = 083, }, // Registeel @ Ancient Tomb
|
||||
new EncounterStatic { Species = 380, Level = 50, Location = 073, Version = GameVersion.R }, // Latias @ Southern Island
|
||||
new EncounterStatic { Species = 380, Level = 50, Location = 073, Version = GameVersion.E, Fateful = true }, // Latias @ Southern Island
|
||||
new EncounterStatic { Species = 381, Level = 50, Location = 073, Version = GameVersion.S }, // Latios @ Southern Island
|
||||
new EncounterStatic { Species = 381, Level = 50, Location = 073, Version = GameVersion.E, Fateful = true }, // Latios @ Southern Island
|
||||
new EncounterStatic { Species = 382, Level = 45, Location = 072, Version = GameVersion.S, }, // Kyogre @ Cave of Origin
|
||||
new EncounterStatic { Species = 382, Level = 70, Location = 203, Version = GameVersion.E, }, // Kyogre @ Marine Cave
|
||||
new EncounterStatic { Species = 383, Level = 45, Location = 072, Version = GameVersion.R, }, // Groudon @ Cave of Origin
|
||||
new EncounterStatic { Species = 383, Level = 70, Location = 205, Version = GameVersion.E, }, // Groudon @ Terra Cave
|
||||
new EncounterStatic { Species = 384, Level = 70, Location = 085, }, // Rayquaza @ Sky Pillar
|
||||
|
||||
// Event
|
||||
new EncounterStatic { Species = 151, Level = 30, Location = 201, Version = GameVersion.E, Fateful = true }, // Mew @ Faraway Island (Unreleased outside of Japan)
|
||||
new EncounterStatic { Species = 249, Level = 70, Location = 211, Version = GameVersion.E, Fateful = true }, // Lugia @ Navel Rock
|
||||
new EncounterStatic { Species = 250, Level = 70, Location = 211, Version = GameVersion.E, Fateful = true }, // Ho-Oh @ Navel Rock
|
||||
new EncounterStatic { Species = 386, Level = 30, Location = 200, Version = GameVersion.E, Fateful = true, Form = 3 }, // Deoxys @ Birth Island
|
||||
};
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_FRLG_Roam =
|
||||
{
|
||||
new EncounterStatic { Species = 243, Level = 50, Roaming = true, }, // Raikou
|
||||
new EncounterStatic { Species = 244, Level = 50, Roaming = true, }, // Entei
|
||||
new EncounterStatic { Species = 245, Level = 50, Roaming = true, }, // Suicune
|
||||
};
|
||||
private static readonly EncounterStatic[] Encounter_FRLG_Stationary =
|
||||
{
|
||||
// Starters @ Pallet Town
|
||||
new EncounterStatic { Gift = true, Species = 1, Level = 05, Location = 088, }, // Bulbasaur
|
||||
new EncounterStatic { Gift = true, Species = 4, Level = 05, Location = 088, }, // Charmander
|
||||
new EncounterStatic { Gift = true, Species = 7, Level = 05, Location = 088, }, // Squirtle
|
||||
|
||||
// Fossil @ Cinnabar Island
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 05, Location = 096, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 05, Location = 096, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 05, Location = 096, }, // Aerodactyl
|
||||
|
||||
// Gift
|
||||
new EncounterStatic { Gift = true, Species = 106, Level = 25, Location = 098, }, // Hitmonlee @ Saffron City
|
||||
new EncounterStatic { Gift = true, Species = 107, Level = 25, Location = 098, }, // Hitmonchan @ Saffron City
|
||||
new EncounterStatic { Gift = true, Species = 129, Level = 05, Location = 099, }, // Magikarp @ Route 4
|
||||
new EncounterStatic { Gift = true, Species = 131, Level = 25, Location = 134, }, // Lapras @ Silph Co.
|
||||
new EncounterStatic { Gift = true, Species = 133, Level = 25, Location = 094, }, // Eevee @ Celadon City
|
||||
new EncounterStatic { Gift = true, Species = 175, Level = 05, EggLocation = 253 }, // Togepi Egg
|
||||
|
||||
// Celadon City Game Corner
|
||||
new EncounterStatic { Gift = true, Species = 063, Level = 09, Location = 94, Version = GameVersion.FR }, // Abra
|
||||
new EncounterStatic { Gift = true, Species = 035, Level = 08, Location = 94, Version = GameVersion.FR }, // Clefairy
|
||||
new EncounterStatic { Gift = true, Species = 123, Level = 25, Location = 94, Version = GameVersion.FR }, // Scyther
|
||||
new EncounterStatic { Gift = true, Species = 147, Level = 18, Location = 94, Version = GameVersion.FR }, // Dratini
|
||||
new EncounterStatic { Gift = true, Species = 137, Level = 26, Location = 94, Version = GameVersion.FR }, // Porygon
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 063, Level = 07, Location = 94, Version = GameVersion.LG }, // Abra
|
||||
new EncounterStatic { Gift = true, Species = 035, Level = 12, Location = 94, Version = GameVersion.LG }, // Clefairy
|
||||
new EncounterStatic { Gift = true, Species = 127, Level = 18, Location = 94, Version = GameVersion.LG }, // Pinsir
|
||||
new EncounterStatic { Gift = true, Species = 147, Level = 24, Location = 94, Version = GameVersion.LG }, // Dratini
|
||||
new EncounterStatic { Gift = true, Species = 137, Level = 18, Location = 94, Version = GameVersion.LG }, // Porygon
|
||||
|
||||
// Stationary
|
||||
new EncounterStatic { Species = 143, Level = 30, Location = 112, }, // Snorlax @ Route 12
|
||||
new EncounterStatic { Species = 143, Level = 30, Location = 116, }, // Snorlax @ Route 16
|
||||
new EncounterStatic { Species = 101, Level = 34, Location = 142, }, // Electrode @ Power Plant
|
||||
new EncounterStatic { Species = 097, Level = 30, Location = 176, }, // Hypno @ Berry Forest
|
||||
|
||||
// Stationary Lengerdary
|
||||
new EncounterStatic { Species = 144, Level = 50, Location = 139, }, // Articuno @ Seafoam Islands
|
||||
new EncounterStatic { Species = 145, Level = 50, Location = 142, }, // Zapdos @ Power Plant
|
||||
new EncounterStatic { Species = 146, Level = 50, Location = 175, }, // Moltres @ Mt. Ember.
|
||||
new EncounterStatic { Species = 150, Level = 70, Location = 141, }, // Mewtwo @ Cerulean Cave
|
||||
|
||||
// Event
|
||||
new EncounterStatic { Species = 249, Level = 70, Location = 174, Fateful = true }, // Lugia @ Navel Rock
|
||||
new EncounterStatic { Species = 250, Level = 70, Location = 174, Fateful = true }, // Ho-Oh @ Navel Rock
|
||||
new EncounterStatic { Species = 386, Level = 30, Location = 187, Version = GameVersion.FR, Form = 1, Fateful = true }, // Deoxys @ Birth Island
|
||||
new EncounterStatic { Species = 386, Level = 30, Location = 187, Version = GameVersion.LG, Form = 2, Fateful = true }, // Deoxys @ Birth Island
|
||||
};
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_RSE = Encounter_RSE_Roam.SelectMany(e => e.Clone(Roaming_MetLocation_RSE)).Concat(Encounter_RSE_Regular).ToArray();
|
||||
private static readonly EncounterStatic[] Encounter_FRLG = Encounter_FRLG_Roam.SelectMany(e => e.Clone(Roaming_MetLocation_FRLG)).Concat(Encounter_FRLG_Stationary).ToArray();
|
||||
|
||||
private static readonly int[] TradeContest_Cool = { 30, 05, 05, 05, 05, 10 };
|
||||
private static readonly int[] TradeContest_Beauty = { 05, 30, 05, 05, 05, 10 };
|
||||
private static readonly int[] TradeContest_Cute = { 05, 05, 30, 05, 05, 10 };
|
||||
private static readonly int[] TradeContest_Clever = { 05, 05, 05, 30, 05, 10 };
|
||||
private static readonly int[] TradeContest_Tough = { 05, 05, 05, 05, 30, 10 };
|
||||
internal static readonly EncounterTrade[] TradeGift_RSE =
|
||||
{
|
||||
new EncounterTrade { Species = 296, Ability = 2, TID = 49562, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {5,5,4,4,4,4}, Level = 05, Nature = Nature.Hardy, Contest = TradeContest_Tough, Version = GameVersion.RS, }, // Slakoth (Level 5 Breeding) -> Makuhita
|
||||
new EncounterTrade { Species = 300, Ability = 1, TID = 02259, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {5,4,4,5,4,4}, Level = 03, Nature = Nature.Timid, Contest = TradeContest_Cute, Version = GameVersion.RS, }, // Pikachu (Level 3 Viridiam Forest) -> Skitty
|
||||
new EncounterTrade { Species = 222, Ability = 2, TID = 50183, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {4,4,5,4,4,5}, Level = 21, Nature = Nature.Calm, Contest = TradeContest_Beauty, Version = GameVersion.RS, }, // Bellossom (Level 21 Odish -> Gloom -> Bellossom) -> Corsola
|
||||
new EncounterTrade { Species = 273, Ability = 2, TID = 38726, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {5,4,5,4,4,4}, Level = 04, Nature = Nature.Relaxed, Contest = TradeContest_Cool, Version = GameVersion.E, }, // Ralts (Level 4 Route 102) -> Seedot
|
||||
new EncounterTrade { Species = 311, Ability = 1, TID = 08460, SID = 00001, OTGender = 0, Gender = 1, IVs = new[] {4,4,4,5,5,4}, Level = 05, Nature = Nature.Hasty, Contest = TradeContest_Cute, Version = GameVersion.E, }, // Volbeat (Level 5 Breeding) -> Plusle
|
||||
new EncounterTrade { Species = 116, Ability = 1, TID = 46285, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {5,4,4,4,5,4}, Level = 05, Nature = Nature.Brave, Contest = TradeContest_Tough, Version = GameVersion.E, }, // Bagon Bagon (Level 5 Breeding) -> Horsea*
|
||||
new EncounterTrade { Species = 052, Ability = 1, TID = 25945, SID = 00001, OTGender = 1, Gender = 0, IVs = new[] {4,5,4,5,4,4}, Level = 03, Nature = Nature.Naive, Contest = TradeContest_Clever, Version = GameVersion.E, }, // Skitty (Level 3 Trade)-> Meowth*
|
||||
// If Pokémon with * is evolved in a Generation IV or V game, its Ability will become its second Ability.
|
||||
};
|
||||
internal static readonly EncounterTrade[] TradeGift_FRLG =
|
||||
{
|
||||
new EncounterTrade { Species = 122, Ability = 1, TID = 01985, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,15,17,24,23,22}, Nature = Nature.Timid, Contest = TradeContest_Clever,}, // Mr. Mime
|
||||
new EncounterTrade { Species = 029, Ability = 1, TID = 63184, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {22,18,25,19,15,22}, Nature = Nature.Bold, Contest = TradeContest_Tough, Version = GameVersion.FR, }, // Nidoran♀
|
||||
new EncounterTrade { Species = 032, Ability = 1, TID = 63184, SID = 00000, OTGender = 1, Gender = 0, IVs = new[] {19,25,18,22,22,15}, Nature = Nature.Lonely, Contest = TradeContest_Cool, Version = GameVersion.LG, }, // Nidoran♂ *
|
||||
new EncounterTrade { Species = 030, Ability = 1, TID = 13637, SID = 00000, OTGender = 0, Gender = 1, IVs = new[] {22,25,18,19,22,15}, Nature = Nature.Lonely, Contest = TradeContest_Cute, Version = GameVersion.FR,}, // Nidorina *
|
||||
new EncounterTrade { Species = 033, Ability = 1, TID = 13637, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {19,18,25,22,15,22}, Nature = Nature.Bold, Contest = TradeContest_Tough, Version = GameVersion.LG,}, // Nidorino *
|
||||
new EncounterTrade { Species = 108, Ability = 1, TID = 01239, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {24,19,21,15,23,21}, Nature = Nature.Relaxed, Contest = TradeContest_Tough, }, // Lickitung *
|
||||
new EncounterTrade { Species = 124, Ability = 1, TID = 36728, SID = 00000, OTGender = 0, Gender = 1, IVs = new[] {18,17,18,22,25,21}, Nature = Nature.Mild, Contest = TradeContest_Beauty, }, // Jynx
|
||||
new EncounterTrade { Species = 083, Ability = 1, TID = 08810, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,25,21,24,15,20}, Nature = Nature.Adamant, Contest = TradeContest_Cool, }, // Farfetch'd
|
||||
new EncounterTrade { Species = 101, Ability = 2, TID = 50298, SID = 00000, OTGender = 0, Gender = 2, IVs = new[] {19,16,18,25,25,19}, Nature = Nature.Hasty, Contest = TradeContest_Cool, }, // Electrode
|
||||
new EncounterTrade { Species = 114, Ability = 1, TID = 60042, SID = 00000, OTGender = 1, Gender = 0, IVs = new[] {22,17,25,16,23,20}, Nature = Nature.Sassy, Contest = TradeContest_Cute, }, // Tangela
|
||||
new EncounterTrade { Species = 086, Ability = 1, TID = 09853, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {24,15,22,16,23,22}, Nature = Nature.Bold, Contest = TradeContest_Tough, }, // Seel *
|
||||
// If Pokémon with * is evolved in a Generation IV or V game, its Ability will become its second Ability.
|
||||
};
|
||||
|
||||
#region AltSlots
|
||||
private static readonly int[] SafariZoneLocation_3 =
|
||||
{
|
||||
57, 136
|
||||
};
|
||||
private static readonly EncounterArea[] SlotsRSEAlt =
|
||||
{
|
||||
// Swarm can be passed from one game to another via mixing records, that means emerald swarms can occurs in r/s and r/s swarms in emerald
|
||||
// Ruby and Sapphire Swarm
|
||||
new EncounterArea {
|
||||
Location = 17, // Route 102
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 283, LevelMin = 3, LevelMax = 3, Type = SlotType.Grass}, // Surskit
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 29, // Route 114
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 283, LevelMin = 15, LevelMax = 15, Type = SlotType.Grass}, // Surskit
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 31, // Route 116
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 300, LevelMin = 15, LevelMax = 15, Type = SlotType.Grass}, // Skitty
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 32, // Route 117
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 283, LevelMin = 15, LevelMax = 15, Type = SlotType.Grass}, // Surskit
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 35, // Route 120
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 283, LevelMin = 28, LevelMax = 28, Type = SlotType.Grass}, // Surskit
|
||||
},},
|
||||
|
||||
//Emerald Swarm
|
||||
new EncounterArea {
|
||||
Location = 17, // Route 102
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 273, LevelMin = 3, LevelMax = 3, Type = SlotType.Grass}, // Seedot
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 29, // Route 114
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 274, LevelMin = 15, LevelMax = 15, Type = SlotType.Grass}, // Nuzleaf
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 31, // Route 116
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 300, LevelMin = 8, LevelMax = 8, Type = SlotType.Grass}, // Skitty
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 32, // Route 117
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 273, LevelMin = 13, LevelMax = 13, Type = SlotType.Grass}, // Seedot
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 35, // Route 120
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 273, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass}, // Seedot
|
||||
},},
|
||||
//Feebas fishing spot
|
||||
new EncounterArea {
|
||||
Location = 34, // Route 119
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 349, LevelMin = 20, LevelMax = 25, Type = SlotType.Super_Rod } // Feebas
|
||||
},},
|
||||
};
|
||||
private static readonly EncounterArea[] SlotsFRLGAlt =
|
||||
{
|
||||
new EncounterArea {
|
||||
Location = 188, // Monean Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 0 }, // Unown A
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 26 }, // Unown ?
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 189, // Liptoo Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 2 }, // Unown C
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 3 }, // Unown D
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 7 }, // Unown H
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 14 }, // Unown O
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 20 }, // Unown U
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 190, // Weepth Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 4 }, // Unown E
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 8 }, // Unown I
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 13 }, // Unown N
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 18 }, // Unown S
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 191, // Dilford Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 9 }, // Unown J
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 11 }, // Unown L
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 15 }, // Unown P
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 16 }, // Unown Q
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 17 }, // Unown R
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 192, // Scufib Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 5 }, // Unown F
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 6 }, // Unown G
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 10 }, // Unown K
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 19 }, // Unown T
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 24 }, // Unown Y
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 193, // Rixy Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 1 }, // Unown B
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 12 }, // Unown M
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 21 }, // Unown V
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 22 }, // Unown W
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 23 }, // Unown X
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 194, // Viapois Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 25 }, // Unown Z
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 27 }, // Unown !
|
||||
},}
|
||||
};
|
||||
#endregion
|
||||
|
||||
#region Colosseum
|
||||
internal static readonly EncounterStatic[] Encounter_Colo =
|
||||
{
|
||||
new EncounterStatic { Gift = true, Species = 196, Level = 25, Location = 254 }, // Espeon
|
||||
new EncounterStatic { Gift = true, Species = 197, Level = 26, Location = 254, Moves = new[] {044} }, // Umbreon (Bite)
|
||||
|
||||
new EncounterStaticShadow { Species = 296, Level = 30, Gauge = 03000, Moves = new[] {193,116,233,238}, Location = 005 }, // Makuhita: Miror B.Peon Trudly @ Phenac City
|
||||
|
||||
// missing locs: Realgam Tower
|
||||
new EncounterStaticShadow { Species = 153, Level = 30, Gauge = 03000, Moves = new[] {241,235,075,034}, Location = 003 }, // Bayleef: Cipher Peon Verde @ Phenac City
|
||||
new EncounterStaticShadow { Species = 156, Level = 30, Gauge = 03000, Moves = new[] {241,108,091,172}, Location = 003 }, // Quilava: Cipher Peon Rosso @ Phenac City
|
||||
new EncounterStaticShadow { Species = 159, Level = 30, Gauge = 03000, Moves = new[] {240,184,044,057}, Location = 003 }, // Croconaw: Cipher Peon Bluno @ Phenac City
|
||||
new EncounterStaticShadow { Species = 153, Level = 30, Gauge = 03000, Moves = new[] {241,235,075,034}, Location = 132 }, // Bayleef: Cipher Peon Verde @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 156, Level = 30, Gauge = 03000, Moves = new[] {241,108,091,172}, Location = 132 }, // Quilava: Cipher Peon Rosso @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 159, Level = 30, Gauge = 03000, Moves = new[] {240,184,044,057}, Location = 132 }, // Croconaw: Cipher Peon Bluno @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 153, Level = 30, Gauge = 03000, Moves = new[] {241,235,075,034}, Location = 069 }, // Bayleef: Cipher Peon Verde @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 156, Level = 30, Gauge = 03000, Moves = new[] {241,108,091,172}, Location = 069 }, // Quilava: Cipher Peon Rosso @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 159, Level = 30, Gauge = 03000, Moves = new[] {240,184,044,057}, Location = 069 }, // Croconaw: Cipher Peon Bluno @ Shadow PKMN Lab
|
||||
|
||||
new EncounterStaticShadow { Species = 218, Level = 30, Gauge = 04000, Moves = new[] {241,281,088,053}, Location = 015 }, // Slugma: Roller Boy Lon @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 164, Level = 30, Gauge = 03000, Moves = new[] {211,095,115,019}, Location = 015 }, // Noctowl: Rider Nover @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 180, Level = 30, Gauge = 03000, Moves = new[] {085,086,178,084}, Location = 015 }, // Flaaffy: St.Performer Diogo @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 188, Level = 30, Gauge = 03000, Moves = new[] {235,079,178,072}, Location = 015 }, // Skiploom: Rider Leba @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 195, Level = 30, Gauge = 04000, Moves = new[] {341,133,021,057}, Location = 015 }, // Quagsire: Bandana Guy Divel @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 200, Level = 30, Gauge = 04000, Moves = new[] {060,109,212,247}, Location = 015 }, // Misdreavus: Rider Vant @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 162, Level = 33, Gauge = 05000, Moves = new[] {231,270,098,070}, Location = 015 }, // Furret: Rogue Cail @ Pyrite Town
|
||||
|
||||
// missing loc: Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 193, Level = 33, Gauge = 05000, Moves = new[] {197,048,049,253}, Location = 025 }, // Yanma: Cipher Peon Nore @ Pyrite Bldg
|
||||
|
||||
new EncounterStaticShadow { Species = 223, Level = 20, Gauge = 04000, Moves = new[] {061,199,060,062}, Location = 028 }, // Remoraid: Miror B.Peon Reath @ Pyrite Bldg
|
||||
new EncounterStaticShadow { Species = 223, Level = 20, Gauge = 04000, Moves = new[] {061,199,060,062}, Location = 030 }, // Remoraid: Miror B.Peon Reath @ Pyrite Cave
|
||||
new EncounterStaticShadow { Species = 226, Level = 33, Gauge = 05000, Moves = new[] {017,048,061,036}, Location = 028 }, // Mantine: Miror B.Peon Ferma @ Pyrite Bldg
|
||||
new EncounterStaticShadow { Species = 226, Level = 33, Gauge = 05000, Moves = new[] {017,048,061,036}, Location = 030 }, // Mantine: Miror B.Peon Ferma @ Pyrite Cave
|
||||
|
||||
new EncounterStaticShadow { Species = 211, Level = 33, Gauge = 05000, Moves = new[] {042,107,040,057}, Location = 015 }, // Qwilfish: Hunter Doken @ Pyrite Bldg
|
||||
new EncounterStaticShadow { Species = 307, Level = 33, Gauge = 05000, Moves = new[] {197,347,093,136}, Location = 031 }, // Meditite: Rider Twan @ Pyrite Cave
|
||||
new EncounterStaticShadow { Species = 206, Level = 33, Gauge = 05000, Moves = new[] {180,137,281,036}, Location = 029 }, // Dunsparce: Rider Sosh @ Pyrite Cave
|
||||
new EncounterStaticShadow { Species = 333, Level = 33, Gauge = 05000, Moves = new[] {119,047,219,019}, Location = 032 }, // Swablu: Hunter Zalo @ Pyrite Cave
|
||||
|
||||
new EncounterStaticShadow { Species = 185, Level = 35, Gauge = 10000, Moves = new[] {175,335,067,157}, Location = 125 }, // Sudowoodo: Cipher Admin Miror B. @ Deep Colosseum -- (Realgam Tower missing)
|
||||
new EncounterStaticShadow { Species = 185, Level = 35, Gauge = 10000, Moves = new[] {175,335,067,157}, Location = 030 }, // Sudowoodo: Cipher Admin Miror B. @ Pyrite Cave
|
||||
|
||||
// missing locs: Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 237, Level = 38, Gauge = 06000, Moves = new[] {097,116,167,229}, Location = 039 }, // Hitmontop: Cipher Peon Skrub @ Agate Village
|
||||
new EncounterStaticShadow { Species = 237, Level = 38, Gauge = 06000, Moves = new[] {097,116,167,229}, Location = 132 }, // Hitmontop: Cipher Peon Skrub @ Snagem Hideout
|
||||
|
||||
new EncounterStaticShadow { Species = 166, Level = 40, Gauge = 06000, Moves = new[] {226,219,048,004}, Location = 047 }, // Ledian: Cipher Peon Kloak @ The Under
|
||||
new EncounterStaticShadow { Species = 166, Level = 40, Gauge = 06000, Moves = new[] {226,219,048,004}, Location = 132 }, // Ledian: Cipher Peon Kloak @ Snagem Hideout
|
||||
|
||||
// missing locs: Realgam Tower/Deep Colosseum
|
||||
new EncounterStaticShadow { Species = 244, Level = 40, Gauge = 13000, Moves = new[] {241,043,044,126}, Location = 076 }, // Entei: Cipher Admin Dakim @ Mt. Battle
|
||||
|
||||
// missing loc: Realgam Tower
|
||||
new EncounterStaticShadow { Species = 245, Level = 40, Gauge = 13000, Moves = new[] {240,043,016,057}, Location = 055 }, // Suicune (Surf): Cipher Admin Venus @ The Under
|
||||
new EncounterStaticShadow { Species = 245, Level = 40, Gauge = 13000, Moves = new[] {240,043,016,056}, Location = 000 }, // Suicune (Hydro Pump): Cipher Admin Venus @ Deep Colosseum
|
||||
|
||||
// missing locs: Realgam Tower/Deep Colosseum
|
||||
new EncounterStaticShadow { Species = 243, Level = 40, Gauge = 13000, Moves = new[] {240,043,098,087}, Location = 069 }, // Raikou: Cipher Admin Ein @ Shadow PKMN Lab
|
||||
|
||||
new EncounterStaticShadow { Species = 207, Level = 43, Gauge = 06000, Moves = new[] {185,028,040,163}, Location = 058 }, // Gligar: Hunter Frena @ The Under Subway
|
||||
new EncounterStaticShadow { Species = 207, Level = 43, Gauge = 06000, Moves = new[] {185,028,040,163}, Location = 133 }, // Gligar: Hunter Frena @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 234, Level = 43, Gauge = 06000, Moves = new[] {310,095,043,036}, Location = 058 }, // Stantler: Chaser Liaks @ The Under Subway
|
||||
new EncounterStaticShadow { Species = 234, Level = 43, Gauge = 06000, Moves = new[] {310,095,043,036}, Location = 133 }, // Stantler: Chaser Liaks @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 221, Level = 43, Gauge = 06000, Moves = new[] {203,316,091,059}, Location = 058 }, // Piloswine: Bodybuilder Lonia @ The Under Subway
|
||||
new EncounterStaticShadow { Species = 221, Level = 43, Gauge = 06000, Moves = new[] {203,316,091,059}, Location = 134 }, // Piloswine: Bodybuilder Lonia @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 215, Level = 43, Gauge = 06000, Moves = new[] {185,103,154,196}, Location = 058 }, // Sneasel: Rider Nelis @ The Under Subway
|
||||
new EncounterStaticShadow { Species = 215, Level = 43, Gauge = 06000, Moves = new[] {185,103,154,196}, Location = 134 }, // Sneasel: Rider Nelis @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 190, Level = 43, Gauge = 06000, Moves = new[] {226,321,154,129}, Location = 067 }, // Aipom: Cipher Peon Cole @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 198, Level = 43, Gauge = 06000, Moves = new[] {185,212,101,019}, Location = 067 }, // Murkrow: Cipher Peon Lare @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 205, Level = 43, Gauge = 06000, Moves = new[] {153,182,117,229}, Location = 067 }, // Forretress: Cipher Peon Vana @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 168, Level = 43, Gauge = 06000, Moves = new[] {169,184,141,188}, Location = 069 }, // Ariados: Cipher Peon Lesar @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 210, Level = 43, Gauge = 06000, Moves = new[] {044,184,046,070}, Location = 069 }, // Granbull: Cipher Peon Tanie @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 329, Level = 43, Gauge = 06000, Moves = new[] {242,103,328,225}, Location = 068 }, // Vibrava: Cipher Peon Remil @ Shadow PKMN Lab
|
||||
|
||||
new EncounterStaticShadow { Species = 192, Level = 45, Gauge = 07000, Moves = new[] {241,074,275,076}, Location = 109 }, // Sunflora: Cipher Peon Baila @ Realgam Tower
|
||||
new EncounterStaticShadow { Species = 225, Level = 45, Gauge = 07000, Moves = new[] {059,213,217,019}, Location = 109 }, // Delibird: Cipher Peon Arton @ Realgam Tower
|
||||
new EncounterStaticShadow { Species = 214, Level = 45, Gauge = 07000, Moves = new[] {179,203,068,280}, Location = 111 }, // Heracross: Cipher Peon Dioge @ Realgam Tower
|
||||
new EncounterStaticShadow { Species = 227, Level = 47, Gauge = 13000, Moves = new[] {065,319,314,211}, Location = 117 }, // Skarmory: Snagem Head Gonzap @ Realgam Tower
|
||||
new EncounterStaticShadow { Species = 192, Level = 45, Gauge = 07000, Moves = new[] {241,074,275,076}, Location = 132 }, // Sunflora: Cipher Peon Baila @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 225, Level = 45, Gauge = 07000, Moves = new[] {059,213,217,019}, Location = 132 }, // Delibird: Cipher Peon Arton @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 214, Level = 45, Gauge = 07000, Moves = new[] {179,203,068,280}, Location = 132 }, // Heracross: Cipher Peon Dioge @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 227, Level = 47, Gauge = 13000, Moves = new[] {065,319,314,211}, Location = 133 }, // Skarmory: Snagem Head Gonzap @ Snagem Hideout
|
||||
|
||||
new EncounterStaticShadow { Species = 241, Level = 48, Gauge = 07000, Moves = new[] {208,111,205,034}, Location = 118 }, // Miltank: Bodybuilder Jomas @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 359, Level = 48, Gauge = 07000, Moves = new[] {195,014,163,185}, Location = 118 }, // Absol: Rider Delan @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 229, Level = 48, Gauge = 07000, Moves = new[] {185,336,123,053}, Location = 118 }, // Houndoom: Cipher Peon Nella @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 357, Level = 49, Gauge = 07000, Moves = new[] {076,235,345,019}, Location = 118 }, // Tropius: Cipher Peon Ston @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 376, Level = 50, Gauge = 15000, Moves = new[] {063,334,232,094}, Location = 118 }, // Metagross: Cipher Nascour @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 248, Level = 55, Gauge = 20000, Moves = new[] {242,087,157,059}, Location = 118 }, // Tyranitar: Cipher Head Evice @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 235, Level = 45, Gauge = 07000, Moves = new[] {166,039,003,231}, Location = 132 }, // Smeargle: Team Snagem Biden @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 217, Level = 45, Gauge = 07000, Moves = new[] {185,313,122,163}, Location = 132 }, // Ursaring: Team Snagem Agrev @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 213, Level = 45, Gauge = 07000, Moves = new[] {219,227,156,117}, Location = 125 }, // Shuckle: Deep King Agnol @ Deep Colosseum
|
||||
new EncounterStaticShadow { Species = 176, Level = 20, Gauge = 05000, Moves = new[] {118,204,186,281}, Location = 001 }, // Togetic: Cipher Peon Fein @ Outskirt Stand
|
||||
new EncounterStaticShadow { Species = 175, Level = 20, Gauge = 00000, Moves = new[] {118,204,186,281}, IVs = new[] {0,0,0,0,0,0}, EReader = true }, // Togepi: Chaser ボデス @ Card e Room (Japanese games only)
|
||||
new EncounterStaticShadow { Species = 179, Level = 37, Gauge = 00000, Moves = new[] {087,084,086,178}, IVs = new[] {0,0,0,0,0,0}, EReader = true }, // Mareep: Hunter ホル @ Card e Room (Japanese games only)
|
||||
new EncounterStaticShadow { Species = 212, Level = 50, Gauge = 00000, Moves = new[] {210,232,014,163}, IVs = new[] {0,0,0,0,0,0}, EReader = true }, // Scizor: Bodybuilder ワーバン @ Card e Room (Japanese games only)
|
||||
};
|
||||
#endregion
|
||||
|
||||
#region XD
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_XD =
|
||||
{
|
||||
new EncounterStatic { Fateful = true, Gift = true, Species = 133, Level = 10, Location = 000, Moves = new[] {044} }, // Eevee (Bite)
|
||||
new EncounterStatic { Fateful = true, Gift = true, Species = 152, Level = 05, Location = 016, Moves = new[] {246,033,045,338} }, // Chikorita
|
||||
new EncounterStatic { Fateful = true, Gift = true, Species = 155, Level = 05, Location = 016, Moves = new[] {179,033,043,307} }, // Cyndaquil
|
||||
new EncounterStatic { Fateful = true, Gift = true, Species = 158, Level = 05, Location = 016, Moves = new[] {242,010,043,308} }, // Totodile
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 216, Level = 11, Gauge = 03000, Moves = new[] {216,287,122,232}, Location = 143, }, // Teddiursa: Cipher Peon Naps @ Pokémon HQ Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 165, Level = 10, Gauge = 02500, Moves = new[] {060,287,332,048}, Location = 153, }, // Ledyba: Casual Guy Cyle @ Gateon Port
|
||||
new EncounterStaticShadow { Fateful = true, Species = 261, Level = 10, Gauge = 02500, Moves = new[] {091,215,305,336}, Location = 162, }, // Poochyena: Bodybuilder Kilen @ Gateon Port
|
||||
new EncounterStaticShadow { Fateful = true, Species = 228, Level = 17, Gauge = 01500, Moves = new[] {185,204,052,046}, Location = 011, }, // Houndour: Cipher Peon Resix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 343, Level = 17, Gauge = 01500, Moves = new[] {317,287,189,060}, Location = 011, }, // Baltoy: Cipher Peon Browsix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 179, Level = 17, Gauge = 01500, Moves = new[] {034,215,084,086}, Location = 011, }, // Mareep: Cipher Peon Yellosix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 273, Level = 17, Gauge = 01500, Moves = new[] {202,287,331,290}, Location = 011, }, // Seedot: Cipher Peon Greesix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 363, Level = 17, Gauge = 01500, Moves = new[] {062,204,055,189}, Location = 011, }, // Spheal: Cipher Peon Blusix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 316, Level = 17, Gauge = 01500, Moves = new[] {351,047,124,092}, Location = 011, }, // Gulpin: Cipher Peon Purpsix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 167, Level = 14, Gauge = 01500, Moves = new[] {091,287,324,101}, Location = 010, }, // Spinarak: Cipher Peon Nexir @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 322, Level = 14, Gauge = 01500, Moves = new[] {036,204,091,052}, Location = 009, }, // Numel: Cipher Peon Solox @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 318, Level = 15, Gauge = 01700, Moves = new[] {352,287,184,044}, Location = 008, }, // Carvanha: Cipher Peon Cabol @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 285, Level = 15, Gauge = 01800, Moves = new[] {206,287,072,078}, Location = 008, }, // Shroomish: Cipher R&D Klots @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 301, Level = 18, Gauge = 02500, Moves = new[] {290,186,213,351}, Location = 008, }, // Delcatty: Cipher Admin Lovrina @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 100, Level = 19, Gauge = 02500, Moves = new[] {243,287,209,129}, Location = 092, }, // Voltorb: Wanderer Miror B. @ Cave Poké Spot
|
||||
new EncounterStaticShadow { Fateful = true, Species = 296, Level = 18, Gauge = 02000, Moves = new[] {280,287,292,317}, Location = 109, }, // Makuhita: Cipher Peon Torkin @ ONBS Building
|
||||
new EncounterStaticShadow { Fateful = true, Species = 037, Level = 18, Gauge = 02000, Moves = new[] {257,204,052,091}, Location = 109, }, // Vulpix: Cipher Peon Mesin @ ONBS Building
|
||||
new EncounterStaticShadow { Fateful = true, Species = 355, Level = 19, Gauge = 02200, Moves = new[] {247,270,310,109}, Location = 110, }, // Duskull: Cipher Peon Lobar @ ONBS Building
|
||||
new EncounterStaticShadow { Fateful = true, Species = 280, Level = 20, Gauge = 02200, Moves = new[] {351,047,115,093}, Location = 119, }, // Ralts: Cipher Peon Feldas @ ONBS Building
|
||||
new EncounterStaticShadow { Fateful = true, Species = 303, Level = 22, Gauge = 02500, Moves = new[] {206,047,011,334}, Location = 111, }, // Mawile: Cipher Cmdr Exol @ ONBS Building
|
||||
new EncounterStaticShadow { Fateful = true, Species = 361, Level = 20, Gauge = 02500, Moves = new[] {352,047,044,196}, Location = 097, }, // Snorunt: Cipher Peon Exinn @ Phenac City
|
||||
new EncounterStaticShadow { Fateful = true, Species = 204, Level = 20, Gauge = 02500, Moves = new[] {042,287,191,068}, Location = 096, }, // Pineco: Cipher Peon Gonrap @ Phenac City
|
||||
new EncounterStaticShadow { Fateful = true, Species = 177, Level = 22, Gauge = 02500, Moves = new[] {248,226,101,332}, Location = 094, }, // Natu: Cipher Peon Eloin @ Phenac City
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 315, Level = 22, Gauge = 03000, Moves = new[] {345,186,320,073}, Location = 113 }, // Roselia: Cipher Peon Fasin @ Phenac City
|
||||
new EncounterStaticShadow { Fateful = true, Species = 315, Level = 22, Gauge = 03000, Moves = new[] {345,186,320,073}, Location = 094 }, // Roselia: Cipher Peon Fasin @ Phenac City
|
||||
new EncounterStaticShadow { Fateful = true, Species = 052, Level = 22, Gauge = 03500, Moves = new[] {163,047,006,044}, Location = 113 }, // Meowth: Cipher Peon Fostin @ Phenac City
|
||||
new EncounterStaticShadow { Fateful = true, Species = 052, Level = 22, Gauge = 03500, Moves = new[] {163,047,006,044}, Location = 094 }, // Meowth: Cipher Peon Fostin @ Phenac City
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 220, Level = 22, Gauge = 02500, Moves = new[] {246,204,054,341}, Location = 100 }, // Swinub: Cipher Peon Greck @ Phenac City
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 021, Level = 22, Gauge = 04500, Moves = new[] {206,226,043,332}, Location = 059 }, // Spearow: Cipher Peon Ezin @ Phenac Stadium
|
||||
new EncounterStaticShadow { Fateful = true, Species = 021, Level = 22, Gauge = 04500, Moves = new[] {206,226,043,332}, Location = 107 }, // Spearow: Cipher Peon Ezin @ Phenac Stadium
|
||||
new EncounterStaticShadow { Fateful = true, Species = 088, Level = 23, Gauge = 03000, Moves = new[] {188,270,325,107}, Location = 059 }, // Grimer: Cipher Peon Faltly @ Phenac Stadium
|
||||
new EncounterStaticShadow { Fateful = true, Species = 088, Level = 23, Gauge = 03000, Moves = new[] {188,270,325,107}, Location = 107 }, // Grimer: Cipher Peon Faltly @ Phenac Stadium
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 086, Level = 23, Gauge = 03500, Moves = new[] {057,270,219,058}, Location = 107 }, // Seel: Cipher Peon Egrog @ Phenac Stadium
|
||||
new EncounterStaticShadow { Fateful = true, Species = 337, Level = 25, Gauge = 05000, Moves = new[] {094,226,240,317}, Location = 107 }, // Lunatone: Cipher Admin Snattle @ Phenac Stadium
|
||||
new EncounterStaticShadow { Fateful = true, Species = 175, Level = 25, Gauge = 04500, Moves = new[] {266,161,246,270}, Location = 164, Gift = true }, // Togepi: Pokémon Trainer Hordel @ Outskirt Stand
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 299, Level = 26, Gauge = 04000, Moves = new[] {085,270,086,157}, Location = 090 }, // Nosepass: Wanderer Miror B. @ Pyrite Colosseum/Realgam Colosseum/Poké Spots
|
||||
new EncounterStaticShadow { Fateful = true, Species = 299, Level = 26, Gauge = 04000, Moves = new[] {085,270,086,157}, Location = 113 }, // Nosepass: Wanderer Miror B. @ Pyrite Colosseum/Realgam Colosseum/Poké Spots
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 335, Level = 28, Gauge = 05000, Moves = new[] {280,287,068,306}, Location = 071 }, // Zangoose: Thug Zook @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 335, Level = 28, Gauge = 05000, Moves = new[] {280,287,068,306}, Location = 090 }, // Zangoose: Thug Zook @ Cipher Key Lair
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 046, Level = 28, Gauge = 04000, Moves = new[] {147,287,163,206}, Location = 064 }, // Paras: Cipher Peon Humah @ Cipher Key Lair
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 058, Level = 28, Gauge = 04000, Moves = new[] {053,204,044,036}, Location = 064 }, // Growlithe: Cipher Peon Humah @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 058, Level = 28, Gauge = 04000, Moves = new[] {053,204,044,036}, Location = 113 }, // Growlithe: Cipher Peon Humah @ Cipher Key Lair
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 015, Level = 30, Gauge = 04500, Moves = new[] {188,226,041,014}, Location = 059 }, // Beedrill: Cipher Peon Lok @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 012, Level = 30, Gauge = 04000, Moves = new[] {094,234,079,332}, Location = 059 }, // Butterfree: Cipher Peon Targ @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 049, Level = 32, Gauge = 04000, Moves = new[] {318,287,164,094}, Location = 059 }, // Venomoth: Cipher Peon Angic @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 097, Level = 34, Gauge = 05500, Moves = new[] {094,226,096,247}, Location = 059 }, // Hypno: Cipher Admin Gorigan @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 354, Level = 37, Gauge = 07000, Moves = new[] {185,270,247,174}, Location = 059 }, // Banette: Cipher Peon Litnar @ Citadark Isle
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 090, Level = 29, Gauge = 04000, Moves = new[] {036,287,057,062}, Location = 065 }, // Shellder: Cipher Peon Gorog @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 015, Level = 30, Gauge = 04500, Moves = new[] {188,226,041,014}, Location = 066 }, // Beedrill: Cipher Peon Lok @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 017, Level = 30, Gauge = 04000, Moves = new[] {017,287,211,297}, Location = 066 }, // Pidgeotto: Cipher Peon Lok @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 114, Level = 30, Gauge = 04000, Moves = new[] {076,234,241,275}, Location = 067 }, // Tangela: Cipher Peon Targ @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 012, Level = 30, Gauge = 04000, Moves = new[] {094,234,079,332}, Location = 067 }, // Butterfree: Cipher Peon Targ @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 082, Level = 30, Gauge = 04500, Moves = new[] {038,287,240,087}, Location = 067 }, // Magneton: Cipher Peon Snidle @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 049, Level = 32, Gauge = 04000, Moves = new[] {318,287,164,094}, Location = 070 }, // Venomoth: Cipher Peon Angic @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 070, Level = 32, Gauge = 04000, Moves = new[] {345,234,188,230}, Location = 070 }, // Weepinbell: Cipher Peon Angic @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 024, Level = 33, Gauge = 05000, Moves = new[] {188,287,137,044}, Location = 070 }, // Arbok: Cipher Peon Smarton @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 057, Level = 34, Gauge = 06000, Moves = new[] {238,270,116,179}, Location = 069 }, // Primeape: Cipher Admin Gorigan @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 097, Level = 34, Gauge = 05500, Moves = new[] {094,226,096,247}, Location = 069 }, // Hypno: Cipher Admin Gorigan @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 055, Level = 33, Gauge = 06500, Moves = new[] {127,204,244,280}, Location = 088 }, // Golduck: Navigator Abson @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 302, Level = 33, Gauge = 07000, Moves = new[] {247,270,185,105}, Location = 088 }, // Sableye: Navigator Abson @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 085, Level = 34, Gauge = 08000, Moves = new[] {065,226,097,161}, Location = 076 }, // Dodrio: Chaser Furgy @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 020, Level = 34, Gauge = 06000, Moves = new[] {162,287,184,158}, Location = 076 }, // Raticate: Chaser Furgy @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 083, Level = 36, Gauge = 05500, Moves = new[] {163,226,014,332}, Location = 076 }, // Farfetch'd: Cipher Admin Lovrina @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 334, Level = 36, Gauge = 06500, Moves = new[] {225,215,076,332}, Location = 076 }, // Altaria: Cipher Admin Lovrina @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 115, Level = 35, Gauge = 06000, Moves = new[] {089,047,039,146}, Location = 085 }, // Kangaskhan: Cipher Peon Litnar @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 354, Level = 37, Gauge = 07000, Moves = new[] {185,270,247,174}, Location = 085 }, // Banette: Cipher Peon Litnar @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 126, Level = 36, Gauge = 07000, Moves = new[] {126,266,238,009}, Location = 077 }, // Magmar: Cipher Peon Grupel @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 127, Level = 35, Gauge = 07000, Moves = new[] {012,270,206,066}, Location = 077 }, // Pinsir: Cipher Peon Grupel @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 078, Level = 40, Gauge = 06000, Moves = new[] {076,226,241,053}, Location = 080 }, // Rapidash: Cipher Peon Kolest @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 219, Level = 38, Gauge = 05500, Moves = new[] {257,287,089,053}, Location = 080 }, // Magcargo: Cipher Peon Kolest @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 107, Level = 38, Gauge = 06000, Moves = new[] {005,270,170,327}, Location = 081 }, // Hitmonchan: Cipher Peon Karbon @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 106, Level = 38, Gauge = 07000, Moves = new[] {136,287,170,025}, Location = 081 }, // Hitmonlee: Cipher Peon Petro @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 108, Level = 38, Gauge = 05000, Moves = new[] {038,270,111,205}, Location = 084 }, // Lickitung: Cipher Peon Geftal @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 123, Level = 40, Gauge = 08000, Moves = new[] {013,234,318,163}, Location = 084 }, // Scyther: Cipher Peon Leden @ Citadark Isle
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 113, Level = 39, Gauge = 04000, Moves = new[] {085,186,135,285}, Location = 084 }, // Chansey: Cipher Peon Leden @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 113, Level = 39, Gauge = 04000, Moves = new[] {085,186,135,285}, Location = 087 }, // Chansey: Cipher Peon Leden @ Citadark Isle
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 338, Level = 41, Gauge = 07500, Moves = new[] {094,226,241,322}, Location = 087 }, // Solrock: Cipher Admin Snattle @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 121, Level = 41, Gauge = 07500, Moves = new[] {127,287,058,105}, Location = 087 }, // Starmie: Cipher Admin Snattle @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 277, Level = 43, Gauge = 07000, Moves = new[] {143,226,097,263}, Location = 087 }, // Swellow: Cipher Admin Ardos @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 125, Level = 43, Gauge = 07000, Moves = new[] {238,266,086,085}, Location = 087 }, // Electabuzz: Cipher Admin Ardos @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 143, Level = 43, Gauge = 09000, Moves = new[] {090,287,174,034}, Location = 087 }, // Snorlax: Cipher Admin Ardos @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 062, Level = 42, Gauge = 07500, Moves = new[] {056,270,240,280}, Location = 087 }, // Poliwrath: Cipher Admin Gorigan @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 122, Level = 42, Gauge = 06500, Moves = new[] {094,266,227,009}, Location = 087 }, // Mr. Mime: Cipher Admin Gorigan @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 051, Level = 40, Gauge = 05000, Moves = new[] {089,204,201,161}, Location = 075 }, // Dugtrio: Cipher Peon Kolax @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 310, Level = 44, Gauge = 07000, Moves = new[] {087,287,240,044}, Location = 073 }, // Manectric: Cipher Admin Eldes @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 373, Level = 50, Gauge = 09000, Moves = new[] {337,287,349,332}, Location = 073 }, // Salamence: Cipher Admin Eldes @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 105, Level = 44, Gauge = 06500, Moves = new[] {089,047,014,157}, Location = 073 }, // Marowak: Cipher Admin Eldes @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 131, Level = 44, Gauge = 06000, Moves = new[] {056,215,240,059}, Location = 073 }, // Lapras: Cipher Admin Eldes @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 249, Level = 50, Gauge = 12000, Moves = new[] {354,297,089,056}, Location = 074 }, // Lugia: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 112, Level = 46, Gauge = 07000, Moves = new[] {224,270,184,089}, Location = 074 }, // Rhydon: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 146, Level = 50, Gauge = 10000, Moves = new[] {326,234,261,053}, Location = 074 }, // Moltres: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 103, Level = 46, Gauge = 09000, Moves = new[] {094,287,095,246}, Location = 074 }, // Exeggutor: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 128, Level = 46, Gauge = 09000, Moves = new[] {089,287,039,034}, Location = 074 }, // Tauros: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 144, Level = 50, Gauge = 10000, Moves = new[] {326,215,114,058}, Location = 074 }, // Articuno: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 145, Level = 50, Gauge = 10000, Moves = new[] {326,226,319,085}, Location = 074 }, // Zapdos: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 149, Level = 55, Gauge = 09000, Moves = new[] {063,215,349,089}, Location = 162 }, // Dragonite: Wanderer Miror B. @ Gateon Port
|
||||
};
|
||||
|
||||
internal static readonly EncounterArea[] SlotsXD =
|
||||
{
|
||||
new EncounterArea { Location = 090, Slots = new[] // Rock
|
||||
{
|
||||
new EncounterSlot {Species = 027, LevelMin = 10, LevelMax = 23, SlotNumber = 0}, // Sandshrew
|
||||
new EncounterSlot {Species = 207, LevelMin = 10, LevelMax = 20, SlotNumber = 1}, // Gligar
|
||||
new EncounterSlot {Species = 328, LevelMin = 10, LevelMax = 20, SlotNumber = 2}, // Trapinch
|
||||
}
|
||||
},
|
||||
new EncounterArea { Location = 091, Slots = new[] // Oasis
|
||||
{
|
||||
new EncounterSlot {Species = 187, LevelMin = 10, LevelMax = 20, SlotNumber = 0}, // Hoppip
|
||||
new EncounterSlot {Species = 231, LevelMin = 10, LevelMax = 20, SlotNumber = 1}, // Phanpy
|
||||
new EncounterSlot {Species = 283, LevelMin = 10, LevelMax = 20, SlotNumber = 2}, // Surskit
|
||||
}
|
||||
},
|
||||
new EncounterArea { Location = 092, Slots = new[] // Cave
|
||||
{
|
||||
new EncounterSlot {Species = 041, LevelMin = 10, LevelMax = 21, SlotNumber = 0}, // Zubat
|
||||
new EncounterSlot {Species = 304, LevelMin = 10, LevelMax = 21, SlotNumber = 1}, // Aron
|
||||
new EncounterSlot {Species = 194, LevelMin = 10, LevelMax = 21, SlotNumber = 2}, // Wooper
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_CXD = Encounter_Colo.Concat(Encounter_XD).ToArray();
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
1486
PKHeX.Core/Legality/Encounters/Data/Encounters4.cs
Normal file
1486
PKHeX.Core/Legality/Encounters/Data/Encounters4.cs
Normal file
File diff suppressed because it is too large
Load Diff
881
PKHeX.Core/Legality/Encounters/Data/Encounters5.cs
Normal file
881
PKHeX.Core/Legality/Encounters/Data/Encounters5.cs
Normal file
|
|
@ -0,0 +1,881 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using static PKHeX.Core.EncounterUtil;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
internal static class Encounters5
|
||||
{
|
||||
internal static readonly EncounterArea[] SlotsB, SlotsW, SlotsB2, SlotsW2;
|
||||
internal static readonly EncounterStatic[] StaticB, StaticW, StaticB2, StaticW2;
|
||||
|
||||
static Encounters5()
|
||||
{
|
||||
MarkG5DreamWorld(BW_DreamWorld);
|
||||
MarkG5DreamWorld(B2W2_DreamWorld);
|
||||
StaticB = StaticW = Encounter_BW.Concat(BW_DreamWorld).ToArray();
|
||||
StaticB2 = StaticW2 = Encounter_B2W2.Concat(B2W2_DreamWorld).ToArray();
|
||||
|
||||
var BSlots = GetEncounterTables(GameVersion.B);
|
||||
var WSlots = GetEncounterTables(GameVersion.W);
|
||||
var B2Slots = GetEncounterTables(GameVersion.B2);
|
||||
var W2Slots = GetEncounterTables(GameVersion.W2);
|
||||
MarkG5Slots(ref BSlots);
|
||||
MarkG5Slots(ref WSlots);
|
||||
MarkG5Slots(ref B2Slots);
|
||||
MarkG5Slots(ref W2Slots);
|
||||
MarkBWSwarmSlots(SlotsB_Swarm);
|
||||
MarkBWSwarmSlots(SlotsW_Swarm);
|
||||
MarkB2W2SwarmSlots(SlotsB2_Swarm);
|
||||
MarkB2W2SwarmSlots(SlotsW2_Swarm);
|
||||
MarkG5HiddenGrottoSlots(SlotsB2_HiddenGrotto);
|
||||
MarkG5HiddenGrottoSlots(SlotsW2_HiddenGrotto);
|
||||
|
||||
SlotsB = AddExtraTableSlots(BSlots, SlotsB_Swarm);
|
||||
SlotsW = AddExtraTableSlots(WSlots, SlotsW_Swarm, WhiteForestSlot);
|
||||
SlotsB2 = AddExtraTableSlots(B2Slots, SlotsB2_Swarm, SlotsB2_HiddenGrotto);
|
||||
SlotsW2 = AddExtraTableSlots(W2Slots, SlotsW2_Swarm, SlotsW2_HiddenGrotto);
|
||||
}
|
||||
|
||||
private static void MarkBWSwarmSlots(EncounterArea[] Areas)
|
||||
{
|
||||
foreach (EncounterSlot s in Areas.SelectMany(area => area.Slots))
|
||||
{
|
||||
s.LevelMin = 15; s.LevelMax = 55; s.Type = SlotType.Swarm;
|
||||
}
|
||||
}
|
||||
|
||||
private static void MarkB2W2SwarmSlots(EncounterArea[] Areas)
|
||||
{
|
||||
foreach (EncounterSlot s in Areas.SelectMany(area => area.Slots))
|
||||
{
|
||||
s.LevelMin = 40; s.LevelMax = 55; s.Type = SlotType.Swarm;
|
||||
}
|
||||
}
|
||||
|
||||
private static void MarkG5HiddenGrottoSlots(EncounterArea[] Areas)
|
||||
{
|
||||
foreach (EncounterSlot s in Areas[0].Slots) //Only 1 area
|
||||
s.Type = SlotType.HiddenGrotto;
|
||||
}
|
||||
|
||||
private static void MarkG5DreamWorld(EncounterStatic[] t)
|
||||
{
|
||||
foreach (EncounterStatic s in t)
|
||||
{
|
||||
s.Location = 75; //Entree Forest
|
||||
s.Ability = PersonalTable.B2W2.GetAbilities(s.Species, s.Form)[2] == 0 ? 1 : 4; // Check if has HA
|
||||
s.Shiny = false;
|
||||
}
|
||||
|
||||
// Split encounters with multiple permitted special moves -- a pkm can only be obtained with 1 of the special moves!
|
||||
var list = new List<EncounterStatic>();
|
||||
foreach (EncounterStatic s in t)
|
||||
{
|
||||
if (s.Moves == null || s.Moves.Length <= 1) // no special moves
|
||||
{
|
||||
list.Add(s);
|
||||
continue;
|
||||
}
|
||||
|
||||
var loc = s.Location;
|
||||
for (int i = 0; i < s.Moves.Length; i++)
|
||||
{
|
||||
var clone = s.Clone(loc);
|
||||
clone.Moves = new[] { s.Moves[i] };
|
||||
list.Add(clone);
|
||||
}
|
||||
}
|
||||
t = list.ToArray();
|
||||
}
|
||||
|
||||
private static void MarkG5Slots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (var area in Areas)
|
||||
{
|
||||
int ctr = 0;
|
||||
do
|
||||
{
|
||||
for (int i = 0; i < 12; i++)
|
||||
area.Slots[ctr++].Type = SlotType.Grass; // Single
|
||||
|
||||
for (int i = 0; i < 12; i++)
|
||||
area.Slots[ctr++].Type = SlotType.Grass; // Double
|
||||
|
||||
for (int i = 0; i < 12; i++)
|
||||
area.Slots[ctr++].Type = SlotType.Grass; // Shaking
|
||||
|
||||
for (int i = 0; i < 5; i++) // 5
|
||||
area.Slots[ctr++].Type = SlotType.Surf; // Surf
|
||||
|
||||
for (int i = 0; i < 5; i++) // 5
|
||||
area.Slots[ctr++].Type = SlotType.Surf; // Surf Spot
|
||||
|
||||
for (int i = 0; i < 5; i++) // 5
|
||||
area.Slots[ctr++].Type = SlotType.Super_Rod; // Fish
|
||||
|
||||
for (int i = 0; i < 5; i++) // 5
|
||||
area.Slots[ctr++].Type = SlotType.Super_Rod; // Fish Spot
|
||||
} while (ctr != area.Slots.Length);
|
||||
area.Slots = area.Slots.Where(slot => slot.Species != 0).ToArray();
|
||||
}
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
|
||||
#region Dream Radar Tables
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_DreamRadar =
|
||||
{
|
||||
new EncounterStatic { Shiny=false, Species=120, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=137, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=174, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=175, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=213, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=238, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=280, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=333, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=425, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=436, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=442, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=447, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=479,}, // Rotom has no HA
|
||||
new EncounterStatic { Shiny=false, Species=517, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=561, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=641, Ability = 4, Form = 1}, //Tornadus-T
|
||||
new EncounterStatic { Shiny=false, Species=642, Ability = 4, Form = 1}, //Thundurus-T
|
||||
new EncounterStatic { Shiny=false, Species=645, Ability = 4, Form = 1}, //Landorus-T
|
||||
new EncounterStatic { Shiny=false, Species=249, Ability = 4 }, //SS
|
||||
new EncounterStatic { Shiny=false, Species=250, Ability = 4 }, //HG
|
||||
new EncounterStatic { Shiny=false, Species=483, Ability = 4 }, //D
|
||||
new EncounterStatic { Shiny=false, Species=484, Ability = 4 }, //P
|
||||
new EncounterStatic { Shiny=false, Species=487, Ability = 4 }, //Pt
|
||||
new EncounterStatic { Shiny=false, Species=079, Ability = 4 }, //Slowpoke
|
||||
new EncounterStatic { Shiny=false, Species=163, Ability = 4 }, //Hoothoot
|
||||
new EncounterStatic { Shiny=false, Species=374, Ability = 4 }, //Beldum
|
||||
};
|
||||
|
||||
#endregion
|
||||
#region DreamWorld Encounter
|
||||
|
||||
private static readonly EncounterStatic[] DreamWorld_Common =
|
||||
{
|
||||
// Pleasant forest
|
||||
new EncounterStatic { Species=019, Level = 10, Moves = new[]{098, 382, 231}, }, //Rattata
|
||||
new EncounterStatic { Species=043, Level = 10, Moves = new[]{230, 298, 202}, }, //Oddish
|
||||
new EncounterStatic { Species=069, Level = 10, Moves = new[]{022, 235, 402}, }, //Bellsprout
|
||||
new EncounterStatic { Species=077, Level = 10, Moves = new[]{033, 037, 257}, }, //Ponyta
|
||||
new EncounterStatic { Species=083, Level = 10, Moves = new[]{210, 355, 348}, }, //Farfetch'd
|
||||
new EncounterStatic { Species=084, Level = 10, Moves = new[]{045, 175, 355}, }, //Doduo
|
||||
new EncounterStatic { Species=102, Level = 10, Moves = new[]{140, 235, 202}, }, //Exeggcute
|
||||
new EncounterStatic { Species=108, Level = 10, Moves = new[]{122, 214, 431}, }, //Lickitung
|
||||
new EncounterStatic { Species=114, Level = 10, Moves = new[]{079, 073, 402}, }, //Tangela
|
||||
new EncounterStatic { Species=115, Level = 10, Moves = new[]{252, 068, 409}, }, //Kangaskhan
|
||||
new EncounterStatic { Species=161, Level = 10, Moves = new[]{010, 203, 343}, }, //Sentret
|
||||
new EncounterStatic { Species=179, Level = 10, Moves = new[]{084, 115, 351}, }, //Mareep
|
||||
new EncounterStatic { Species=191, Level = 10, Moves = new[]{072, 230, 414}, }, //Sunkern
|
||||
new EncounterStatic { Species=234, Level = 10, Moves = new[]{033, 050, 285}, }, //Stantler
|
||||
new EncounterStatic { Species=261, Level = 10, Moves = new[]{336, 305, 399}, }, //Poochyena
|
||||
new EncounterStatic { Species=283, Level = 10, Moves = new[]{145, 056, 202}, }, //Surskit
|
||||
new EncounterStatic { Species=399, Level = 10, Moves = new[]{033, 401, 290}, }, //Bidoof
|
||||
new EncounterStatic { Species=403, Level = 10, Moves = new[]{268, 393, 400}, }, //Shinx
|
||||
new EncounterStatic { Species=431, Level = 10, Moves = new[]{252, 372, 290}, }, //Glameow
|
||||
new EncounterStatic { Species=054, Level = 10, Moves = new[]{346, 227, 362}, }, //Psyduck
|
||||
new EncounterStatic { Species=058, Level = 10, Moves = new[]{044, 034, 203}, }, //Growlithe
|
||||
new EncounterStatic { Species=123, Level = 10, Moves = new[]{098, 226, 366}, }, //Scyther
|
||||
new EncounterStatic { Species=128, Level = 10, Moves = new[]{099, 231, 431}, }, //Tauros
|
||||
new EncounterStatic { Species=183, Level = 10, Moves = new[]{111, 453, 008}, }, //Marill
|
||||
new EncounterStatic { Species=185, Level = 10, Moves = new[]{175, 205, 272}, }, //Sudowoodo
|
||||
new EncounterStatic { Species=203, Level = 10, Moves = new[]{093, 243, 285}, }, //Girafarig
|
||||
new EncounterStatic { Species=241, Level = 10, Moves = new[]{111, 174, 231}, }, //Miltank
|
||||
new EncounterStatic { Species=263, Level = 10, Moves = new[]{033, 271, 387}, }, //Zigzagoon
|
||||
new EncounterStatic { Species=427, Level = 10, Moves = new[]{193, 252, 409}, }, //Buneary
|
||||
new EncounterStatic { Species=037, Level = 10, Moves = new[]{046, 257, 399}, }, //Vulpix
|
||||
new EncounterStatic { Species=060, Level = 10, Moves = new[]{095, 054, 214}, }, //Poliwag
|
||||
new EncounterStatic { Species=177, Level = 10, Moves = new[]{101, 297, 202}, }, //Natu
|
||||
new EncounterStatic { Species=239, Level = 10, Moves = new[]{084, 238, 393}, }, //Elekid
|
||||
new EncounterStatic { Species=300, Level = 10, Moves = new[]{193, 321, 445}, }, //Skitty
|
||||
// Windskept Sky
|
||||
new EncounterStatic { Species=016, Level = 10, Moves = new[]{016, 211, 290}, }, //Pidgey
|
||||
new EncounterStatic { Species=021, Level = 10, Moves = new[]{064, 185, 211}, }, //Spearow
|
||||
new EncounterStatic { Species=041, Level = 10, Moves = new[]{048, 095, 162}, }, //Zubat
|
||||
new EncounterStatic { Species=142, Level = 10, Moves = new[]{044, 372, 446}, }, //Aerodactyl
|
||||
new EncounterStatic { Species=165, Level = 10, Moves = new[]{004, 450, 009}, }, //Ledyba
|
||||
new EncounterStatic { Species=187, Level = 10, Moves = new[]{235, 227, 340}, }, //Hoppip
|
||||
new EncounterStatic { Species=193, Level = 10, Moves = new[]{098, 364, 202}, }, //Yanma
|
||||
new EncounterStatic { Species=198, Level = 10, Moves = new[]{064, 109, 355}, }, //Murkrow
|
||||
new EncounterStatic { Species=207, Level = 10, Moves = new[]{028, 364, 366}, }, //Gligar
|
||||
new EncounterStatic { Species=225, Level = 10, Moves = new[]{217, 420, 264}, }, //Delibird
|
||||
new EncounterStatic { Species=276, Level = 10, Moves = new[]{064, 203, 413}, }, //Taillow
|
||||
new EncounterStatic { Species=397, Level = 14, Moves = new[]{017, 297, 366}, }, //Staravia
|
||||
new EncounterStatic { Species=227, Level = 10, Moves = new[]{064, 065, 355}, }, //Skarmory
|
||||
new EncounterStatic { Species=357, Level = 10, Moves = new[]{016, 073, 318}, }, //Tropius
|
||||
// Sparkling Sea
|
||||
new EncounterStatic { Species=086, Level = 10, Moves = new[]{029, 333, 214}, }, //Seel
|
||||
new EncounterStatic { Species=090, Level = 10, Moves = new[]{110, 112, 196}, }, //Shellder
|
||||
new EncounterStatic { Species=116, Level = 10, Moves = new[]{145, 190, 362}, }, //Horsea
|
||||
new EncounterStatic { Species=118, Level = 10, Moves = new[]{064, 060, 352}, }, //Goldeen
|
||||
new EncounterStatic { Species=129, Level = 10, Moves = new[]{150, 175, 340}, }, //Magikarp
|
||||
new EncounterStatic { Species=138, Level = 10, Moves = new[]{044, 330, 196}, }, //Omanyte
|
||||
new EncounterStatic { Species=140, Level = 10, Moves = new[]{071, 175, 446}, }, //Kabuto
|
||||
new EncounterStatic { Species=170, Level = 10, Moves = new[]{086, 133, 351}, }, //Chinchou
|
||||
new EncounterStatic { Species=194, Level = 10, Moves = new[]{055, 034, 401}, }, //Wooper
|
||||
new EncounterStatic { Species=211, Level = 10, Moves = new[]{040, 453, 290}, }, //Qwilfish
|
||||
new EncounterStatic { Species=223, Level = 10, Moves = new[]{199, 350, 362}, }, //Remoraid
|
||||
new EncounterStatic { Species=226, Level = 10, Moves = new[]{048, 243, 314}, }, //Mantine
|
||||
new EncounterStatic { Species=320, Level = 10, Moves = new[]{055, 214, 340}, }, //Wailmer
|
||||
new EncounterStatic { Species=339, Level = 10, Moves = new[]{189, 214, 209}, }, //Barboach
|
||||
new EncounterStatic { Species=366, Level = 10, Moves = new[]{250, 445, 392}, }, //Clamperl
|
||||
new EncounterStatic { Species=369, Level = 10, Moves = new[]{055, 214, 414}, }, //Relicanth
|
||||
new EncounterStatic { Species=370, Level = 10, Moves = new[]{204, 300, 196}, }, //Luvdisc
|
||||
new EncounterStatic { Species=418, Level = 10, Moves = new[]{346, 163, 352}, }, //Buizel
|
||||
new EncounterStatic { Species=456, Level = 10, Moves = new[]{213, 186, 352}, }, //Finneon
|
||||
new EncounterStatic { Species=072, Level = 10, Moves = new[]{048, 367, 202}, }, //Tentacool
|
||||
new EncounterStatic { Species=318, Level = 10, Moves = new[]{044, 037, 399}, }, //Carvanha
|
||||
new EncounterStatic { Species=341, Level = 10, Moves = new[]{106, 232, 283}, }, //Corphish
|
||||
new EncounterStatic { Species=345, Level = 10, Moves = new[]{051, 243, 202}, }, //Lileep
|
||||
new EncounterStatic { Species=347, Level = 10, Moves = new[]{010, 446, 440}, }, //Anorith
|
||||
new EncounterStatic { Species=349, Level = 10, Moves = new[]{150, 445, 243}, }, //Feebas
|
||||
new EncounterStatic { Species=131, Level = 10, Moves = new[]{109, 032, 196}, }, //Lapras
|
||||
new EncounterStatic { Species=147, Level = 10, Moves = new[]{086, 352, 225}, }, //Dratini
|
||||
// Spooky Mannor
|
||||
new EncounterStatic { Species=092, Level = 10, Moves = new[]{095, 050, 482}, }, //Gastly
|
||||
new EncounterStatic { Species=096, Level = 10, Moves = new[]{095, 427, 409}, }, //Drowzee
|
||||
new EncounterStatic { Species=122, Level = 10, Moves = new[]{112, 298, 285}, }, //Mr. Mime
|
||||
new EncounterStatic { Species=167, Level = 10, Moves = new[]{040, 527, 450}, }, //Spinarak
|
||||
new EncounterStatic { Species=200, Level = 10, Moves = new[]{149, 194, 517}, }, //Misdreavus
|
||||
new EncounterStatic { Species=228, Level = 10, Moves = new[]{336, 364, 399}, }, //Houndour
|
||||
new EncounterStatic { Species=325, Level = 10, Moves = new[]{149, 285, 278}, }, //Spoink
|
||||
new EncounterStatic { Species=353, Level = 10, Moves = new[]{101, 194, 220}, }, //Shuppet
|
||||
new EncounterStatic { Species=355, Level = 10, Moves = new[]{050, 220, 271}, }, //Duskull
|
||||
new EncounterStatic { Species=358, Level = 10, Moves = new[]{035, 095, 304}, }, //Chimecho
|
||||
new EncounterStatic { Species=434, Level = 10, Moves = new[]{103, 492, 389}, }, //Stunky
|
||||
new EncounterStatic { Species=209, Level = 10, Moves = new[]{204, 370, 038}, }, //Snubbull
|
||||
new EncounterStatic { Species=235, Level = 10, Moves = new[]{166, 445, 214}, }, //Smeargle
|
||||
new EncounterStatic { Species=313, Level = 10, Moves = new[]{148, 271, 366}, }, //Volbeat
|
||||
new EncounterStatic { Species=314, Level = 10, Moves = new[]{204, 313, 366}, }, //Illumise
|
||||
new EncounterStatic { Species=063, Level = 10, Moves = new[]{100, 285, 356}, }, //Abra
|
||||
// Rugged Mountain
|
||||
new EncounterStatic { Species=066, Level = 10, Moves = new[]{067, 418, 270}, }, //Machop
|
||||
new EncounterStatic { Species=081, Level = 10, Moves = new[]{319, 278, 356}, }, //Magnemite
|
||||
new EncounterStatic { Species=109, Level = 10, Moves = new[]{123, 399, 482}, }, //Koffing
|
||||
new EncounterStatic { Species=218, Level = 10, Moves = new[]{052, 517, 257}, }, //Slugma
|
||||
new EncounterStatic { Species=246, Level = 10, Moves = new[]{044, 399, 446}, }, //Larvitar
|
||||
new EncounterStatic { Species=324, Level = 10, Moves = new[]{052, 090, 446}, }, //Torkoal
|
||||
new EncounterStatic { Species=328, Level = 10, Moves = new[]{044, 324, 202}, }, //Trapinch
|
||||
new EncounterStatic { Species=331, Level = 10, Moves = new[]{071, 298, 009}, }, //Cacnea
|
||||
new EncounterStatic { Species=412, Level = 10, Moves = new[]{182, 450, 173}, }, //Burmy
|
||||
new EncounterStatic { Species=449, Level = 10, Moves = new[]{044, 254, 276}, }, //Hippopotas
|
||||
new EncounterStatic { Species=240, Level = 10, Moves = new[]{052, 009, 257}, }, //Magby
|
||||
new EncounterStatic { Species=322, Level = 10, Moves = new[]{052, 034, 257}, }, //Numel
|
||||
new EncounterStatic { Species=359, Level = 10, Moves = new[]{364, 224, 276}, }, //Absol
|
||||
new EncounterStatic { Species=453, Level = 10, Moves = new[]{040, 409, 441}, }, //Croagunk
|
||||
new EncounterStatic { Species=236, Level = 10, Moves = new[]{252, 364, 183}, }, //Tyrogue
|
||||
new EncounterStatic { Species=371, Level = 10, Moves = new[]{044, 349, 200}, }, //Bagon
|
||||
// Icy Cave
|
||||
new EncounterStatic { Species=027, Level = 10, Moves = new[]{028, 068, 162}, }, //Sandshrew
|
||||
new EncounterStatic { Species=074, Level = 10, Moves = new[]{111, 446, 431}, }, //Geodude
|
||||
new EncounterStatic { Species=095, Level = 10, Moves = new[]{020, 446, 431}, }, //Onix
|
||||
new EncounterStatic { Species=100, Level = 10, Moves = new[]{268, 324, 363}, }, //Voltorb
|
||||
new EncounterStatic { Species=104, Level = 10, Moves = new[]{125, 195, 067}, }, //Cubone
|
||||
new EncounterStatic { Species=293, Level = 10, Moves = new[]{253, 283, 428}, }, //Whismur
|
||||
new EncounterStatic { Species=304, Level = 10, Moves = new[]{106, 283, 457}, }, //Aron
|
||||
new EncounterStatic { Species=337, Level = 10, Moves = new[]{093, 414, 236}, }, //Lunatone
|
||||
new EncounterStatic { Species=338, Level = 10, Moves = new[]{093, 428, 234}, }, //Solrock
|
||||
new EncounterStatic { Species=343, Level = 10, Moves = new[]{229, 356, 428}, }, //Baltoy
|
||||
new EncounterStatic { Species=459, Level = 10, Moves = new[]{075, 419, 202}, }, //Snover
|
||||
new EncounterStatic { Species=050, Level = 10, Moves = new[]{028, 251, 446}, }, //Diglett
|
||||
new EncounterStatic { Species=215, Level = 10, Moves = new[]{269, 008, 067}, }, //Sneasel
|
||||
new EncounterStatic { Species=361, Level = 10, Moves = new[]{181, 311, 352}, }, //Snorunt
|
||||
new EncounterStatic { Species=220, Level = 10, Moves = new[]{316, 246, 333}, }, //Swinub
|
||||
new EncounterStatic { Species=443, Level = 10, Moves = new[]{082, 200, 203}, }, //Gible
|
||||
// Dream Park
|
||||
new EncounterStatic { Species=046, Level = 10, Moves = new[]{078, 440, 235}, }, //Paras
|
||||
new EncounterStatic { Species=204, Level = 10, Moves = new[]{120, 390, 356}, }, //Pineco
|
||||
new EncounterStatic { Species=265, Level = 10, Moves = new[]{040, 450, 173}, }, //Wurmple
|
||||
new EncounterStatic { Species=273, Level = 10, Moves = new[]{074, 331, 492}, }, //Seedot
|
||||
new EncounterStatic { Species=287, Level = 10, Moves = new[]{281, 400, 389}, }, //Slakoth
|
||||
new EncounterStatic { Species=290, Level = 10, Moves = new[]{141, 203, 400}, }, //Nincada
|
||||
new EncounterStatic { Species=311, Level = 10, Moves = new[]{086, 435, 324}, }, //Plusle
|
||||
new EncounterStatic { Species=312, Level = 10, Moves = new[]{086, 435, 324}, }, //Minun
|
||||
new EncounterStatic { Species=316, Level = 10, Moves = new[]{139, 151, 202}, }, //Gulpin
|
||||
new EncounterStatic { Species=352, Level = 10, Moves = new[]{185, 285, 513}, }, //Kecleon
|
||||
new EncounterStatic { Species=401, Level = 10, Moves = new[]{522, 283, 253}, }, //Kricketot
|
||||
new EncounterStatic { Species=420, Level = 10, Moves = new[]{073, 505, 331}, }, //Cherubi
|
||||
new EncounterStatic { Species=455, Level = 10, Moves = new[]{044, 476, 380}, }, //Carnivine
|
||||
new EncounterStatic { Species=023, Level = 10, Moves = new[]{040, 251, 399}, }, //Ekans
|
||||
new EncounterStatic { Species=175, Level = 10, Moves = new[]{118, 381, 253}, }, //Togepi
|
||||
new EncounterStatic { Species=190, Level = 10, Moves = new[]{010, 252, 007}, }, //Aipom
|
||||
new EncounterStatic { Species=285, Level = 10, Moves = new[]{078, 331, 264}, }, //Shroomish
|
||||
new EncounterStatic { Species=315, Level = 10, Moves = new[]{074, 079, 129}, }, //Roselia
|
||||
new EncounterStatic { Species=113, Level = 10, Moves = new[]{045, 068, 270}, }, //Chansey
|
||||
new EncounterStatic { Species=127, Level = 10, Moves = new[]{011, 370, 382}, }, //Pinsir
|
||||
new EncounterStatic { Species=133, Level = 10, Moves = new[]{028, 204, 129}, }, //Eevee
|
||||
new EncounterStatic { Species=143, Level = 10, Moves = new[]{133, 007, 278}, }, //Snorlax
|
||||
new EncounterStatic { Species=214, Level = 10, Moves = new[]{030, 175, 264}, }, //Heracross
|
||||
// Pokémon Café Forest
|
||||
new EncounterStatic { Species=061, Level = 25, Moves = new[]{240, 114, 352}, }, //Poliwhirl
|
||||
new EncounterStatic { Species=133, Level = 10, Moves = new[]{270, 204, 129}, }, //Eevee
|
||||
new EncounterStatic { Species=235, Level = 10, Moves = new[]{166, 445, 214}, }, //Smeargle
|
||||
new EncounterStatic { Species=412, Level = 10, Moves = new[]{182, 450, 173}, }, //Burmy
|
||||
//PGL
|
||||
new EncounterStatic { Species=212, Level = 10, Moves = new[]{211}, Gender = 0, }, //Scizor
|
||||
new EncounterStatic { Species=445, Level = 48, Gender = 0, }, //Garchomp
|
||||
new EncounterStatic { Species=149, Level = 55, Moves = new[]{245}, Gender = 0, }, //Dragonite
|
||||
new EncounterStatic { Species=248, Level = 55, Moves = new[]{069}, Gender = 0, }, //Tyranitar
|
||||
new EncounterStatic { Species=376, Level = 45, Moves = new[]{038}, Gender = 2, }, //Metagross
|
||||
};
|
||||
|
||||
private static readonly EncounterStatic[] BW_DreamWorld = DreamWorld_Common.Concat(new[]
|
||||
{
|
||||
// Pleasant forest
|
||||
new EncounterStatic { Species=029, Level = 10, Moves = new[]{010, 389, 162}, }, //Nidoran (F)
|
||||
new EncounterStatic { Species=032, Level = 10, Moves = new[]{064, 068, 162}, }, //Nidoran (M)
|
||||
new EncounterStatic { Species=174, Level = 10, Moves = new[]{047, 313, 270}, }, //Igglybuff
|
||||
new EncounterStatic { Species=187, Level = 10, Moves = new[]{235, 270, 331}, }, //Hoppip
|
||||
new EncounterStatic { Species=270, Level = 10, Moves = new[]{071, 073, 352}, }, //Lotad
|
||||
new EncounterStatic { Species=276, Level = 10, Moves = new[]{064, 119, 366}, }, //Taillow
|
||||
new EncounterStatic { Species=309, Level = 10, Moves = new[]{086, 423, 324}, }, //Electrike
|
||||
new EncounterStatic { Species=351, Level = 10, Moves = new[]{052, 466, 352}, }, //Castform
|
||||
new EncounterStatic { Species=417, Level = 10, Moves = new[]{098, 343, 351}, }, //Pachirisu
|
||||
// Windskept Sky
|
||||
new EncounterStatic { Species=012, Level = 10, Moves = new[]{093, 355, 314}, }, //Butterfree
|
||||
new EncounterStatic { Species=163, Level = 10, Moves = new[]{193, 101, 278}, }, //Hoothoot
|
||||
new EncounterStatic { Species=278, Level = 10, Moves = new[]{055, 239, 351}, }, //Wingull
|
||||
new EncounterStatic { Species=333, Level = 10, Moves = new[]{064, 297, 355}, }, //Swablu
|
||||
new EncounterStatic { Species=425, Level = 10, Moves = new[]{107, 095, 285}, }, //Drifloon
|
||||
new EncounterStatic { Species=441, Level = 10, Moves = new[]{119, 417, 272}, }, //Chatot
|
||||
// Sparkling Sea
|
||||
new EncounterStatic { Species=079, Level = 10, Moves = new[]{281, 335, 362}, }, //Slowpoke
|
||||
new EncounterStatic { Species=098, Level = 10, Moves = new[]{011, 133, 290}, }, //Krabby
|
||||
new EncounterStatic { Species=119, Level = 33, Moves = new[]{352, 214, 203}, }, //Seaking
|
||||
new EncounterStatic { Species=120, Level = 10, Moves = new[]{055, 278, 196}, }, //Staryu
|
||||
new EncounterStatic { Species=222, Level = 10, Moves = new[]{145, 109, 446}, }, //Corsola
|
||||
new EncounterStatic { Species=422, Level = 10, Moves = new[]{189, 281, 290}, Form = 0 }, //Shellos
|
||||
new EncounterStatic { Species=422, Level = 10, Moves = new[]{189, 281, 290}, Form = 1 },
|
||||
// Spooky Mannor
|
||||
new EncounterStatic { Species=202, Level = 15, Moves = new[]{243, 204, 227}, }, //Wobbuffet
|
||||
new EncounterStatic { Species=238, Level = 10, Moves = new[]{186, 445, 285}, }, //Smoochum
|
||||
new EncounterStatic { Species=303, Level = 10, Moves = new[]{313, 424, 008}, }, //Mawile
|
||||
new EncounterStatic { Species=307, Level = 10, Moves = new[]{096, 409, 203}, }, //Meditite
|
||||
new EncounterStatic { Species=436, Level = 10, Moves = new[]{095, 285, 356}, }, //Bronzor
|
||||
new EncounterStatic { Species=052, Level = 10, Moves = new[]{010, 095, 290}, }, //Meowth
|
||||
new EncounterStatic { Species=479, Level = 10, Moves = new[]{086, 351, 324}, }, //Rotom
|
||||
new EncounterStatic { Species=280, Level = 10, Moves = new[]{093, 194, 270}, }, //Ralts
|
||||
new EncounterStatic { Species=302, Level = 10, Moves = new[]{193, 389, 180}, }, //Sableye
|
||||
new EncounterStatic { Species=442, Level = 10, Moves = new[]{180, 220, 196}, }, //Spiritomb
|
||||
// Rugged Mountain
|
||||
new EncounterStatic { Species=056, Level = 10, Moves = new[]{067, 179, 009}, }, //Mankey
|
||||
new EncounterStatic { Species=111, Level = 10, Moves = new[]{030, 068, 038}, }, //Rhyhorn
|
||||
new EncounterStatic { Species=231, Level = 10, Moves = new[]{175, 484, 402}, }, //Phanpy
|
||||
new EncounterStatic { Species=451, Level = 10, Moves = new[]{044, 097, 401}, }, //Skorupi
|
||||
new EncounterStatic { Species=216, Level = 10, Moves = new[]{313, 242, 264}, }, //Teddiursa
|
||||
new EncounterStatic { Species=296, Level = 10, Moves = new[]{292, 270, 008}, }, //Makuhita
|
||||
new EncounterStatic { Species=327, Level = 10, Moves = new[]{383, 252, 276}, }, //Spinda
|
||||
new EncounterStatic { Species=374, Level = 10, Moves = new[]{036, 428, 442}, }, //Beldum
|
||||
new EncounterStatic { Species=447, Level = 10, Moves = new[]{203, 418, 264}, }, //Riolu
|
||||
// Icy Cave
|
||||
new EncounterStatic { Species=173, Level = 10, Moves = new[]{227, 312, 214}, }, //Cleffa
|
||||
new EncounterStatic { Species=213, Level = 10, Moves = new[]{227, 270, 504}, }, //Shuckle
|
||||
new EncounterStatic { Species=299, Level = 10, Moves = new[]{033, 446, 246}, }, //Nosepass
|
||||
new EncounterStatic { Species=363, Level = 10, Moves = new[]{181, 090, 401}, }, //Spheal
|
||||
new EncounterStatic { Species=408, Level = 10, Moves = new[]{029, 442, 007}, }, //Cranidos
|
||||
new EncounterStatic { Species=206, Level = 10, Moves = new[]{111, 277, 446}, }, //Dunsparce
|
||||
new EncounterStatic { Species=410, Level = 10, Moves = new[]{182, 068, 090}, }, //Shieldon
|
||||
// Dream Park
|
||||
new EncounterStatic { Species=048, Level = 10, Moves = new[]{050, 226, 285}, }, //Venonat
|
||||
new EncounterStatic { Species=088, Level = 10, Moves = new[]{139, 114, 425}, }, //Grimer
|
||||
new EncounterStatic { Species=415, Level = 10, Moves = new[]{016, 366, 314}, }, //Combee
|
||||
new EncounterStatic { Species=015, Level = 10, Moves = new[]{031, 314, 210}, }, //Beedrill
|
||||
new EncounterStatic { Species=335, Level = 10, Moves = new[]{098, 458, 067}, }, //Zangoose
|
||||
new EncounterStatic { Species=336, Level = 10, Moves = new[]{044, 034, 401}, }, //Seviper
|
||||
// PGL
|
||||
new EncounterStatic { Species=134, Level = 10, Gender = 0, }, //Vaporeon
|
||||
new EncounterStatic { Species=135, Level = 10, Gender = 0, }, //Jolteon
|
||||
new EncounterStatic { Species=136, Level = 10, Gender = 0, }, //Flareon
|
||||
new EncounterStatic { Species=196, Level = 10, Gender = 0, }, //Espeon
|
||||
new EncounterStatic { Species=197, Level = 10, Gender = 0, }, //Umbreon
|
||||
new EncounterStatic { Species=470, Level = 10, Gender = 0, }, //Leafeon
|
||||
new EncounterStatic { Species=471, Level = 10, Gender = 0, }, //Glaceon
|
||||
new EncounterStatic { Species=001, Level = 10, Gender = 0, }, //Bulbasaur
|
||||
new EncounterStatic { Species=004, Level = 10, Gender = 0, }, //Charmander
|
||||
new EncounterStatic { Species=007, Level = 10, Gender = 0, }, //Squirtle
|
||||
new EncounterStatic { Species=453, Level = 10, Gender = 0, }, //Croagunk
|
||||
new EncounterStatic { Species=387, Level = 10, Gender = 0, }, //Turtwig
|
||||
new EncounterStatic { Species=390, Level = 10, Gender = 0, }, //Chimchar
|
||||
new EncounterStatic { Species=393, Level = 10, Gender = 0, }, //Piplup
|
||||
new EncounterStatic { Species=493, Level = 100 }, //Arceus
|
||||
new EncounterStatic { Species=252, Level = 10, Gender = 0, }, //Treecko
|
||||
new EncounterStatic { Species=255, Level = 10, Gender = 0, }, //Torchic
|
||||
new EncounterStatic { Species=258, Level = 10, Gender = 0, }, //Mudkip
|
||||
new EncounterStatic { Species=468, Level = 10, Moves = new[]{217}, Gender = 0, }, //Togekiss
|
||||
new EncounterStatic { Species=473, Level = 34, Gender = 0, }, //Mamoswine
|
||||
new EncounterStatic { Species=137, Level = 10 }, //Porygon
|
||||
new EncounterStatic { Species=384, Level = 50 }, //Rayquaza
|
||||
new EncounterStatic { Species=354, Level = 37, Moves = new[]{538}, Gender = 1, }, //Banette
|
||||
new EncounterStatic { Species=453, Level = 10, Moves = new[]{398}, Gender = 0, }, //Croagunk
|
||||
new EncounterStatic { Species=334, Level = 35, Moves = new[]{206}, Gender = 0,}, //Altaria
|
||||
new EncounterStatic { Species=242, Level = 10 }, //Blissey
|
||||
new EncounterStatic { Species=448, Level = 10, Moves = new[]{418}, Gender = 0, }, //Lucario
|
||||
new EncounterStatic { Species=189, Level = 27, Moves = new[]{206}, Gender = 0, }, //Jumpluff
|
||||
}).ToArray();
|
||||
|
||||
private static readonly EncounterStatic[] B2W2_DreamWorld = DreamWorld_Common.Concat(new[]
|
||||
{
|
||||
// Pleasant forest
|
||||
new EncounterStatic { Species=535, Level = 10, Moves = new[]{496, 414, 352}, }, //Tympole
|
||||
new EncounterStatic { Species=546, Level = 10, Moves = new[]{073, 227, 388}, }, //Cottonee
|
||||
new EncounterStatic { Species=548, Level = 10, Moves = new[]{079, 204, 230}, }, //Petilil
|
||||
new EncounterStatic { Species=588, Level = 10, Moves = new[]{203, 224, 450}, }, //Karrablast
|
||||
new EncounterStatic { Species=616, Level = 10, Moves = new[]{051, 226, 227}, }, //Shelmet
|
||||
new EncounterStatic { Species=545, Level = 30, Moves = new[]{342, 390, 276}, }, //Scolipede
|
||||
// Windskept Sky
|
||||
new EncounterStatic { Species=519, Level = 10, Moves = new[]{016, 095, 234}, }, //Pidove
|
||||
new EncounterStatic { Species=561, Level = 10, Moves = new[]{095, 500, 257}, }, //Sigilyph
|
||||
new EncounterStatic { Species=580, Level = 10, Moves = new[]{432, 362, 382}, }, //Ducklett
|
||||
new EncounterStatic { Species=587, Level = 10, Moves = new[]{098, 403, 204}, }, //Emolga
|
||||
// Sparkling Sea
|
||||
new EncounterStatic { Species=550, Level = 10, Moves = new[]{029, 097, 428}, Form = 0 },//Basculin
|
||||
new EncounterStatic { Species=550, Level = 10, Moves = new[]{029, 097, 428}, Form = 1 },
|
||||
new EncounterStatic { Species=594, Level = 10, Moves = new[]{392, 243, 220}, }, //Alomomola
|
||||
new EncounterStatic { Species=618, Level = 10, Moves = new[]{189, 174, 281}, }, //Stunfisk
|
||||
new EncounterStatic { Species=564, Level = 10, Moves = new[]{205, 175, 334}, }, //Tirtouga
|
||||
// Spooky Mannor
|
||||
new EncounterStatic { Species=605, Level = 10, Moves = new[]{377, 112, 417}, }, //Elgyem
|
||||
new EncounterStatic { Species=624, Level = 10, Moves = new[]{210, 427, 389}, }, //Pawniard
|
||||
new EncounterStatic { Species=596, Level = 36, Moves = new[]{486, 050, 228}, }, //Galvantula
|
||||
new EncounterStatic { Species=578, Level = 32, Moves = new[]{105, 286, 271}, }, //Duosion
|
||||
new EncounterStatic { Species=622, Level = 10, Moves = new[]{205, 007, 009}, }, //Golett
|
||||
// Rugged Mountain
|
||||
new EncounterStatic { Species=631, Level = 10, Moves = new[]{510, 257, 202}, }, //Heatmor
|
||||
new EncounterStatic { Species=632, Level = 10, Moves = new[]{210, 203, 422}, }, //Durant
|
||||
new EncounterStatic { Species=556, Level = 10, Moves = new[]{042, 073, 191}, }, //Maractus
|
||||
new EncounterStatic { Species=558, Level = 34, Moves = new[]{157, 068, 400}, }, //Crustle
|
||||
new EncounterStatic { Species=553, Level = 40, Moves = new[]{242, 068, 212}, }, //Krookodile
|
||||
// Icy Cave
|
||||
new EncounterStatic { Species=529, Level = 10, Moves = new[]{229, 319, 431}, }, //Drilbur
|
||||
new EncounterStatic { Species=621, Level = 10, Moves = new[]{044, 424, 389}, }, //Druddigon
|
||||
new EncounterStatic { Species=525, Level = 25, Moves = new[]{479, 174, 484}, }, //Boldore
|
||||
new EncounterStatic { Species=583, Level = 35, Moves = new[]{429, 420, 286}, }, //Vanillish
|
||||
new EncounterStatic { Species=600, Level = 38, Moves = new[]{451, 356, 393}, }, //Klang
|
||||
new EncounterStatic { Species=610, Level = 10, Moves = new[]{082, 068, 400}, }, //Axew
|
||||
// Dream Park
|
||||
new EncounterStatic { Species=531, Level = 10, Moves = new[]{270, 227, 281}, }, //Audino
|
||||
new EncounterStatic { Species=538, Level = 10, Moves = new[]{020, 008, 276}, }, //Throh
|
||||
new EncounterStatic { Species=539, Level = 10, Moves = new[]{249, 009, 530}, }, //Sawk
|
||||
new EncounterStatic { Species=559, Level = 10, Moves = new[]{067, 252, 409}, }, //Scraggy
|
||||
new EncounterStatic { Species=533, Level = 25, Moves = new[]{067, 183, 409}, }, //Gurdurr
|
||||
// PGL
|
||||
new EncounterStatic { Species=575, Level = 32, Moves = new[]{243}, Gender = 0, }, //Gothorita
|
||||
new EncounterStatic { Species=025, Level = 10, Moves = new[]{029}, Gender = 0, }, //Pikachu
|
||||
new EncounterStatic { Species=511, Level = 10, Moves = new[]{437}, Gender = 0, }, //Pansage
|
||||
new EncounterStatic { Species=513, Level = 10, Moves = new[]{257}, Gender = 0, }, //Pansear
|
||||
new EncounterStatic { Species=515, Level = 10, Moves = new[]{056}, Gender = 0, }, //Panpour
|
||||
new EncounterStatic { Species=387, Level = 10, Moves = new[]{254}, Gender = 0, }, //Turtwig
|
||||
new EncounterStatic { Species=390, Level = 10, Moves = new[]{252}, Gender = 0, }, //Chimchar
|
||||
new EncounterStatic { Species=393, Level = 10, Moves = new[]{297}, Gender = 0, }, //Piplup
|
||||
new EncounterStatic { Species=575, Level = 32, Moves = new[]{286}, Gender = 0, }, //Gothorita
|
||||
}).ToArray();
|
||||
|
||||
#endregion
|
||||
#region Static Encounter/Gift Tables
|
||||
|
||||
private static readonly int[] Roaming_MetLocation_BW =
|
||||
{
|
||||
25,26,27,28, // Route 12,13,14,15 Night latter half
|
||||
15,16,31, // Route 2,3,18 Morning
|
||||
17,18,29, // Route 4,5,16 Daytime
|
||||
19,20,21, // Route 6,7,8 Evening
|
||||
22,23,24, // Route 9,10,11 Night former half
|
||||
};
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_BW_Roam =
|
||||
{
|
||||
new EncounterStatic { Species = 641, Level = 40, Version = GameVersion.B, Roaming = true }, //Tornadus
|
||||
new EncounterStatic { Species = 642, Level = 40, Version = GameVersion.W, Roaming = true }, //Thundurus
|
||||
};
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_BW_Regular =
|
||||
{
|
||||
//Starters @ Nuvema Town
|
||||
new EncounterStatic { Gift = true, Species = 495, Level = 5, Location = 4, }, // Snivys
|
||||
new EncounterStatic { Gift = true, Species = 498, Level = 5, Location = 4, }, // Tepig
|
||||
new EncounterStatic { Gift = true, Species = 501, Level = 5, Location = 4, }, // Oshawott
|
||||
//Fossil @ Nacrene City
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 25, Location = 7, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 25, Location = 7, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 25, Location = 7, }, // Aerodactyl
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 25, Location = 7, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 25, Location = 7, }, // Anorith
|
||||
new EncounterStatic { Gift = true, Species = 408, Level = 25, Location = 7, }, // Cranidos
|
||||
new EncounterStatic { Gift = true, Species = 410, Level = 25, Location = 7, }, // Shieldon
|
||||
new EncounterStatic { Gift = true, Species = 564, Level = 25, Location = 7, }, // Tirtouga
|
||||
new EncounterStatic { Gift = true, Species = 566, Level = 25, Location = 7, }, // Archen
|
||||
//Gift
|
||||
new EncounterStatic { Gift = true, Species = 511, Level = 10, Location = 32, }, // Pansage @ Dreamyard
|
||||
new EncounterStatic { Gift = true, Species = 513, Level = 10, Location = 32, }, // Pansear
|
||||
new EncounterStatic { Gift = true, Species = 515, Level = 10, Location = 32, }, // Panpour
|
||||
new EncounterStatic { Gift = true, Species = 129, Level = 05, Location = 68, }, // Magikarp @ Marvelous Bridge
|
||||
new EncounterStatic { Gift = true, Species = 636, Level = 01, EggLocation = 60003, }, // Larvesta Egg from Treasure Hunter
|
||||
//Stationary
|
||||
new EncounterStatic { Species = 518, Level = 50, Location = 32, Ability = 4, }, //Musharna @ Dreamyard Friday Only
|
||||
new EncounterStatic { Species = 590, Level = 20, Location = 19, }, //Foongus @ Route 6
|
||||
new EncounterStatic { Species = 590, Level = 30, Location = 23, }, //Foongus @ Route 10
|
||||
new EncounterStatic { Species = 591, Level = 40, Location = 23, }, //Amoonguss @ Route 10
|
||||
new EncounterStatic { Species = 555, Level = 35, Location = 34, Ability = 4, }, //Darmanitan @ Desert Resort
|
||||
new EncounterStatic { Species = 637, Level = 70, Location = 35, }, //Volcarona @ Relic Castle
|
||||
//Stationary Legendary
|
||||
new EncounterStatic { Species = 638, Level = 42, Location = 74,}, //Cobalion @ Guidance Chamber
|
||||
new EncounterStatic { Species = 639, Level = 42, Location = 73,}, //Terrakion @ Trial Chamber
|
||||
new EncounterStatic { Species = 640, Level = 42, Location = 55,}, //Virizion @ Rumination Field
|
||||
new EncounterStatic { Species = 643, Level = 50, Location = 45, Shiny = false, Version = GameVersion.B, }, //Reshiram @ N'Castle
|
||||
new EncounterStatic { Species = 643, Level = 50, Location = 39, Shiny = false, Version = GameVersion.B, }, //Reshiram @ Dragonspiral Tower
|
||||
new EncounterStatic { Species = 644, Level = 50, Location = 45, Shiny = false, Version = GameVersion.W, }, //Zekrom @ N'Castle
|
||||
new EncounterStatic { Species = 644, Level = 50, Location = 39, Shiny = false, Version = GameVersion.W, }, //Zekrom @ Dragonspiral Tower
|
||||
new EncounterStatic { Species = 645, Level = 70, Location = 70,}, //Landorus @ Abundant Shrine
|
||||
new EncounterStatic { Species = 646, Level = 75, Location = 61,}, //Kyurem @ Giant Chasm
|
||||
//Event
|
||||
new EncounterStatic { Species = 494, Level = 15, Location = 62, Shiny = false}, // Victini @ Liberty Garden
|
||||
new EncounterStatic { Species = 570, Level = 10, Location = 08, Gender = 0, }, // Zorua @ Castelia City
|
||||
new EncounterStatic { Species = 571, Level = 25, Location = 72, Gender = 1, }, // Zoroark @ Lostlorn Forest
|
||||
};
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_BW = Encounter_BW_Roam.SelectMany(e => e.Clone(Roaming_MetLocation_BW)).Concat(Encounter_BW_Regular).ToArray();
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_B2W2_Regular =
|
||||
{
|
||||
//Starters @ Aspertia City
|
||||
new EncounterStatic { Gift = true, Species = 495, Level = 5, Location = 117, }, // Snivy
|
||||
new EncounterStatic { Gift = true, Species = 498, Level = 5, Location = 117, }, // Tepig
|
||||
new EncounterStatic { Gift = true, Species = 501, Level = 5, Location = 117, }, // Oshawott
|
||||
//Fossil @ Nacrene City
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 25, Location = 7, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 25, Location = 7, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 25, Location = 7, }, // Aerodactyl
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 25, Location = 7, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 25, Location = 7, }, // Anorith
|
||||
new EncounterStatic { Gift = true, Species = 408, Level = 25, Location = 7, }, // Cranidos
|
||||
new EncounterStatic { Gift = true, Species = 410, Level = 25, Location = 7, }, // Shieldon
|
||||
new EncounterStatic { Gift = true, Species = 564, Level = 25, Location = 7, }, // Tirtouga
|
||||
new EncounterStatic { Gift = true, Species = 566, Level = 25, Location = 7, }, // Archen
|
||||
//Gift
|
||||
new EncounterStatic { Gift = true, Species = 133, Level = 10, Ability = 4, Location = 8, }, //HA Eevee @ Castelia City
|
||||
new EncounterStatic { Gift = true, Species = 585, Level = 30, Ability = 4, Location = 19, Form = 0, }, //HA Deerling @ Route 6
|
||||
new EncounterStatic { Gift = true, Species = 585, Level = 30, Ability = 4, Location = 19, Form = 1, }, //HA Deerling @ Route 6
|
||||
new EncounterStatic { Gift = true, Species = 585, Level = 30, Ability = 4, Location = 19, Form = 2, }, //HA Deerling @ Route 6
|
||||
new EncounterStatic { Gift = true, Species = 585, Level = 30, Ability = 4, Location = 19, Form = 3, }, //HA Deerling @ Route 6
|
||||
new EncounterStatic { Gift = true, Species = 443, Level = 01, Shiny = true, Location = 122, Gender = 0, Version = GameVersion.B2, }, //Shiny Gible @ Floccesy Town
|
||||
new EncounterStatic { Gift = true, Species = 147, Level = 01, Shiny = true, Location = 122, Gender = 0, Version = GameVersion.W2, }, //Shiny Dratini @ Floccesy Town
|
||||
new EncounterStatic { Gift = true, Species = 129, Level = 05, Location = 68, }, // Magikarp @ Marvelous Bridge
|
||||
new EncounterStatic { Gift = true, Species = 440, Level = 01, EggLocation = 60003, }, // Happiny Egg from PKMN Breeder
|
||||
//Stationary
|
||||
new EncounterStatic { Species = 590, Level = 29, Location = 19, }, // Foongus @ Route 6
|
||||
new EncounterStatic { Species = 591, Level = 43, Location = 24, }, // Amoonguss @ Route 11
|
||||
new EncounterStatic { Species = 593, Level = 40, Location = 71, Ability = 4, Version = GameVersion.B2, Gender = 0,}, // HA Jellicent @ Undella Bay Mon Only
|
||||
new EncounterStatic { Species = 593, Level = 40, Location = 71, Ability = 4, Version = GameVersion.W2, Gender = 1,}, // HA Jellicent @ Undella Bay Thurs Only
|
||||
new EncounterStatic { Species = 628, Level = 25, Location = 17, Ability = 4, Version = GameVersion.W2, Gender = 0,}, // HA Braviary @ Route 4 Mon Only
|
||||
new EncounterStatic { Species = 630, Level = 25, Location = 17, Ability = 4, Version = GameVersion.B2, Gender = 1,}, // HA Mandibuzz @ Route 4 Thurs Only
|
||||
new EncounterStatic { Species = 637, Level = 35, Location = 35, }, // Volcarona @ Relic Castle
|
||||
new EncounterStatic { Species = 637, Level = 65, Location = 35, }, // Volcarona @ Relic Castle
|
||||
new EncounterStatic { Species = 558, Level = 42, Location = 141, }, // Crustle @ Seaside Cave
|
||||
new EncounterStatic { Species = 612, Level = 60, Location = 147, Shiny = true}, // Haxorus @ Nature Preserve
|
||||
//Stationary Lengerdary
|
||||
new EncounterStatic { Species = 377, Level = 65, Location = 150,}, //Regirock @ Rock Peak Chamber
|
||||
new EncounterStatic { Species = 378, Level = 65, Location = 151,}, //Regice @ Iceberg Chamber
|
||||
new EncounterStatic { Species = 379, Level = 65, Location = 152,}, //Registeel @ Iron Chamber
|
||||
new EncounterStatic { Species = 380, Level = 68, Location = 032, Version = GameVersion.W2, }, // Latias @ Dreamyard
|
||||
new EncounterStatic { Species = 381, Level = 68, Location = 032, Version = GameVersion.B2, }, // Latios @ Dreamyard
|
||||
new EncounterStatic { Species = 480, Level = 65, Location = 007,}, //Uxie @ Nacrene City
|
||||
new EncounterStatic { Species = 481, Level = 65, Location = 056,}, //Mesprit @ Celestial Tower
|
||||
new EncounterStatic { Species = 482, Level = 65, Location = 128,}, //Azelf @ Route 23
|
||||
new EncounterStatic { Species = 485, Level = 68, Location = 132,}, //Heatran @ Reversal Mountain
|
||||
new EncounterStatic { Species = 486, Level = 68, Location = 038,}, //Regigigas @ Twist Mountain
|
||||
new EncounterStatic { Species = 488, Level = 68, Location = 068,}, //Cresselia @ Marvelous Bridge
|
||||
|
||||
new EncounterStatic { Species = 638, Level = 45, Location = 026,}, // Cobalion @ Route 13
|
||||
new EncounterStatic { Species = 638, Level = 65, Location = 026,}, // Cobalion @ Route 13
|
||||
new EncounterStatic { Species = 639, Level = 45, Location = 127,}, // Terrakion @ Route 22
|
||||
new EncounterStatic { Species = 639, Level = 65, Location = 127,}, // Terrakion @ Route 22
|
||||
new EncounterStatic { Species = 640, Level = 45, Location = 024,}, // Virizion @ Route 11
|
||||
new EncounterStatic { Species = 640, Level = 65, Location = 024,}, // Virizion @ Route 11
|
||||
new EncounterStatic { Species = 643, Level = 70, Location = 039, Shiny = false, Version = GameVersion.W2, }, // Reshiram @ Dragonspiral Tower
|
||||
new EncounterStatic { Species = 644, Level = 70, Location = 039, Shiny = false, Version = GameVersion.B2, }, // Zekrom @ Dragonspiral Tower
|
||||
new EncounterStatic { Species = 646, Level = 70, Location = 061, Form = 0}, // Kyurem @ Giant Chasm
|
||||
//N's Pokemon
|
||||
new EncounterStatic { Species = 509, Level = 07, Location = 15, NSparkle = true, Ability = 2, Nature = Nature.Timid }, //Purloin @ Route 2
|
||||
new EncounterStatic { Species = 519, Level = 13, Location = 33, NSparkle = true, Ability = 2, Nature = Nature.Sassy }, //Pidove @ Pinwheel Forest
|
||||
new EncounterStatic { Species = 532, Level = 13, Location = 33, NSparkle = true, Ability = 1, Nature = Nature.Rash }, //Timburr @ Pinwheel Forest
|
||||
new EncounterStatic { Species = 535, Level = 13, Location = 33, NSparkle = true, Ability = 2, Nature = Nature.Modest }, //Tympole @ Pinwheel Forest
|
||||
new EncounterStatic { Species = 527, Level = 55, Location = 53, NSparkle = true, Ability = 1, Nature = Nature.Timid }, //Woobat @ Wellspring Cave
|
||||
new EncounterStatic { Species = 551, Level = 22, Location = 34, NSparkle = true, Ability = 2, Nature = Nature.Docile }, //Sandile @ Desert Resort
|
||||
new EncounterStatic { Species = 554, Level = 22, Location = 34, NSparkle = true, Ability = 1, Nature = Nature.Naive }, //Darumaka @ Desert Resort
|
||||
new EncounterStatic { Species = 555, Level = 35, Location = 34, NSparkle = true, Ability = 4, Nature = Nature.Calm }, //Darmanitan @ Desert Resort
|
||||
new EncounterStatic { Species = 559, Level = 22, Location = 34, NSparkle = true, Ability = 1, Nature = Nature.Lax }, //Scaggy @ Desert Resort
|
||||
new EncounterStatic { Species = 561, Level = 22, Location = 34, NSparkle = true, Ability = 2, Nature = Nature.Gentle }, //Sigilyph @ Desert Resort
|
||||
new EncounterStatic { Species = 525, Level = 28, Location = 37, NSparkle = true, Ability = 1, Nature = Nature.Naive }, //Boldore @ Chargestone Cave
|
||||
new EncounterStatic { Species = 595, Level = 28, Location = 37, NSparkle = true, Ability = 2, Nature = Nature.Docile }, //Joltik @ Chargestone Cave
|
||||
new EncounterStatic { Species = 597, Level = 28, Location = 37, NSparkle = true, Ability = 1, Nature = Nature.Bashful }, //Ferroseed @ Chargestone Cave
|
||||
new EncounterStatic { Species = 599, Level = 28, Location = 37, NSparkle = true, Ability = 1, Nature = Nature.Rash }, //Klink @ Chargestone Cave
|
||||
new EncounterStatic { Species = 570, Level = 25, Location = 10, NSparkle = true, Ability = 1, Nature = Nature.Hasty, Gift = true} //N's Zorua @ Driftveil City
|
||||
};
|
||||
|
||||
private static readonly EncounterStatic[] Encounter_B2W2 = Encounter_DreamRadar.SelectMany(e => e.DreamRadarClone()).Concat(Encounter_B2W2_Regular).ToArray();
|
||||
|
||||
#endregion
|
||||
#region Trade Tables
|
||||
|
||||
internal static readonly EncounterTrade[] TradeGift_BW =
|
||||
{
|
||||
new EncounterTrade { Species = 548, Level = 15, Ability = 1, TID = 39922, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {20,20,20,20,31,20}, Nature = Nature.Modest, Version = GameVersion.B, }, // Petilil
|
||||
new EncounterTrade { Species = 546, Level = 15, Ability = 1, TID = 39922, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {20,20,20,20,31,20}, Nature = Nature.Modest, Version = GameVersion.W, }, // Cottonee
|
||||
new EncounterTrade { Species = 550, Level = 25, Ability = 1, TID = 27646, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,31,20,20,20,20}, Nature = Nature.Adamant, Version = GameVersion.B, Form = 0, }, // Basculin-Red
|
||||
new EncounterTrade { Species = 550, Level = 25, Ability = 1, TID = 27646, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,31,20,20,20,20}, Nature = Nature.Adamant, Version = GameVersion.W, Form = 1, }, // Basculin-Blue
|
||||
new EncounterTrade { Species = 587, Level = 30, Ability = 1, TID = 11195, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,20,31,20,20,20}, Nature = Nature.Lax, }, // Emolga
|
||||
new EncounterTrade { Species = 479, Level = 60, Ability = 1, TID = 54673, SID = 00000, OTGender = 1, Gender = 2, IVs = new[] {20,20,20,20,20,31}, Nature = Nature.Gentle, }, // Rotom
|
||||
new EncounterTrade { Species = 446, Level = 60, Ability = 2, TID = 40217, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {31,20,20,20,20,20}, Nature = Nature.Serious, }, // Munchlax
|
||||
};
|
||||
|
||||
internal static readonly EncounterTrade[] TradeGift_B2W2 =
|
||||
{
|
||||
new EncounterTrade { Species = 548, Level = 20, Ability = 2, TID = 65217, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {20,20,20,20,31,20}, Nature = Nature.Timid, Version = GameVersion.B2, }, // Petilil
|
||||
new EncounterTrade { Species = 546, Level = 20, Ability = 1, TID = 05720, SID = 00001, OTGender = 0, Gender = 0, IVs = new[] {20,20,20,20,31,20}, Nature = Nature.Modest, Version = GameVersion.W2, }, // Cottonee
|
||||
new EncounterTrade { Species = 526, Level = 35, Ability = 1, TID = 11195, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,31,20,20,20,20}, Nature = Nature.Adamant, }, // Gigalith
|
||||
new EncounterTrade { Species = 465, Level = 45, Ability = 1, TID = 27658, SID = 00001, OTGender = 0, Gender = 0, IVs = new[] {31,20,20,20,20,20}, Nature = Nature.Hardy, }, // Tangrowth
|
||||
new EncounterTrade { Species = 479, Level = 60, Ability = 1, TID = 54673, SID = 00000, OTGender = 1, Gender = 2, IVs = new[] {20,20,20,20,20,31}, Nature = Nature.Calm, }, // Rotom
|
||||
new EncounterTrade { Species = 424, Level = 40, Ability = 2, TID = 17074, SID = 00001, OTGender = 1, Gender = 0, IVs = new[] {20,20,20,31,20,20}, Nature = Nature.Jolly, }, // Ambipom
|
||||
new EncounterTrade { Species = 065, Level = 40, Ability = 1, TID = 17074, SID = 00001, OTGender = 1, Gender = 0, IVs = new[] {20,20,20,31,20,20}, Nature = Nature.Timid, }, // Alakazam
|
||||
// player is male
|
||||
new EncounterTrade { Species = 052, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 202, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 280, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 410, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 111, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 422, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1, Form = 0, }, //Shellos-Red
|
||||
new EncounterTrade { Species = 303, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 442, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 143, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 216, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 327, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 175, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
// player is female
|
||||
new EncounterTrade { Species = 056, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 202, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 280, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 408, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 111, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 422, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0, Form = 1,}, //Shellos-Blue
|
||||
new EncounterTrade { Species = 302, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 442, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 143, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 231, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 327, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 175, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
};
|
||||
|
||||
#endregion
|
||||
#region Alt Slots
|
||||
|
||||
// White forest white version only
|
||||
|
||||
private static readonly int[] WhiteForest_GrassSpecies =
|
||||
{
|
||||
016,029,032,043,063,066,069,081,092,111,
|
||||
137,175,179,187,239,240,265,270,273,280,
|
||||
287,293,298,304,328,371,396,403,406,440,
|
||||
};
|
||||
|
||||
private static readonly int[] WhiteForest_SurfSpecies =
|
||||
{
|
||||
194,270,283,341,
|
||||
};
|
||||
|
||||
private static readonly EncounterArea[] WhiteForestSlot = EncounterArea.GetSimpleEncounterArea(WhiteForest_GrassSpecies, new[] { 5, 5 }, 51, SlotType.Grass).Concat(
|
||||
EncounterArea.GetSimpleEncounterArea(WhiteForest_SurfSpecies, new[] { 5, 5 }, 51, SlotType.Surf)).ToArray();
|
||||
|
||||
private static readonly EncounterArea[] SlotsBW_Swarm =
|
||||
{
|
||||
//level range and Slottype will be marked later
|
||||
new EncounterArea {Location = 14, Slots = new[]{new EncounterSlot {Species = 083},},},// Farfetch'd @ Route 1
|
||||
new EncounterArea {Location = 15, Slots = new[]{new EncounterSlot {Species = 360},},},// Wynant @ Route 2
|
||||
new EncounterArea {Location = 17, Slots = new[]{new EncounterSlot {Species = 449},},},// Hippopotas @ Route 4
|
||||
new EncounterArea {Location = 18, Slots = new[]{new EncounterSlot {Species = 235},},},// Smeargle @ Route 5
|
||||
new EncounterArea {Location = 20, Slots = new[]{new EncounterSlot {Species = 161},},},// Sentret @ Route 7
|
||||
new EncounterArea {Location = 21, Slots = new[]{new EncounterSlot {Species = 453},},},// Croagunk @ Route 8
|
||||
new EncounterArea {Location = 23, Slots = new[]{new EncounterSlot {Species = 236},},},// Tyrogue @ Route 10
|
||||
new EncounterArea {Location = 25, Slots = new[]{new EncounterSlot {Species = 084},},},// Doduo @ Route 12
|
||||
new EncounterArea {Location = 26, Slots = new[]{new EncounterSlot {Species = 353},},},// Shuppet @ Route 13
|
||||
new EncounterArea {Location = 27, Slots = new[]{new EncounterSlot {Species = 193},},},// Yanma @ Route 14
|
||||
new EncounterArea {Location = 28, Slots = new[]{new EncounterSlot {Species = 056},},},// Mankey @ Route 15
|
||||
new EncounterArea {Location = 29, Slots = new[]{new EncounterSlot {Species = 204},},},// Pineco @ Route 16
|
||||
new EncounterArea {Location = 30, Slots = new[]{new EncounterSlot {Species = 102},},},// Exeggcutes @ Route 18
|
||||
};
|
||||
|
||||
private static readonly EncounterArea[] SlotsB_Swarm = SlotsBW_Swarm.Concat(new[] {
|
||||
new EncounterArea {Location = 16, Slots = new[]{new EncounterSlot {Species = 313},},},// Volbeat @ Route 3
|
||||
new EncounterArea {Location = 19, Slots = new[]{new EncounterSlot {Species = 311},},},// Plusle @ Route 6
|
||||
new EncounterArea {Location = 22, Slots = new[]{new EncounterSlot {Species = 228},},},// Houndour @ Route 9
|
||||
new EncounterArea {Location = 24, Slots = new[]{new EncounterSlot {Species = 285},},},// Shroomish @ Route 11
|
||||
}).ToArray();
|
||||
|
||||
private static readonly EncounterArea[] SlotsW_Swarm = SlotsBW_Swarm.Concat(new[] {
|
||||
new EncounterArea {Location = 16, Slots = new[]{new EncounterSlot {Species = 314},},},// Illumise @ Route 3
|
||||
new EncounterArea {Location = 19, Slots = new[]{new EncounterSlot {Species = 312},},},// Minun @ Route 6
|
||||
new EncounterArea {Location = 22, Slots = new[]{new EncounterSlot {Species = 261},},},// Poochyena @ Route 9
|
||||
new EncounterArea {Location = 24, Slots = new[]{new EncounterSlot {Species = 046},},},// Paras @ Route 11
|
||||
}).ToArray();
|
||||
|
||||
private static readonly EncounterArea[] SlotsB2W2_Swarm =
|
||||
{
|
||||
//level range and Slottype will be marked later
|
||||
new EncounterArea {Location = 014, Slots = new[]{new EncounterSlot {Species = 083},},},// Farfetch'd @ Route 1
|
||||
new EncounterArea {Location = 018, Slots = new[]{new EncounterSlot {Species = 177},},},// Natu @ Route 5
|
||||
new EncounterArea {Location = 020, Slots = new[]{new EncounterSlot {Species = 162},},},// Furret @ Route 7
|
||||
new EncounterArea {Location = 021, Slots = new[]{new EncounterSlot {Species = 195},},},// Quagsire @ Route 8
|
||||
new EncounterArea {Location = 022, Slots = new[]{new EncounterSlot {Species = 317},},},// Swalot @ Route 9
|
||||
new EncounterArea {Location = 024, Slots = new[]{new EncounterSlot {Species = 284},},},// Masquerain @ Route 11
|
||||
new EncounterArea {Location = 025, Slots = new[]{new EncounterSlot {Species = 084},},},// Doduo @ Route 12
|
||||
new EncounterArea {Location = 026, Slots = new[]{new EncounterSlot {Species = 277},},},// Swellow @ Route 13
|
||||
new EncounterArea {Location = 028, Slots = new[]{new EncounterSlot {Species = 022},},},// Fearow @ Route 15
|
||||
new EncounterArea {Location = 029, Slots = new[]{new EncounterSlot {Species = 204},},},// Pineco @ Route 16
|
||||
new EncounterArea {Location = 031, Slots = new[]{new EncounterSlot {Species = 187},},},// Hoppip @ Route 18
|
||||
new EncounterArea {Location = 032, Slots = new[]{new EncounterSlot {Species = 097},},},// Hypno @ Dreamyard
|
||||
new EncounterArea {Location = 034, Slots = new[]{new EncounterSlot {Species = 450},},},// Hippowdon @ Desert Resort
|
||||
new EncounterArea {Location = 070, Slots = new[]{new EncounterSlot {Species = 079},},},// Slowpoke @ Abundant shrine
|
||||
new EncounterArea {Location = 132, Slots = new[]{new EncounterSlot {Species = 332},},},// Cacturne @ Reaversal Mountian
|
||||
};
|
||||
|
||||
private static readonly EncounterArea[] SlotsB2_Swarm = SlotsB2W2_Swarm.Concat(new[] {
|
||||
new EncounterArea {Location = 016, Slots = new[]{new EncounterSlot {Species = 313},},},// Volbeat @ Route 3
|
||||
new EncounterArea {Location = 019, Slots = new[]{new EncounterSlot {Species = 311},},},// Plusle @ Route 6
|
||||
new EncounterArea {Location = 125, Slots = new[]{new EncounterSlot {Species = 185},},},// Sudowoodo @ Route 20
|
||||
new EncounterArea {Location = 127, Slots = new[]{new EncounterSlot {Species = 168},},},// Ariados @ Route 22
|
||||
}).ToArray();
|
||||
|
||||
private static readonly EncounterArea[] SlotsW2_Swarm = SlotsB2W2_Swarm.Concat(new[] {
|
||||
new EncounterArea {Location = 016, Slots = new[]{new EncounterSlot {Species = 314},},},// Illumise @ Route 3
|
||||
new EncounterArea {Location = 019, Slots = new[]{new EncounterSlot {Species = 312},},},// Minun @ Route 6
|
||||
new EncounterArea {Location = 125, Slots = new[]{new EncounterSlot {Species = 122},},},// Mr.Mime @ Route 20
|
||||
new EncounterArea {Location = 127, Slots = new[]{new EncounterSlot {Species = 166},},},// Ledian @ Route 22
|
||||
}).ToArray();
|
||||
|
||||
private static readonly EncounterSlot[] SlotsB2W2_HiddenGrottoEncounterSlots =
|
||||
{
|
||||
// reference http://bulbapedia.bulbagarden.net/wiki/Hidden_Grotto
|
||||
// Route 2
|
||||
new EncounterSlot{ Species = 029, LevelMin = 55, LevelMax = 60, }, // Nidoran-f
|
||||
new EncounterSlot{ Species = 032, LevelMin = 55, LevelMax = 60, }, // Nidoran-m
|
||||
new EncounterSlot{ Species = 210, LevelMin = 55, LevelMax = 60, }, // Granbull
|
||||
new EncounterSlot{ Species = 505, LevelMin = 55, LevelMax = 60, }, // Watchdog
|
||||
// Route 3
|
||||
new EncounterSlot{ Species = 310, LevelMin = 55, LevelMax = 60, }, // Manectric @ Dark grass
|
||||
new EncounterSlot{ Species = 417, LevelMin = 55, LevelMax = 60, }, // Pachirisu @ Dark grass
|
||||
new EncounterSlot{ Species = 523, LevelMin = 55, LevelMax = 60, }, // Zebstrika @ Dark grass
|
||||
new EncounterSlot{ Species = 048, LevelMin = 55, LevelMax = 60, }, // Venonat @ Pond
|
||||
new EncounterSlot{ Species = 271, LevelMin = 55, LevelMax = 60, }, // Lombre @ Pond
|
||||
new EncounterSlot{ Species = 400, LevelMin = 55, LevelMax = 60, }, // Bibarel @ Pond
|
||||
// Route 5
|
||||
new EncounterSlot{ Species = 510, LevelMin = 20, LevelMax = 25, }, // Liepard
|
||||
new EncounterSlot{ Species = 572, LevelMin = 20, LevelMax = 25, }, // Minccino
|
||||
new EncounterSlot{ Species = 590, LevelMin = 20, LevelMax = 25, }, // Foongus
|
||||
// Route 6
|
||||
new EncounterSlot{ Species = 206, LevelMin = 25, LevelMax = 30, }, // Dunsparce @ Near PKM Breeder
|
||||
new EncounterSlot{ Species = 299, LevelMin = 25, LevelMax = 30, }, // Nospass @ Mistralton Cave
|
||||
new EncounterSlot{ Species = 527, LevelMin = 25, LevelMax = 30, }, // Woobat @ Both
|
||||
new EncounterSlot{ Species = 590, LevelMin = 25, LevelMax = 30, }, // Foongus @ Both
|
||||
// Route 7
|
||||
new EncounterSlot{ Species = 335, LevelMin = 30, LevelMax = 35, }, // Zangoose
|
||||
new EncounterSlot{ Species = 336, LevelMin = 30, LevelMax = 35, }, // Seviper
|
||||
new EncounterSlot{ Species = 505, LevelMin = 30, LevelMax = 35, }, // Watechdog
|
||||
new EncounterSlot{ Species = 613, LevelMin = 30, LevelMax = 35, }, // Cubchoo
|
||||
// Route 9
|
||||
new EncounterSlot{ Species = 089, LevelMin = 35, LevelMax = 40, }, // Muk
|
||||
new EncounterSlot{ Species = 510, LevelMin = 35, LevelMax = 40, }, // Liepard
|
||||
new EncounterSlot{ Species = 569, LevelMin = 35, LevelMax = 40, }, // Garbodor
|
||||
new EncounterSlot{ Species = 626, LevelMin = 35, LevelMax = 40, }, // Bouffalant
|
||||
// Route 13
|
||||
new EncounterSlot{ Species = 114, LevelMin = 35, LevelMax = 40, }, // Tangela @ Gaint Chasm
|
||||
new EncounterSlot{ Species = 363, LevelMin = 35, LevelMax = 40, }, // Spheal @ Stairs
|
||||
new EncounterSlot{ Species = 425, LevelMin = 35, LevelMax = 40, }, // Drifloon @ Stairs
|
||||
new EncounterSlot{ Species = 451, LevelMin = 35, LevelMax = 40, }, // Skorupi @ Gaint Chasm
|
||||
new EncounterSlot{ Species = 590, LevelMin = 35, LevelMax = 40, }, // Foongus @ Both
|
||||
// Route 18
|
||||
new EncounterSlot{ Species = 099, LevelMin = 55, LevelMax = 60, }, // Kingler
|
||||
new EncounterSlot{ Species = 149, LevelMin = 55, LevelMax = 60, }, // Dragonite
|
||||
new EncounterSlot{ Species = 222, LevelMin = 55, LevelMax = 60, }, // Corsola
|
||||
new EncounterSlot{ Species = 441, LevelMin = 55, LevelMax = 60, }, // Chatot
|
||||
// Pinwheel Forest
|
||||
new EncounterSlot{ Species = 061, LevelMin = 55, LevelMax = 60, }, // Poliwhirl @ Outer
|
||||
new EncounterSlot{ Species = 198, LevelMin = 55, LevelMax = 60, }, // Murkrow @ Inner
|
||||
new EncounterSlot{ Species = 286, LevelMin = 55, LevelMax = 60, }, // Breloom @ Inner
|
||||
new EncounterSlot{ Species = 297, LevelMin = 55, LevelMax = 60, }, // Hariyama @ Outer
|
||||
new EncounterSlot{ Species = 308, LevelMin = 55, LevelMax = 60, }, // Medicham @ Outer
|
||||
new EncounterSlot{ Species = 371, LevelMin = 55, LevelMax = 60, }, // Bagon @ Outer
|
||||
new EncounterSlot{ Species = 591, LevelMin = 55, LevelMax = 60, }, // Amoonguss @ Inner
|
||||
// Giant Chasm
|
||||
new EncounterSlot{ Species = 035, LevelMin = 45, LevelMax = 50, }, // Clefairy
|
||||
new EncounterSlot{ Species = 132, LevelMin = 45, LevelMax = 50, }, // Ditto
|
||||
new EncounterSlot{ Species = 215, LevelMin = 45, LevelMax = 50, }, // Sneasel
|
||||
new EncounterSlot{ Species = 375, LevelMin = 45, LevelMax = 50, }, // Metang
|
||||
// Abundant Shrine
|
||||
new EncounterSlot{ Species = 037, LevelMin = 35, LevelMax = 40, }, // Vulpix @ Near Youngster
|
||||
new EncounterSlot{ Species = 055, LevelMin = 35, LevelMax = 40, }, // Golduck @ Shrine
|
||||
new EncounterSlot{ Species = 333, LevelMin = 35, LevelMax = 40, }, // Swablu @ Shrine
|
||||
new EncounterSlot{ Species = 436, LevelMin = 35, LevelMax = 40, }, // Bronzor @ Near Youngster
|
||||
new EncounterSlot{ Species = 619, LevelMin = 35, LevelMax = 40, }, // Amoonguss @ Both
|
||||
// Lostlorn Forest
|
||||
new EncounterSlot{ Species = 127, LevelMin = 20, LevelMax = 25, }, // Pinsir
|
||||
new EncounterSlot{ Species = 214, LevelMin = 20, LevelMax = 25, }, // Heracross
|
||||
new EncounterSlot{ Species = 415, LevelMin = 20, LevelMax = 25, }, // Combee
|
||||
new EncounterSlot{ Species = 542, LevelMin = 20, LevelMax = 25, }, // Leavanny
|
||||
// Route 22
|
||||
new EncounterSlot{ Species = 279, LevelMin = 40, LevelMax = 45, }, // Peplipper
|
||||
new EncounterSlot{ Species = 591, LevelMin = 40, LevelMax = 45, }, // Amoonguss
|
||||
new EncounterSlot{ Species = 619, LevelMin = 50, LevelMax = 55, }, // Mienfoo
|
||||
// Route 23
|
||||
new EncounterSlot{ Species = 055, LevelMin = 50, LevelMax = 55, }, // Golduck
|
||||
new EncounterSlot{ Species = 207, LevelMin = 50, LevelMax = 55, }, // Gligar
|
||||
new EncounterSlot{ Species = 335, LevelMin = 50, LevelMax = 55, }, // Zangoose
|
||||
new EncounterSlot{ Species = 336, LevelMin = 50, LevelMax = 55, }, // Seviper
|
||||
new EncounterSlot{ Species = 359, LevelMin = 50, LevelMax = 55, }, // Absol
|
||||
// Floccesy Ranch
|
||||
new EncounterSlot{ Species = 183, LevelMin = 10, LevelMax = 15, }, // Marill
|
||||
new EncounterSlot{ Species = 206, LevelMin = 10, LevelMax = 15, }, // Dunsparce
|
||||
new EncounterSlot{ Species = 507, LevelMin = 10, LevelMax = 15, }, // Herdier
|
||||
// Funfest Missions
|
||||
// todo : check the level
|
||||
new EncounterSlot{Species = 133, LevelMin = 10, LevelMax = 60, }, //Eevee
|
||||
new EncounterSlot{Species = 134, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 135, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 136, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 196, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 197, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 470, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 471, LevelMin = 10, LevelMax = 60, },
|
||||
};
|
||||
|
||||
private static readonly EncounterArea[] SlotsB2_HiddenGrotto =
|
||||
{
|
||||
new EncounterArea
|
||||
{
|
||||
Location = 143, // HiddenGrotto
|
||||
Slots = SlotsB2W2_HiddenGrottoEncounterSlots.Concat(new[]{
|
||||
new EncounterSlot{Species = 015, LevelMin = 55, LevelMax = 60 }, // Beedrill @ Pinwheel Forest
|
||||
new EncounterSlot{Species = 434, LevelMin = 10, LevelMax = 60 }, // Stunky from Funfest Missions
|
||||
}).ToArray(),
|
||||
}
|
||||
};
|
||||
|
||||
private static readonly EncounterArea[] SlotsW2_HiddenGrotto =
|
||||
{
|
||||
new EncounterArea
|
||||
{
|
||||
Location = 143, // HiddenGrotto
|
||||
Slots = SlotsB2W2_HiddenGrottoEncounterSlots.Concat(new[]{
|
||||
new EncounterSlot{Species = 012, LevelMin = 55, LevelMax = 60 }, // Butterfree @ Pinwheel Forest
|
||||
new EncounterSlot{Species = 431, LevelMin = 10, LevelMax = 60 }, // Glameow from Funfest Missions
|
||||
}).ToArray(),
|
||||
}
|
||||
};
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
356
PKHeX.Core/Legality/Encounters/Data/Encounters6.cs
Normal file
356
PKHeX.Core/Legality/Encounters/Data/Encounters6.cs
Normal file
|
|
@ -0,0 +1,356 @@
|
|||
using static PKHeX.Core.EncounterUtil;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
internal static class Encounters6
|
||||
{
|
||||
internal static readonly EncounterArea[] SlotsX, SlotsY, SlotsA, SlotsO;
|
||||
internal static readonly EncounterStatic[] StaticX, StaticY, StaticA, StaticO;
|
||||
|
||||
static Encounters6()
|
||||
{
|
||||
StaticX = StaticY = Encounter_XY;
|
||||
StaticA = StaticO = Encounter_AO;
|
||||
|
||||
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);
|
||||
}
|
||||
private static void MarkG6XYSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (var area in Areas)
|
||||
{
|
||||
int slotct = area.Slots.Length;
|
||||
for (int i = slotct - 15; i < slotct; i++)
|
||||
area.Slots[i].Type = SlotType.Horde;
|
||||
}
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
private static void MarkG6AOSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (var area in Areas)
|
||||
{
|
||||
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;
|
||||
|
||||
for (int i = 0; i < slotct; i++)
|
||||
area.Slots[i].Permissions.AllowDexNav = area.Slots[i].Type != SlotType.Rock_Smash;
|
||||
}
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
|
||||
internal static readonly string[][] TradeXY =
|
||||
{
|
||||
new string[0], // 0 - None
|
||||
Util.GetStringList("tradexy", "ja"), // 1
|
||||
Util.GetStringList("tradexy", "en"), // 2
|
||||
Util.GetStringList("tradexy", "fr"), // 3
|
||||
Util.GetStringList("tradexy", "it"), // 4
|
||||
Util.GetStringList("tradexy", "de"), // 5
|
||||
new string[0], // 6 - None
|
||||
Util.GetStringList("tradexy", "es"), // 7
|
||||
Util.GetStringList("tradexy", "ko"), // 8
|
||||
};
|
||||
internal static readonly string[][] TradeAO =
|
||||
{
|
||||
new string[0], // 0 - None
|
||||
Util.GetStringList("tradeao", "ja"), // 1
|
||||
Util.GetStringList("tradeao", "en"), // 2
|
||||
Util.GetStringList("tradeao", "fr"), // 3
|
||||
Util.GetStringList("tradeao", "it"), // 4
|
||||
Util.GetStringList("tradeao", "de"), // 5
|
||||
new string[0], // 6 - None
|
||||
Util.GetStringList("tradeao", "es"), // 7
|
||||
Util.GetStringList("tradeao", "ko"), // 8
|
||||
};
|
||||
|
||||
#region XY Alt Slots
|
||||
private static readonly EncounterArea[] SlotsXYAlt =
|
||||
{
|
||||
new EncounterArea {
|
||||
Location = 104, // Victory Road
|
||||
Slots = new[]
|
||||
{
|
||||
// Drops
|
||||
new EncounterSlot { Species = 075, LevelMin = 57, LevelMax = 57, Form = 0 }, // Graveler
|
||||
new EncounterSlot { Species = 168, LevelMin = 58, LevelMax = 59, Form = 0 }, // Ariados
|
||||
new EncounterSlot { Species = 714, LevelMin = 57, LevelMax = 59, Form = 0 }, // Noibat
|
||||
|
||||
// Swoops
|
||||
new EncounterSlot { Species = 022, LevelMin = 57, LevelMax = 59, Form = 0 }, // Fearow
|
||||
new EncounterSlot { Species = 227, LevelMin = 57, LevelMax = 59, Form = 0 }, // Skarmory
|
||||
new EncounterSlot { Species = 635, LevelMin = 59, LevelMax = 59, Form = 0 }, // Hydreigon
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 34, // Route 6
|
||||
Slots = new[]
|
||||
{
|
||||
// Rustling Bush
|
||||
new EncounterSlot { Species = 543, LevelMin = 10, LevelMax = 12, Form = 0 }, // Venipede
|
||||
new EncounterSlot { Species = 531, LevelMin = 10, LevelMax = 12, Form = 0 }, // Audino
|
||||
},},
|
||||
|
||||
new EncounterArea { Location = 38, // Route 7
|
||||
Slots = new[]
|
||||
{
|
||||
// Berry Field
|
||||
new EncounterSlot { Species = 165, LevelMin = 14, LevelMax = 15, Form = 0 }, // Ledyba
|
||||
new EncounterSlot { Species = 313, LevelMin = 14, LevelMax = 15, Form = 0 }, // Volbeat
|
||||
new EncounterSlot { Species = 314, LevelMin = 14, LevelMax = 15, Form = 0 }, // Illumise
|
||||
new EncounterSlot { Species = 412, LevelMin = 14, LevelMax = 15, Form = 0 }, // Burmy
|
||||
new EncounterSlot { Species = 415, LevelMin = 14, LevelMax = 15, Form = 0 }, // Combee
|
||||
new EncounterSlot { Species = 665, LevelMin = 14, LevelMax = 15, Form = 0 }, // Spewpa
|
||||
},},
|
||||
|
||||
new EncounterArea { Location = 88, // Route 18
|
||||
Slots = new[]
|
||||
{
|
||||
// Rustling Bush
|
||||
new EncounterSlot { Species = 632, LevelMin = 44, LevelMax = 46, Form = 0 }, // Durant
|
||||
new EncounterSlot { Species = 631, LevelMin = 45, LevelMax = 45, Form = 0 }, // Heatmor
|
||||
},},
|
||||
|
||||
new EncounterArea { Location = 132, // Glittering Cave
|
||||
Slots = new[]
|
||||
{
|
||||
// Drops
|
||||
new EncounterSlot { Species = 527, LevelMin = 15, LevelMax = 17, Form = 0 }, // Woobat
|
||||
new EncounterSlot { Species = 597, LevelMin = 15, LevelMax = 17, Form = 0 }, // Ferroseed
|
||||
},},
|
||||
|
||||
new EncounterArea { Location = 56, // Reflection Cave
|
||||
Slots = new[]
|
||||
{
|
||||
// Drops
|
||||
new EncounterSlot { Species = 527, LevelMin = 21, LevelMax = 23, Form = 0 }, // Woobat
|
||||
new EncounterSlot { Species = 597, LevelMin = 21, LevelMax = 23, Form = 0 }, // Ferroseed
|
||||
},},
|
||||
|
||||
new EncounterArea { Location = 140, // Terminus Cave
|
||||
Slots = new[]
|
||||
{
|
||||
// Drops
|
||||
new EncounterSlot { Species = 168, LevelMin = 44, LevelMax = 46, Form = 0 }, // Ariados
|
||||
new EncounterSlot { Species = 714, LevelMin = 44, LevelMax = 46, Form = 0 }, // Noibat
|
||||
},},
|
||||
};
|
||||
#endregion
|
||||
#region Static Encounter/Gift Tables
|
||||
private static readonly EncounterStatic[] Encounter_XY =
|
||||
{
|
||||
new EncounterStatic { Gift = true, Species = 650, Level = 5, Location = 10, }, // Chespin
|
||||
new EncounterStatic { Gift = true, Species = 653, Level = 5, Location = 10, }, // Fennekin
|
||||
new EncounterStatic { Gift = true, Species = 656, Level = 5, Location = 10, }, // Froakie
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 1, Level = 10, Location = 22, }, // Bulbasaur
|
||||
new EncounterStatic { Gift = true, Species = 4, Level = 10, Location = 22, }, // Charmander
|
||||
new EncounterStatic { Gift = true, Species = 7, Level = 10, Location = 22, }, // Squirtle
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 20, Location = 44, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 20, Location = 44, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 20, Location = 44, }, // Aerodactyl
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 20, Location = 44, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 20, Location = 44, }, // Anorith
|
||||
new EncounterStatic { Gift = true, Species = 408, Level = 20, Location = 44, }, // Cranidos
|
||||
new EncounterStatic { Gift = true, Species = 410, Level = 20, Location = 44, }, // Shieldon
|
||||
new EncounterStatic { Gift = true, Species = 564, Level = 20, Location = 44, }, // Tirtouga
|
||||
new EncounterStatic { Gift = true, Species = 566, Level = 20, Location = 44, }, // Archen
|
||||
new EncounterStatic { Gift = true, Species = 696, Level = 20, Location = 44, }, // Tyrunt
|
||||
new EncounterStatic { Gift = true, Species = 698, Level = 20, Location = 44, }, // Amaura
|
||||
|
||||
new EncounterStatic { Species = 448, Level = 32, Location = 60, Ability = 1, Nature = Nature.Hasty, Gender = 0, IVs = new[] {6, 25, 16, 31, 25, 19}, Gift = true, Shiny = false }, // Lucario
|
||||
new EncounterStatic { Species = 131, Level = 30, Location = 62, Nature = Nature.Docile, IVs = new[] {31, 20, 20, 20, 20, 20}, Gift = true }, // Lapras
|
||||
|
||||
new EncounterStatic { Species = 143, Level = 15, Location = 38 }, // Snorlax
|
||||
new EncounterStatic { Species = 568, Level = 35, Location = 142 }, // Trubbish
|
||||
new EncounterStatic { Species = 569, Level = 36, Location = 142 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 37, Location = 142 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 38, Location = 142 }, // Garbodor
|
||||
new EncounterStatic { Species = 479, Level = 38, Location = 142 }, // Rotom
|
||||
|
||||
new EncounterStatic { Species = 569, Level = 46, Location = 98 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 47, Location = 98 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 48, Location = 98 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 49, Location = 98 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 50, Location = 98 }, // Garbodor
|
||||
new EncounterStatic { Species = 354, Level = 46, Location = 98 }, // Banette
|
||||
new EncounterStatic { Species = 354, Level = 47, Location = 98 }, // Banette
|
||||
new EncounterStatic { Species = 354, Level = 48, Location = 98 }, // Banette
|
||||
new EncounterStatic { Species = 354, Level = 49, Location = 98 }, // Banette
|
||||
new EncounterStatic { Species = 354, Level = 50, Location = 98 }, // Banette
|
||||
|
||||
new EncounterStatic { Species = 716, Level = 50, Location = 138, Version = GameVersion.X, Shiny = false, IV3 = true }, // Xerneas
|
||||
new EncounterStatic { Species = 717, Level = 50, Location = 138, Version = GameVersion.Y, Shiny = false, IV3 = true }, // Yveltal
|
||||
new EncounterStatic { Species = 718, Level = 70, Location = 140, Shiny = false, IV3 = true }, // Zygarde
|
||||
|
||||
new EncounterStatic { Species = 150, Level = 70, Location = 168, Shiny = false, IV3 = true }, // Mewtwo
|
||||
|
||||
new EncounterStatic { Species = 144, Level = 70, Location = 146, Shiny = false, IV3 = true }, // Articuno
|
||||
new EncounterStatic { Species = 145, Level = 70, Location = 146, Shiny = false, IV3 = true }, // Zapdos
|
||||
new EncounterStatic { Species = 146, Level = 70, Location = 146, Shiny = false, IV3 = true }, // Moltres
|
||||
};
|
||||
private static readonly EncounterStatic[] Encounter_AO =
|
||||
{
|
||||
new EncounterStatic { Gift = true, Species = 252, Level = 5, Location = 204, }, // Treeko
|
||||
new EncounterStatic { Gift = true, Species = 255, Level = 5, Location = 204, }, // Torchic
|
||||
new EncounterStatic { Gift = true, Species = 258, Level = 5, Location = 204, }, // Mudkip
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 152, Level = 5, Location = 204, }, // Chikorita
|
||||
new EncounterStatic { Gift = true, Species = 155, Level = 5, Location = 204, }, // Cyndaquil
|
||||
new EncounterStatic { Gift = true, Species = 158, Level = 5, Location = 204, }, // Totodile
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 387, Level = 5, Location = 204, }, // Turtwig
|
||||
new EncounterStatic { Gift = true, Species = 390, Level = 5, Location = 204, }, // Chimchar
|
||||
new EncounterStatic { Gift = true, Species = 393, Level = 5, Location = 204, }, // Piplup
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 495, Level = 5, Location = 204, }, // Snivy
|
||||
new EncounterStatic { Gift = true, Species = 498, Level = 5, Location = 204, }, // Tepig
|
||||
new EncounterStatic { Gift = true, Species = 501, Level = 5, Location = 204, }, // Oshawott
|
||||
|
||||
// Fossil
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 20, Location = 190, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 20, Location = 190, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 20, Location = 190, }, // Aerodactyl
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 20, Location = 190, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 20, Location = 190, }, // Anorith
|
||||
new EncounterStatic { Gift = true, Species = 408, Level = 20, Location = 190, }, // Cranidos
|
||||
new EncounterStatic { Gift = true, Species = 410, Level = 20, Location = 190, }, // Shieldon
|
||||
new EncounterStatic { Gift = true, Species = 564, Level = 20, Location = 190, }, // Tirtouga
|
||||
new EncounterStatic { Gift = true, Species = 566, Level = 20, Location = 190, }, // Archen
|
||||
new EncounterStatic { Gift = true, Species = 696, Level = 20, Location = 190, }, // Tyrunt
|
||||
new EncounterStatic { Gift = true, Species = 698, Level = 20, Location = 190, }, // Amaura
|
||||
|
||||
new EncounterStatic { Species = 25, Level = 20, Location = 178, Gender = 1, Ability = 4, IVs = new[] {-1, -1, -1, 31, -1, -1}, Contest = new[] {70,70,70,70,70,0}, Gift = true, Shiny = false, SkipFormCheck = true }, // Pikachu
|
||||
new EncounterStatic { Species = 25, Level = 20, Location = 180, Gender = 1, Ability = 4, IVs = new[] {-1, -1, -1, 31, -1, -1}, Contest = new[] {70,70,70,70,70,0}, Gift = true, Shiny = false, SkipFormCheck = true }, // Pikachu
|
||||
new EncounterStatic { Species = 25, Level = 20, Location = 186, Gender = 1, Ability = 4, IVs = new[] {-1, -1, -1, 31, -1, -1}, Contest = new[] {70,70,70,70,70,0}, Gift = true, Shiny = false, SkipFormCheck = true }, // Pikachu
|
||||
new EncounterStatic { Species = 25, Level = 20, Location = 194, Gender = 1, Ability = 4, IVs = new[] {-1, -1, -1, 31, -1, -1}, Contest = new[] {70,70,70,70,70,0}, Gift = true, Shiny = false, SkipFormCheck = true }, // Pikachu
|
||||
|
||||
new EncounterStatic { Species = 360, Level = 1, EggLocation = 60004, Ability = 1, Gift = true, EggCycles = 70 }, // Wynaut
|
||||
new EncounterStatic { Species = 175, Level = 1, EggLocation = 60004, Ability = 1, Gift = true, EggCycles = 70 }, // Togepi
|
||||
new EncounterStatic { Species = 374, Level = 1, Location = 196, Ability = 1, IVs = new[] {-1, -1, 31, -1, -1, 31}, Gift = true }, // Beldum
|
||||
|
||||
new EncounterStatic { Species = 351, Level = 30, Location = 240, Gender = 1, Ability = 1, Nature = Nature.Lax, IVs = new[] {-1, -1, -1, -1, 31, -1}, Contest = new[] {0,100,0,0,0,0}, Gift = true }, // Castform
|
||||
new EncounterStatic { Species = 319, Level = 40, Location = 318, Gender = 1, Ability = 1, Nature = Nature.Adamant, Gift = true }, // Sharpedo
|
||||
new EncounterStatic { Species = 323, Level = 40, Location = 318, Gender = 1, Ability = 1, Nature = Nature.Quiet, Gift = true }, // Camerupt
|
||||
|
||||
new EncounterStatic { Species = 380, Level = 30, Location = 320, Version = GameVersion.AS, Ability = 1, Gift = true, IV3 = true }, // Latias
|
||||
new EncounterStatic { Species = 381, Level = 30, Location = 320, Version = GameVersion.OR, Ability = 1, Gift = true, IV3 = true }, // Latios
|
||||
|
||||
new EncounterStatic { Species = 382, Level = 45, Location = 296, Version = GameVersion.AS, Shiny = false, IV3 = true }, // Kyogre
|
||||
new EncounterStatic { Species = 383, Level = 45, Location = 296, Version = GameVersion.OR, Shiny = false, IV3 = true }, // Groudon
|
||||
new EncounterStatic { Species = 384, Level = 70, Location = 316, Shiny = false, IV3 = true }, // Rayquaza
|
||||
new EncounterStatic { Species = 386, Level = 80, Location = 316, Shiny = false, IV3 = true, Fateful = true }, // Deoxys
|
||||
|
||||
new EncounterStatic { Species = 377, Level = 40, Location = 278, IV3 = true }, // Regirock
|
||||
new EncounterStatic { Species = 378, Level = 40, Location = 306, IV3 = true }, // Regice
|
||||
new EncounterStatic { Species = 379, Level = 40, Location = 308, IV3 = true }, // Registeel
|
||||
new EncounterStatic { Species = 486, Level = 50, Location = 306, IV3 = true }, // Regigigas
|
||||
|
||||
new EncounterStatic { Species = 249, Level = 50, Location = 304, Version = GameVersion.AS, IV3 = true }, // Lugia
|
||||
new EncounterStatic { Species = 250, Level = 50, Location = 304, Version = GameVersion.OR, IV3 = true }, // Ho-oh
|
||||
|
||||
new EncounterStatic { Species = 483, Level = 50, Location = 348, Version = GameVersion.AS, IV3 = true }, // Dialga
|
||||
new EncounterStatic { Species = 484, Level = 50, Location = 348, Version = GameVersion.OR, IV3 = true }, // Palkia
|
||||
|
||||
new EncounterStatic { Species = 644, Level = 50, Location = 340, Version = GameVersion.AS, IV3 = true }, // Zekrom
|
||||
new EncounterStatic { Species = 643, Level = 50, Location = 340, Version = GameVersion.OR, IV3 = true }, // Reshiram
|
||||
|
||||
new EncounterStatic { Species = 642, Level = 50, Location = 348, Version = GameVersion.AS, IV3 = true }, // Thundurus
|
||||
new EncounterStatic { Species = 641, Level = 50, Location = 348, Version = GameVersion.OR, IV3 = true }, // Tornadus
|
||||
|
||||
new EncounterStatic { Species = 485, Level = 50, Location = 312, IV3 = true }, // Heatran
|
||||
new EncounterStatic { Species = 487, Level = 50, Location = 348, IV3 = true }, // Giratina
|
||||
new EncounterStatic { Species = 488, Level = 50, Location = 344, IV3 = true }, // Cresselia
|
||||
new EncounterStatic { Species = 645, Level = 50, Location = 348, IV3 = true }, // Landorus
|
||||
new EncounterStatic { Species = 646, Level = 50, Location = 342, IV3 = true }, // Kyurem
|
||||
|
||||
new EncounterStatic { Species = 243, Level = 50, Location = 334, IV3 = true }, // Raikou
|
||||
new EncounterStatic { Species = 244, Level = 50, Location = 334, IV3 = true }, // Entei
|
||||
new EncounterStatic { Species = 245, Level = 50, Location = 334, IV3 = true }, // Suicune
|
||||
|
||||
new EncounterStatic { Species = 480, Level = 50, Location = 338, IV3 = true }, // Uxie
|
||||
new EncounterStatic { Species = 481, Level = 50, Location = 338, IV3 = true }, // Mesprit
|
||||
new EncounterStatic { Species = 482, Level = 50, Location = 338, IV3 = true }, // Azelf
|
||||
|
||||
new EncounterStatic { Species = 638, Level = 50, Location = 336, IV3 = true }, // Cobalion
|
||||
new EncounterStatic { Species = 639, Level = 50, Location = 336, IV3 = true }, // Terrakion
|
||||
new EncounterStatic { Species = 640, Level = 50, Location = 336, IV3 = true }, // Virizion
|
||||
|
||||
new EncounterStatic { Species = 352, Level = 30, Location = 240 }, // Kecleon @ Route 119
|
||||
new EncounterStatic { Species = 352, Level = 30, Location = 242 }, // Kecleon @ Route 120
|
||||
new EncounterStatic { Species = 352, Level = 40, Location = 176, Gender = 1, }, // Kecleon @ Lavaridge
|
||||
new EncounterStatic { Species = 352, Level = 45, Location = 196, Ability = 4, }, // Kecleon @ Mossdeep City
|
||||
|
||||
new EncounterStatic { Species = 381, Level = 30, Location = 320, Version = GameVersion.AS, IV3 = true }, // Latios
|
||||
new EncounterStatic { Species = 380, Level = 30, Location = 320, Version = GameVersion.OR, IV3 = true }, // Latias
|
||||
|
||||
new EncounterStatic { Species = 101, Level = 40, Location = 292, Version = GameVersion.AS }, // Electrode
|
||||
new EncounterStatic { Species = 101, Level = 40, Location = 314, Version = GameVersion.OR }, // Electrode
|
||||
|
||||
new EncounterStatic { Species = 100, Level = 20, Location = 302 }, // Voltorb @ Route 119
|
||||
new EncounterStatic { Species = 442, Level = 50, Location = 304 }, // Spiritomb @ Route 120
|
||||
|
||||
// Soaring in the Sky
|
||||
new EncounterStatic { Species = 198, Level = 45, Location = 348 }, // Murkrow
|
||||
new EncounterStatic { Species = 276, Level = 40, Location = 348 }, // Taillow
|
||||
new EncounterStatic { Species = 278, Level = 40, Location = 348 }, // Wingull
|
||||
new EncounterStatic { Species = 279, Level = 40, Location = 348 }, // Pelipper
|
||||
new EncounterStatic { Species = 333, Level = 40, Location = 348 }, // Swablu
|
||||
new EncounterStatic { Species = 425, Level = 45, Location = 348 }, // Drifloon
|
||||
new EncounterStatic { Species = 628, Level = 45, Location = 348 }, // Braviary
|
||||
};
|
||||
#endregion
|
||||
#region Trade Tables
|
||||
internal static readonly EncounterTrade[] TradeGift_XY =
|
||||
{
|
||||
new EncounterTrade { Species = 129, Level = 5, Ability = 1, Gender = 0, TID = 44285, Nature = Nature.Adamant, }, // Magikarp
|
||||
new EncounterTrade { Species = 133, Level = 5, Ability = 1, Gender = 1, TID = 29294, Nature = Nature.Docile, }, // Eevee
|
||||
|
||||
new EncounterTrade { Species = 83, Level = 10, Ability = 1, Gender = 0, TID = 00185, Nature = Nature.Jolly, IVs = new[] {-1, -1, -1, 31, -1, -1}, }, // Farfetch'd
|
||||
new EncounterTrade { Species = 208, Level = 20, Ability = 1, Gender = 1, TID = 19250, Nature = Nature.Impish, IVs = new[] {-1, -1, 31, -1, -1, -1}, }, // Steelix
|
||||
new EncounterTrade { Species = 625, Level = 50, Ability = 1, Gender = 0, TID = 03447, Nature = Nature.Adamant, IVs = new[] {-1, 31, -1, -1, -1, -1}, }, // Bisharp
|
||||
|
||||
new EncounterTrade { Species = 656, Level = 5, Ability = 1, Gender = 0, TID = 00037, Nature = Nature.Jolly, IVs = new[] {20, 20, 20, 31, 20, 20}, }, // Froakie
|
||||
new EncounterTrade { Species = 650, Level = 5, Ability = 1, Gender = 0, TID = 00037, Nature = Nature.Adamant, IVs = new[] {20, 31, 20, 20, 20, 20}, }, // Chespin
|
||||
new EncounterTrade { Species = 653, Level = 5, Ability = 1, Gender = 0, TID = 00037, Nature = Nature.Modest, IVs = new[] {20, 20, 20, 20, 31, 20}, }, // Fennekin
|
||||
|
||||
new EncounterTrade { Species = 280, Level = 5, Ability = 1, Gender = 1, TID = 37110, Nature = Nature.Modest, IVs = new[] {20, 20, 20, 31, 31, 20}, }, // Ralts
|
||||
};
|
||||
internal static readonly EncounterTrade[] TradeGift_AO =
|
||||
{
|
||||
new EncounterTrade { Species = 296, Level = 9, Ability = 2, Gender = 0, TID = 30724, Nature = Nature.Brave, IVs = new[] {-1, 31, -1, -1, -1, -1}, }, // Makuhita
|
||||
new EncounterTrade { Species = 300, Level = 30, Ability = 1, Gender = 1, TID = 03239, Nature = Nature.Naughty, IVs = new[] {-1, -1, -1, 31, -1, -1}, }, // Skitty
|
||||
new EncounterTrade { Species = 222, Level = 50, Ability = 4, Gender = 1, TID = 00325, Nature = Nature.Calm, IVs = new[] {31, -1, -1, -1, -1, 31}, }, // Corsola
|
||||
};
|
||||
#endregion
|
||||
#region Pokémon Link Gifts
|
||||
|
||||
internal static readonly EncounterLink[] LinkGifts6 =
|
||||
{
|
||||
new EncounterLink { Species = 154, Level = 50, Ability = 4, XY = true, ORAS = true }, // Meganium
|
||||
new EncounterLink { Species = 157, Level = 50, Ability = 4, XY = true, ORAS = true }, // Typhlosion
|
||||
new EncounterLink { Species = 160, Level = 50, Ability = 4, XY = true, ORAS = true }, // Feraligatr
|
||||
|
||||
new EncounterLink { Species = 251, Level = 10, Ability = 1, RelearnMoves = new[] {610, 0, 0, 0}, Ball = 11, XY = true }, // Celebi
|
||||
|
||||
new EncounterLink { Species = 377, Level = 50, Ability = 4, RelearnMoves = new[] {153, 8, 444, 359}, XY = true, ORAS = true }, // Regirock
|
||||
new EncounterLink { Species = 378, Level = 50, Ability = 4, RelearnMoves = new[] {85, 133, 58, 258}, XY = true, ORAS = true }, // Regice
|
||||
new EncounterLink { Species = 379, Level = 50, Ability = 4, RelearnMoves = new[] {442, 157, 356, 334}, XY = true, ORAS = true }, // Registeel
|
||||
|
||||
new EncounterLink { Species = 208, Level = 40, Ability = 1, RibbonClassic = false, ORAS = true, OT = false }, // Steelix
|
||||
new EncounterLink { Species = 362, Level = 40, Ability = 1, RibbonClassic = false, ORAS = true, OT = false }, // Glalie
|
||||
};
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
193
PKHeX.Core/Legality/Encounters/Data/Encounters7.cs
Normal file
193
PKHeX.Core/Legality/Encounters/Data/Encounters7.cs
Normal file
|
|
@ -0,0 +1,193 @@
|
|||
using System.Linq;
|
||||
using static PKHeX.Core.EncounterUtil;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
internal static class Encounters7
|
||||
{
|
||||
internal static readonly EncounterArea[] SlotsSN, SlotsMN;
|
||||
internal static readonly EncounterStatic[] StaticSN, StaticMN;
|
||||
|
||||
static Encounters7()
|
||||
{
|
||||
StaticSN = StaticMN = Encounter_SM;
|
||||
var REG_SN = GetEncounterTables(GameVersion.SN);
|
||||
var REG_MN = GetEncounterTables(GameVersion.MN);
|
||||
var SOS_SN = GetEncounterTables("sm", "sn_sos");
|
||||
var SOS_MN = GetEncounterTables("sm", "mn_sos");
|
||||
MarkG7REGSlots(ref REG_SN);
|
||||
MarkG7REGSlots(ref REG_MN);
|
||||
MarkG7SMSlots(ref SOS_SN);
|
||||
MarkG7SMSlots(ref SOS_MN);
|
||||
SlotsSN = AddExtraTableSlots(REG_SN, SOS_SN, Encounter_Pelago_SM, Encounter_Pelago_SN);
|
||||
SlotsMN = AddExtraTableSlots(REG_MN, SOS_MN, Encounter_Pelago_SM, Encounter_Pelago_MN);
|
||||
}
|
||||
private static void MarkG7REGSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
private static void MarkG7SMSlots(ref EncounterArea[] Areas)
|
||||
{
|
||||
foreach (EncounterSlot s in Areas.SelectMany(area => area.Slots))
|
||||
s.Type = SlotType.SOS;
|
||||
ReduceAreasSize(ref Areas);
|
||||
}
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_SM = // @ a\1\5\5
|
||||
{
|
||||
// Gifts - 0.bin
|
||||
new EncounterStatic { Gift = true, Species = 722, Level = 5, Location = 24, }, // Rowlet
|
||||
new EncounterStatic { Gift = true, Species = 725, Level = 5, Location = 24, }, // Litten
|
||||
new EncounterStatic { Gift = true, Species = 728, Level = 5, Location = 24, }, // Popplio
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 15, Location = 58, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 15, Location = 58, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 15, Location = 58, }, // Aerodactyl
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 15, Location = 58, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 15, Location = 58, }, // Anorith
|
||||
new EncounterStatic { Gift = true, Species = 408, Level = 15, Location = 58, }, // Cranidos
|
||||
new EncounterStatic { Gift = true, Species = 410, Level = 15, Location = 58, }, // Shieldon
|
||||
new EncounterStatic { Gift = true, Species = 564, Level = 15, Location = 58, }, // Tirtouga
|
||||
new EncounterStatic { Gift = true, Species = 566, Level = 15, Location = 58, }, // Archen
|
||||
new EncounterStatic { Gift = true, Species = 696, Level = 15, Location = 58, }, // Tyrunt
|
||||
new EncounterStatic { Gift = true, Species = 698, Level = 15, Location = 58, }, // Amaura
|
||||
new EncounterStatic { Gift = true, Species = 133, Level = 1, EggLocation = 60002, }, // Eevee @ Nursery helpers
|
||||
new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = 116, }, // Porygon @ Route 15
|
||||
new EncounterStatic { Gift = true, Species = 772, Level = 40, Location = 188, IV3 = true, }, // Type: Null
|
||||
new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 142, Shiny = false, IV3 = true, Version = GameVersion.SN}, // Cosmog 00 FF
|
||||
new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 144, Shiny = false, IV3 = true, Version = GameVersion.MN}, // Cosmog 00 FF
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 0, Level = 30, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 1, Level = 30, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 2, Level = 30, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 3, Level = 30, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 0, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 1, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 2, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 3, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
|
||||
new EncounterStatic // Magearna (Bottle Cap) 00 FF
|
||||
{
|
||||
Gift = true, Species = 801, Level = 50, Location = 40001, Shiny = false, IV3 = true,
|
||||
Fateful = true, RibbonWishing = true, Relearn = new [] {705, 430, 381, 270}, Ball = 0x10, // Cherish
|
||||
},
|
||||
|
||||
// Static Encounters - 1.bin
|
||||
new EncounterStatic { Species = 791, Level = 55, Relearn = new[]{713, 322, 242, 428}, Shiny = false, Ability = 1, Location = 176, IV3 = true, Version = GameVersion.SN }, // Solgaleo
|
||||
new EncounterStatic { Species = 792, Level = 55, Relearn = new[]{714, 322, 539, 247}, Shiny = false, Ability = 1, Location = 178, IV3 = true, Version = GameVersion.MN }, // Lunala
|
||||
|
||||
new EncounterStatic { Species = 746, Level = 17, Shiny = false, Ability = 1, Location = 86, }, // Wishiwashi
|
||||
new EncounterStatic { Species = 746, Level = 18, Shiny = false, Ability = 1, Location = 86, }, // Wishiwashi
|
||||
|
||||
new EncounterStatic { Species = 793, Level = 55, Shiny = false, Ability = 1, Location = 082, IV3 = true, }, // Nihilego @ Wela Volcano Park
|
||||
new EncounterStatic { Species = 793, Level = 55, Shiny = false, Ability = 1, Location = 100, IV3 = true, }, // Nihilego @ Diglett’s Tunnel
|
||||
new EncounterStatic { Species = 794, Level = 65, Shiny = false, Ability = 1, Location = 040, IV3 = true, Version = GameVersion.SN }, // Buzzwole @ Melemele Meadow
|
||||
new EncounterStatic { Species = 795, Level = 60, Shiny = false, Ability = 1, Location = 046, IV3 = true, Version = GameVersion.MN }, // Pheromosa @ Verdant Cavern (Trial Site)
|
||||
new EncounterStatic { Species = 796, Level = 65, Shiny = false, Ability = 1, Location = 090, IV3 = true, }, // Xurkitree @ Lush Jungle
|
||||
new EncounterStatic { Species = 796, Level = 65, Shiny = false, Ability = 1, Location = 076, IV3 = true, }, // Xurkitree @ Memorial Hill
|
||||
new EncounterStatic { Species = 798, Level = 60, Shiny = false, Ability = 1, Location = 134, IV3 = true, Version = GameVersion.SN }, // Kartana @ Malie Garden
|
||||
new EncounterStatic { Species = 798, Level = 60, Shiny = false, Ability = 1, Location = 120, IV3 = true, Version = GameVersion.SN }, // Kartana @ Route 17
|
||||
new EncounterStatic { Species = 797, Level = 65, Shiny = false, Ability = 1, Location = 124, IV3 = true, Version = GameVersion.MN }, // Celesteela @ Haina Desert
|
||||
new EncounterStatic { Species = 797, Level = 65, Shiny = false, Ability = 1, Location = 134, IV3 = true, Version = GameVersion.MN }, // Celesteela @ Malie Garden
|
||||
new EncounterStatic { Species = 799, Level = 70, Shiny = false, Ability = 1, Location = 182, IV3 = true, }, // Guzzlord @ Resolution Cave
|
||||
new EncounterStatic { Species = 800, Level = 75, Shiny = false, Ability = 1, Location = 036, IV3 = true, }, // Necrozma @ Ten Carat Hill (Farthest Hollow)
|
||||
|
||||
// QR Scan: Su/M/Tu/W/Th/F/Sa
|
||||
// Melemele Island
|
||||
new EncounterStatic { Species = 155, Level = 12, Relearn = new[]{024, 052, 108, 043}, Location = 010, }, // Cyndaquil @ Route 3
|
||||
new EncounterStatic { Species = 158, Level = 12, Relearn = new[]{232, 099, 055, 043}, Location = 042, }, // Totodile @ Seaward Cave
|
||||
new EncounterStatic { Species = 633, Level = 13, Relearn = new[]{372, 029, 044, 116}, Location = 034, }, // Deino @ Ten Carat Hill
|
||||
new EncounterStatic { Species = 116, Level = 18, Relearn = new[]{225, 239, 055, 043}, Location = 014, }, // Horsea @ Kala'e Bay
|
||||
new EncounterStatic { Species = 599, Level = 08, Relearn = new[]{268, 011, 000, 000}, Location = 020, }, // Klink @ Hau'oli City
|
||||
new EncounterStatic { Species = 152, Level = 10, Relearn = new[]{073, 077, 075, 045}, Location = 012, }, // Chikorita @ Route 2
|
||||
new EncounterStatic { Species = 607, Level = 10, Relearn = new[]{051, 109, 083, 123}, Location = 038, }, // Litwick @ Hau'oli Cemetery
|
||||
|
||||
// Akala Island
|
||||
new EncounterStatic { Species = 574, Level = 17, Relearn = new[]{399, 060, 003, 313}, Location = 054, }, // Gothita @ Route 6
|
||||
new EncounterStatic { Species = 363, Level = 19, Relearn = new[]{392, 362, 301, 227}, Location = 056, }, // Spheal @ Route 7
|
||||
new EncounterStatic { Species = 404, Level = 20, Relearn = new[]{598, 044, 209, 268}, Location = 058, }, // Luxio @ Route 8
|
||||
new EncounterStatic { Species = 679, Level = 23, Relearn = new[]{194, 332, 425, 475}, Location = 094, }, // Honedge @ Akala Outskirts
|
||||
new EncounterStatic { Species = 543, Level = 14, Relearn = new[]{390, 228, 103, 040}, Location = 050, }, // Venipede @ Route 4
|
||||
new EncounterStatic { Species = 069, Level = 16, Relearn = new[]{491, 077, 079, 035}, Location = 052, }, // Bellsprout @ Route 5
|
||||
new EncounterStatic { Species = 183, Level = 17, Relearn = new[]{453, 270, 061, 205}, Location = 086, }, // Marill @ Brooklet Hill
|
||||
|
||||
// Ula'ula Island
|
||||
new EncounterStatic { Species = 111, Level = 30, Relearn = new[]{130, 350, 498, 523}, Location = 138, }, // Rhyhorn @ Blush Mountain
|
||||
new EncounterStatic { Species = 220, Level = 31, Relearn = new[]{573, 036, 420, 196}, Location = 114, }, // Swinub @ Tapu Village
|
||||
new EncounterStatic { Species = 578, Level = 33, Relearn = new[]{101, 248, 283, 473}, Location = 118, }, // Duosion @ Route 16
|
||||
new EncounterStatic { Species = 315, Level = 34, Relearn = new[]{437, 275, 230, 390}, Location = 128, }, // Roselia @ Ula'ula Meadow
|
||||
new EncounterStatic { Species = 397, Level = 27, Relearn = new[]{355, 018, 283, 104}, Location = 106, }, // Staravia @ Route 10
|
||||
new EncounterStatic { Species = 288, Level = 27, Relearn = new[]{359, 498, 163, 203}, Location = 108, }, // Vigoroth @ Route 11
|
||||
new EncounterStatic { Species = 610, Level = 28, Relearn = new[]{231, 337, 206, 163}, Location = 136, }, // Axew @ Mount Hokulani
|
||||
|
||||
// Poni Island
|
||||
new EncounterStatic { Species = 604, Level = 55, Relearn = new[]{435, 051, 029, 306}, Location = 164, }, // Eelektross @ Poni Grove
|
||||
new EncounterStatic { Species = 534, Level = 57, Relearn = new[]{409, 276, 264, 444}, Location = 166, }, // Conkeldurr @ Poni Plains
|
||||
new EncounterStatic { Species = 468, Level = 59, Relearn = new[]{248, 403, 396, 245}, Location = 170, }, // Togekiss @ Poni Gauntlet
|
||||
new EncounterStatic { Species = 542, Level = 57, Relearn = new[]{382, 437, 014, 494}, Location = 156, }, // Leavanny @ Poni Meadow
|
||||
new EncounterStatic { Species = 497, Level = 43, Relearn = new[]{137, 489, 348, 021}, Location = 184, }, // Serperior @ Exeggutor Island
|
||||
new EncounterStatic { Species = 503, Level = 43, Relearn = new[]{362, 227, 453, 279}, Location = 158, }, // Samurott @ Poni Wilds
|
||||
new EncounterStatic { Species = 500, Level = 43, Relearn = new[]{276, 053, 372, 535}, Location = 160, }, // Emboar @ Ancient Poni Path
|
||||
|
||||
new EncounterStatic { Species = 785, Level = 60, Shiny = false, Ability = 1, Location = 030, IV3 = true, }, // Tapu Koko
|
||||
new EncounterStatic { Species = 786, Level = 60, Shiny = false, Ability = 1, Location = 092, IV3 = true, }, // Tapu Lele
|
||||
new EncounterStatic { Species = 787, Level = 60, Shiny = false, Ability = 1, Location = 140, IV3 = true, }, // Tapu Bulu
|
||||
new EncounterStatic { Species = 788, Level = 60, Shiny = false, Ability = 1, Location = 180, IV3 = true, }, // Tapu Fini
|
||||
|
||||
new EncounterStatic { Species = 103, Form = 1, Level = 40, Ability = 1, Location = 184, }, // Exeggutor-1 @ Exeggutor Island
|
||||
};
|
||||
internal static readonly EncounterTrade[] TradeGift_SM = // @ a\1\5\5
|
||||
{
|
||||
// Trades - 4.bin
|
||||
new EncounterTrade { Species = 066, Form = 0, Level = 09, Ability = 2, TID = 00410, SID = 00000, IVs = new[] {-1,31,-1,-1,-1,-1}, OTGender = 1, Gender = 0, Nature = Nature.Brave, }, // Machop
|
||||
new EncounterTrade { Species = 761, Form = 0, Level = 16, Ability = 1, TID = 20683, SID = 00009, IVs = new[] {-1,31,-1,-1,-1,-1}, OTGender = 0, Gender = 1, Nature = Nature.Adamant, }, // Bounsweet
|
||||
new EncounterTrade { Species = 061, Form = 0, Level = 22, Ability = 2, TID = 01092, SID = 00009, IVs = new[] {31,-1,-1,-1,-1,-1}, OTGender = 1, Gender = 1, Nature = Nature.Naughty, }, // Poliwhirl
|
||||
new EncounterTrade { Species = 440, Form = 0, Level = 27, Ability = 2, TID = 10913, SID = 00000, IVs = new[] {-1,-1,-1,-1,31,-1}, OTGender = 1, Gender = 1, Nature = Nature.Calm, }, // Happiny
|
||||
new EncounterTrade { Species = 075, Form = 1, Level = 32, Ability = 1, TID = 20778, SID = 00009, IVs = new[] {-1,-1,31,-1,-1,-1}, OTGender = 0, Gender = 0, Nature = Nature.Impish, EvolveOnTrade = true }, // Graveler-1
|
||||
new EncounterTrade { Species = 762, Form = 0, Level = 43, Ability = 1, TID = 20679, SID = 00009, IVs = new[] {-1,-1,-1,-1,-1,31}, OTGender = 1, Gender = 1, Nature = Nature.Careful, }, // Steenee
|
||||
new EncounterTrade { Species = 663, Form = 0, Level = 59, Ability = 4, TID = 56734, SID = 00008, IVs = new[] {-1,-1,-1,31,-1,-1}, OTGender = 0, Gender = 0, Nature = Nature.Jolly, }, // Talonflame
|
||||
};
|
||||
|
||||
internal static readonly EncounterArea[] Encounter_Pelago_SM =
|
||||
{
|
||||
new EncounterArea
|
||||
{
|
||||
Location = 30016, // Poké Pelago
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot {Species = 021, LevelMin = 01, LevelMax = 55}, // Spearow
|
||||
new EncounterSlot {Species = 041, LevelMin = 01, LevelMax = 55}, // Zubat
|
||||
new EncounterSlot {Species = 090, LevelMin = 01, LevelMax = 55}, // Shellder
|
||||
new EncounterSlot {Species = 278, LevelMin = 01, LevelMax = 55}, // Wingull
|
||||
new EncounterSlot {Species = 731, LevelMin = 01, LevelMax = 55}, // Pikipek
|
||||
|
||||
new EncounterSlot {Species = 064, LevelMin = 11, LevelMax = 55}, // Kadabra
|
||||
new EncounterSlot {Species = 081, LevelMin = 11, LevelMax = 55}, // Magnemite
|
||||
new EncounterSlot {Species = 092, LevelMin = 11, LevelMax = 55}, // Gastly
|
||||
new EncounterSlot {Species = 198, LevelMin = 11, LevelMax = 55}, // Murkrow
|
||||
new EncounterSlot {Species = 426, LevelMin = 11, LevelMax = 55}, // Drifblim
|
||||
new EncounterSlot {Species = 703, LevelMin = 11, LevelMax = 55}, // Carbink
|
||||
|
||||
new EncounterSlot {Species = 060, LevelMin = 21, LevelMax = 55}, // Poliwag
|
||||
new EncounterSlot {Species = 120, LevelMin = 21, LevelMax = 55}, // Staryu
|
||||
new EncounterSlot {Species = 127, LevelMin = 21, LevelMax = 55}, // Pinsir
|
||||
new EncounterSlot {Species = 661, LevelMin = 21, LevelMax = 55}, // Fletchling
|
||||
new EncounterSlot {Species = 709, LevelMin = 21, LevelMax = 55}, // Trevenant
|
||||
new EncounterSlot {Species = 771, LevelMin = 21, LevelMax = 55}, // Pyukumuku
|
||||
|
||||
new EncounterSlot {Species = 227, LevelMin = 37, LevelMax = 55}, // Skarmory
|
||||
new EncounterSlot {Species = 375, LevelMin = 37, LevelMax = 55}, // Metang
|
||||
new EncounterSlot {Species = 707, LevelMin = 37, LevelMax = 55}, // Klefki
|
||||
|
||||
new EncounterSlot {Species = 123, LevelMin = 49, LevelMax = 55}, // Scyther
|
||||
new EncounterSlot {Species = 131, LevelMin = 49, LevelMax = 55}, // Lapras
|
||||
new EncounterSlot {Species = 429, LevelMin = 49, LevelMax = 55}, // Mismagius
|
||||
new EncounterSlot {Species = 587, LevelMin = 49, LevelMax = 55}, // Emolga
|
||||
},
|
||||
}
|
||||
};
|
||||
internal static readonly EncounterArea[] Encounter_Pelago_SN = { new EncounterArea { Location = 30016, Slots = new[] { new EncounterSlot { Species = 627, LevelMin = 1, LevelMax = 55 }, /* Rufflet SUN */ } } };
|
||||
internal static readonly EncounterArea[] Encounter_Pelago_MN = { new EncounterArea { Location = 30016, Slots = new[] { new EncounterSlot { Species = 629, LevelMin = 1, LevelMax = 55 }, /* Vullaby MOON */ } } };
|
||||
}
|
||||
}
|
||||
248
PKHeX.Core/Legality/Encounters/Data/EncountersWC3.cs
Normal file
248
PKHeX.Core/Legality/Encounters/Data/EncountersWC3.cs
Normal file
|
|
@ -0,0 +1,248 @@
|
|||
using System.Linq;
|
||||
|
||||
namespace PKHeX.Core
|
||||
{
|
||||
internal static class EncountersWC3
|
||||
{
|
||||
internal static readonly MysteryGift[] Encounter_Event3 =
|
||||
{
|
||||
new WC3 { Species = 251, Level = 10, TID = 31121, OT_Gender = 1, OT_Name = "アゲト", CardTitle = "Agate Celebi", Method = PIDType.CXD, Shiny = false, Language = 1 },
|
||||
new WC3 { Species = 025, Level = 10, TID = 31121, OT_Gender = 0, OT_Name = "コロシアム", CardTitle = "Colosseum Pikachu", Method = PIDType.CXD, Shiny = false, Language = 1 },
|
||||
|
||||
new WC3 { Species = 385, Level = 05, TID = 20043, OT_Gender = 0, OT_Name = "WISHMKR", CardTitle = "Wishmaker Jirachi", Method = PIDType.BACD_R, Language = 2 },
|
||||
new WC3 { Species = 251, Level = 10, TID = 31121, OT_Gender = 1, OT_Name = "AGATE", CardTitle = "Agate Celebi", Method = PIDType.CXD, Shiny = false, Language = 2, NotDistributed = true },
|
||||
new WC3 { Species = 025, Level = 10, TID = 31121, OT_Gender = 0, OT_Name = "COLOS", CardTitle = "Colosseum Pikachu", Method = PIDType.CXD, Shiny = false, Language = 2, NotDistributed = true },
|
||||
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "バトルやま", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 1 }, // JPN
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "MATTLE", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 2 }, // ENG
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "MT BATA", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 3 }, // FRE
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "DUELLBE", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 5 }, // GER
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "MONTE L", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 4 }, // ITA
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "ERNESTO", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 7 }, // SPA
|
||||
|
||||
// CXD
|
||||
new WC3 { Species = 239, Level = 20, Language = 2, Fateful = true, Met_Location = 164, TID = 41400, SID = -1, OT_Gender = 0, OT_Name = "HORDEL", CardTitle = "Trade Togepi", Method = PIDType.CXD, Moves = new[] {8,7,9,238} }, // Elekid @ Snagem Hideout
|
||||
new WC3 { Species = 307, Level = 20, Language = 2, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "DUKING", CardTitle = "Trade Trapinch", Method = PIDType.CXD, Moves = new[] {223,93,247,197} }, // Meditite @ Pyrite Town
|
||||
new WC3 { Species = 213, Level = 20, Language = 2, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "DUKING", CardTitle = "Trade Surskit", Method = PIDType.CXD, Moves = new[] {92,164,188,277} }, // Shuckle @ Pyrite Town
|
||||
new WC3 { Species = 246, Level = 20, Language = 2, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "DUKING", CardTitle = "Trade Wooper", Method = PIDType.CXD, Moves = new[] {201,349,44,200} }, // Larvitar @ Pyrite Town
|
||||
new WC3 { Species = 311, Level = 13, Language = 2, Fateful = false, Met_Location = 254, TID = 37149, OT_Gender = 0, OT_Name = "DUKING", CardTitle = "Gift", Method = PIDType.CXD }, // Plusle @ Ingame Trade
|
||||
|
||||
new WC3 { Species = 239, Level = 20, Language = 1, Fateful = true, Met_Location = 164, TID = 41400, SID = -1, OT_Gender = 0, OT_Name = "ダニー", CardTitle = "Trade Togepi", Method = PIDType.CXD, Moves = new[] {8,7,9,238} }, // Elekid @ Snagem Hideout
|
||||
new WC3 { Species = 307, Level = 20, Language = 1, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "ギンザル", CardTitle = "Trade Trapinch", Method = PIDType.CXD, Moves = new[] {223,93,247,197} }, // Meditite @ Pyrite Town
|
||||
new WC3 { Species = 213, Level = 20, Language = 1, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "ギンザル", CardTitle = "Trade Surskit", Method = PIDType.CXD, Moves = new[] {92,164,188,277} }, // Shuckle @ Pyrite Town
|
||||
new WC3 { Species = 246, Level = 20, Language = 1, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "ギンザル", CardTitle = "Trade Wooper", Method = PIDType.CXD, Moves = new[] {201,349,44,200} }, // Larvitar @ Pyrite Town
|
||||
new WC3 { Species = 311, Level = 13, Language = 1, Fateful = false, Met_Location = 254, TID = 37149, OT_Gender = 0, OT_Name = "ギンザル", CardTitle = "Gift", Method = PIDType.CXD }, // Plusle @ Ingame Trade
|
||||
};
|
||||
|
||||
internal static readonly MysteryGift[] Encounter_Event3_FRLG =
|
||||
{
|
||||
// PCJP - Egg Pokémon Present Eggs (March 21 to April 4, 2004)
|
||||
new WC3 { Species = 043, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{073} }, // Oddish with Leech Seed
|
||||
new WC3 { Species = 052, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{080} }, // Meowth with Petal Dance
|
||||
new WC3 { Species = 060, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{186} }, // Poliwag with Sweet Kiss
|
||||
new WC3 { Species = 069, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{298} }, // Bellsprout with Teeter Dance
|
||||
|
||||
// PCNY - Wish Eggs (December 16, 2004, to January 2, 2005)
|
||||
new WC3 { Species = 083, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 281} }, // Farfetch'd with Wish & Yawn
|
||||
new WC3 { Species = 096, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 187} }, // Drowzee with Wish & Belly Drum
|
||||
new WC3 { Species = 102, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 230} }, // Exeggcute with Wish & Sweet Scent
|
||||
new WC3 { Species = 108, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 215} }, // Lickitung with Wish & Heal Bell
|
||||
new WC3 { Species = 113, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 230} }, // Chansey with Wish & Sweet Scent
|
||||
new WC3 { Species = 115, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 281} }, // Kangaskhan with Wish & Yawn
|
||||
|
||||
// PokePark Eggs - Wondercard
|
||||
new WC3 { Species = 054, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{300}, Method = PIDType.Method_2 }, // Psyduck with Mud Sport
|
||||
new WC3 { Species = 172, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{266}, Method = PIDType.Method_2 }, // Pichu with Follow me
|
||||
new WC3 { Species = 174, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{321}, Method = PIDType.Method_2 }, // Igglybuff with Tickle
|
||||
new WC3 { Species = 222, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{300}, Method = PIDType.Method_2 }, // Corsola with Mud Sport
|
||||
new WC3 { Species = 276, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{297}, Method = PIDType.Method_2 }, // Taillow with Feather Dance
|
||||
new WC3 { Species = 283, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{300}, Method = PIDType.Method_2 }, // Surskit with Mud Sport
|
||||
new WC3 { Species = 293, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{298}, Method = PIDType.Method_2 }, // Whismur with Teeter Dance
|
||||
new WC3 { Species = 300, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{205}, Method = PIDType.Method_2 }, // Skitty with Rollout
|
||||
new WC3 { Species = 311, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{346}, Method = PIDType.Method_2 }, // Plusle with Water Sport
|
||||
new WC3 { Species = 312, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{300}, Method = PIDType.Method_2 }, // Minun with Mud Sport
|
||||
new WC3 { Species = 325, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{253}, Method = PIDType.Method_2 }, // Spoink with Uproar
|
||||
new WC3 { Species = 327, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{047}, Method = PIDType.Method_2 }, // Spinda with Sing
|
||||
new WC3 { Species = 331, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{227}, Method = PIDType.Method_2 }, // Cacnea with Encore
|
||||
new WC3 { Species = 341, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{346}, Method = PIDType.Method_2 }, // Corphish with Water Sport
|
||||
new WC3 { Species = 360, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{321}, Method = PIDType.Method_2 }, // Wynaut with Tickle
|
||||
};
|
||||
|
||||
internal static readonly MysteryGift[] Encounter_Event3_RS =
|
||||
{
|
||||
// PCJP - Pokémon Center 5th Anniversary Eggs (April 25 to May 18, 2003)
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{298} }, // Pichu with Teeter Dance
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{273} }, // Pichu with Wish
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R_S, Moves = new[]{298} }, // Pichu with Teeter Dance
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R_S, Moves = new[]{273} }, // Pichu with Wish
|
||||
new WC3 { Species = 280, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{204 } }, // Ralts with Charm
|
||||
new WC3 { Species = 280, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{273} }, // Ralts with Wish
|
||||
new WC3 { Species = 359, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{180} }, // Absol with Spite
|
||||
new WC3 { Species = 359, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{273} }, // Absol with Wish
|
||||
new WC3 { Species = 371, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{334} }, // Bagon with Iron Defense
|
||||
new WC3 { Species = 371, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{273} }, // Bagon with Wish
|
||||
|
||||
// Negai Boshi Jirachi
|
||||
new WC3 { Species = 385, Level = 05, TID = 30719, OT_Gender = 0, OT_Name = "ネガイボシ", Method = PIDType.BACD_R, Language = 1, Shiny = false },
|
||||
|
||||
// Berry Glitch Fix
|
||||
// PCJP - (December 29, 2003 to March 31, 2004)
|
||||
new WC3 { Species = 263, Level = 5, Version = (int)GameVersion.S, Language = 1, Method = PIDType.BACD_R_S, TID = 21121, OT_Name = "ルビー", OT_Gender = 1, Shiny = true },
|
||||
new WC3 { Species = 263, Level = 5, Version = (int)GameVersion.S, Language = 1, Method = PIDType.BACD_R_S, TID = 21121, OT_Name = "サファイア", OT_Gender = 0, Shiny = true },
|
||||
|
||||
// EBGames/GameStop (March 1, 2004 to April 22, 2007), also via multi-game discs
|
||||
new WC3 { Species = 263, Level = 5, Version = (int)GameVersion.S, Language = 2, Method = PIDType.BACD_R_S, TID = 30317, OT_Name = "RUBY", OT_Gender = 1 },
|
||||
new WC3 { Species = 263, Level = 5, Version = (int)GameVersion.S, Language = 2, Method = PIDType.BACD_R_S, TID = 30317, OT_Name = "SAPHIRE", OT_Gender = 0 },
|
||||
|
||||
// Channel Jirachi
|
||||
new WC3 { Species = 385, Level = 5, Version = (int)GameVersion.RS, Method = PIDType.Channel, TID = 40122, OT_Gender = 3,SID = -1, OT_Name = "CHANNEL", CardTitle = "Channel Jirachi", Met_Level = 0 },
|
||||
|
||||
// Aura Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 2, Method = PIDType.BACD_R, TID = 20078, OT_Name = "Aura", Fateful = true }, // Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 3, Method = PIDType.BACD_R, TID = 20078, OT_Name = "Aura", Fateful = true }, // Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 4, Method = PIDType.BACD_R, TID = 20078, OT_Name = "Aura", Fateful = true }, // Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 5, Method = PIDType.BACD_R, TID = 20078, OT_Name = "Aura", Fateful = true }, // Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 7, Method = PIDType.BACD_R, TID = 20078, OT_Name = "Aura", Fateful = true }, // Mew
|
||||
|
||||
// English Events
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Pikachu
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 249, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,056,240,129}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Lugia
|
||||
new WC3 { Species = 250, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,126,241,129}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Ho-Oh
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Latios
|
||||
|
||||
// French
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Pikachu
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 249, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,056,240,129}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Lugia
|
||||
new WC3 { Species = 250, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,126,241,129}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Ho-Oh
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Latios
|
||||
|
||||
// Italian
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Pikachu
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 249, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,056,240,129}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Lugia
|
||||
new WC3 { Species = 250, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,126,241,129}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Ho-Oh
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Latios
|
||||
|
||||
// German
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Pikachu
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 249, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,056,240,129}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Lugia
|
||||
new WC3 { Species = 250, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,126,241,129}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Ho-Oh
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Latios
|
||||
|
||||
// Spanish
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Pikachu
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 249, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,056,240,129}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Lugia
|
||||
new WC3 { Species = 250, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,126,241,129}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Ho-Oh
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Latios
|
||||
|
||||
new WC3 { Species = 375, Level = 30, Version = (int)GameVersion.R, Moves = new[] {036,093,232,287}, Language = 2, Method = PIDType.BACD_R, TID = 02005, OT_Name = "ROCKS", OT_Gender = 0, RibbonNational = true, Shiny = false }, // Metang
|
||||
new WC3 { Species = 386, Level = 70, Version = (int)GameVersion.R, Moves = new[] {322,105,354,063}, Language = 2, Method = PIDType.BACD_R, TID = 28606, OT_Name = "DOEL", Fateful = true, Shiny = false }, // Deoxys
|
||||
new WC3 { Species = 386, Level = 70, Version = (int)GameVersion.R, Moves = new[] {322,105,354,063}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "SPACE C", Fateful = true, Shiny = false }, // Deoxys
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 2, Method = PIDType.BACD_U, TID = 06930, OT_Name = "MYSTRY", Fateful = true, Shiny = false }, // Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 2, Method = PIDType.BACD_R, TID = 06930, OT_Name = "MYSTRY", Fateful = true, Shiny = false }, // Mew
|
||||
|
||||
// Party of the Decade
|
||||
new WC3 { Species = 001, Level = 70, Version = (int)GameVersion.R, Moves = new[] {230,074,076,235}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Bulbasaur
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 009, Level = 70, Version = (int)GameVersion.R, Moves = new[] {182,240,130,056}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Blastoise
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,087,113,019}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", HeldItem = 202, Shiny = false }, // Pikachu (Fly)
|
||||
new WC3 { Species = 065, Level = 70, Version = (int)GameVersion.R, Moves = new[] {248,347,094,271}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Alakazam
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 145, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,197,065,268}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Zapdos
|
||||
new WC3 { Species = 146, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,203,053,219}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Moltres
|
||||
new WC3 { Species = 149, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,219,017,200}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Dragonite
|
||||
new WC3 { Species = 157, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,172,129,053}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Typhlosion
|
||||
new WC3 { Species = 196, Level = 70, Version = (int)GameVersion.R, Moves = new[] {060,244,094,234}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Espeon
|
||||
new WC3 { Species = 197, Level = 70, Version = (int)GameVersion.R, Moves = new[] {185,212,103,236}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Umbreon
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 248, Level = 70, Version = (int)GameVersion.R, Moves = new[] {037,184,242,089}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Tyranitar
|
||||
new WC3 { Species = 257, Level = 70, Version = (int)GameVersion.R, Moves = new[] {299,163,119,327}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Blaziken
|
||||
new WC3 { Species = 359, Level = 70, Version = (int)GameVersion.R, Moves = new[] {104,163,248,195}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Absol
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", HeldItem = 191, Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", HeldItem = 191, Shiny = false }, // Latios
|
||||
|
||||
// Journey Across America
|
||||
new WC3 { Species = 001, Level = 70, Version = (int)GameVersion.R, Moves = new[] {230,074,076,235}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Bulbasaur
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 009, Level = 70, Version = (int)GameVersion.R, Moves = new[] {182,240,130,056}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Blastoise
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", HeldItem = 202, Shiny = false }, // Pikachu (No Fly)
|
||||
new WC3 { Species = 065, Level = 70, Version = (int)GameVersion.R, Moves = new[] {248,347,094,271}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Alakazam
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 145, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,197,065,268}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Zapdos
|
||||
new WC3 { Species = 146, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,203,053,219}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Moltres
|
||||
new WC3 { Species = 149, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,219,017,200}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Dragonite
|
||||
new WC3 { Species = 157, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,172,129,053}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Typhlosion
|
||||
new WC3 { Species = 196, Level = 70, Version = (int)GameVersion.R, Moves = new[] {060,244,094,234}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Espeon
|
||||
new WC3 { Species = 197, Level = 70, Version = (int)GameVersion.R, Moves = new[] {185,212,103,236}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Umbreon
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 248, Level = 70, Version = (int)GameVersion.R, Moves = new[] {037,184,242,089}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Tyranitar
|
||||
new WC3 { Species = 251, Level = 70, Version = (int)GameVersion.R, Moves = new[] {246,248,226,195}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Celebi
|
||||
new WC3 { Species = 257, Level = 70, Version = (int)GameVersion.R, Moves = new[] {299,163,119,327}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Blaziken
|
||||
new WC3 { Species = 359, Level = 70, Version = (int)GameVersion.R, Moves = new[] {104,163,248,195}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Absol
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", HeldItem = 191, Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", HeldItem = 191, Shiny = false }, // Latios
|
||||
};
|
||||
|
||||
internal static readonly MysteryGift[] Encounter_Event3_Common =
|
||||
{
|
||||
// Pokémon Box
|
||||
new WC3 { Species = 333, IsEgg = true, Level = 05, Moves = new[]{206}, Method = PIDType.BACD_U, OT_Gender = 1, OT_Name = "AZUSA" }, // Swablu Egg with False Swipe
|
||||
new WC3 { Species = 263, IsEgg = true, Level = 05, Moves = new[]{245}, Method = PIDType.BACD_U, OT_Gender = 1, OT_Name = "AZUSA" }, // Zigzagoon Egg with Extreme Speed
|
||||
new WC3 { Species = 300, IsEgg = true, Level = 05, Moves = new[]{006}, Method = PIDType.BACD_U, OT_Gender = 1, OT_Name = "AZUSA" }, // Skitty Egg with Pay Day
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, Moves = new[]{057}, Method = PIDType.BACD_U, OT_Gender = 1, OT_Name = "AZUSA" }, // Pichu Egg with Surf
|
||||
|
||||
// PokePark Eggs - DS Download Play
|
||||
new WC3 { Species = 054, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{300}, Method = PIDType.BACD_R }, // Psyduck with Mud Sport
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{266}, Method = PIDType.BACD_R }, // Pichu with Follow me
|
||||
new WC3 { Species = 174, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{321}, Method = PIDType.BACD_R }, // Igglybuff with Tickle
|
||||
new WC3 { Species = 222, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{300}, Method = PIDType.BACD_R }, // Corsola with Mud Sport
|
||||
new WC3 { Species = 276, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{297}, Method = PIDType.BACD_R }, // Taillow with Feather Dance
|
||||
new WC3 { Species = 283, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{300}, Method = PIDType.BACD_R }, // Surskit with Mud Sport
|
||||
new WC3 { Species = 293, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{298}, Method = PIDType.BACD_R }, // Whismur with Teeter Dance
|
||||
new WC3 { Species = 300, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{205}, Method = PIDType.BACD_R }, // Skitty with Rollout
|
||||
new WC3 { Species = 311, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{346}, Method = PIDType.BACD_R }, // Plusle with Water Sport
|
||||
new WC3 { Species = 312, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{300}, Method = PIDType.BACD_R }, // Minun with Mud Sport
|
||||
new WC3 { Species = 325, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{253}, Method = PIDType.BACD_R }, // Spoink with Uproar
|
||||
new WC3 { Species = 327, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{047}, Method = PIDType.BACD_R }, // Spinda with Sing
|
||||
new WC3 { Species = 331, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{227}, Method = PIDType.BACD_R }, // Cacnea with Encore
|
||||
new WC3 { Species = 341, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{346}, Method = PIDType.BACD_R }, // Corphish with Water Sport
|
||||
new WC3 { Species = 360, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{321}, Method = PIDType.BACD_R }, // Wynaut with Tickle
|
||||
};
|
||||
|
||||
internal static readonly MysteryGift[] Encounter_WC3 = Encounter_Event3.Concat(Encounter_Event3_RS).Concat(Encounter_Event3_FRLG.Concat(Encounter_Event3_Common)).ToArray();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -732,7 +732,7 @@ private static IEnumerable<EncounterLink> GetValidLinkGifts(PKM pkm)
|
|||
switch (pkm.GenNumber)
|
||||
{
|
||||
case 6:
|
||||
return LinkGifts6.Where(g => g.Species == pkm.Species && g.Level == pkm.Met_Level);
|
||||
return Encounters6.LinkGifts6.Where(g => g.Species == pkm.Species && g.Level == pkm.Met_Level);
|
||||
default:
|
||||
return new EncounterLink[0];
|
||||
}
|
||||
|
|
@ -744,15 +744,15 @@ private static EncounterTrade[] GetEncounterTradeTable(PKM pkm)
|
|||
switch (pkm.GenNumber)
|
||||
{
|
||||
case 3:
|
||||
return pkm.FRLG ? TradeGift_FRLG : TradeGift_RSE;
|
||||
return pkm.FRLG ? Encounters3.TradeGift_FRLG : Encounters3.TradeGift_RSE;
|
||||
case 4:
|
||||
return pkm.HGSS ? TradeGift_HGSS : TradeGift_DPPt;
|
||||
return pkm.HGSS ? Encounters4.TradeGift_HGSS : Encounters4.TradeGift_DPPt;
|
||||
case 5:
|
||||
return pkm.B2W2 ? TradeGift_B2W2 : TradeGift_BW;
|
||||
return pkm.B2W2 ? Encounters5.TradeGift_B2W2 : Encounters5.TradeGift_BW;
|
||||
case 6:
|
||||
return pkm.XY ? TradeGift_XY : TradeGift_AO;
|
||||
return pkm.XY ? Encounters6.TradeGift_XY : Encounters6.TradeGift_AO;
|
||||
case 7:
|
||||
return pkm.SM ? TradeGift_SM : null;
|
||||
return pkm.SM ? Encounters7.TradeGift_SM : null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
@ -763,7 +763,7 @@ private static IEnumerable<EncounterTrade> GetValidEncounterTradesVC(PKM pkm, Ga
|
|||
switch (gameSource)
|
||||
{
|
||||
case GameVersion.RBY:
|
||||
var table = !AllowGen1Tradeback ? TradeGift_RBY_NoTradeback : TradeGift_RBY_Tradeback;
|
||||
var table = !AllowGen1Tradeback ? Encounters1.TradeGift_RBY_NoTradeback : Encounters1.TradeGift_RBY_Tradeback;
|
||||
return GetValidEncounterTradesVC1(pkm, p, table);
|
||||
case GameVersion.GSC:
|
||||
case GameVersion.C:
|
||||
|
|
@ -775,7 +775,7 @@ private static IEnumerable<EncounterTrade> GetValidEncounterTradesVC(PKM pkm, Ga
|
|||
private static IEnumerable<EncounterTrade> GetValidEncounterTradesVC2(PKM pkm, DexLevel[] p)
|
||||
{
|
||||
// Check GSC trades. Reuse generic table fetch-match
|
||||
var possible = GetValidEncounterTradesVC1(pkm, p, TradeGift_GSC);
|
||||
var possible = GetValidEncounterTradesVC1(pkm, p, Encounters2.TradeGift_GSC);
|
||||
|
||||
foreach (var z in possible)
|
||||
{
|
||||
|
|
@ -789,8 +789,8 @@ private static IEnumerable<EncounterTrade> GetValidEncounterTradesVC2(PKM pkm, D
|
|||
if (pkm.Met_Location != 0 && pkm.Format == 2 && pkm.Met_Location != 126)
|
||||
continue;
|
||||
|
||||
int index = Array.IndexOf(TradeGift_GSC, z);
|
||||
if (TradeGift_GSC_OTs[index].All(ot => ot != pkm.OT_Name))
|
||||
int index = Array.IndexOf(Encounters2.TradeGift_GSC, z);
|
||||
if (Encounters2.TradeGift_GSC_OTs[index].All(ot => ot != pkm.OT_Name))
|
||||
continue;
|
||||
|
||||
yield return z;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ public IEncounterable EncounterMatch
|
|||
}
|
||||
}
|
||||
|
||||
public bool WasXD => pkm?.Version == 15 && EncounterMatch != null && !Legal.Encounter_Colo.Contains(EncounterMatch);
|
||||
public bool WasXD => pkm?.Version == 15 && EncounterMatch != null && !Encounters3.Encounter_Colo.Contains(EncounterMatch);
|
||||
public int[] RelearnBase { get; set; }
|
||||
|
||||
public readonly List<CheckResult> Parse = new List<CheckResult>();
|
||||
|
|
|
|||
|
|
@ -593,7 +593,7 @@ public static bool IsCompatible4(this PIDType val, IEncounterable encounter, PKM
|
|||
switch (encounter)
|
||||
{
|
||||
case EncounterStatic s:
|
||||
if (s == Legal.SpikyEaredPichu) // nonshiny forced nature, undocumented
|
||||
if (s == Encounters4.SpikyEaredPichu) // nonshiny forced nature, undocumented
|
||||
return val == PIDType.None;
|
||||
if (s.Location == 233 && s.Gift)
|
||||
return val == PIDType.Pokewalker;
|
||||
|
|
@ -609,7 +609,7 @@ public static bool IsCompatible4(this PIDType val, IEncounterable encounter, PKM
|
|||
// Chain shiny with poke radar is only possible in DPPt in tall grass, safari zone do not allow pokeradar
|
||||
// TypeEncounter TallGrass discard any cave or city
|
||||
var IsDPPt = GameVersion.DP.Contains((GameVersion)pkm.Version) || (GameVersion)pkm.Version == GameVersion.Pt;
|
||||
return pkm.IsShiny && IsDPPt && sl.TypeEncounter == EncounterType.TallGrass && !Legal.SafariZoneLocation_4.Contains(sl.Location);
|
||||
return pkm.IsShiny && IsDPPt && sl.TypeEncounter == EncounterType.TallGrass && !Encounters4.SafariZoneLocation_4.Contains(sl.Location);
|
||||
case PGT _: // manaphy
|
||||
return IsG4ManaphyPIDValid(val, pkm);
|
||||
default:
|
||||
|
|
|
|||
|
|
@ -50,144 +50,6 @@ public static partial class Legal
|
|||
|
||||
internal static readonly int[] WildPokeBalls1 = {4};
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_RBY =
|
||||
{
|
||||
// Gameversion is RBY for pokemon with the same catch rate and initial moves in all games
|
||||
// If there are differents in moves or catch rate they will have different encounters defined
|
||||
new EncounterStatic { Species = 001, Level = 05, Version = GameVersion.RBY }, // Bulbasaur
|
||||
new EncounterStatic { Species = 004, Level = 05, Version = GameVersion.RBY }, // Charmander
|
||||
new EncounterStatic { Species = 007, Level = 05, Version = GameVersion.RBY }, // Squirtle
|
||||
new EncounterStatic { Species = 025, Level = 05, Version = GameVersion.YW }, // Pikachu
|
||||
|
||||
// Game Corner
|
||||
new EncounterStatic { Species = 030, Level = 17, Version = GameVersion.RB }, // Nidorina (Red Game Corner)
|
||||
new EncounterStatic { Species = 033, Level = 17, Version = GameVersion.BU }, // Nidorino (Blue[EN] / Green[JP] Game Corner)
|
||||
new EncounterStatic { Species = 035, Level = 08, Version = GameVersion.RBY }, // Clefairy (Red Game Corner)
|
||||
new EncounterStatic { Species = 036, Level = 24, Version = GameVersion.RBY }, // Clefable (Blue[JP] Game Corner)
|
||||
new EncounterStatic { Species = 037, Level = 18, Version = GameVersion.RBY }, // Vulpix (Yellow Game Corner)
|
||||
new EncounterStatic { Species = 040, Level = 22, Version = GameVersion.RBY }, // Wigglytuff (Yellow Game Corner)
|
||||
new EncounterStatic { Species = 063, Level = 06, Version = GameVersion.RBY }, // Abra (Blue[EN] / Green[JP] Game Corner)
|
||||
new EncounterStatic { Species = 116, Level = 18, Version = GameVersion.RBY }, // Horsea (Blue[JP] Game Corner)
|
||||
new EncounterStatic { Species = 123, Level = 25, Version = GameVersion.RBY }, // Scyther (Red Game Corner)
|
||||
new EncounterStatic { Species = 127, Level = 20, Version = GameVersion.BU }, // Pinsir (Blue[EN] / Green[JP] Game Corner)
|
||||
new EncounterStatic { Species = 127, Level = 30, Version = GameVersion.YW }, // Pinsir (Yellow Game Corner) (Different initial moves)
|
||||
new EncounterStatic { Species = 137, Level = 18, Version = GameVersion.RBY }, // Porygon (Blue[EN] / Green[JP] Game Corner)
|
||||
new EncounterStatic { Species = 147, Level = 18, Version = GameVersion.RBY }, // Dratini (Red Game Corner)
|
||||
new EncounterStatic { Species = 148, Level = 30, Version = GameVersion.BU }, // Dragonair (Blue[JP] Game Corner)
|
||||
new EncounterStatic { Species = 025, Level = 12, Version = GameVersion.BU }, // Pikachu (Blue[JP] Game Corner) (Different catch rate)
|
||||
|
||||
|
||||
// Lower level less ideal matches; best match is from above.
|
||||
// new EncounterStatic { Species = 035, Level = 12 }, // Clefairy (Blue[EN] / Green[JP] Game Corner)
|
||||
// new EncounterStatic { Species = 063, Level = 09 }, // Abra (Red Game Corner)
|
||||
// new EncounterStatic { Species = 063, Level = 08 }, // Abra (Blue[JP] Game Corner)
|
||||
// new EncounterStatic { Species = 063, Level = 15 }, // Abra (Yellow Game Corner)
|
||||
// new EncounterStatic { Species = 123, Level = 30 }, // Scyther (Yellow Game Corner)
|
||||
// new EncounterStatic { Species = 137, Level = 22 }, // Porygon (Blue[JP] Game Corner)
|
||||
// new EncounterStatic { Species = 137, Level = 26 }, // Porygon (Red Game Corner)
|
||||
// new EncounterStatic { Species = 137, Level = 26 }, // Porygon (Yellow Game Corner)
|
||||
// new EncounterStatic { Species = 147, Level = 24 }, // Dratini (Blue[EN] / Green[JP] Game Corner)
|
||||
|
||||
new EncounterStatic { Species = 129, Level = 05, Version = GameVersion.RBY }, // Magikarp
|
||||
new EncounterStatic { Species = 143, Level = 30, Version = GameVersion.RBY }, // Snorlax
|
||||
new EncounterStatic { Species = 106, Level = 30, Version = GameVersion.RBY }, // Hitmonlee
|
||||
new EncounterStatic { Species = 107, Level = 30, Version = GameVersion.RBY }, // Hitmonchan
|
||||
|
||||
new EncounterStatic { Species = 131, Level = 15, Version = GameVersion.RBY }, // Lapras
|
||||
new EncounterStatic { Species = 138, Level = 30, Version = GameVersion.RBY }, // Omanyte
|
||||
new EncounterStatic { Species = 140, Level = 30, Version = GameVersion.RBY }, // Kabuto
|
||||
new EncounterStatic { Species = 142, Level = 30, Version = GameVersion.RBY }, // Aerodactyl
|
||||
|
||||
new EncounterStatic { Species = 144, Level = 50, Version = GameVersion.RBY }, // Articuno
|
||||
new EncounterStatic { Species = 145, Level = 50, Version = GameVersion.RBY }, // Zapdos
|
||||
new EncounterStatic { Species = 146, Level = 50, Version = GameVersion.RBY }, // Moltres
|
||||
|
||||
new EncounterStatic { Species = 150, Level = 70, Version = GameVersion.RBY }, // Mewtwo
|
||||
|
||||
new EncounterStatic { Species = 133, Level = 25, Version = GameVersion.RB }, // Eevee
|
||||
new EncounterStatic { Species = 133, Level = 25, Version = GameVersion.YW }, // Eevee (Different initial moves)
|
||||
|
||||
// Yellow Only -- duplicate encounters with a higher level
|
||||
// new EncounterStatic { Species = 001, Level = 10, Version = GameVersion.YW }, // Bulbasaur (Cerulean City)
|
||||
// new EncounterStatic { Species = 004, Level = 10, Version = GameVersion.YW }, // Charmander (Route 24)
|
||||
// new EncounterStatic { Species = 007, Level = 10, Version = GameVersion.YW }, // Squirtle (Vermillion City)
|
||||
|
||||
new EncounterStatic { Species = 054, Level = 15, Moves = new [] { 133, 10 }, Version = GameVersion.Stadium }, // Stadium Psyduck (Amnesia)
|
||||
new EncounterStatic { Species = 001, Level = 05, Version = GameVersion.Stadium }, // Bulbasaur
|
||||
new EncounterStatic { Species = 004, Level = 05, Version = GameVersion.Stadium }, // Charmander
|
||||
new EncounterStatic { Species = 071, Level = 05, Version = GameVersion.Stadium }, // Squirtle
|
||||
new EncounterStatic { Species = 106, Level = 20, Version = GameVersion.Stadium }, // Hitmonlee
|
||||
new EncounterStatic { Species = 107, Level = 20, Version = GameVersion.Stadium }, // Hitmonchan
|
||||
new EncounterStatic { Species = 133, Level = 25, Version = GameVersion.Stadium }, // Eevee
|
||||
new EncounterStatic { Species = 138, Level = 20, Version = GameVersion.Stadium }, // Omanyte
|
||||
new EncounterStatic { Species = 140, Level = 20, Version = GameVersion.Stadium }, // Kabuto
|
||||
new EncounterStatic { Species = 151, Level = 5, IVs = new [] {15,15,15,15,15,15}, Version = GameVersion.VCEvents }, // Event Mew
|
||||
};
|
||||
internal static readonly EncounterTrade[] TradeGift_RBY_Common =
|
||||
{
|
||||
// Species & Minimum level (legal) possible to acquire at.
|
||||
//new EncounterTrade { Species = 122, Generation = 1, Level = 06 }, // Mr. Mime - Game Corner Abra
|
||||
new EncounterTrade { Species = 032, Generation = 1, Level = 02, Version = GameVersion.RD }, // Nidoran♂ - Wild Nidoran♀
|
||||
new EncounterTrade { Species = 029, Generation = 1, Level = 02, Version = GameVersion.BU }, // Nidoran♀ - Wild Nidoran♂
|
||||
new EncounterTrade { Species = 030, Generation = 1, Level = 16, Version = GameVersion.RB }, // Nidorina - Evolve Nidorino
|
||||
new EncounterTrade { Species = 030, Generation = 1, Level = 16, Version = GameVersion.YW }, // Nidorina - Evolve Nidorino (Different initial moves)
|
||||
new EncounterTrade { Species = 108, Generation = 1, Level = 15, Version = GameVersion.RBY }, // Lickitung - Surf Slowbro
|
||||
new EncounterTrade { Species = 083, Generation = 1, Level = 02, Version = GameVersion.RBY }, // Farfetch’d - Wild Spearow
|
||||
new EncounterTrade { Species = 101, Generation = 1, Level = 03, Version = GameVersion.RBY }, // Electrode - Wild Raichu
|
||||
|
||||
new EncounterTrade { Species = 122, Generation = 1, Level = 03, Version = GameVersion.RBY }, // Mr. Mime - Wild Jigglypuff
|
||||
new EncounterTrade { Species = 060, Generation = 1, Level = 02, Version = GameVersion.RBY }, // Poliwag - Wild Rattata
|
||||
//new EncounterTrade { Species = 083, Generation = 1, Level = 02 }, // Farfetch’d - Wild Pidgey
|
||||
new EncounterTrade { Species = 079, Generation = 1, Level = 22, Version = GameVersion.RBY }, // Slowpoke - Wild Seel
|
||||
|
||||
new EncounterTrade { Species = 051, Generation = 1, Level = 15, Version = GameVersion.RBY }, // Dugtrio - Trade Lickitung
|
||||
new EncounterTrade { Species = 047, Generation = 1, Level = 13, Version = GameVersion.RBY }, // Parasect - Trade Tangela
|
||||
};
|
||||
internal static readonly EncounterTrade[] TradeGift_RBY_NoTradeback = TradeGift_RBY_Common.Concat(new[]
|
||||
{
|
||||
// Species & Minimum level (legal) possible to acquire at.
|
||||
new EncounterTrade { Species = 124, Generation = 1, Level = 15, Version = GameVersion.RBY }, // Jynx - Fish Poliwhirl (GSC: 10)
|
||||
new EncounterTrade { Species = 114, Generation = 1, Level = 13, Version = GameVersion.RBY }, // Tangela - Wild Venonat (GSC: 5) No different moves at level 13
|
||||
new EncounterTrade { Species = 086, Generation = 1, Level = 28, Version = GameVersion.RBY }, // Seel - Wild Ponyta (GSC: 6)
|
||||
|
||||
new EncounterTrade { Species = 115, Generation = 1, Level = 42, Version = GameVersion.RBY }, // Kangaskhan - Evolve Rhydon (GSC: 30)
|
||||
new EncounterTrade { Species = 128, Generation = 1, Level = 28, Version = GameVersion.RBY }, // Tauros - Evolve Persian (GSC: 18)
|
||||
new EncounterTradeCatchRate { Species = 093, Generation = 1, Level = 20, Catch_Rate = 45, EvolveOnTrade = true, Version = GameVersion.RBY }, // Haunter - Trade Machoke (GSC: 10)
|
||||
new EncounterTradeCatchRate { Species = 075, Generation = 1, Level = 16, Catch_Rate = 45, EvolveOnTrade = true, Version = GameVersion.RBY }, // Graveler - Evolve Kadabra (GSC: 15)
|
||||
new EncounterTradeCatchRate { Species = 098, Generation = 1, Level = 15, Catch_Rate = 204, Version = GameVersion.RBY }, // Krabby - Wild Growlithe (GSC: 5)
|
||||
|
||||
//new EncounterTrade { Species = 122, Generation = 1, Level = 08 }, // Mr. Mime - Wild Clefairy (GSC: 6)
|
||||
new EncounterTradeCatchRate { Species = 067, Generation = 1, Level = 20, Catch_Rate = 180, EvolveOnTrade = true, Version = GameVersion.RBY }, // Machoke - Wild Cubone (GSC: 10)
|
||||
new EncounterTrade { Species = 112, Generation = 1, Level = 15, Version = GameVersion.RBY }, // Rhydon - Surf Golduck (GSC: 10)
|
||||
new EncounterTrade { Species = 087, Generation = 1, Level = 15, Version = GameVersion.RBY }, // Dewgong - Wild Growlithe (GSC: 5)
|
||||
new EncounterTrade { Species = 089, Generation = 1, Level = 25, Version = GameVersion.RBY }, // Muk - Wild Kangaskhan (GSC: 14)
|
||||
}).ToArray();
|
||||
internal static readonly EncounterTrade[] TradeGift_RBY_Tradeback = TradeGift_RBY_Common.Concat(new[]
|
||||
{
|
||||
// Trade gifts that can be obtained at a lower level due to the requested Pokémon being a lower level in GSC
|
||||
new EncounterTrade { Species = 124, Generation = 1, Level = 10, Version = GameVersion.RBY }, // Jynx - Fish Poliwhirl (RBY: 15)
|
||||
new EncounterTrade { Species = 114, Generation = 1, Level = 05, Version = GameVersion.RBY }, // Tangela - Wild Venonat (RBY: 13)
|
||||
new EncounterTrade { Species = 086, Generation = 1, Level = 05, Version = GameVersion.RBY }, // Seel - Egg Ponyta (RBY: 28)
|
||||
|
||||
new EncounterTrade { Species = 115, Generation = 1, Level = 30, Version = GameVersion.RBY }, // Kangaskhan - Evolve Rhydon (RBY: 42)
|
||||
new EncounterTrade { Species = 128, Generation = 1, Level = 18, Version = GameVersion.RBY }, // Tauros - Evolve Persian (RBY: 28)
|
||||
new EncounterTradeCatchRate { Species = 093, Generation = 1, Level = 10, Catch_Rate = 45, EvolveOnTrade = true, Version = GameVersion.RBY }, // Haunter - Trade Machoke (RBY: 20)
|
||||
new EncounterTradeCatchRate { Species = 075, Generation = 1, Level = 15, Catch_Rate = 45, EvolveOnTrade = true, Version = GameVersion.RBY }, // Graveler - Evolve Kadabra (RBY: 16)
|
||||
new EncounterTradeCatchRate { Species = 098, Generation = 1, Level = 05, Catch_Rate = 204, Version = GameVersion.RBY }, // Krabby - Egg Growlithe (RBY: 15)
|
||||
|
||||
//new EncounterTrade { Species = 122, Generation = 1, Level = 08 }, // Mr. Mime - Wild Clefairy (RBY: 6)
|
||||
new EncounterTradeCatchRate { Species = 067, Generation = 1, Level = 05, Catch_Rate = 180, EvolveOnTrade = true, Version = GameVersion.RBY }, // Machoke - Egg Cubone (RBY: 20)
|
||||
new EncounterTrade { Species = 112, Generation = 1, Level = 10, Version = GameVersion.RBY }, // Rhydon - Surf Golduck (RBY: 15)
|
||||
new EncounterTrade { Species = 087, Generation = 1, Level = 05, Version = GameVersion.RBY }, // Dewgong - Egg Growlithe (RBY: 15)
|
||||
new EncounterTrade { Species = 089, Generation = 1, Level = 05, Version = GameVersion.RBY }, // Muk - Egg Kangaskhan (RBY: 25)
|
||||
}).ToArray();
|
||||
internal static readonly EncounterArea FishOldGood_RBY = new EncounterArea { Location = -1, Slots = new EncounterSlot[]
|
||||
{
|
||||
new EncounterSlot1 {Species = 129, LevelMin = 05, LevelMax = 05, Type = SlotType.Old_Rod, Rate = -1, Version = GameVersion.RBY }, // Magikarp
|
||||
new EncounterSlot1 {Species = 118, LevelMin = 10, LevelMax = 10, Type = SlotType.Good_Rod, Rate = -1, Version = GameVersion.RBY }, // Goldeen
|
||||
new EncounterSlot1 {Species = 060, LevelMin = 10, LevelMax = 10, Type = SlotType.Good_Rod, Rate = -1, Version = GameVersion.RBY }, // Poliwag
|
||||
}};
|
||||
|
||||
internal static readonly int[] FutureEvolutionsGen1 =
|
||||
{
|
||||
169,182,186,196,197,199,208,212,230,233,242,462,463,464,465,466,467,470,471,474,700
|
||||
|
|
|
|||
|
|
@ -52,159 +52,6 @@ public static partial class Legal
|
|||
{
|
||||
424,429,430,461,462,463,464,465,466,467,468,469,470,471,472,473,474,700
|
||||
};
|
||||
internal static readonly int[] Roaming_MetLocation_GSC_Grass =
|
||||
{
|
||||
// Routes 29, 30-31, 33, 34, 35, 36-37, 38-39, 42, 43, 44, 45-46 can be encountered in grass
|
||||
2, 4, 5, 8, 11, 15, 18, 20, 21,
|
||||
25, 26, 34, 37, 39, 43, 45,
|
||||
};
|
||||
|
||||
internal static readonly EncounterArea[] EncounterBCC_GSC = { new EncounterArea {
|
||||
Location = 19,
|
||||
Slots = new EncounterSlot[]
|
||||
{
|
||||
new EncounterSlot1 {Species = 010, LevelMin = 07, LevelMax = 18, Rate = 20, SlotNumber = 0}, // Caterpie
|
||||
new EncounterSlot1 {Species = 013, LevelMin = 07, LevelMax = 18, Rate = 20, SlotNumber = 1}, // Weedle
|
||||
new EncounterSlot1 {Species = 011, LevelMin = 09, LevelMax = 18, Rate = 10, SlotNumber = 2}, // Metapod
|
||||
new EncounterSlot1 {Species = 014, LevelMin = 09, LevelMax = 18, Rate = 10, SlotNumber = 3}, // Kakuna
|
||||
new EncounterSlot1 {Species = 012, LevelMin = 12, LevelMax = 15, Rate = 05, SlotNumber = 4}, // Butterfree
|
||||
new EncounterSlot1 {Species = 015, LevelMin = 12, LevelMax = 15, Rate = 05, SlotNumber = 5}, // Beedrill
|
||||
new EncounterSlot1 {Species = 048, LevelMin = 10, LevelMax = 16, Rate = 10, SlotNumber = 6}, // Venonat
|
||||
new EncounterSlot1 {Species = 046, LevelMin = 10, LevelMax = 17, Rate = 10, SlotNumber = 7}, // Paras
|
||||
new EncounterSlot1 {Species = 123, LevelMin = 13, LevelMax = 14, Rate = 05, SlotNumber = 8}, // Scyther
|
||||
new EncounterSlot1 {Species = 127, LevelMin = 13, LevelMax = 14, Rate = 05, SlotNumber = 9}, // Pinsir
|
||||
}
|
||||
}};
|
||||
|
||||
internal static readonly EncounterArea[] EncounterSafari_GSC = { new EncounterArea {
|
||||
Location = 81,
|
||||
Slots = new EncounterSlot[]
|
||||
{
|
||||
new EncounterSlot1 {Species = 129, LevelMin = 10, LevelMax = 10, Type = SlotType.Old_Rod_Safari}, // Magikarp
|
||||
new EncounterSlot1 {Species = 098, LevelMin = 10, LevelMax = 10, Type = SlotType.Old_Rod_Safari}, // Krabby
|
||||
new EncounterSlot1 {Species = 098, LevelMin = 20, LevelMax = 20, Type = SlotType.Good_Rod_Safari}, // Krabby
|
||||
new EncounterSlot1 {Species = 129, LevelMin = 20, LevelMax = 20, Type = SlotType.Good_Rod_Safari}, // Magikarp
|
||||
new EncounterSlot1 {Species = 222, LevelMin = 20, LevelMax = 20, Type = SlotType.Good_Rod_Safari}, // Corsola
|
||||
new EncounterSlot1 {Species = 120, LevelMin = 20, LevelMax = 20, Type = SlotType.Good_Rod_Safari}, // Staryu
|
||||
new EncounterSlot1 {Species = 098, LevelMin = 40, LevelMax = 40, Type = SlotType.Super_Rod_Safari}, // Krabby
|
||||
new EncounterSlot1 {Species = 222, LevelMin = 40, LevelMax = 40, Type = SlotType.Super_Rod_Safari}, // Corsola
|
||||
new EncounterSlot1 {Species = 120, LevelMin = 40, LevelMax = 40, Type = SlotType.Super_Rod_Safari}, // Staryu
|
||||
new EncounterSlot1 {Species = 121, LevelMin = 40, LevelMax = 40, Type = SlotType.Super_Rod_Safari}, // Kingler
|
||||
}
|
||||
}};
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_GSC_Common =
|
||||
{
|
||||
new EncounterStatic { Species = 152, Level = 05, Location = 001, Version = GameVersion.GSC }, // Chikorita @ New Bark Town
|
||||
new EncounterStatic { Species = 155, Level = 05, Location = 001, Version = GameVersion.GSC }, // Cyndaquil @ New Bark Town
|
||||
new EncounterStatic { Species = 158, Level = 05, Location = 001, Version = GameVersion.GSC }, // Totodile @ New Bark Town
|
||||
|
||||
new EncounterStatic { Species = 175, Level = 05, Version = GameVersion.GSC, EggLocation = 256 }, // Togepi
|
||||
new EncounterStatic { Species = 131, Level = 20, Location = 010, Version = GameVersion.GSC }, // Lapras @ Union Cave
|
||||
new EncounterStatic { Species = 133, Level = 20, Location = 016, Version = GameVersion.GSC }, // Eevee @ Goldenrod City
|
||||
|
||||
new EncounterStatic { Species = 185, Level = 20, Location = 020, Version = GameVersion.GSC }, // Sudowoodo @ Route 36
|
||||
new EncounterStatic { Species = 236, Level = 10, Location = 035, Version = GameVersion.GSC }, // Tyrogue @ Mt. Mortar
|
||||
|
||||
new EncounterStatic { Species = 130, Level = 30, Location = 038, Version = GameVersion.GSC, Shiny = true, }, // Gyarados @ Lake of Rage
|
||||
new EncounterStatic { Species = 074, Level = 21, Location = 036, Version = GameVersion.GSC }, // Geodude @ Rocket Hideout (Mahogany Town)
|
||||
new EncounterStatic { Species = 109, Level = 21, Location = 036, Version = GameVersion.GSC }, // Koffing @ Rocket Hideout (Mahogany Town)
|
||||
new EncounterStatic { Species = 100, Level = 23, Location = 036, Version = GameVersion.GSC }, // Voltorb @ Rocket Hideout (Mahogany Town)
|
||||
new EncounterStatic { Species = 101, Level = 23, Location = 036, Version = GameVersion.GSC }, // Electrode @ Rocket Hideout (Mahogany Town)
|
||||
new EncounterStatic { Species = 143, Level = 50, Location = 061, Version = GameVersion.GSC }, // Snorlax @ Vermillion City
|
||||
|
||||
new EncounterStatic { Species = 083, Level = 05, Moves = new [] { 226, 14, 97, 37 }, Version = GameVersion.Stadium2 }, // Stadium 2 Baton Pass Farfetch'd
|
||||
new EncounterStatic { Species = 207, Level = 05, Moves = new [] { 89, 68, 17 }, Version = GameVersion.Stadium2 }, // Stadium 2 Earthquake Gligar
|
||||
};
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_GS_Exclusive =
|
||||
{
|
||||
new EncounterStatic { Species = 245, Level = 40, Version = GameVersion.GS }, // Suicune
|
||||
|
||||
new EncounterStatic { Species = 249, Level = 70, Version = GameVersion.GD }, // Lugia @ Whirl Islands
|
||||
new EncounterStatic { Species = 249, Level = 40, Version = GameVersion.SV }, // Lugia @ Whirl Islands
|
||||
|
||||
new EncounterStatic { Species = 250, Level = 40, Version = GameVersion.GD }, // Ho-Oh @ Tin Tower
|
||||
new EncounterStatic { Species = 250, Level = 70, Version = GameVersion.SV }, // Ho-Oh @ Tin Tower
|
||||
|
||||
new EncounterStatic { Species = 137, Level = 15, Version = GameVersion.GS }, // Porygon @ Celadon Game Corner
|
||||
new EncounterStatic { Species = 133, Level = 15, Version = GameVersion.GS }, // Eevee @ Celadon Game Corner
|
||||
new EncounterStatic { Species = 122, Level = 15, Version = GameVersion.GS }, // Mr. Mime @ Celadon Game Corner
|
||||
|
||||
new EncounterStatic { Species = 063, Level = 10, Version = GameVersion.GS }, // Abra @ Goldenrod City (Game Corner)
|
||||
new EncounterStatic { Species = 147, Level = 10, Version = GameVersion.GS }, // Dratini @ Goldenrod City (Game Corner)
|
||||
new EncounterStatic { Species = 023, Level = 10, Version = GameVersion.GS }, // Ekans @ Goldenrod City (Game Corner) (Gold)
|
||||
new EncounterStatic { Species = 027, Level = 10, Version = GameVersion.GS }, // Sandshrew @ Goldenrod City (Game Corner) (Silver)
|
||||
};
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_C_Exclusive =
|
||||
{
|
||||
new EncounterStatic { Species = 245, Level = 40, Location = 023, Version = GameVersion.C }, // Suicune @ Tin Tower
|
||||
|
||||
new EncounterStatic { Species = 172, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Pichu Dizzy Punch
|
||||
new EncounterStatic { Species = 173, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Cleffa Dizzy Punch
|
||||
new EncounterStatic { Species = 174, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Igglybuff Dizzy Punch
|
||||
new EncounterStatic { Species = 236, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Tyrogue Dizzy Punch
|
||||
new EncounterStatic { Species = 238, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Smoochum Dizzy Punch
|
||||
new EncounterStatic { Species = 239, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Elekid Dizzy Punch
|
||||
new EncounterStatic { Species = 240, Level = 05, Version = GameVersion.C, Moves = new [] {146}, EggLocation = 256 }, // Magby Dizzy Punch
|
||||
|
||||
new EncounterStatic { Species = 147, Level = 15, Location = 042, Version = GameVersion.C, Moves = new [] {245} }, // Dratini ExtremeSpeed
|
||||
|
||||
new EncounterStatic { Species = 249, Level = 60, Location = 031, Version = GameVersion.C }, // Lugia @ Whirl Islands
|
||||
new EncounterStatic { Species = 250, Level = 60, Location = 023, Version = GameVersion.C }, // Ho-Oh @ Tin Tower
|
||||
new EncounterStatic { Species = 251, Level = 30, Location = 014, Version = GameVersion.EventsGBGen2 }, // Celebi @ Ilex Forest
|
||||
|
||||
new EncounterStatic { Species = 137, Level = 15, Location = 071, Version = GameVersion.C }, // Porygon @ Celadon Game Corner
|
||||
new EncounterStatic { Species = 025, Level = 25, Location = 071, Version = GameVersion.C }, // Pikachu @ Celadon Game Corner
|
||||
new EncounterStatic { Species = 246, Level = 40, Location = 071, Version = GameVersion.C }, // Larvitar @ Celadon Game Corner
|
||||
|
||||
new EncounterStatic { Species = 063, Level = 05, Location = 016, Version = GameVersion.C }, // Abra @ Goldenrod City (Game Corner)
|
||||
new EncounterStatic { Species = 104, Level = 15, Location = 016, Version = GameVersion.C }, // Cubone @ Goldenrod City (Game Corner)
|
||||
new EncounterStatic { Species = 202, Level = 15, Location = 016, Version = GameVersion.C }, // Wobbuffet @ Goldenrod City (Game Corner)
|
||||
};
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_GSC_Roam =
|
||||
{
|
||||
new EncounterStatic { Species = 243, Level = 40, Roaming = true }, // Raikou
|
||||
new EncounterStatic { Species = 244, Level = 40, Roaming = true }, // Entei
|
||||
new EncounterStatic { Species = 245, Level = 40, Roaming = true, Version = GameVersion.GS }, // Suicune
|
||||
};
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_GS = Encounter_GSC_Common.Concat(Encounter_GS_Exclusive).Concat(Encounter_GSC_Roam.SelectMany(e => e.Clone(Roaming_MetLocation_GSC_Grass))).ToArray();
|
||||
internal static readonly EncounterStatic[] Encounter_C = Encounter_GSC_Common.Concat(Encounter_C_Exclusive).Concat(Encounter_GSC_Roam.Take(2).SelectMany(e => e.Clone(Roaming_MetLocation_GSC_Grass))).ToArray();
|
||||
internal static readonly EncounterStatic[] Encounter_GSC = Encounter_GSC_Common.Concat(Encounter_GS_Exclusive).Concat(Encounter_C_Exclusive).Concat(Encounter_GSC_Roam.SelectMany(e => e.Clone(Roaming_MetLocation_GSC_Grass))).ToArray();
|
||||
|
||||
internal static readonly EncounterTrade[] TradeGift_GSC =
|
||||
{
|
||||
new EncounterTrade { Species = 095, Generation = 2, Level = 03, Gender = 0, TID = 48926, IVs = new[] {08, 09, 06, 06, 06, 06} }, // Onix @ Violet City for Bellsprout [wild]
|
||||
new EncounterTrade { Species = 066, Generation = 2, Level = 05, Gender = 1, TID = 37460, IVs = new[] {12, 03, 07, 06, 06, 06} }, // Machop @ Goldenrod City for Drowzee [wild 9, hatched egg 5]
|
||||
new EncounterTrade { Species = 100, Generation = 2, Level = 05, Gender = 2, TID = 29189, IVs = new[] {08, 09, 08, 08, 08, 08} }, // Voltorb @ Olivine City for Krabby [egg]
|
||||
new EncounterTrade { Species = 112, Generation = 2, Level = 30, Gender = 0, TID = 00283, IVs = new[] {12, 07, 07, 06, 06, 06} }, // Rhydon @ Blackthorn City for Dragonair [blue jp game corner]
|
||||
new EncounterTrade { Species = 142, Generation = 2, Level = 05, Gender = 0, TID = 26491, IVs = new[] {08, 09, 06, 06, 06, 06} }, // Aerodactyl @ Route 14 for Chansey [egg]
|
||||
new EncounterTrade { Species = 078, Generation = 2, Level = 14, Gender = 0, TID = 15616, IVs = new[] {08, 09, 06, 06, 06, 06} }, // Rapidash @ Pewter City for Gloom [wild]
|
||||
|
||||
new EncounterTrade { Species = 085, Generation = 2, Level = 30, Gender = 0, TID = 00283, IVs = new[] {12, 07, 07, 06, 06, 06} }, // Dodrio @ Blackthorn City for Dragonair [blue jp game corner]
|
||||
new EncounterTrade { Species = 178, Generation = 2, Level = 15, Gender = 0, TID = 15616, IVs = new[] {08, 09, 06, 08, 06, 06} }, // Xatu @ Pewter City for Haunter [wild]
|
||||
new EncounterTrade { Species = 082, Generation = 2, Level = 16, Gender = 2, TID = 50082, IVs = new[] {08, 09, 06, 06, 06, 06} }, // Magneton @ Power Plant for Dugtrio [wild]
|
||||
|
||||
new EncounterTrade { Species = 213, Generation = 2, Level = 15, TID = 00518 } // Shuckle @ Cianwood City for free
|
||||
};
|
||||
internal static readonly string[][] TradeGift_GSC_OTs =
|
||||
{
|
||||
new[] { "コンタ", "KYLE" },
|
||||
new[] { "ナオキ", "MIKE" },
|
||||
new[] { "ゲン", "TIM" },
|
||||
new[] { "ミサコ", "EMY" },
|
||||
new[] { "キヨミ", "KIM" },
|
||||
new[] { "デンジ", "CHRIS" },
|
||||
|
||||
new[] { "ミサコ", "EMY" },
|
||||
new[] { "デンジ", "CHRIS" },
|
||||
new[] { "モリオ", "FOREST" },
|
||||
|
||||
new[] { "セイジ", "MANIA" },
|
||||
};
|
||||
internal static readonly int[] UnreleasedItems_2 =
|
||||
{
|
||||
// todo
|
||||
|
|
|
|||
|
|
@ -220,557 +220,6 @@ public static partial class Legal
|
|||
359, 385, 386 }
|
||||
};
|
||||
|
||||
internal static readonly int[] Roaming_MetLocation_FRLG =
|
||||
{
|
||||
//Route 1-25 encounter is possible either in grass or on water
|
||||
101,102,103,104,105,106,107,108,109,110,
|
||||
111,112,113,114,115,116,117,118,119,120,
|
||||
121,122,123,124,125
|
||||
};
|
||||
|
||||
internal static readonly int[] Roaming_MetLocation_RSE =
|
||||
{
|
||||
//Roaming encounter is possible in tall grass and on water
|
||||
//Route 101-138
|
||||
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
|
||||
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
|
||||
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
|
||||
46, 47, 48, 49,
|
||||
};
|
||||
|
||||
internal static readonly MysteryGift[] Encounter_Event3 =
|
||||
{
|
||||
new WC3 { Species = 251, Level = 10, TID = 31121, OT_Gender = 1, OT_Name = "アゲト", CardTitle = "Agate Celebi", Method = PIDType.CXD, Shiny = false, Language = 1 },
|
||||
new WC3 { Species = 025, Level = 10, TID = 31121, OT_Gender = 0, OT_Name = "コロシアム", CardTitle = "Colosseum Pikachu", Method = PIDType.CXD, Shiny = false, Language = 1 },
|
||||
|
||||
new WC3 { Species = 385, Level = 05, TID = 20043, OT_Gender = 0, OT_Name = "WISHMKR", CardTitle = "Wishmaker Jirachi", Method = PIDType.BACD_R, Language = 2 },
|
||||
new WC3 { Species = 251, Level = 10, TID = 31121, OT_Gender = 1, OT_Name = "AGATE", CardTitle = "Agate Celebi", Method = PIDType.CXD, Shiny = false, Language = 2, NotDistributed = true },
|
||||
new WC3 { Species = 025, Level = 10, TID = 31121, OT_Gender = 0, OT_Name = "COLOS", CardTitle = "Colosseum Pikachu", Method = PIDType.CXD, Shiny = false, Language = 2, NotDistributed = true },
|
||||
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "バトルやま", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 1 }, // JPN
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "MATTLE", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 2 }, // ENG
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "MT BATA", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 3 }, // FRE
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "DUELLBE", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 5 }, // GER
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "MONTE L", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 4 }, // ITA
|
||||
new WC3 { Species = 250, Level = 70, TID = 10048, OT_Gender = 0, OT_Name = "ERNESTO", CardTitle = "Mt. Battle Ho-oh", Method = PIDType.CXD, Shiny = false, Language = 7 }, // SPA
|
||||
|
||||
// CXD
|
||||
new WC3 { Species = 239, Level = 20, Language = 2, Fateful = true, Met_Location = 164, TID = 41400, SID = -1, OT_Gender = 0, OT_Name = "HORDEL", CardTitle = "Trade Togepi", Method = PIDType.CXD, Moves = new[] {8,7,9,238} }, // Elekid @ Snagem Hideout
|
||||
new WC3 { Species = 307, Level = 20, Language = 2, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "DUKING", CardTitle = "Trade Trapinch", Method = PIDType.CXD, Moves = new[] {223,93,247,197} }, // Meditite @ Pyrite Town
|
||||
new WC3 { Species = 213, Level = 20, Language = 2, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "DUKING", CardTitle = "Trade Surskit", Method = PIDType.CXD, Moves = new[] {92,164,188,277} }, // Shuckle @ Pyrite Town
|
||||
new WC3 { Species = 246, Level = 20, Language = 2, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "DUKING", CardTitle = "Trade Wooper", Method = PIDType.CXD, Moves = new[] {201,349,44,200} }, // Larvitar @ Pyrite Town
|
||||
new WC3 { Species = 311, Level = 13, Language = 2, Fateful = false, Met_Location = 254, TID = 37149, OT_Gender = 0, OT_Name = "DUKING", CardTitle = "Gift", Method = PIDType.CXD }, // Plusle @ Ingame Trade
|
||||
|
||||
new WC3 { Species = 239, Level = 20, Language = 1, Fateful = true, Met_Location = 164, TID = 41400, SID = -1, OT_Gender = 0, OT_Name = "ダニー", CardTitle = "Trade Togepi", Method = PIDType.CXD, Moves = new[] {8,7,9,238} }, // Elekid @ Snagem Hideout
|
||||
new WC3 { Species = 307, Level = 20, Language = 1, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "ギンザル", CardTitle = "Trade Trapinch", Method = PIDType.CXD, Moves = new[] {223,93,247,197} }, // Meditite @ Pyrite Town
|
||||
new WC3 { Species = 213, Level = 20, Language = 1, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "ギンザル", CardTitle = "Trade Surskit", Method = PIDType.CXD, Moves = new[] {92,164,188,277} }, // Shuckle @ Pyrite Town
|
||||
new WC3 { Species = 246, Level = 20, Language = 1, Fateful = true, Met_Location = 116, TID = 37149, SID = -1, OT_Gender = 0, OT_Name = "ギンザル", CardTitle = "Trade Wooper", Method = PIDType.CXD, Moves = new[] {201,349,44,200} }, // Larvitar @ Pyrite Town
|
||||
new WC3 { Species = 311, Level = 13, Language = 1, Fateful = false, Met_Location = 254, TID = 37149, OT_Gender = 0, OT_Name = "ギンザル", CardTitle = "Gift", Method = PIDType.CXD }, // Plusle @ Ingame Trade
|
||||
};
|
||||
|
||||
internal static readonly MysteryGift[] Encounter_Event3_FRLG =
|
||||
{
|
||||
// PCJP - Egg Pokémon Present Eggs (March 21 to April 4, 2004)
|
||||
new WC3 { Species = 043, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{073} }, // Oddish with Leech Seed
|
||||
new WC3 { Species = 052, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{080} }, // Meowth with Petal Dance
|
||||
new WC3 { Species = 060, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{186} }, // Poliwag with Sweet Kiss
|
||||
new WC3 { Species = 069, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{298} }, // Bellsprout with Teeter Dance
|
||||
|
||||
// PCNY - Wish Eggs (December 16, 2004, to January 2, 2005)
|
||||
new WC3 { Species = 083, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 281} }, // Farfetch'd with Wish & Yawn
|
||||
new WC3 { Species = 096, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 187} }, // Drowzee with Wish & Belly Drum
|
||||
new WC3 { Species = 102, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 230} }, // Exeggcute with Wish & Sweet Scent
|
||||
new WC3 { Species = 108, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 215} }, // Lickitung with Wish & Heal Bell
|
||||
new WC3 { Species = 113, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 230} }, // Chansey with Wish & Sweet Scent
|
||||
new WC3 { Species = 115, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Method = PIDType.Method_2, Moves = new[]{273, 281} }, // Kangaskhan with Wish & Yawn
|
||||
|
||||
// PokePark Eggs - Wondercard
|
||||
new WC3 { Species = 054, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{300}, Method = PIDType.Method_2 }, // Psyduck with Mud Sport
|
||||
new WC3 { Species = 172, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{266}, Method = PIDType.Method_2 }, // Pichu with Follow me
|
||||
new WC3 { Species = 174, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{321}, Method = PIDType.Method_2 }, // Igglybuff with Tickle
|
||||
new WC3 { Species = 222, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{300}, Method = PIDType.Method_2 }, // Corsola with Mud Sport
|
||||
new WC3 { Species = 276, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{297}, Method = PIDType.Method_2 }, // Taillow with Feather Dance
|
||||
new WC3 { Species = 283, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{300}, Method = PIDType.Method_2 }, // Surskit with Mud Sport
|
||||
new WC3 { Species = 293, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{298}, Method = PIDType.Method_2 }, // Whismur with Teeter Dance
|
||||
new WC3 { Species = 300, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{205}, Method = PIDType.Method_2 }, // Skitty with Rollout
|
||||
new WC3 { Species = 311, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{346}, Method = PIDType.Method_2 }, // Plusle with Water Sport
|
||||
new WC3 { Species = 312, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{300}, Method = PIDType.Method_2 }, // Minun with Mud Sport
|
||||
new WC3 { Species = 325, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{253}, Method = PIDType.Method_2 }, // Spoink with Uproar
|
||||
new WC3 { Species = 327, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{047}, Method = PIDType.Method_2 }, // Spinda with Sing
|
||||
new WC3 { Species = 331, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{227}, Method = PIDType.Method_2 }, // Cacnea with Encore
|
||||
new WC3 { Species = 341, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{346}, Method = PIDType.Method_2 }, // Corphish with Water Sport
|
||||
new WC3 { Species = 360, IsEgg = true, Fateful = true, Level = 05, TID = -1, SID = -1, Version = (int)GameVersion.FRLG, Moves = new[]{321}, Method = PIDType.Method_2 }, // Wynaut with Tickle
|
||||
};
|
||||
|
||||
internal static readonly MysteryGift[] Encounter_Event3_RS =
|
||||
{
|
||||
// PCJP - Pokémon Center 5th Anniversary Eggs (April 25 to May 18, 2003)
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{298} }, // Pichu with Teeter Dance
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{273} }, // Pichu with Wish
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R_S, Moves = new[]{298} }, // Pichu with Teeter Dance
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R_S, Moves = new[]{273} }, // Pichu with Wish
|
||||
new WC3 { Species = 280, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{204 } }, // Ralts with Charm
|
||||
new WC3 { Species = 280, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{273} }, // Ralts with Wish
|
||||
new WC3 { Species = 359, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{180} }, // Absol with Spite
|
||||
new WC3 { Species = 359, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{273} }, // Absol with Wish
|
||||
new WC3 { Species = 371, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{334} }, // Bagon with Iron Defense
|
||||
new WC3 { Species = 371, IsEgg = true, Level = 05, OT_Name = "オヤNAME", TID = -1, SID = -1, Version = (int)GameVersion.R, Method = PIDType.BACD_R, Moves = new[]{273} }, // Bagon with Wish
|
||||
|
||||
// Negai Boshi Jirachi
|
||||
new WC3 { Species = 385, Level = 05, TID = 30719, OT_Gender = 0, OT_Name = "ネガイボシ", Method = PIDType.BACD_R, Language = 1, Shiny = false },
|
||||
|
||||
// Berry Glitch Fix
|
||||
// PCJP - (December 29, 2003 to March 31, 2004)
|
||||
new WC3 { Species = 263, Level = 5, Version = (int)GameVersion.S, Language = 1, Method = PIDType.BACD_R_S, TID = 21121, OT_Name = "ルビー", OT_Gender = 1, Shiny = true },
|
||||
new WC3 { Species = 263, Level = 5, Version = (int)GameVersion.S, Language = 1, Method = PIDType.BACD_R_S, TID = 21121, OT_Name = "サファイア", OT_Gender = 0, Shiny = true },
|
||||
|
||||
// EBGames/GameStop (March 1, 2004 to April 22, 2007), also via multi-game discs
|
||||
new WC3 { Species = 263, Level = 5, Version = (int)GameVersion.S, Language = 2, Method = PIDType.BACD_R_S, TID = 30317, OT_Name = "RUBY", OT_Gender = 1 },
|
||||
new WC3 { Species = 263, Level = 5, Version = (int)GameVersion.S, Language = 2, Method = PIDType.BACD_R_S, TID = 30317, OT_Name = "SAPHIRE", OT_Gender = 0 },
|
||||
|
||||
// Channel Jirachi
|
||||
new WC3 { Species = 385, Level = 5, Version = (int)GameVersion.RS, Method = PIDType.Channel, TID = 40122, OT_Gender = 3,SID = -1, OT_Name = "CHANNEL", CardTitle = "Channel Jirachi", Met_Level = 0 },
|
||||
|
||||
// Aura Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 2, Method = PIDType.BACD_R, TID = 20078, OT_Name = "Aura", Fateful = true }, // Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 3, Method = PIDType.BACD_R, TID = 20078, OT_Name = "Aura", Fateful = true }, // Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 4, Method = PIDType.BACD_R, TID = 20078, OT_Name = "Aura", Fateful = true }, // Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 5, Method = PIDType.BACD_R, TID = 20078, OT_Name = "Aura", Fateful = true }, // Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 7, Method = PIDType.BACD_R, TID = 20078, OT_Name = "Aura", Fateful = true }, // Mew
|
||||
|
||||
// English Events
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Pikachu
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 249, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,056,240,129}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Lugia
|
||||
new WC3 { Species = 250, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,126,241,129}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Ho-Oh
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 2, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Latios
|
||||
|
||||
// French
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Pikachu
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 249, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,056,240,129}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Lugia
|
||||
new WC3 { Species = 250, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,126,241,129}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Ho-Oh
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 3, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNIV", Shiny = false }, // Latios
|
||||
|
||||
// Italian
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Pikachu
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 249, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,056,240,129}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Lugia
|
||||
new WC3 { Species = 250, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,126,241,129}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Ho-Oh
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 4, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANNI", Shiny = false }, // Latios
|
||||
|
||||
// German
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Pikachu
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 249, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,056,240,129}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Lugia
|
||||
new WC3 { Species = 250, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,126,241,129}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Ho-Oh
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 5, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10JAHRE", Shiny = false }, // Latios
|
||||
|
||||
// Spanish
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Pikachu
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 249, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,056,240,129}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Lugia
|
||||
new WC3 { Species = 250, Level = 70, Version = (int)GameVersion.R, Moves = new[] {105,126,241,129}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Ho-Oh
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 7, Method = PIDType.BACD_R, TID = 06227, OT_Name = "10ANIV", Shiny = false }, // Latios
|
||||
|
||||
new WC3 { Species = 375, Level = 30, Version = (int)GameVersion.R, Moves = new[] {036,093,232,287}, Language = 2, Method = PIDType.BACD_R, TID = 02005, OT_Name = "ROCKS", OT_Gender = 0, RibbonNational = true, Shiny = false }, // Metang
|
||||
new WC3 { Species = 386, Level = 70, Version = (int)GameVersion.R, Moves = new[] {322,105,354,063}, Language = 2, Method = PIDType.BACD_R, TID = 28606, OT_Name = "DOEL", Fateful = true, Shiny = false }, // Deoxys
|
||||
new WC3 { Species = 386, Level = 70, Version = (int)GameVersion.R, Moves = new[] {322,105,354,063}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "SPACE C", Fateful = true, Shiny = false }, // Deoxys
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 2, Method = PIDType.BACD_U, TID = 06930, OT_Name = "MYSTRY", Fateful = true, Shiny = false }, // Mew
|
||||
new WC3 { Species = 151, Level = 10, Version = (int)GameVersion.R, Language = 2, Method = PIDType.BACD_R, TID = 06930, OT_Name = "MYSTRY", Fateful = true, Shiny = false }, // Mew
|
||||
|
||||
// Party of the Decade
|
||||
new WC3 { Species = 001, Level = 70, Version = (int)GameVersion.R, Moves = new[] {230,074,076,235}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Bulbasaur
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 009, Level = 70, Version = (int)GameVersion.R, Moves = new[] {182,240,130,056}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Blastoise
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,087,113,019}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", HeldItem = 202, Shiny = false }, // Pikachu (Fly)
|
||||
new WC3 { Species = 065, Level = 70, Version = (int)GameVersion.R, Moves = new[] {248,347,094,271}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Alakazam
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 145, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,197,065,268}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Zapdos
|
||||
new WC3 { Species = 146, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,203,053,219}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Moltres
|
||||
new WC3 { Species = 149, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,219,017,200}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Dragonite
|
||||
new WC3 { Species = 157, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,172,129,053}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Typhlosion
|
||||
new WC3 { Species = 196, Level = 70, Version = (int)GameVersion.R, Moves = new[] {060,244,094,234}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Espeon
|
||||
new WC3 { Species = 197, Level = 70, Version = (int)GameVersion.R, Moves = new[] {185,212,103,236}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Umbreon
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 248, Level = 70, Version = (int)GameVersion.R, Moves = new[] {037,184,242,089}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Tyranitar
|
||||
new WC3 { Species = 257, Level = 70, Version = (int)GameVersion.R, Moves = new[] {299,163,119,327}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Blaziken
|
||||
new WC3 { Species = 359, Level = 70, Version = (int)GameVersion.R, Moves = new[] {104,163,248,195}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", Shiny = false }, // Absol
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", HeldItem = 191, Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 2, Method = PIDType.BACD_R, TID = 06808, OT_Name = "10 ANIV", HeldItem = 191, Shiny = false }, // Latios
|
||||
|
||||
// Journey Across America
|
||||
new WC3 { Species = 001, Level = 70, Version = (int)GameVersion.R, Moves = new[] {230,074,076,235}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Bulbasaur
|
||||
new WC3 { Species = 006, Level = 70, Version = (int)GameVersion.R, Moves = new[] {017,163,082,083}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Charizard
|
||||
new WC3 { Species = 009, Level = 70, Version = (int)GameVersion.R, Moves = new[] {182,240,130,056}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Blastoise
|
||||
new WC3 { Species = 025, Level = 70, Version = (int)GameVersion.R, Moves = new[] {085,097,087,113}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", HeldItem = 202, Shiny = false }, // Pikachu (No Fly)
|
||||
new WC3 { Species = 065, Level = 70, Version = (int)GameVersion.R, Moves = new[] {248,347,094,271}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Alakazam
|
||||
new WC3 { Species = 144, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,170,058,115}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Articuno
|
||||
new WC3 { Species = 145, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,197,065,268}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Zapdos
|
||||
new WC3 { Species = 146, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,203,053,219}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Moltres
|
||||
new WC3 { Species = 149, Level = 70, Version = (int)GameVersion.R, Moves = new[] {097,219,017,200}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Dragonite
|
||||
new WC3 { Species = 157, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,172,129,053}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Typhlosion
|
||||
new WC3 { Species = 196, Level = 70, Version = (int)GameVersion.R, Moves = new[] {060,244,094,234}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Espeon
|
||||
new WC3 { Species = 197, Level = 70, Version = (int)GameVersion.R, Moves = new[] {185,212,103,236}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Umbreon
|
||||
new WC3 { Species = 243, Level = 70, Version = (int)GameVersion.R, Moves = new[] {098,209,115,242}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Raikou
|
||||
new WC3 { Species = 244, Level = 70, Version = (int)GameVersion.R, Moves = new[] {083,023,053,207}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Entei
|
||||
new WC3 { Species = 245, Level = 70, Version = (int)GameVersion.R, Moves = new[] {016,062,054,243}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Suicune
|
||||
new WC3 { Species = 248, Level = 70, Version = (int)GameVersion.R, Moves = new[] {037,184,242,089}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Tyranitar
|
||||
new WC3 { Species = 251, Level = 70, Version = (int)GameVersion.R, Moves = new[] {246,248,226,195}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Celebi
|
||||
new WC3 { Species = 257, Level = 70, Version = (int)GameVersion.R, Moves = new[] {299,163,119,327}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Blaziken
|
||||
new WC3 { Species = 359, Level = 70, Version = (int)GameVersion.R, Moves = new[] {104,163,248,195}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", Shiny = false }, // Absol
|
||||
new WC3 { Species = 380, Level = 70, Version = (int)GameVersion.R, Moves = new[] {296,094,105,204}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", HeldItem = 191, Shiny = false }, // Latias
|
||||
new WC3 { Species = 381, Level = 70, Version = (int)GameVersion.R, Moves = new[] {295,094,105,349}, Language = 2, Method = PIDType.BACD_R, TID = 00010, OT_Name = "10 ANIV", HeldItem = 191, Shiny = false }, // Latios
|
||||
};
|
||||
|
||||
internal static readonly MysteryGift[] Encounter_Event3_Common =
|
||||
{
|
||||
// Pokémon Box
|
||||
new WC3 { Species = 333, IsEgg = true, Level = 05, Moves = new[]{206}, Method = PIDType.BACD_U, OT_Gender = 1, OT_Name = "AZUSA" }, // Swablu Egg with False Swipe
|
||||
new WC3 { Species = 263, IsEgg = true, Level = 05, Moves = new[]{245}, Method = PIDType.BACD_U, OT_Gender = 1, OT_Name = "AZUSA" }, // Zigzagoon Egg with Extreme Speed
|
||||
new WC3 { Species = 300, IsEgg = true, Level = 05, Moves = new[]{006}, Method = PIDType.BACD_U, OT_Gender = 1, OT_Name = "AZUSA" }, // Skitty Egg with Pay Day
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, Moves = new[]{057}, Method = PIDType.BACD_U, OT_Gender = 1, OT_Name = "AZUSA" }, // Pichu Egg with Surf
|
||||
|
||||
// PokePark Eggs - DS Download Play
|
||||
new WC3 { Species = 054, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{300}, Method = PIDType.BACD_R }, // Psyduck with Mud Sport
|
||||
new WC3 { Species = 172, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{266}, Method = PIDType.BACD_R }, // Pichu with Follow me
|
||||
new WC3 { Species = 174, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{321}, Method = PIDType.BACD_R }, // Igglybuff with Tickle
|
||||
new WC3 { Species = 222, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{300}, Method = PIDType.BACD_R }, // Corsola with Mud Sport
|
||||
new WC3 { Species = 276, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{297}, Method = PIDType.BACD_R }, // Taillow with Feather Dance
|
||||
new WC3 { Species = 283, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{300}, Method = PIDType.BACD_R }, // Surskit with Mud Sport
|
||||
new WC3 { Species = 293, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{298}, Method = PIDType.BACD_R }, // Whismur with Teeter Dance
|
||||
new WC3 { Species = 300, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{205}, Method = PIDType.BACD_R }, // Skitty with Rollout
|
||||
new WC3 { Species = 311, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{346}, Method = PIDType.BACD_R }, // Plusle with Water Sport
|
||||
new WC3 { Species = 312, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{300}, Method = PIDType.BACD_R }, // Minun with Mud Sport
|
||||
new WC3 { Species = 325, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{253}, Method = PIDType.BACD_R }, // Spoink with Uproar
|
||||
new WC3 { Species = 327, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{047}, Method = PIDType.BACD_R }, // Spinda with Sing
|
||||
new WC3 { Species = 331, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{227}, Method = PIDType.BACD_R }, // Cacnea with Encore
|
||||
new WC3 { Species = 341, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{346}, Method = PIDType.BACD_R }, // Corphish with Water Sport
|
||||
new WC3 { Species = 360, IsEgg = true, Level = 05, Met_Level = 05, TID = 50318, OT_Gender = 0, OT_Name = "ポケパーク", Version = (int)GameVersion.R, Moves = new[]{321}, Method = PIDType.BACD_R }, // Wynaut with Tickle
|
||||
};
|
||||
|
||||
internal static readonly MysteryGift[] Encounter_WC3 = Encounter_Event3.Concat(Encounter_Event3_RS).Concat(Encounter_Event3_FRLG.Concat(Encounter_Event3_Common)).ToArray();
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_RSE_Roam =
|
||||
{
|
||||
new EncounterStatic { Species = 380, Level = 40, Version = GameVersion.S, Roaming = true }, // Latias
|
||||
new EncounterStatic { Species = 380, Level = 40, Version = GameVersion.E, Roaming = true }, // Latias
|
||||
new EncounterStatic { Species = 381, Level = 40, Version = GameVersion.R, Roaming = true }, // Latios
|
||||
new EncounterStatic { Species = 381, Level = 40, Version = GameVersion.E, Roaming = true }, // Latios
|
||||
};
|
||||
internal static readonly EncounterStatic[] Encounter_RSE_Regular =
|
||||
{
|
||||
// Starters
|
||||
new EncounterStatic { Gift = true, Species = 152, Level = 05, Location = 000, Version = GameVersion.E, }, // Chikorita @ Littleroot Town
|
||||
new EncounterStatic { Gift = true, Species = 155, Level = 05, Location = 000, Version = GameVersion.E, }, // Cyndaquil
|
||||
new EncounterStatic { Gift = true, Species = 158, Level = 05, Location = 000, Version = GameVersion.E, }, // Totodile
|
||||
new EncounterStatic { Gift = true, Species = 252, Level = 05, Location = 016, }, // Treecko @ Route 101
|
||||
new EncounterStatic { Gift = true, Species = 255, Level = 05, Location = 016, }, // Torchic
|
||||
new EncounterStatic { Gift = true, Species = 258, Level = 05, Location = 016, }, // Mudkip
|
||||
|
||||
// Fossil @ Rustboro City
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 20, Location = 010, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 20, Location = 010, }, // Anorith
|
||||
|
||||
// Gift
|
||||
new EncounterStatic { Gift = true, Species = 351, Level = 25, Location = 034, }, // Castform @ Weather Institute
|
||||
new EncounterStatic { Gift = true, Species = 374, Level = 05, Location = 013, }, // Beldum @ Mossdeep City
|
||||
new EncounterStatic { Gift = true, Species = 360, Level = 05, EggLocation = 253}, // Wynaut Egg
|
||||
|
||||
// Stationary
|
||||
new EncounterStatic { Species = 352, Level = 30, Location = 034, }, // Kecleon @ Route 119
|
||||
new EncounterStatic { Species = 352, Level = 30, Location = 035, }, // Kecleon @ Route 120
|
||||
new EncounterStatic { Species = 101, Level = 30, Location = 066, Version = GameVersion.RS, }, // Electrode @ Hideout (R:Magma Hideout/S:Aqua Hideout)
|
||||
new EncounterStatic { Species = 101, Level = 30, Location = 197, Version = GameVersion.E, }, // Electrode @ Aqua Hideout
|
||||
new EncounterStatic { Species = 185, Level = 40, Location = 058, Version = GameVersion.E, }, // Sudowoodo @ Battle Frontier
|
||||
|
||||
// Stationary Lengendary
|
||||
new EncounterStatic { Species = 377, Level = 40, Location = 082, }, // Regirock @ Desert Ruins
|
||||
new EncounterStatic { Species = 378, Level = 40, Location = 081, }, // Regice @ Island Cave
|
||||
new EncounterStatic { Species = 379, Level = 40, Location = 083, }, // Registeel @ Ancient Tomb
|
||||
new EncounterStatic { Species = 380, Level = 50, Location = 073, Version = GameVersion.R }, // Latias @ Southern Island
|
||||
new EncounterStatic { Species = 380, Level = 50, Location = 073, Version = GameVersion.E, Fateful = true }, // Latias @ Southern Island
|
||||
new EncounterStatic { Species = 381, Level = 50, Location = 073, Version = GameVersion.S }, // Latios @ Southern Island
|
||||
new EncounterStatic { Species = 381, Level = 50, Location = 073, Version = GameVersion.E, Fateful = true }, // Latios @ Southern Island
|
||||
new EncounterStatic { Species = 382, Level = 45, Location = 072, Version = GameVersion.S, }, // Kyogre @ Cave of Origin
|
||||
new EncounterStatic { Species = 382, Level = 70, Location = 203, Version = GameVersion.E, }, // Kyogre @ Marine Cave
|
||||
new EncounterStatic { Species = 383, Level = 45, Location = 072, Version = GameVersion.R, }, // Groudon @ Cave of Origin
|
||||
new EncounterStatic { Species = 383, Level = 70, Location = 205, Version = GameVersion.E, }, // Groudon @ Terra Cave
|
||||
new EncounterStatic { Species = 384, Level = 70, Location = 085, }, // Rayquaza @ Sky Pillar
|
||||
|
||||
// Event
|
||||
new EncounterStatic { Species = 151, Level = 30, Location = 201, Version = GameVersion.E, Fateful = true }, // Mew @ Faraway Island (Unreleased outside of Japan)
|
||||
new EncounterStatic { Species = 249, Level = 70, Location = 211, Version = GameVersion.E, Fateful = true }, // Lugia @ Navel Rock
|
||||
new EncounterStatic { Species = 250, Level = 70, Location = 211, Version = GameVersion.E, Fateful = true }, // Ho-Oh @ Navel Rock
|
||||
new EncounterStatic { Species = 386, Level = 30, Location = 200, Version = GameVersion.E, Fateful = true, Form = 3 }, // Deoxys @ Birth Island
|
||||
};
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_FRLG_Roam =
|
||||
{
|
||||
new EncounterStatic { Species = 243, Level = 50, Roaming = true, }, // Raikou
|
||||
new EncounterStatic { Species = 244, Level = 50, Roaming = true, }, // Entei
|
||||
new EncounterStatic { Species = 245, Level = 50, Roaming = true, }, // Suicune
|
||||
};
|
||||
internal static readonly EncounterStatic[] Encounter_FRLG_Stationary =
|
||||
{
|
||||
// Starters @ Pallet Town
|
||||
new EncounterStatic { Gift = true, Species = 1, Level = 05, Location = 088, }, // Bulbasaur
|
||||
new EncounterStatic { Gift = true, Species = 4, Level = 05, Location = 088, }, // Charmander
|
||||
new EncounterStatic { Gift = true, Species = 7, Level = 05, Location = 088, }, // Squirtle
|
||||
|
||||
// Fossil @ Cinnabar Island
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 05, Location = 096, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 05, Location = 096, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 05, Location = 096, }, // Aerodactyl
|
||||
|
||||
// Gift
|
||||
new EncounterStatic { Gift = true, Species = 106, Level = 25, Location = 098, }, // Hitmonlee @ Saffron City
|
||||
new EncounterStatic { Gift = true, Species = 107, Level = 25, Location = 098, }, // Hitmonchan @ Saffron City
|
||||
new EncounterStatic { Gift = true, Species = 129, Level = 05, Location = 099, }, // Magikarp @ Route 4
|
||||
new EncounterStatic { Gift = true, Species = 131, Level = 25, Location = 134, }, // Lapras @ Silph Co.
|
||||
new EncounterStatic { Gift = true, Species = 133, Level = 25, Location = 094, }, // Eevee @ Celadon City
|
||||
new EncounterStatic { Gift = true, Species = 175, Level = 05, EggLocation = 253 }, // Togepi Egg
|
||||
|
||||
// Celadon City Game Corner
|
||||
new EncounterStatic { Gift = true, Species = 063, Level = 09, Location = 94, Version = GameVersion.FR }, // Abra
|
||||
new EncounterStatic { Gift = true, Species = 035, Level = 08, Location = 94, Version = GameVersion.FR }, // Clefairy
|
||||
new EncounterStatic { Gift = true, Species = 123, Level = 25, Location = 94, Version = GameVersion.FR }, // Scyther
|
||||
new EncounterStatic { Gift = true, Species = 147, Level = 18, Location = 94, Version = GameVersion.FR }, // Dratini
|
||||
new EncounterStatic { Gift = true, Species = 137, Level = 26, Location = 94, Version = GameVersion.FR }, // Porygon
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 063, Level = 07, Location = 94, Version = GameVersion.LG }, // Abra
|
||||
new EncounterStatic { Gift = true, Species = 035, Level = 12, Location = 94, Version = GameVersion.LG }, // Clefairy
|
||||
new EncounterStatic { Gift = true, Species = 127, Level = 18, Location = 94, Version = GameVersion.LG }, // Pinsir
|
||||
new EncounterStatic { Gift = true, Species = 147, Level = 24, Location = 94, Version = GameVersion.LG }, // Dratini
|
||||
new EncounterStatic { Gift = true, Species = 137, Level = 18, Location = 94, Version = GameVersion.LG }, // Porygon
|
||||
|
||||
// Stationary
|
||||
new EncounterStatic { Species = 143, Level = 30, Location = 112, }, // Snorlax @ Route 12
|
||||
new EncounterStatic { Species = 143, Level = 30, Location = 116, }, // Snorlax @ Route 16
|
||||
new EncounterStatic { Species = 101, Level = 34, Location = 142, }, // Electrode @ Power Plant
|
||||
new EncounterStatic { Species = 097, Level = 30, Location = 176, }, // Hypno @ Berry Forest
|
||||
|
||||
// Stationary Lengerdary
|
||||
new EncounterStatic { Species = 144, Level = 50, Location = 139, }, // Articuno @ Seafoam Islands
|
||||
new EncounterStatic { Species = 145, Level = 50, Location = 142, }, // Zapdos @ Power Plant
|
||||
new EncounterStatic { Species = 146, Level = 50, Location = 175, }, // Moltres @ Mt. Ember.
|
||||
new EncounterStatic { Species = 150, Level = 70, Location = 141, }, // Mewtwo @ Cerulean Cave
|
||||
|
||||
// Event
|
||||
new EncounterStatic { Species = 249, Level = 70, Location = 174, Fateful = true }, // Lugia @ Navel Rock
|
||||
new EncounterStatic { Species = 250, Level = 70, Location = 174, Fateful = true }, // Ho-Oh @ Navel Rock
|
||||
new EncounterStatic { Species = 386, Level = 30, Location = 187, Version = GameVersion.FR, Form = 1, Fateful = true }, // Deoxys @ Birth Island
|
||||
new EncounterStatic { Species = 386, Level = 30, Location = 187, Version = GameVersion.LG, Form = 2, Fateful = true }, // Deoxys @ Birth Island
|
||||
};
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_RSE = Encounter_RSE_Roam.SelectMany(e => e.Clone(Roaming_MetLocation_RSE)).Concat(Encounter_RSE_Regular).ToArray();
|
||||
internal static readonly EncounterStatic[] Encounter_FRLG = Encounter_FRLG_Roam.SelectMany(e => e.Clone(Roaming_MetLocation_FRLG)).Concat(Encounter_FRLG_Stationary).ToArray();
|
||||
|
||||
private static readonly int[] TradeContest_Cool = {30, 05, 05, 05, 05, 10};
|
||||
private static readonly int[] TradeContest_Beauty = {05, 30, 05, 05, 05, 10};
|
||||
private static readonly int[] TradeContest_Cute = {05, 05, 30, 05, 05, 10};
|
||||
private static readonly int[] TradeContest_Clever = {05, 05, 05, 30, 05, 10};
|
||||
private static readonly int[] TradeContest_Tough = {05, 05, 05, 05, 30, 10};
|
||||
internal static readonly EncounterTrade[] TradeGift_RSE =
|
||||
{
|
||||
new EncounterTrade { Species = 296, Ability = 2, TID = 49562, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {5,5,4,4,4,4}, Level = 05, Nature = Nature.Hardy, Contest = TradeContest_Tough, Version = GameVersion.RS, }, // Slakoth (Level 5 Breeding) -> Makuhita
|
||||
new EncounterTrade { Species = 300, Ability = 1, TID = 02259, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {5,4,4,5,4,4}, Level = 03, Nature = Nature.Timid, Contest = TradeContest_Cute, Version = GameVersion.RS, }, // Pikachu (Level 3 Viridiam Forest) -> Skitty
|
||||
new EncounterTrade { Species = 222, Ability = 2, TID = 50183, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {4,4,5,4,4,5}, Level = 21, Nature = Nature.Calm, Contest = TradeContest_Beauty, Version = GameVersion.RS, }, // Bellossom (Level 21 Odish -> Gloom -> Bellossom) -> Corsola
|
||||
new EncounterTrade { Species = 273, Ability = 2, TID = 38726, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {5,4,5,4,4,4}, Level = 04, Nature = Nature.Relaxed, Contest = TradeContest_Cool, Version = GameVersion.E, }, // Ralts (Level 4 Route 102) -> Seedot
|
||||
new EncounterTrade { Species = 311, Ability = 1, TID = 08460, SID = 00001, OTGender = 0, Gender = 1, IVs = new[] {4,4,4,5,5,4}, Level = 05, Nature = Nature.Hasty, Contest = TradeContest_Cute, Version = GameVersion.E, }, // Volbeat (Level 5 Breeding) -> Plusle
|
||||
new EncounterTrade { Species = 116, Ability = 1, TID = 46285, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {5,4,4,4,5,4}, Level = 05, Nature = Nature.Brave, Contest = TradeContest_Tough, Version = GameVersion.E, }, // Bagon Bagon (Level 5 Breeding) -> Horsea*
|
||||
new EncounterTrade { Species = 052, Ability = 1, TID = 25945, SID = 00001, OTGender = 1, Gender = 0, IVs = new[] {4,5,4,5,4,4}, Level = 03, Nature = Nature.Naive, Contest = TradeContest_Clever, Version = GameVersion.E, }, // Skitty (Level 3 Trade)-> Meowth*
|
||||
// If Pokémon with * is evolved in a Generation IV or V game, its Ability will become its second Ability.
|
||||
};
|
||||
internal static readonly EncounterTrade[] TradeGift_FRLG =
|
||||
{
|
||||
new EncounterTrade { Species = 122, Ability = 1, TID = 01985, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,15,17,24,23,22}, Nature = Nature.Timid, Contest = TradeContest_Clever,}, // Mr. Mime
|
||||
new EncounterTrade { Species = 029, Ability = 1, TID = 63184, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {22,18,25,19,15,22}, Nature = Nature.Bold, Contest = TradeContest_Tough, Version = GameVersion.FR, }, // Nidoran♀
|
||||
new EncounterTrade { Species = 032, Ability = 1, TID = 63184, SID = 00000, OTGender = 1, Gender = 0, IVs = new[] {19,25,18,22,22,15}, Nature = Nature.Lonely, Contest = TradeContest_Cool, Version = GameVersion.LG, }, // Nidoran♂ *
|
||||
new EncounterTrade { Species = 030, Ability = 1, TID = 13637, SID = 00000, OTGender = 0, Gender = 1, IVs = new[] {22,25,18,19,22,15}, Nature = Nature.Lonely, Contest = TradeContest_Cute, Version = GameVersion.FR,}, // Nidorina *
|
||||
new EncounterTrade { Species = 033, Ability = 1, TID = 13637, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {19,18,25,22,15,22}, Nature = Nature.Bold, Contest = TradeContest_Tough, Version = GameVersion.LG,}, // Nidorino *
|
||||
new EncounterTrade { Species = 108, Ability = 1, TID = 01239, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {24,19,21,15,23,21}, Nature = Nature.Relaxed, Contest = TradeContest_Tough, }, // Lickitung *
|
||||
new EncounterTrade { Species = 124, Ability = 1, TID = 36728, SID = 00000, OTGender = 0, Gender = 1, IVs = new[] {18,17,18,22,25,21}, Nature = Nature.Mild, Contest = TradeContest_Beauty, }, // Jynx
|
||||
new EncounterTrade { Species = 083, Ability = 1, TID = 08810, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,25,21,24,15,20}, Nature = Nature.Adamant, Contest = TradeContest_Cool, }, // Farfetch'd
|
||||
new EncounterTrade { Species = 101, Ability = 2, TID = 50298, SID = 00000, OTGender = 0, Gender = 2, IVs = new[] {19,16,18,25,25,19}, Nature = Nature.Hasty, Contest = TradeContest_Cool, }, // Electrode
|
||||
new EncounterTrade { Species = 114, Ability = 1, TID = 60042, SID = 00000, OTGender = 1, Gender = 0, IVs = new[] {22,17,25,16,23,20}, Nature = Nature.Sassy, Contest = TradeContest_Cute, }, // Tangela
|
||||
new EncounterTrade { Species = 086, Ability = 1, TID = 09853, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {24,15,22,16,23,22}, Nature = Nature.Bold, Contest = TradeContest_Tough, }, // Seel *
|
||||
// If Pokémon with * is evolved in a Generation IV or V game, its Ability will become its second Ability.
|
||||
};
|
||||
|
||||
#region AltSlots
|
||||
internal static readonly int[] SafariZoneLocation_3 =
|
||||
{
|
||||
57, 136
|
||||
};
|
||||
private static readonly EncounterArea[] SlotsRSEAlt =
|
||||
{
|
||||
// Swarm can be passed from one game to another via mixing records, that means emerald swarms can occurs in r/s and r/s swarms in emerald
|
||||
// Ruby and Sapphire Swarm
|
||||
new EncounterArea {
|
||||
Location = 17, // Route 102
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 283, LevelMin = 3, LevelMax = 3, Type = SlotType.Grass}, // Surskit
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 29, // Route 114
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 283, LevelMin = 15, LevelMax = 15, Type = SlotType.Grass}, // Surskit
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 31, // Route 116
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 300, LevelMin = 15, LevelMax = 15, Type = SlotType.Grass}, // Skitty
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 32, // Route 117
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 283, LevelMin = 15, LevelMax = 15, Type = SlotType.Grass}, // Surskit
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 35, // Route 120
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 283, LevelMin = 28, LevelMax = 28, Type = SlotType.Grass}, // Surskit
|
||||
},},
|
||||
|
||||
//Emerald Swarm
|
||||
new EncounterArea {
|
||||
Location = 17, // Route 102
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 273, LevelMin = 3, LevelMax = 3, Type = SlotType.Grass}, // Seedot
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 29, // Route 114
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 274, LevelMin = 15, LevelMax = 15, Type = SlotType.Grass}, // Nuzleaf
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 31, // Route 116
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 300, LevelMin = 8, LevelMax = 8, Type = SlotType.Grass}, // Skitty
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 32, // Route 117
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 273, LevelMin = 13, LevelMax = 13, Type = SlotType.Grass}, // Seedot
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 35, // Route 120
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 273, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass}, // Seedot
|
||||
},},
|
||||
//Feebas fishing spot
|
||||
new EncounterArea {
|
||||
Location = 34, // Route 119
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 349, LevelMin = 20, LevelMax = 25, Type = SlotType.Super_Rod } // Feebas
|
||||
},},
|
||||
};
|
||||
private static readonly EncounterArea[] SlotsFRLGAlt =
|
||||
{
|
||||
new EncounterArea {
|
||||
Location = 188, // Monean Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 0 }, // Unown A
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 26 }, // Unown ?
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 189, // Liptoo Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 2 }, // Unown C
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 3 }, // Unown D
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 7 }, // Unown H
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 14 }, // Unown O
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 20 }, // Unown U
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 190, // Weepth Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 4 }, // Unown E
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 8 }, // Unown I
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 13 }, // Unown N
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 18 }, // Unown S
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 191, // Dilford Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 9 }, // Unown J
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 11 }, // Unown L
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 15 }, // Unown P
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 16 }, // Unown Q
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 17 }, // Unown R
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 192, // Scufib Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 5 }, // Unown F
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 6 }, // Unown G
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 10 }, // Unown K
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 19 }, // Unown T
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 24 }, // Unown Y
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 193, // Rixy Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 1 }, // Unown B
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 12 }, // Unown M
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 21 }, // Unown V
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 22 }, // Unown W
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 23 }, // Unown X
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 194, // Viapois Chamber
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 25 }, // Unown Z
|
||||
new EncounterSlot { Species = 201, LevelMin = 25, LevelMax = 25, Type = SlotType.Grass, Form = 27 }, // Unown !
|
||||
},}
|
||||
};
|
||||
#endregion
|
||||
internal static readonly int[] ValidEggMet_RSE =
|
||||
{
|
||||
32, //Route 117
|
||||
|
|
@ -808,253 +257,5 @@ public static partial class Legal
|
|||
{
|
||||
196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
|
||||
}).ToArray();
|
||||
|
||||
#region Colosseum
|
||||
internal static readonly EncounterStatic[] Encounter_Colo =
|
||||
{
|
||||
new EncounterStatic { Gift = true, Species = 196, Level = 25, Location = 254 }, // Espeon
|
||||
new EncounterStatic { Gift = true, Species = 197, Level = 26, Location = 254, Moves = new[] {044} }, // Umbreon (Bite)
|
||||
|
||||
new EncounterStaticShadow { Species = 296, Level = 30, Gauge = 03000, Moves = new[] {193,116,233,238}, Location = 005 }, // Makuhita: Miror B.Peon Trudly @ Phenac City
|
||||
|
||||
// missing locs: Realgam Tower
|
||||
new EncounterStaticShadow { Species = 153, Level = 30, Gauge = 03000, Moves = new[] {241,235,075,034}, Location = 003 }, // Bayleef: Cipher Peon Verde @ Phenac City
|
||||
new EncounterStaticShadow { Species = 156, Level = 30, Gauge = 03000, Moves = new[] {241,108,091,172}, Location = 003 }, // Quilava: Cipher Peon Rosso @ Phenac City
|
||||
new EncounterStaticShadow { Species = 159, Level = 30, Gauge = 03000, Moves = new[] {240,184,044,057}, Location = 003 }, // Croconaw: Cipher Peon Bluno @ Phenac City
|
||||
new EncounterStaticShadow { Species = 153, Level = 30, Gauge = 03000, Moves = new[] {241,235,075,034}, Location = 132 }, // Bayleef: Cipher Peon Verde @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 156, Level = 30, Gauge = 03000, Moves = new[] {241,108,091,172}, Location = 132 }, // Quilava: Cipher Peon Rosso @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 159, Level = 30, Gauge = 03000, Moves = new[] {240,184,044,057}, Location = 132 }, // Croconaw: Cipher Peon Bluno @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 153, Level = 30, Gauge = 03000, Moves = new[] {241,235,075,034}, Location = 069 }, // Bayleef: Cipher Peon Verde @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 156, Level = 30, Gauge = 03000, Moves = new[] {241,108,091,172}, Location = 069 }, // Quilava: Cipher Peon Rosso @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 159, Level = 30, Gauge = 03000, Moves = new[] {240,184,044,057}, Location = 069 }, // Croconaw: Cipher Peon Bluno @ Shadow PKMN Lab
|
||||
|
||||
new EncounterStaticShadow { Species = 218, Level = 30, Gauge = 04000, Moves = new[] {241,281,088,053}, Location = 015 }, // Slugma: Roller Boy Lon @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 164, Level = 30, Gauge = 03000, Moves = new[] {211,095,115,019}, Location = 015 }, // Noctowl: Rider Nover @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 180, Level = 30, Gauge = 03000, Moves = new[] {085,086,178,084}, Location = 015 }, // Flaaffy: St.Performer Diogo @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 188, Level = 30, Gauge = 03000, Moves = new[] {235,079,178,072}, Location = 015 }, // Skiploom: Rider Leba @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 195, Level = 30, Gauge = 04000, Moves = new[] {341,133,021,057}, Location = 015 }, // Quagsire: Bandana Guy Divel @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 200, Level = 30, Gauge = 04000, Moves = new[] {060,109,212,247}, Location = 015 }, // Misdreavus: Rider Vant @ Pyrite Town
|
||||
new EncounterStaticShadow { Species = 162, Level = 33, Gauge = 05000, Moves = new[] {231,270,098,070}, Location = 015 }, // Furret: Rogue Cail @ Pyrite Town
|
||||
|
||||
// missing loc: Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 193, Level = 33, Gauge = 05000, Moves = new[] {197,048,049,253}, Location = 025 }, // Yanma: Cipher Peon Nore @ Pyrite Bldg
|
||||
|
||||
new EncounterStaticShadow { Species = 223, Level = 20, Gauge = 04000, Moves = new[] {061,199,060,062}, Location = 028 }, // Remoraid: Miror B.Peon Reath @ Pyrite Bldg
|
||||
new EncounterStaticShadow { Species = 223, Level = 20, Gauge = 04000, Moves = new[] {061,199,060,062}, Location = 030 }, // Remoraid: Miror B.Peon Reath @ Pyrite Cave
|
||||
new EncounterStaticShadow { Species = 226, Level = 33, Gauge = 05000, Moves = new[] {017,048,061,036}, Location = 028 }, // Mantine: Miror B.Peon Ferma @ Pyrite Bldg
|
||||
new EncounterStaticShadow { Species = 226, Level = 33, Gauge = 05000, Moves = new[] {017,048,061,036}, Location = 030 }, // Mantine: Miror B.Peon Ferma @ Pyrite Cave
|
||||
|
||||
new EncounterStaticShadow { Species = 211, Level = 33, Gauge = 05000, Moves = new[] {042,107,040,057}, Location = 015 }, // Qwilfish: Hunter Doken @ Pyrite Bldg
|
||||
new EncounterStaticShadow { Species = 307, Level = 33, Gauge = 05000, Moves = new[] {197,347,093,136}, Location = 031 }, // Meditite: Rider Twan @ Pyrite Cave
|
||||
new EncounterStaticShadow { Species = 206, Level = 33, Gauge = 05000, Moves = new[] {180,137,281,036}, Location = 029 }, // Dunsparce: Rider Sosh @ Pyrite Cave
|
||||
new EncounterStaticShadow { Species = 333, Level = 33, Gauge = 05000, Moves = new[] {119,047,219,019}, Location = 032 }, // Swablu: Hunter Zalo @ Pyrite Cave
|
||||
|
||||
new EncounterStaticShadow { Species = 185, Level = 35, Gauge = 10000, Moves = new[] {175,335,067,157}, Location = 125 }, // Sudowoodo: Cipher Admin Miror B. @ Deep Colosseum -- (Realgam Tower missing)
|
||||
new EncounterStaticShadow { Species = 185, Level = 35, Gauge = 10000, Moves = new[] {175,335,067,157}, Location = 030 }, // Sudowoodo: Cipher Admin Miror B. @ Pyrite Cave
|
||||
|
||||
// missing locs: Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 237, Level = 38, Gauge = 06000, Moves = new[] {097,116,167,229}, Location = 039 }, // Hitmontop: Cipher Peon Skrub @ Agate Village
|
||||
new EncounterStaticShadow { Species = 237, Level = 38, Gauge = 06000, Moves = new[] {097,116,167,229}, Location = 132 }, // Hitmontop: Cipher Peon Skrub @ Snagem Hideout
|
||||
|
||||
new EncounterStaticShadow { Species = 166, Level = 40, Gauge = 06000, Moves = new[] {226,219,048,004}, Location = 047 }, // Ledian: Cipher Peon Kloak @ The Under
|
||||
new EncounterStaticShadow { Species = 166, Level = 40, Gauge = 06000, Moves = new[] {226,219,048,004}, Location = 132 }, // Ledian: Cipher Peon Kloak @ Snagem Hideout
|
||||
|
||||
// missing locs: Realgam Tower/Deep Colosseum
|
||||
new EncounterStaticShadow { Species = 244, Level = 40, Gauge = 13000, Moves = new[] {241,043,044,126}, Location = 076 }, // Entei: Cipher Admin Dakim @ Mt. Battle
|
||||
|
||||
// missing loc: Realgam Tower
|
||||
new EncounterStaticShadow { Species = 245, Level = 40, Gauge = 13000, Moves = new[] {240,043,016,057}, Location = 055 }, // Suicune (Surf): Cipher Admin Venus @ The Under
|
||||
new EncounterStaticShadow { Species = 245, Level = 40, Gauge = 13000, Moves = new[] {240,043,016,056}, Location = 000 }, // Suicune (Hydro Pump): Cipher Admin Venus @ Deep Colosseum
|
||||
|
||||
// missing locs: Realgam Tower/Deep Colosseum
|
||||
new EncounterStaticShadow { Species = 243, Level = 40, Gauge = 13000, Moves = new[] {240,043,098,087}, Location = 069 }, // Raikou: Cipher Admin Ein @ Shadow PKMN Lab
|
||||
|
||||
new EncounterStaticShadow { Species = 207, Level = 43, Gauge = 06000, Moves = new[] {185,028,040,163}, Location = 058 }, // Gligar: Hunter Frena @ The Under Subway
|
||||
new EncounterStaticShadow { Species = 207, Level = 43, Gauge = 06000, Moves = new[] {185,028,040,163}, Location = 133 }, // Gligar: Hunter Frena @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 234, Level = 43, Gauge = 06000, Moves = new[] {310,095,043,036}, Location = 058 }, // Stantler: Chaser Liaks @ The Under Subway
|
||||
new EncounterStaticShadow { Species = 234, Level = 43, Gauge = 06000, Moves = new[] {310,095,043,036}, Location = 133 }, // Stantler: Chaser Liaks @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 221, Level = 43, Gauge = 06000, Moves = new[] {203,316,091,059}, Location = 058 }, // Piloswine: Bodybuilder Lonia @ The Under Subway
|
||||
new EncounterStaticShadow { Species = 221, Level = 43, Gauge = 06000, Moves = new[] {203,316,091,059}, Location = 134 }, // Piloswine: Bodybuilder Lonia @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 215, Level = 43, Gauge = 06000, Moves = new[] {185,103,154,196}, Location = 058 }, // Sneasel: Rider Nelis @ The Under Subway
|
||||
new EncounterStaticShadow { Species = 215, Level = 43, Gauge = 06000, Moves = new[] {185,103,154,196}, Location = 134 }, // Sneasel: Rider Nelis @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 190, Level = 43, Gauge = 06000, Moves = new[] {226,321,154,129}, Location = 067 }, // Aipom: Cipher Peon Cole @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 198, Level = 43, Gauge = 06000, Moves = new[] {185,212,101,019}, Location = 067 }, // Murkrow: Cipher Peon Lare @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 205, Level = 43, Gauge = 06000, Moves = new[] {153,182,117,229}, Location = 067 }, // Forretress: Cipher Peon Vana @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 168, Level = 43, Gauge = 06000, Moves = new[] {169,184,141,188}, Location = 069 }, // Ariados: Cipher Peon Lesar @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 210, Level = 43, Gauge = 06000, Moves = new[] {044,184,046,070}, Location = 069 }, // Granbull: Cipher Peon Tanie @ Shadow PKMN Lab
|
||||
new EncounterStaticShadow { Species = 329, Level = 43, Gauge = 06000, Moves = new[] {242,103,328,225}, Location = 068 }, // Vibrava: Cipher Peon Remil @ Shadow PKMN Lab
|
||||
|
||||
new EncounterStaticShadow { Species = 192, Level = 45, Gauge = 07000, Moves = new[] {241,074,275,076}, Location = 109 }, // Sunflora: Cipher Peon Baila @ Realgam Tower
|
||||
new EncounterStaticShadow { Species = 225, Level = 45, Gauge = 07000, Moves = new[] {059,213,217,019}, Location = 109 }, // Delibird: Cipher Peon Arton @ Realgam Tower
|
||||
new EncounterStaticShadow { Species = 214, Level = 45, Gauge = 07000, Moves = new[] {179,203,068,280}, Location = 111 }, // Heracross: Cipher Peon Dioge @ Realgam Tower
|
||||
new EncounterStaticShadow { Species = 227, Level = 47, Gauge = 13000, Moves = new[] {065,319,314,211}, Location = 117 }, // Skarmory: Snagem Head Gonzap @ Realgam Tower
|
||||
new EncounterStaticShadow { Species = 192, Level = 45, Gauge = 07000, Moves = new[] {241,074,275,076}, Location = 132 }, // Sunflora: Cipher Peon Baila @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 225, Level = 45, Gauge = 07000, Moves = new[] {059,213,217,019}, Location = 132 }, // Delibird: Cipher Peon Arton @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 214, Level = 45, Gauge = 07000, Moves = new[] {179,203,068,280}, Location = 132 }, // Heracross: Cipher Peon Dioge @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 227, Level = 47, Gauge = 13000, Moves = new[] {065,319,314,211}, Location = 133 }, // Skarmory: Snagem Head Gonzap @ Snagem Hideout
|
||||
|
||||
new EncounterStaticShadow { Species = 241, Level = 48, Gauge = 07000, Moves = new[] {208,111,205,034}, Location = 118 }, // Miltank: Bodybuilder Jomas @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 359, Level = 48, Gauge = 07000, Moves = new[] {195,014,163,185}, Location = 118 }, // Absol: Rider Delan @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 229, Level = 48, Gauge = 07000, Moves = new[] {185,336,123,053}, Location = 118 }, // Houndoom: Cipher Peon Nella @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 357, Level = 49, Gauge = 07000, Moves = new[] {076,235,345,019}, Location = 118 }, // Tropius: Cipher Peon Ston @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 376, Level = 50, Gauge = 15000, Moves = new[] {063,334,232,094}, Location = 118 }, // Metagross: Cipher Nascour @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 248, Level = 55, Gauge = 20000, Moves = new[] {242,087,157,059}, Location = 118 }, // Tyranitar: Cipher Head Evice @ Tower Colosseum
|
||||
new EncounterStaticShadow { Species = 235, Level = 45, Gauge = 07000, Moves = new[] {166,039,003,231}, Location = 132 }, // Smeargle: Team Snagem Biden @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 217, Level = 45, Gauge = 07000, Moves = new[] {185,313,122,163}, Location = 132 }, // Ursaring: Team Snagem Agrev @ Snagem Hideout
|
||||
new EncounterStaticShadow { Species = 213, Level = 45, Gauge = 07000, Moves = new[] {219,227,156,117}, Location = 125 }, // Shuckle: Deep King Agnol @ Deep Colosseum
|
||||
new EncounterStaticShadow { Species = 176, Level = 20, Gauge = 05000, Moves = new[] {118,204,186,281}, Location = 001 }, // Togetic: Cipher Peon Fein @ Outskirt Stand
|
||||
new EncounterStaticShadow { Species = 175, Level = 20, Gauge = 00000, Moves = new[] {118,204,186,281}, IVs = new[] {0,0,0,0,0,0}, EReader = true }, // Togepi: Chaser ボデス @ Card e Room (Japanese games only)
|
||||
new EncounterStaticShadow { Species = 179, Level = 37, Gauge = 00000, Moves = new[] {087,084,086,178}, IVs = new[] {0,0,0,0,0,0}, EReader = true }, // Mareep: Hunter ホル @ Card e Room (Japanese games only)
|
||||
new EncounterStaticShadow { Species = 212, Level = 50, Gauge = 00000, Moves = new[] {210,232,014,163}, IVs = new[] {0,0,0,0,0,0}, EReader = true }, // Scizor: Bodybuilder ワーバン @ Card e Room (Japanese games only)
|
||||
};
|
||||
#endregion
|
||||
|
||||
#region XD
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_XD =
|
||||
{
|
||||
new EncounterStatic { Fateful = true, Gift = true, Species = 133, Level = 10, Location = 000, Moves = new[] {044} }, // Eevee (Bite)
|
||||
new EncounterStatic { Fateful = true, Gift = true, Species = 152, Level = 05, Location = 016, Moves = new[] {246,033,045,338} }, // Chikorita
|
||||
new EncounterStatic { Fateful = true, Gift = true, Species = 155, Level = 05, Location = 016, Moves = new[] {179,033,043,307} }, // Cyndaquil
|
||||
new EncounterStatic { Fateful = true, Gift = true, Species = 158, Level = 05, Location = 016, Moves = new[] {242,010,043,308} }, // Totodile
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 216, Level = 11, Gauge = 03000, Moves = new[] {216,287,122,232}, Location = 143, }, // Teddiursa: Cipher Peon Naps @ Pokémon HQ Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 165, Level = 10, Gauge = 02500, Moves = new[] {060,287,332,048}, Location = 153, }, // Ledyba: Casual Guy Cyle @ Gateon Port
|
||||
new EncounterStaticShadow { Fateful = true, Species = 261, Level = 10, Gauge = 02500, Moves = new[] {091,215,305,336}, Location = 162, }, // Poochyena: Bodybuilder Kilen @ Gateon Port
|
||||
new EncounterStaticShadow { Fateful = true, Species = 228, Level = 17, Gauge = 01500, Moves = new[] {185,204,052,046}, Location = 011, }, // Houndour: Cipher Peon Resix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 343, Level = 17, Gauge = 01500, Moves = new[] {317,287,189,060}, Location = 011, }, // Baltoy: Cipher Peon Browsix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 179, Level = 17, Gauge = 01500, Moves = new[] {034,215,084,086}, Location = 011, }, // Mareep: Cipher Peon Yellosix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 273, Level = 17, Gauge = 01500, Moves = new[] {202,287,331,290}, Location = 011, }, // Seedot: Cipher Peon Greesix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 363, Level = 17, Gauge = 01500, Moves = new[] {062,204,055,189}, Location = 011, }, // Spheal: Cipher Peon Blusix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 316, Level = 17, Gauge = 01500, Moves = new[] {351,047,124,092}, Location = 011, }, // Gulpin: Cipher Peon Purpsix @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 167, Level = 14, Gauge = 01500, Moves = new[] {091,287,324,101}, Location = 010, }, // Spinarak: Cipher Peon Nexir @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 322, Level = 14, Gauge = 01500, Moves = new[] {036,204,091,052}, Location = 009, }, // Numel: Cipher Peon Solox @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 318, Level = 15, Gauge = 01700, Moves = new[] {352,287,184,044}, Location = 008, }, // Carvanha: Cipher Peon Cabol @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 285, Level = 15, Gauge = 01800, Moves = new[] {206,287,072,078}, Location = 008, }, // Shroomish: Cipher R&D Klots @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 301, Level = 18, Gauge = 02500, Moves = new[] {290,186,213,351}, Location = 008, }, // Delcatty: Cipher Admin Lovrina @ Cipher Lab
|
||||
new EncounterStaticShadow { Fateful = true, Species = 100, Level = 19, Gauge = 02500, Moves = new[] {243,287,209,129}, Location = 092, }, // Voltorb: Wanderer Miror B. @ Cave Poké Spot
|
||||
new EncounterStaticShadow { Fateful = true, Species = 296, Level = 18, Gauge = 02000, Moves = new[] {280,287,292,317}, Location = 109, }, // Makuhita: Cipher Peon Torkin @ ONBS Building
|
||||
new EncounterStaticShadow { Fateful = true, Species = 037, Level = 18, Gauge = 02000, Moves = new[] {257,204,052,091}, Location = 109, }, // Vulpix: Cipher Peon Mesin @ ONBS Building
|
||||
new EncounterStaticShadow { Fateful = true, Species = 355, Level = 19, Gauge = 02200, Moves = new[] {247,270,310,109}, Location = 110, }, // Duskull: Cipher Peon Lobar @ ONBS Building
|
||||
new EncounterStaticShadow { Fateful = true, Species = 280, Level = 20, Gauge = 02200, Moves = new[] {351,047,115,093}, Location = 119, }, // Ralts: Cipher Peon Feldas @ ONBS Building
|
||||
new EncounterStaticShadow { Fateful = true, Species = 303, Level = 22, Gauge = 02500, Moves = new[] {206,047,011,334}, Location = 111, }, // Mawile: Cipher Cmdr Exol @ ONBS Building
|
||||
new EncounterStaticShadow { Fateful = true, Species = 361, Level = 20, Gauge = 02500, Moves = new[] {352,047,044,196}, Location = 097, }, // Snorunt: Cipher Peon Exinn @ Phenac City
|
||||
new EncounterStaticShadow { Fateful = true, Species = 204, Level = 20, Gauge = 02500, Moves = new[] {042,287,191,068}, Location = 096, }, // Pineco: Cipher Peon Gonrap @ Phenac City
|
||||
new EncounterStaticShadow { Fateful = true, Species = 177, Level = 22, Gauge = 02500, Moves = new[] {248,226,101,332}, Location = 094, }, // Natu: Cipher Peon Eloin @ Phenac City
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 315, Level = 22, Gauge = 03000, Moves = new[] {345,186,320,073}, Location = 113 }, // Roselia: Cipher Peon Fasin @ Phenac City
|
||||
new EncounterStaticShadow { Fateful = true, Species = 315, Level = 22, Gauge = 03000, Moves = new[] {345,186,320,073}, Location = 094 }, // Roselia: Cipher Peon Fasin @ Phenac City
|
||||
new EncounterStaticShadow { Fateful = true, Species = 052, Level = 22, Gauge = 03500, Moves = new[] {163,047,006,044}, Location = 113 }, // Meowth: Cipher Peon Fostin @ Phenac City
|
||||
new EncounterStaticShadow { Fateful = true, Species = 052, Level = 22, Gauge = 03500, Moves = new[] {163,047,006,044}, Location = 094 }, // Meowth: Cipher Peon Fostin @ Phenac City
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 220, Level = 22, Gauge = 02500, Moves = new[] {246,204,054,341}, Location = 100 }, // Swinub: Cipher Peon Greck @ Phenac City
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 021, Level = 22, Gauge = 04500, Moves = new[] {206,226,043,332}, Location = 059 }, // Spearow: Cipher Peon Ezin @ Phenac Stadium
|
||||
new EncounterStaticShadow { Fateful = true, Species = 021, Level = 22, Gauge = 04500, Moves = new[] {206,226,043,332}, Location = 107 }, // Spearow: Cipher Peon Ezin @ Phenac Stadium
|
||||
new EncounterStaticShadow { Fateful = true, Species = 088, Level = 23, Gauge = 03000, Moves = new[] {188,270,325,107}, Location = 059 }, // Grimer: Cipher Peon Faltly @ Phenac Stadium
|
||||
new EncounterStaticShadow { Fateful = true, Species = 088, Level = 23, Gauge = 03000, Moves = new[] {188,270,325,107}, Location = 107 }, // Grimer: Cipher Peon Faltly @ Phenac Stadium
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 086, Level = 23, Gauge = 03500, Moves = new[] {057,270,219,058}, Location = 107 }, // Seel: Cipher Peon Egrog @ Phenac Stadium
|
||||
new EncounterStaticShadow { Fateful = true, Species = 337, Level = 25, Gauge = 05000, Moves = new[] {094,226,240,317}, Location = 107 }, // Lunatone: Cipher Admin Snattle @ Phenac Stadium
|
||||
new EncounterStaticShadow { Fateful = true, Species = 175, Level = 25, Gauge = 04500, Moves = new[] {266,161,246,270}, Location = 164, Gift = true }, // Togepi: Pokémon Trainer Hordel @ Outskirt Stand
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 299, Level = 26, Gauge = 04000, Moves = new[] {085,270,086,157}, Location = 090 }, // Nosepass: Wanderer Miror B. @ Pyrite Colosseum/Realgam Colosseum/Poké Spots
|
||||
new EncounterStaticShadow { Fateful = true, Species = 299, Level = 26, Gauge = 04000, Moves = new[] {085,270,086,157}, Location = 113 }, // Nosepass: Wanderer Miror B. @ Pyrite Colosseum/Realgam Colosseum/Poké Spots
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 335, Level = 28, Gauge = 05000, Moves = new[] {280,287,068,306}, Location = 071 }, // Zangoose: Thug Zook @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 335, Level = 28, Gauge = 05000, Moves = new[] {280,287,068,306}, Location = 090 }, // Zangoose: Thug Zook @ Cipher Key Lair
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 046, Level = 28, Gauge = 04000, Moves = new[] {147,287,163,206}, Location = 064 }, // Paras: Cipher Peon Humah @ Cipher Key Lair
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 058, Level = 28, Gauge = 04000, Moves = new[] {053,204,044,036}, Location = 064 }, // Growlithe: Cipher Peon Humah @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 058, Level = 28, Gauge = 04000, Moves = new[] {053,204,044,036}, Location = 113 }, // Growlithe: Cipher Peon Humah @ Cipher Key Lair
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 015, Level = 30, Gauge = 04500, Moves = new[] {188,226,041,014}, Location = 059 }, // Beedrill: Cipher Peon Lok @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 012, Level = 30, Gauge = 04000, Moves = new[] {094,234,079,332}, Location = 059 }, // Butterfree: Cipher Peon Targ @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 049, Level = 32, Gauge = 04000, Moves = new[] {318,287,164,094}, Location = 059 }, // Venomoth: Cipher Peon Angic @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 097, Level = 34, Gauge = 05500, Moves = new[] {094,226,096,247}, Location = 059 }, // Hypno: Cipher Admin Gorigan @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 354, Level = 37, Gauge = 07000, Moves = new[] {185,270,247,174}, Location = 059 }, // Banette: Cipher Peon Litnar @ Citadark Isle
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 090, Level = 29, Gauge = 04000, Moves = new[] {036,287,057,062}, Location = 065 }, // Shellder: Cipher Peon Gorog @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 015, Level = 30, Gauge = 04500, Moves = new[] {188,226,041,014}, Location = 066 }, // Beedrill: Cipher Peon Lok @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 017, Level = 30, Gauge = 04000, Moves = new[] {017,287,211,297}, Location = 066 }, // Pidgeotto: Cipher Peon Lok @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 114, Level = 30, Gauge = 04000, Moves = new[] {076,234,241,275}, Location = 067 }, // Tangela: Cipher Peon Targ @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 012, Level = 30, Gauge = 04000, Moves = new[] {094,234,079,332}, Location = 067 }, // Butterfree: Cipher Peon Targ @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 082, Level = 30, Gauge = 04500, Moves = new[] {038,287,240,087}, Location = 067 }, // Magneton: Cipher Peon Snidle @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 049, Level = 32, Gauge = 04000, Moves = new[] {318,287,164,094}, Location = 070 }, // Venomoth: Cipher Peon Angic @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 070, Level = 32, Gauge = 04000, Moves = new[] {345,234,188,230}, Location = 070 }, // Weepinbell: Cipher Peon Angic @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 024, Level = 33, Gauge = 05000, Moves = new[] {188,287,137,044}, Location = 070 }, // Arbok: Cipher Peon Smarton @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 057, Level = 34, Gauge = 06000, Moves = new[] {238,270,116,179}, Location = 069 }, // Primeape: Cipher Admin Gorigan @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 097, Level = 34, Gauge = 05500, Moves = new[] {094,226,096,247}, Location = 069 }, // Hypno: Cipher Admin Gorigan @ Cipher Key Lair
|
||||
new EncounterStaticShadow { Fateful = true, Species = 055, Level = 33, Gauge = 06500, Moves = new[] {127,204,244,280}, Location = 088 }, // Golduck: Navigator Abson @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 302, Level = 33, Gauge = 07000, Moves = new[] {247,270,185,105}, Location = 088 }, // Sableye: Navigator Abson @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 085, Level = 34, Gauge = 08000, Moves = new[] {065,226,097,161}, Location = 076 }, // Dodrio: Chaser Furgy @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 020, Level = 34, Gauge = 06000, Moves = new[] {162,287,184,158}, Location = 076 }, // Raticate: Chaser Furgy @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 083, Level = 36, Gauge = 05500, Moves = new[] {163,226,014,332}, Location = 076 }, // Farfetch'd: Cipher Admin Lovrina @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 334, Level = 36, Gauge = 06500, Moves = new[] {225,215,076,332}, Location = 076 }, // Altaria: Cipher Admin Lovrina @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 115, Level = 35, Gauge = 06000, Moves = new[] {089,047,039,146}, Location = 085 }, // Kangaskhan: Cipher Peon Litnar @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 354, Level = 37, Gauge = 07000, Moves = new[] {185,270,247,174}, Location = 085 }, // Banette: Cipher Peon Litnar @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 126, Level = 36, Gauge = 07000, Moves = new[] {126,266,238,009}, Location = 077 }, // Magmar: Cipher Peon Grupel @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 127, Level = 35, Gauge = 07000, Moves = new[] {012,270,206,066}, Location = 077 }, // Pinsir: Cipher Peon Grupel @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 078, Level = 40, Gauge = 06000, Moves = new[] {076,226,241,053}, Location = 080 }, // Rapidash: Cipher Peon Kolest @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 219, Level = 38, Gauge = 05500, Moves = new[] {257,287,089,053}, Location = 080 }, // Magcargo: Cipher Peon Kolest @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 107, Level = 38, Gauge = 06000, Moves = new[] {005,270,170,327}, Location = 081 }, // Hitmonchan: Cipher Peon Karbon @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 106, Level = 38, Gauge = 07000, Moves = new[] {136,287,170,025}, Location = 081 }, // Hitmonlee: Cipher Peon Petro @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 108, Level = 38, Gauge = 05000, Moves = new[] {038,270,111,205}, Location = 084 }, // Lickitung: Cipher Peon Geftal @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 123, Level = 40, Gauge = 08000, Moves = new[] {013,234,318,163}, Location = 084 }, // Scyther: Cipher Peon Leden @ Citadark Isle
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 113, Level = 39, Gauge = 04000, Moves = new[] {085,186,135,285}, Location = 084 }, // Chansey: Cipher Peon Leden @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 113, Level = 39, Gauge = 04000, Moves = new[] {085,186,135,285}, Location = 087 }, // Chansey: Cipher Peon Leden @ Citadark Isle
|
||||
|
||||
new EncounterStaticShadow { Fateful = true, Species = 338, Level = 41, Gauge = 07500, Moves = new[] {094,226,241,322}, Location = 087 }, // Solrock: Cipher Admin Snattle @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 121, Level = 41, Gauge = 07500, Moves = new[] {127,287,058,105}, Location = 087 }, // Starmie: Cipher Admin Snattle @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 277, Level = 43, Gauge = 07000, Moves = new[] {143,226,097,263}, Location = 087 }, // Swellow: Cipher Admin Ardos @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 125, Level = 43, Gauge = 07000, Moves = new[] {238,266,086,085}, Location = 087 }, // Electabuzz: Cipher Admin Ardos @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 143, Level = 43, Gauge = 09000, Moves = new[] {090,287,174,034}, Location = 087 }, // Snorlax: Cipher Admin Ardos @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 062, Level = 42, Gauge = 07500, Moves = new[] {056,270,240,280}, Location = 087 }, // Poliwrath: Cipher Admin Gorigan @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 122, Level = 42, Gauge = 06500, Moves = new[] {094,266,227,009}, Location = 087 }, // Mr. Mime: Cipher Admin Gorigan @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 051, Level = 40, Gauge = 05000, Moves = new[] {089,204,201,161}, Location = 075 }, // Dugtrio: Cipher Peon Kolax @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 310, Level = 44, Gauge = 07000, Moves = new[] {087,287,240,044}, Location = 073 }, // Manectric: Cipher Admin Eldes @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 373, Level = 50, Gauge = 09000, Moves = new[] {337,287,349,332}, Location = 073 }, // Salamence: Cipher Admin Eldes @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 105, Level = 44, Gauge = 06500, Moves = new[] {089,047,014,157}, Location = 073 }, // Marowak: Cipher Admin Eldes @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 131, Level = 44, Gauge = 06000, Moves = new[] {056,215,240,059}, Location = 073 }, // Lapras: Cipher Admin Eldes @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 249, Level = 50, Gauge = 12000, Moves = new[] {354,297,089,056}, Location = 074 }, // Lugia: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 112, Level = 46, Gauge = 07000, Moves = new[] {224,270,184,089}, Location = 074 }, // Rhydon: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 146, Level = 50, Gauge = 10000, Moves = new[] {326,234,261,053}, Location = 074 }, // Moltres: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 103, Level = 46, Gauge = 09000, Moves = new[] {094,287,095,246}, Location = 074 }, // Exeggutor: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 128, Level = 46, Gauge = 09000, Moves = new[] {089,287,039,034}, Location = 074 }, // Tauros: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 144, Level = 50, Gauge = 10000, Moves = new[] {326,215,114,058}, Location = 074 }, // Articuno: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 145, Level = 50, Gauge = 10000, Moves = new[] {326,226,319,085}, Location = 074 }, // Zapdos: Grand Master Greevil @ Citadark Isle
|
||||
new EncounterStaticShadow { Fateful = true, Species = 149, Level = 55, Gauge = 09000, Moves = new[] {063,215,349,089}, Location = 162 }, // Dragonite: Wanderer Miror B. @ Gateon Port
|
||||
};
|
||||
|
||||
internal static readonly EncounterArea[] SlotsXD =
|
||||
{
|
||||
new EncounterArea { Location = 090, Slots = new[] // Rock
|
||||
{
|
||||
new EncounterSlot {Species = 027, LevelMin = 10, LevelMax = 23, SlotNumber = 0}, // Sandshrew
|
||||
new EncounterSlot {Species = 207, LevelMin = 10, LevelMax = 20, SlotNumber = 1}, // Gligar
|
||||
new EncounterSlot {Species = 328, LevelMin = 10, LevelMax = 20, SlotNumber = 2}, // Trapinch
|
||||
}
|
||||
},
|
||||
new EncounterArea { Location = 091, Slots = new[] // Oasis
|
||||
{
|
||||
new EncounterSlot {Species = 187, LevelMin = 10, LevelMax = 20, SlotNumber = 0}, // Hoppip
|
||||
new EncounterSlot {Species = 231, LevelMin = 10, LevelMax = 20, SlotNumber = 1}, // Phanpy
|
||||
new EncounterSlot {Species = 283, LevelMin = 10, LevelMax = 20, SlotNumber = 2}, // Surskit
|
||||
}
|
||||
},
|
||||
new EncounterArea { Location = 092, Slots = new[] // Cave
|
||||
{
|
||||
new EncounterSlot {Species = 041, LevelMin = 10, LevelMax = 21, SlotNumber = 0}, // Zubat
|
||||
new EncounterSlot {Species = 304, LevelMin = 10, LevelMax = 21, SlotNumber = 1}, // Aron
|
||||
new EncounterSlot {Species = 194, LevelMin = 10, LevelMax = 21, SlotNumber = 2}, // Wooper
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
internal static readonly EncounterStatic[] Encounter_CXD = Encounter_Colo.Concat(Encounter_XD).ToArray();
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -141,737 +141,6 @@ public static partial class Legal
|
|||
new[] { 380, 388, 180, 495, 270, 271, 478, 472, 283, 200, 278, 289, 446, 214, 285 } // Nacrene City
|
||||
};
|
||||
|
||||
#region Dream Radar Tables
|
||||
internal static readonly EncounterStatic[] Encounter_DreamRadar =
|
||||
{
|
||||
new EncounterStatic { Shiny=false, Species=120, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=137, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=174, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=175, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=213, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=238, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=280, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=333, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=425, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=436, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=442, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=447, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=479,}, // Rotom has no HA
|
||||
new EncounterStatic { Shiny=false, Species=517, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=561, Ability = 4 },
|
||||
new EncounterStatic { Shiny=false, Species=641, Ability = 4, Form = 1}, //Tornadus-T
|
||||
new EncounterStatic { Shiny=false, Species=642, Ability = 4, Form = 1}, //Thundurus-T
|
||||
new EncounterStatic { Shiny=false, Species=645, Ability = 4, Form = 1}, //Landorus-T
|
||||
new EncounterStatic { Shiny=false, Species=249, Ability = 4 }, //SS
|
||||
new EncounterStatic { Shiny=false, Species=250, Ability = 4 }, //HG
|
||||
new EncounterStatic { Shiny=false, Species=483, Ability = 4 }, //D
|
||||
new EncounterStatic { Shiny=false, Species=484, Ability = 4 }, //P
|
||||
new EncounterStatic { Shiny=false, Species=487, Ability = 4 }, //Pt
|
||||
new EncounterStatic { Shiny=false, Species=079, Ability = 4 }, //Slowpoke
|
||||
new EncounterStatic { Shiny=false, Species=163, Ability = 4 }, //Hoothoot
|
||||
new EncounterStatic { Shiny=false, Species=374, Ability = 4 }, //Beldum
|
||||
};
|
||||
#endregion
|
||||
#region DreamWorld Encounter
|
||||
internal static readonly EncounterStatic[] DreamWorld_Common =
|
||||
{
|
||||
// Pleasant forest
|
||||
new EncounterStatic { Species=019, Level = 10, Moves = new[]{098, 382, 231}, }, //Rattata
|
||||
new EncounterStatic { Species=043, Level = 10, Moves = new[]{230, 298, 202}, }, //Oddish
|
||||
new EncounterStatic { Species=069, Level = 10, Moves = new[]{022, 235, 402}, }, //Bellsprout
|
||||
new EncounterStatic { Species=077, Level = 10, Moves = new[]{033, 037, 257}, }, //Ponyta
|
||||
new EncounterStatic { Species=083, Level = 10, Moves = new[]{210, 355, 348}, }, //Farfetch'd
|
||||
new EncounterStatic { Species=084, Level = 10, Moves = new[]{045, 175, 355}, }, //Doduo
|
||||
new EncounterStatic { Species=102, Level = 10, Moves = new[]{140, 235, 202}, }, //Exeggcute
|
||||
new EncounterStatic { Species=108, Level = 10, Moves = new[]{122, 214, 431}, }, //Lickitung
|
||||
new EncounterStatic { Species=114, Level = 10, Moves = new[]{079, 073, 402}, }, //Tangela
|
||||
new EncounterStatic { Species=115, Level = 10, Moves = new[]{252, 068, 409}, }, //Kangaskhan
|
||||
new EncounterStatic { Species=161, Level = 10, Moves = new[]{010, 203, 343}, }, //Sentret
|
||||
new EncounterStatic { Species=179, Level = 10, Moves = new[]{084, 115, 351}, }, //Mareep
|
||||
new EncounterStatic { Species=191, Level = 10, Moves = new[]{072, 230, 414}, }, //Sunkern
|
||||
new EncounterStatic { Species=234, Level = 10, Moves = new[]{033, 050, 285}, }, //Stantler
|
||||
new EncounterStatic { Species=261, Level = 10, Moves = new[]{336, 305, 399}, }, //Poochyena
|
||||
new EncounterStatic { Species=283, Level = 10, Moves = new[]{145, 056, 202}, }, //Surskit
|
||||
new EncounterStatic { Species=399, Level = 10, Moves = new[]{033, 401, 290}, }, //Bidoof
|
||||
new EncounterStatic { Species=403, Level = 10, Moves = new[]{268, 393, 400}, }, //Shinx
|
||||
new EncounterStatic { Species=431, Level = 10, Moves = new[]{252, 372, 290}, }, //Glameow
|
||||
new EncounterStatic { Species=054, Level = 10, Moves = new[]{346, 227, 362}, }, //Psyduck
|
||||
new EncounterStatic { Species=058, Level = 10, Moves = new[]{044, 034, 203}, }, //Growlithe
|
||||
new EncounterStatic { Species=123, Level = 10, Moves = new[]{098, 226, 366}, }, //Scyther
|
||||
new EncounterStatic { Species=128, Level = 10, Moves = new[]{099, 231, 431}, }, //Tauros
|
||||
new EncounterStatic { Species=183, Level = 10, Moves = new[]{111, 453, 008}, }, //Marill
|
||||
new EncounterStatic { Species=185, Level = 10, Moves = new[]{175, 205, 272}, }, //Sudowoodo
|
||||
new EncounterStatic { Species=203, Level = 10, Moves = new[]{093, 243, 285}, }, //Girafarig
|
||||
new EncounterStatic { Species=241, Level = 10, Moves = new[]{111, 174, 231}, }, //Miltank
|
||||
new EncounterStatic { Species=263, Level = 10, Moves = new[]{033, 271, 387}, }, //Zigzagoon
|
||||
new EncounterStatic { Species=427, Level = 10, Moves = new[]{193, 252, 409}, }, //Buneary
|
||||
new EncounterStatic { Species=037, Level = 10, Moves = new[]{046, 257, 399}, }, //Vulpix
|
||||
new EncounterStatic { Species=060, Level = 10, Moves = new[]{095, 054, 214}, }, //Poliwag
|
||||
new EncounterStatic { Species=177, Level = 10, Moves = new[]{101, 297, 202}, }, //Natu
|
||||
new EncounterStatic { Species=239, Level = 10, Moves = new[]{084, 238, 393}, }, //Elekid
|
||||
new EncounterStatic { Species=300, Level = 10, Moves = new[]{193, 321, 445}, }, //Skitty
|
||||
// Windskept Sky
|
||||
new EncounterStatic { Species=016, Level = 10, Moves = new[]{016, 211, 290}, }, //Pidgey
|
||||
new EncounterStatic { Species=021, Level = 10, Moves = new[]{064, 185, 211}, }, //Spearow
|
||||
new EncounterStatic { Species=041, Level = 10, Moves = new[]{048, 095, 162}, }, //Zubat
|
||||
new EncounterStatic { Species=142, Level = 10, Moves = new[]{044, 372, 446}, }, //Aerodactyl
|
||||
new EncounterStatic { Species=165, Level = 10, Moves = new[]{004, 450, 009}, }, //Ledyba
|
||||
new EncounterStatic { Species=187, Level = 10, Moves = new[]{235, 227, 340}, }, //Hoppip
|
||||
new EncounterStatic { Species=193, Level = 10, Moves = new[]{098, 364, 202}, }, //Yanma
|
||||
new EncounterStatic { Species=198, Level = 10, Moves = new[]{064, 109, 355}, }, //Murkrow
|
||||
new EncounterStatic { Species=207, Level = 10, Moves = new[]{028, 364, 366}, }, //Gligar
|
||||
new EncounterStatic { Species=225, Level = 10, Moves = new[]{217, 420, 264}, }, //Delibird
|
||||
new EncounterStatic { Species=276, Level = 10, Moves = new[]{064, 203, 413}, }, //Taillow
|
||||
new EncounterStatic { Species=397, Level = 14, Moves = new[]{017, 297, 366}, }, //Staravia
|
||||
new EncounterStatic { Species=227, Level = 10, Moves = new[]{064, 065, 355}, }, //Skarmory
|
||||
new EncounterStatic { Species=357, Level = 10, Moves = new[]{016, 073, 318}, }, //Tropius
|
||||
// Sparkling Sea
|
||||
new EncounterStatic { Species=086, Level = 10, Moves = new[]{029, 333, 214}, }, //Seel
|
||||
new EncounterStatic { Species=090, Level = 10, Moves = new[]{110, 112, 196}, }, //Shellder
|
||||
new EncounterStatic { Species=116, Level = 10, Moves = new[]{145, 190, 362}, }, //Horsea
|
||||
new EncounterStatic { Species=118, Level = 10, Moves = new[]{064, 060, 352}, }, //Goldeen
|
||||
new EncounterStatic { Species=129, Level = 10, Moves = new[]{150, 175, 340}, }, //Magikarp
|
||||
new EncounterStatic { Species=138, Level = 10, Moves = new[]{044, 330, 196}, }, //Omanyte
|
||||
new EncounterStatic { Species=140, Level = 10, Moves = new[]{071, 175, 446}, }, //Kabuto
|
||||
new EncounterStatic { Species=170, Level = 10, Moves = new[]{086, 133, 351}, }, //Chinchou
|
||||
new EncounterStatic { Species=194, Level = 10, Moves = new[]{055, 034, 401}, }, //Wooper
|
||||
new EncounterStatic { Species=211, Level = 10, Moves = new[]{040, 453, 290}, }, //Qwilfish
|
||||
new EncounterStatic { Species=223, Level = 10, Moves = new[]{199, 350, 362}, }, //Remoraid
|
||||
new EncounterStatic { Species=226, Level = 10, Moves = new[]{048, 243, 314}, }, //Mantine
|
||||
new EncounterStatic { Species=320, Level = 10, Moves = new[]{055, 214, 340}, }, //Wailmer
|
||||
new EncounterStatic { Species=339, Level = 10, Moves = new[]{189, 214, 209}, }, //Barboach
|
||||
new EncounterStatic { Species=366, Level = 10, Moves = new[]{250, 445, 392}, }, //Clamperl
|
||||
new EncounterStatic { Species=369, Level = 10, Moves = new[]{055, 214, 414}, }, //Relicanth
|
||||
new EncounterStatic { Species=370, Level = 10, Moves = new[]{204, 300, 196}, }, //Luvdisc
|
||||
new EncounterStatic { Species=418, Level = 10, Moves = new[]{346, 163, 352}, }, //Buizel
|
||||
new EncounterStatic { Species=456, Level = 10, Moves = new[]{213, 186, 352}, }, //Finneon
|
||||
new EncounterStatic { Species=072, Level = 10, Moves = new[]{048, 367, 202}, }, //Tentacool
|
||||
new EncounterStatic { Species=318, Level = 10, Moves = new[]{044, 037, 399}, }, //Carvanha
|
||||
new EncounterStatic { Species=341, Level = 10, Moves = new[]{106, 232, 283}, }, //Corphish
|
||||
new EncounterStatic { Species=345, Level = 10, Moves = new[]{051, 243, 202}, }, //Lileep
|
||||
new EncounterStatic { Species=347, Level = 10, Moves = new[]{010, 446, 440}, }, //Anorith
|
||||
new EncounterStatic { Species=349, Level = 10, Moves = new[]{150, 445, 243}, }, //Feebas
|
||||
new EncounterStatic { Species=131, Level = 10, Moves = new[]{109, 032, 196}, }, //Lapras
|
||||
new EncounterStatic { Species=147, Level = 10, Moves = new[]{086, 352, 225}, }, //Dratini
|
||||
// Spooky Mannor
|
||||
new EncounterStatic { Species=092, Level = 10, Moves = new[]{095, 050, 482}, }, //Gastly
|
||||
new EncounterStatic { Species=096, Level = 10, Moves = new[]{095, 427, 409}, }, //Drowzee
|
||||
new EncounterStatic { Species=122, Level = 10, Moves = new[]{112, 298, 285}, }, //Mr. Mime
|
||||
new EncounterStatic { Species=167, Level = 10, Moves = new[]{040, 527, 450}, }, //Spinarak
|
||||
new EncounterStatic { Species=200, Level = 10, Moves = new[]{149, 194, 517}, }, //Misdreavus
|
||||
new EncounterStatic { Species=228, Level = 10, Moves = new[]{336, 364, 399}, }, //Houndour
|
||||
new EncounterStatic { Species=325, Level = 10, Moves = new[]{149, 285, 278}, }, //Spoink
|
||||
new EncounterStatic { Species=353, Level = 10, Moves = new[]{101, 194, 220}, }, //Shuppet
|
||||
new EncounterStatic { Species=355, Level = 10, Moves = new[]{050, 220, 271}, }, //Duskull
|
||||
new EncounterStatic { Species=358, Level = 10, Moves = new[]{035, 095, 304}, }, //Chimecho
|
||||
new EncounterStatic { Species=434, Level = 10, Moves = new[]{103, 492, 389}, }, //Stunky
|
||||
new EncounterStatic { Species=209, Level = 10, Moves = new[]{204, 370, 038}, }, //Snubbull
|
||||
new EncounterStatic { Species=235, Level = 10, Moves = new[]{166, 445, 214}, }, //Smeargle
|
||||
new EncounterStatic { Species=313, Level = 10, Moves = new[]{148, 271, 366}, }, //Volbeat
|
||||
new EncounterStatic { Species=314, Level = 10, Moves = new[]{204, 313, 366}, }, //Illumise
|
||||
new EncounterStatic { Species=063, Level = 10, Moves = new[]{100, 285, 356}, }, //Abra
|
||||
// Rugged Mountain
|
||||
new EncounterStatic { Species=066, Level = 10, Moves = new[]{067, 418, 270}, }, //Machop
|
||||
new EncounterStatic { Species=081, Level = 10, Moves = new[]{319, 278, 356}, }, //Magnemite
|
||||
new EncounterStatic { Species=109, Level = 10, Moves = new[]{123, 399, 482}, }, //Koffing
|
||||
new EncounterStatic { Species=218, Level = 10, Moves = new[]{052, 517, 257}, }, //Slugma
|
||||
new EncounterStatic { Species=246, Level = 10, Moves = new[]{044, 399, 446}, }, //Larvitar
|
||||
new EncounterStatic { Species=324, Level = 10, Moves = new[]{052, 090, 446}, }, //Torkoal
|
||||
new EncounterStatic { Species=328, Level = 10, Moves = new[]{044, 324, 202}, }, //Trapinch
|
||||
new EncounterStatic { Species=331, Level = 10, Moves = new[]{071, 298, 009}, }, //Cacnea
|
||||
new EncounterStatic { Species=412, Level = 10, Moves = new[]{182, 450, 173}, }, //Burmy
|
||||
new EncounterStatic { Species=449, Level = 10, Moves = new[]{044, 254, 276}, }, //Hippopotas
|
||||
new EncounterStatic { Species=240, Level = 10, Moves = new[]{052, 009, 257}, }, //Magby
|
||||
new EncounterStatic { Species=322, Level = 10, Moves = new[]{052, 034, 257}, }, //Numel
|
||||
new EncounterStatic { Species=359, Level = 10, Moves = new[]{364, 224, 276}, }, //Absol
|
||||
new EncounterStatic { Species=453, Level = 10, Moves = new[]{040, 409, 441}, }, //Croagunk
|
||||
new EncounterStatic { Species=236, Level = 10, Moves = new[]{252, 364, 183}, }, //Tyrogue
|
||||
new EncounterStatic { Species=371, Level = 10, Moves = new[]{044, 349, 200}, }, //Bagon
|
||||
// Icy Cave
|
||||
new EncounterStatic { Species=027, Level = 10, Moves = new[]{028, 068, 162}, }, //Sandshrew
|
||||
new EncounterStatic { Species=074, Level = 10, Moves = new[]{111, 446, 431}, }, //Geodude
|
||||
new EncounterStatic { Species=095, Level = 10, Moves = new[]{020, 446, 431}, }, //Onix
|
||||
new EncounterStatic { Species=100, Level = 10, Moves = new[]{268, 324, 363}, }, //Voltorb
|
||||
new EncounterStatic { Species=104, Level = 10, Moves = new[]{125, 195, 067}, }, //Cubone
|
||||
new EncounterStatic { Species=293, Level = 10, Moves = new[]{253, 283, 428}, }, //Whismur
|
||||
new EncounterStatic { Species=304, Level = 10, Moves = new[]{106, 283, 457}, }, //Aron
|
||||
new EncounterStatic { Species=337, Level = 10, Moves = new[]{093, 414, 236}, }, //Lunatone
|
||||
new EncounterStatic { Species=338, Level = 10, Moves = new[]{093, 428, 234}, }, //Solrock
|
||||
new EncounterStatic { Species=343, Level = 10, Moves = new[]{229, 356, 428}, }, //Baltoy
|
||||
new EncounterStatic { Species=459, Level = 10, Moves = new[]{075, 419, 202}, }, //Snover
|
||||
new EncounterStatic { Species=050, Level = 10, Moves = new[]{028, 251, 446}, }, //Diglett
|
||||
new EncounterStatic { Species=215, Level = 10, Moves = new[]{269, 008, 067}, }, //Sneasel
|
||||
new EncounterStatic { Species=361, Level = 10, Moves = new[]{181, 311, 352}, }, //Snorunt
|
||||
new EncounterStatic { Species=220, Level = 10, Moves = new[]{316, 246, 333}, }, //Swinub
|
||||
new EncounterStatic { Species=443, Level = 10, Moves = new[]{082, 200, 203}, }, //Gible
|
||||
// Dream Park
|
||||
new EncounterStatic { Species=046, Level = 10, Moves = new[]{078, 440, 235}, }, //Paras
|
||||
new EncounterStatic { Species=204, Level = 10, Moves = new[]{120, 390, 356}, }, //Pineco
|
||||
new EncounterStatic { Species=265, Level = 10, Moves = new[]{040, 450, 173}, }, //Wurmple
|
||||
new EncounterStatic { Species=273, Level = 10, Moves = new[]{074, 331, 492}, }, //Seedot
|
||||
new EncounterStatic { Species=287, Level = 10, Moves = new[]{281, 400, 389}, }, //Slakoth
|
||||
new EncounterStatic { Species=290, Level = 10, Moves = new[]{141, 203, 400}, }, //Nincada
|
||||
new EncounterStatic { Species=311, Level = 10, Moves = new[]{086, 435, 324}, }, //Plusle
|
||||
new EncounterStatic { Species=312, Level = 10, Moves = new[]{086, 435, 324}, }, //Minun
|
||||
new EncounterStatic { Species=316, Level = 10, Moves = new[]{139, 151, 202}, }, //Gulpin
|
||||
new EncounterStatic { Species=352, Level = 10, Moves = new[]{185, 285, 513}, }, //Kecleon
|
||||
new EncounterStatic { Species=401, Level = 10, Moves = new[]{522, 283, 253}, }, //Kricketot
|
||||
new EncounterStatic { Species=420, Level = 10, Moves = new[]{073, 505, 331}, }, //Cherubi
|
||||
new EncounterStatic { Species=455, Level = 10, Moves = new[]{044, 476, 380}, }, //Carnivine
|
||||
new EncounterStatic { Species=023, Level = 10, Moves = new[]{040, 251, 399}, }, //Ekans
|
||||
new EncounterStatic { Species=175, Level = 10, Moves = new[]{118, 381, 253}, }, //Togepi
|
||||
new EncounterStatic { Species=190, Level = 10, Moves = new[]{010, 252, 007}, }, //Aipom
|
||||
new EncounterStatic { Species=285, Level = 10, Moves = new[]{078, 331, 264}, }, //Shroomish
|
||||
new EncounterStatic { Species=315, Level = 10, Moves = new[]{074, 079, 129}, }, //Roselia
|
||||
new EncounterStatic { Species=113, Level = 10, Moves = new[]{045, 068, 270}, }, //Chansey
|
||||
new EncounterStatic { Species=127, Level = 10, Moves = new[]{011, 370, 382}, }, //Pinsir
|
||||
new EncounterStatic { Species=133, Level = 10, Moves = new[]{028, 204, 129}, }, //Eevee
|
||||
new EncounterStatic { Species=143, Level = 10, Moves = new[]{133, 007, 278}, }, //Snorlax
|
||||
new EncounterStatic { Species=214, Level = 10, Moves = new[]{030, 175, 264}, }, //Heracross
|
||||
// Pokémon Café Forest
|
||||
new EncounterStatic { Species=061, Level = 25, Moves = new[]{240, 114, 352}, }, //Poliwhirl
|
||||
new EncounterStatic { Species=133, Level = 10, Moves = new[]{270, 204, 129}, }, //Eevee
|
||||
new EncounterStatic { Species=235, Level = 10, Moves = new[]{166, 445, 214}, }, //Smeargle
|
||||
new EncounterStatic { Species=412, Level = 10, Moves = new[]{182, 450, 173}, }, //Burmy
|
||||
//PGL
|
||||
new EncounterStatic { Species=212, Level = 10, Moves = new[]{211}, Gender = 0, }, //Scizor
|
||||
new EncounterStatic { Species=445, Level = 48, Gender = 0, }, //Garchomp
|
||||
new EncounterStatic { Species=149, Level = 55, Moves = new[]{245}, Gender = 0, }, //Dragonite
|
||||
new EncounterStatic { Species=248, Level = 55, Moves = new[]{069}, Gender = 0, }, //Tyranitar
|
||||
new EncounterStatic { Species=376, Level = 45, Moves = new[]{038}, Gender = 2, }, //Metagross
|
||||
};
|
||||
|
||||
internal static readonly EncounterStatic[] BW_DreamWorld = DreamWorld_Common.Concat(new[]
|
||||
{
|
||||
// Pleasant forest
|
||||
new EncounterStatic { Species=029, Level = 10, Moves = new[]{010, 389, 162}, }, //Nidoran (F)
|
||||
new EncounterStatic { Species=032, Level = 10, Moves = new[]{064, 068, 162}, }, //Nidoran (M)
|
||||
new EncounterStatic { Species=174, Level = 10, Moves = new[]{047, 313, 270}, }, //Igglybuff
|
||||
new EncounterStatic { Species=187, Level = 10, Moves = new[]{235, 270, 331}, }, //Hoppip
|
||||
new EncounterStatic { Species=270, Level = 10, Moves = new[]{071, 073, 352}, }, //Lotad
|
||||
new EncounterStatic { Species=276, Level = 10, Moves = new[]{064, 119, 366}, }, //Taillow
|
||||
new EncounterStatic { Species=309, Level = 10, Moves = new[]{086, 423, 324}, }, //Electrike
|
||||
new EncounterStatic { Species=351, Level = 10, Moves = new[]{052, 466, 352}, }, //Castform
|
||||
new EncounterStatic { Species=417, Level = 10, Moves = new[]{098, 343, 351}, }, //Pachirisu
|
||||
// Windskept Sky
|
||||
new EncounterStatic { Species=012, Level = 10, Moves = new[]{093, 355, 314}, }, //Butterfree
|
||||
new EncounterStatic { Species=163, Level = 10, Moves = new[]{193, 101, 278}, }, //Hoothoot
|
||||
new EncounterStatic { Species=278, Level = 10, Moves = new[]{055, 239, 351}, }, //Wingull
|
||||
new EncounterStatic { Species=333, Level = 10, Moves = new[]{064, 297, 355}, }, //Swablu
|
||||
new EncounterStatic { Species=425, Level = 10, Moves = new[]{107, 095, 285}, }, //Drifloon
|
||||
new EncounterStatic { Species=441, Level = 10, Moves = new[]{119, 417, 272}, }, //Chatot
|
||||
// Sparkling Sea
|
||||
new EncounterStatic { Species=079, Level = 10, Moves = new[]{281, 335, 362}, }, //Slowpoke
|
||||
new EncounterStatic { Species=098, Level = 10, Moves = new[]{011, 133, 290}, }, //Krabby
|
||||
new EncounterStatic { Species=119, Level = 33, Moves = new[]{352, 214, 203}, }, //Seaking
|
||||
new EncounterStatic { Species=120, Level = 10, Moves = new[]{055, 278, 196}, }, //Staryu
|
||||
new EncounterStatic { Species=222, Level = 10, Moves = new[]{145, 109, 446}, }, //Corsola
|
||||
new EncounterStatic { Species=422, Level = 10, Moves = new[]{189, 281, 290}, Form = 0 }, //Shellos
|
||||
new EncounterStatic { Species=422, Level = 10, Moves = new[]{189, 281, 290}, Form = 1 },
|
||||
// Spooky Mannor
|
||||
new EncounterStatic { Species=202, Level = 15, Moves = new[]{243, 204, 227}, }, //Wobbuffet
|
||||
new EncounterStatic { Species=238, Level = 10, Moves = new[]{186, 445, 285}, }, //Smoochum
|
||||
new EncounterStatic { Species=303, Level = 10, Moves = new[]{313, 424, 008}, }, //Mawile
|
||||
new EncounterStatic { Species=307, Level = 10, Moves = new[]{096, 409, 203}, }, //Meditite
|
||||
new EncounterStatic { Species=436, Level = 10, Moves = new[]{095, 285, 356}, }, //Bronzor
|
||||
new EncounterStatic { Species=052, Level = 10, Moves = new[]{010, 095, 290}, }, //Meowth
|
||||
new EncounterStatic { Species=479, Level = 10, Moves = new[]{086, 351, 324}, }, //Rotom
|
||||
new EncounterStatic { Species=280, Level = 10, Moves = new[]{093, 194, 270}, }, //Ralts
|
||||
new EncounterStatic { Species=302, Level = 10, Moves = new[]{193, 389, 180}, }, //Sableye
|
||||
new EncounterStatic { Species=442, Level = 10, Moves = new[]{180, 220, 196}, }, //Spiritomb
|
||||
// Rugged Mountain
|
||||
new EncounterStatic { Species=056, Level = 10, Moves = new[]{067, 179, 009}, }, //Mankey
|
||||
new EncounterStatic { Species=111, Level = 10, Moves = new[]{030, 068, 038}, }, //Rhyhorn
|
||||
new EncounterStatic { Species=231, Level = 10, Moves = new[]{175, 484, 402}, }, //Phanpy
|
||||
new EncounterStatic { Species=451, Level = 10, Moves = new[]{044, 097, 401}, }, //Skorupi
|
||||
new EncounterStatic { Species=216, Level = 10, Moves = new[]{313, 242, 264}, }, //Teddiursa
|
||||
new EncounterStatic { Species=296, Level = 10, Moves = new[]{292, 270, 008}, }, //Makuhita
|
||||
new EncounterStatic { Species=327, Level = 10, Moves = new[]{383, 252, 276}, }, //Spinda
|
||||
new EncounterStatic { Species=374, Level = 10, Moves = new[]{036, 428, 442}, }, //Beldum
|
||||
new EncounterStatic { Species=447, Level = 10, Moves = new[]{203, 418, 264}, }, //Riolu
|
||||
// Icy Cave
|
||||
new EncounterStatic { Species=173, Level = 10, Moves = new[]{227, 312, 214}, }, //Cleffa
|
||||
new EncounterStatic { Species=213, Level = 10, Moves = new[]{227, 270, 504}, }, //Shuckle
|
||||
new EncounterStatic { Species=299, Level = 10, Moves = new[]{033, 446, 246}, }, //Nosepass
|
||||
new EncounterStatic { Species=363, Level = 10, Moves = new[]{181, 090, 401}, }, //Spheal
|
||||
new EncounterStatic { Species=408, Level = 10, Moves = new[]{029, 442, 007}, }, //Cranidos
|
||||
new EncounterStatic { Species=206, Level = 10, Moves = new[]{111, 277, 446}, }, //Dunsparce
|
||||
new EncounterStatic { Species=410, Level = 10, Moves = new[]{182, 068, 090}, }, //Shieldon
|
||||
// Dream Park
|
||||
new EncounterStatic { Species=048, Level = 10, Moves = new[]{050, 226, 285}, }, //Venonat
|
||||
new EncounterStatic { Species=088, Level = 10, Moves = new[]{139, 114, 425}, }, //Grimer
|
||||
new EncounterStatic { Species=415, Level = 10, Moves = new[]{016, 366, 314}, }, //Combee
|
||||
new EncounterStatic { Species=015, Level = 10, Moves = new[]{031, 314, 210}, }, //Beedrill
|
||||
new EncounterStatic { Species=335, Level = 10, Moves = new[]{098, 458, 067}, }, //Zangoose
|
||||
new EncounterStatic { Species=336, Level = 10, Moves = new[]{044, 034, 401}, }, //Seviper
|
||||
// PGL
|
||||
new EncounterStatic { Species=134, Level = 10, Gender = 0, }, //Vaporeon
|
||||
new EncounterStatic { Species=135, Level = 10, Gender = 0, }, //Jolteon
|
||||
new EncounterStatic { Species=136, Level = 10, Gender = 0, }, //Flareon
|
||||
new EncounterStatic { Species=196, Level = 10, Gender = 0, }, //Espeon
|
||||
new EncounterStatic { Species=197, Level = 10, Gender = 0, }, //Umbreon
|
||||
new EncounterStatic { Species=470, Level = 10, Gender = 0, }, //Leafeon
|
||||
new EncounterStatic { Species=471, Level = 10, Gender = 0, }, //Glaceon
|
||||
new EncounterStatic { Species=001, Level = 10, Gender = 0, }, //Bulbasaur
|
||||
new EncounterStatic { Species=004, Level = 10, Gender = 0, }, //Charmander
|
||||
new EncounterStatic { Species=007, Level = 10, Gender = 0, }, //Squirtle
|
||||
new EncounterStatic { Species=453, Level = 10, Gender = 0, }, //Croagunk
|
||||
new EncounterStatic { Species=387, Level = 10, Gender = 0, }, //Turtwig
|
||||
new EncounterStatic { Species=390, Level = 10, Gender = 0, }, //Chimchar
|
||||
new EncounterStatic { Species=393, Level = 10, Gender = 0, }, //Piplup
|
||||
new EncounterStatic { Species=493, Level = 100 }, //Arceus
|
||||
new EncounterStatic { Species=252, Level = 10, Gender = 0, }, //Treecko
|
||||
new EncounterStatic { Species=255, Level = 10, Gender = 0, }, //Torchic
|
||||
new EncounterStatic { Species=258, Level = 10, Gender = 0, }, //Mudkip
|
||||
new EncounterStatic { Species=468, Level = 10, Moves = new[]{217}, Gender = 0, }, //Togekiss
|
||||
new EncounterStatic { Species=473, Level = 34, Gender = 0, }, //Mamoswine
|
||||
new EncounterStatic { Species=137, Level = 10 }, //Porygon
|
||||
new EncounterStatic { Species=384, Level = 50 }, //Rayquaza
|
||||
new EncounterStatic { Species=354, Level = 37, Moves = new[]{538}, Gender = 1, }, //Banette
|
||||
new EncounterStatic { Species=453, Level = 10, Moves = new[]{398}, Gender = 0, }, //Croagunk
|
||||
new EncounterStatic { Species=334, Level = 35, Moves = new[]{206}, Gender = 0,}, //Altaria
|
||||
new EncounterStatic { Species=242, Level = 10 }, //Blissey
|
||||
new EncounterStatic { Species=448, Level = 10, Moves = new[]{418}, Gender = 0, }, //Lucario
|
||||
new EncounterStatic { Species=189, Level = 27, Moves = new[]{206}, Gender = 0, }, //Jumpluff
|
||||
}).ToArray();
|
||||
|
||||
internal static readonly EncounterStatic[] B2W2_DreamWorld = DreamWorld_Common.Concat(new[]
|
||||
{
|
||||
// Pleasant forest
|
||||
new EncounterStatic { Species=535, Level = 10, Moves = new[]{496, 414, 352}, }, //Tympole
|
||||
new EncounterStatic { Species=546, Level = 10, Moves = new[]{073, 227, 388}, }, //Cottonee
|
||||
new EncounterStatic { Species=548, Level = 10, Moves = new[]{079, 204, 230}, }, //Petilil
|
||||
new EncounterStatic { Species=588, Level = 10, Moves = new[]{203, 224, 450}, }, //Karrablast
|
||||
new EncounterStatic { Species=616, Level = 10, Moves = new[]{051, 226, 227}, }, //Shelmet
|
||||
new EncounterStatic { Species=545, Level = 30, Moves = new[]{342, 390, 276}, }, //Scolipede
|
||||
// Windskept Sky
|
||||
new EncounterStatic { Species=519, Level = 10, Moves = new[]{016, 095, 234}, }, //Pidove
|
||||
new EncounterStatic { Species=561, Level = 10, Moves = new[]{095, 500, 257}, }, //Sigilyph
|
||||
new EncounterStatic { Species=580, Level = 10, Moves = new[]{432, 362, 382}, }, //Ducklett
|
||||
new EncounterStatic { Species=587, Level = 10, Moves = new[]{098, 403, 204}, }, //Emolga
|
||||
// Sparkling Sea
|
||||
new EncounterStatic { Species=550, Level = 10, Moves = new[]{029, 097, 428}, Form = 0 },//Basculin
|
||||
new EncounterStatic { Species=550, Level = 10, Moves = new[]{029, 097, 428}, Form = 1 },
|
||||
new EncounterStatic { Species=594, Level = 10, Moves = new[]{392, 243, 220}, }, //Alomomola
|
||||
new EncounterStatic { Species=618, Level = 10, Moves = new[]{189, 174, 281}, }, //Stunfisk
|
||||
new EncounterStatic { Species=564, Level = 10, Moves = new[]{205, 175, 334}, }, //Tirtouga
|
||||
// Spooky Mannor
|
||||
new EncounterStatic { Species=605, Level = 10, Moves = new[]{377, 112, 417}, }, //Elgyem
|
||||
new EncounterStatic { Species=624, Level = 10, Moves = new[]{210, 427, 389}, }, //Pawniard
|
||||
new EncounterStatic { Species=596, Level = 36, Moves = new[]{486, 050, 228}, }, //Galvantula
|
||||
new EncounterStatic { Species=578, Level = 32, Moves = new[]{105, 286, 271}, }, //Duosion
|
||||
new EncounterStatic { Species=622, Level = 10, Moves = new[]{205, 007, 009}, }, //Golett
|
||||
// Rugged Mountain
|
||||
new EncounterStatic { Species=631, Level = 10, Moves = new[]{510, 257, 202}, }, //Heatmor
|
||||
new EncounterStatic { Species=632, Level = 10, Moves = new[]{210, 203, 422}, }, //Durant
|
||||
new EncounterStatic { Species=556, Level = 10, Moves = new[]{042, 073, 191}, }, //Maractus
|
||||
new EncounterStatic { Species=558, Level = 34, Moves = new[]{157, 068, 400}, }, //Crustle
|
||||
new EncounterStatic { Species=553, Level = 40, Moves = new[]{242, 068, 212}, }, //Krookodile
|
||||
// Icy Cave
|
||||
new EncounterStatic { Species=529, Level = 10, Moves = new[]{229, 319, 431}, }, //Drilbur
|
||||
new EncounterStatic { Species=621, Level = 10, Moves = new[]{044, 424, 389}, }, //Druddigon
|
||||
new EncounterStatic { Species=525, Level = 25, Moves = new[]{479, 174, 484}, }, //Boldore
|
||||
new EncounterStatic { Species=583, Level = 35, Moves = new[]{429, 420, 286}, }, //Vanillish
|
||||
new EncounterStatic { Species=600, Level = 38, Moves = new[]{451, 356, 393}, }, //Klang
|
||||
new EncounterStatic { Species=610, Level = 10, Moves = new[]{082, 068, 400}, }, //Axew
|
||||
// Dream Park
|
||||
new EncounterStatic { Species=531, Level = 10, Moves = new[]{270, 227, 281}, }, //Audino
|
||||
new EncounterStatic { Species=538, Level = 10, Moves = new[]{020, 008, 276}, }, //Throh
|
||||
new EncounterStatic { Species=539, Level = 10, Moves = new[]{249, 009, 530}, }, //Sawk
|
||||
new EncounterStatic { Species=559, Level = 10, Moves = new[]{067, 252, 409}, }, //Scraggy
|
||||
new EncounterStatic { Species=533, Level = 25, Moves = new[]{067, 183, 409}, }, //Gurdurr
|
||||
// PGL
|
||||
new EncounterStatic { Species=575, Level = 32, Moves = new[]{243}, Gender = 0, }, //Gothorita
|
||||
new EncounterStatic { Species=025, Level = 10, Moves = new[]{029}, Gender = 0, }, //Pikachu
|
||||
new EncounterStatic { Species=511, Level = 10, Moves = new[]{437}, Gender = 0, }, //Pansage
|
||||
new EncounterStatic { Species=513, Level = 10, Moves = new[]{257}, Gender = 0, }, //Pansear
|
||||
new EncounterStatic { Species=515, Level = 10, Moves = new[]{056}, Gender = 0, }, //Panpour
|
||||
new EncounterStatic { Species=387, Level = 10, Moves = new[]{254}, Gender = 0, }, //Turtwig
|
||||
new EncounterStatic { Species=390, Level = 10, Moves = new[]{252}, Gender = 0, }, //Chimchar
|
||||
new EncounterStatic { Species=393, Level = 10, Moves = new[]{297}, Gender = 0, }, //Piplup
|
||||
new EncounterStatic { Species=575, Level = 32, Moves = new[]{286}, Gender = 0, }, //Gothorita
|
||||
}).ToArray();
|
||||
#endregion
|
||||
#region Static Encounter/Gift Tables
|
||||
internal static readonly int[] Roaming_MetLocation_BW =
|
||||
{
|
||||
25,26,27,28, // Route 12,13,14,15 Night latter half
|
||||
15,16,31, // Route 2,3,18 Morning
|
||||
17,18,29, // Route 4,5,16 Daytime
|
||||
19,20,21, // Route 6,7,8 Evening
|
||||
22,23,24, // Route 9,10,11 Night former half
|
||||
};
|
||||
internal static readonly EncounterStatic[] Encounter_BW_Roam =
|
||||
{
|
||||
new EncounterStatic { Species = 641, Level = 40, Version = GameVersion.B, Roaming = true }, //Tornadus
|
||||
new EncounterStatic { Species = 642, Level = 40, Version = GameVersion.W, Roaming = true }, //Thundurus
|
||||
};
|
||||
internal static readonly EncounterStatic[] Encounter_BW_Regular =
|
||||
{
|
||||
//Starters @ Nuvema Town
|
||||
new EncounterStatic { Gift = true, Species = 495, Level = 5, Location = 4, }, // Snivys
|
||||
new EncounterStatic { Gift = true, Species = 498, Level = 5, Location = 4, }, // Tepig
|
||||
new EncounterStatic { Gift = true, Species = 501, Level = 5, Location = 4, }, // Oshawott
|
||||
//Fossil @ Nacrene City
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 25, Location = 7, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 25, Location = 7, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 25, Location = 7, }, // Aerodactyl
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 25, Location = 7, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 25, Location = 7, }, // Anorith
|
||||
new EncounterStatic { Gift = true, Species = 408, Level = 25, Location = 7, }, // Cranidos
|
||||
new EncounterStatic { Gift = true, Species = 410, Level = 25, Location = 7, }, // Shieldon
|
||||
new EncounterStatic { Gift = true, Species = 564, Level = 25, Location = 7, }, // Tirtouga
|
||||
new EncounterStatic { Gift = true, Species = 566, Level = 25, Location = 7, }, // Archen
|
||||
//Gift
|
||||
new EncounterStatic { Gift = true, Species = 511, Level = 10, Location = 32, }, // Pansage @ Dreamyard
|
||||
new EncounterStatic { Gift = true, Species = 513, Level = 10, Location = 32, }, // Pansear
|
||||
new EncounterStatic { Gift = true, Species = 515, Level = 10, Location = 32, }, // Panpour
|
||||
new EncounterStatic { Gift = true, Species = 129, Level = 05, Location = 68, }, // Magikarp @ Marvelous Bridge
|
||||
new EncounterStatic { Gift = true, Species = 636, Level = 01, EggLocation = 60003, }, // Larvesta Egg from Treasure Hunter
|
||||
//Stationary
|
||||
new EncounterStatic { Species = 518, Level = 50, Location = 32, Ability = 4, }, //Musharna @ Dreamyard Friday Only
|
||||
new EncounterStatic { Species = 590, Level = 20, Location = 19, }, //Foongus @ Route 6
|
||||
new EncounterStatic { Species = 590, Level = 30, Location = 23, }, //Foongus @ Route 10
|
||||
new EncounterStatic { Species = 591, Level = 40, Location = 23, }, //Amoonguss @ Route 10
|
||||
new EncounterStatic { Species = 555, Level = 35, Location = 34, Ability = 4, }, //Darmanitan @ Desert Resort
|
||||
new EncounterStatic { Species = 637, Level = 70, Location = 35, }, //Volcarona @ Relic Castle
|
||||
//Stationary Lengerdary
|
||||
new EncounterStatic { Species = 638, Level = 42, Location = 74,}, //Cobalion @ Guidance Chamber
|
||||
new EncounterStatic { Species = 639, Level = 42, Location = 73,}, //Terrakion @ Trial Chamber
|
||||
new EncounterStatic { Species = 640, Level = 42, Location = 55,}, //Virizion @ Rumination Field
|
||||
new EncounterStatic { Species = 643, Level = 50, Location = 45, Shiny = false, Version = GameVersion.B, }, //Reshiram @ N'Castle
|
||||
new EncounterStatic { Species = 643, Level = 50, Location = 39, Shiny = false, Version = GameVersion.B, }, //Reshiram @ Dragonspiral Tower
|
||||
new EncounterStatic { Species = 644, Level = 50, Location = 45, Shiny = false, Version = GameVersion.W, }, //Zekrom @ N'Castle
|
||||
new EncounterStatic { Species = 644, Level = 50, Location = 39, Shiny = false, Version = GameVersion.W, }, //Zekrom @ Dragonspiral Tower
|
||||
new EncounterStatic { Species = 645, Level = 70, Location = 70,}, //Landorus @ Abundant Shrine
|
||||
new EncounterStatic { Species = 646, Level = 75, Location = 61,}, //Kyurem @ Giant Chasm
|
||||
//Event
|
||||
new EncounterStatic { Species = 494, Level = 15, Location = 62, Shiny = false}, // Victini @ Liberty Garden
|
||||
new EncounterStatic { Species = 570, Level = 10, Location = 08, Gender = 0, }, // Zorua @ Castelia City
|
||||
new EncounterStatic { Species = 571, Level = 25, Location = 72, Gender = 1, }, // Zoroark @ Lostlorn Forest
|
||||
};
|
||||
internal static readonly EncounterStatic[] Encounter_BW = Encounter_BW_Roam.SelectMany(e => e.Clone(Roaming_MetLocation_BW)).Concat(Encounter_BW_Regular).ToArray();
|
||||
internal static readonly EncounterStatic[] Encounter_B2W2_Regular =
|
||||
{
|
||||
//Starters @ Aspertia City
|
||||
new EncounterStatic { Gift = true, Species = 495, Level = 5, Location = 117, }, // Snivy
|
||||
new EncounterStatic { Gift = true, Species = 498, Level = 5, Location = 117, }, // Tepig
|
||||
new EncounterStatic { Gift = true, Species = 501, Level = 5, Location = 117, }, // Oshawott
|
||||
//Fossil @ Nacrene City
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 25, Location = 7, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 25, Location = 7, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 25, Location = 7, }, // Aerodactyl
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 25, Location = 7, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 25, Location = 7, }, // Anorith
|
||||
new EncounterStatic { Gift = true, Species = 408, Level = 25, Location = 7, }, // Cranidos
|
||||
new EncounterStatic { Gift = true, Species = 410, Level = 25, Location = 7, }, // Shieldon
|
||||
new EncounterStatic { Gift = true, Species = 564, Level = 25, Location = 7, }, // Tirtouga
|
||||
new EncounterStatic { Gift = true, Species = 566, Level = 25, Location = 7, }, // Archen
|
||||
//Gift
|
||||
new EncounterStatic { Gift = true, Species = 133, Level = 10, Ability = 4, Location = 8, }, //HA Eevee @ Castelia City
|
||||
new EncounterStatic { Gift = true, Species = 585, Level = 30, Ability = 4, Location = 19, Form = 0, }, //HA Deerling @ Route 6
|
||||
new EncounterStatic { Gift = true, Species = 585, Level = 30, Ability = 4, Location = 19, Form = 1, }, //HA Deerling @ Route 6
|
||||
new EncounterStatic { Gift = true, Species = 585, Level = 30, Ability = 4, Location = 19, Form = 2, }, //HA Deerling @ Route 6
|
||||
new EncounterStatic { Gift = true, Species = 585, Level = 30, Ability = 4, Location = 19, Form = 3, }, //HA Deerling @ Route 6
|
||||
new EncounterStatic { Gift = true, Species = 443, Level = 01, Shiny = true, Location = 122, Gender = 0, Version = GameVersion.B2, }, //Shiny Gible @ Floccesy Town
|
||||
new EncounterStatic { Gift = true, Species = 147, Level = 01, Shiny = true, Location = 122, Gender = 0, Version = GameVersion.W2, }, //Shiny Dratini @ Floccesy Town
|
||||
new EncounterStatic { Gift = true, Species = 129, Level = 05, Location = 68, }, // Magikarp @ Marvelous Bridge
|
||||
new EncounterStatic { Gift = true, Species = 440, Level = 01, EggLocation = 60003, }, // Happiny Egg from PKMN Breeder
|
||||
//Stationary
|
||||
new EncounterStatic { Species = 590, Level = 29, Location = 19, }, // Foongus @ Route 6
|
||||
new EncounterStatic { Species = 591, Level = 43, Location = 24, }, // Amoonguss @ Route 11
|
||||
new EncounterStatic { Species = 593, Level = 40, Location = 71, Ability = 4, Version = GameVersion.B2, Gender = 0,}, // HA Jellicent @ Undella Bay Mon Only
|
||||
new EncounterStatic { Species = 593, Level = 40, Location = 71, Ability = 4, Version = GameVersion.W2, Gender = 1,}, // HA Jellicent @ Undella Bay Thurs Only
|
||||
new EncounterStatic { Species = 628, Level = 25, Location = 17, Ability = 4, Version = GameVersion.W2, Gender = 0,}, // HA Braviary @ Route 4 Mon Only
|
||||
new EncounterStatic { Species = 630, Level = 25, Location = 17, Ability = 4, Version = GameVersion.B2, Gender = 1,}, // HA Mandibuzz @ Route 4 Thurs Only
|
||||
new EncounterStatic { Species = 637, Level = 35, Location = 35, }, // Volcarona @ Relic Castle
|
||||
new EncounterStatic { Species = 637, Level = 65, Location = 35, }, // Volcarona @ Relic Castle
|
||||
new EncounterStatic { Species = 558, Level = 42, Location = 141, }, // Crustle @ Seaside Cave
|
||||
new EncounterStatic { Species = 612, Level = 60, Location = 147, Shiny = true}, // Haxorus @ Nature Preserve
|
||||
//Stationary Lengerdary
|
||||
new EncounterStatic { Species = 377, Level = 65, Location = 150,}, //Regirock @ Rock Peak Chamber
|
||||
new EncounterStatic { Species = 378, Level = 65, Location = 151,}, //Regice @ Iceberg Chamber
|
||||
new EncounterStatic { Species = 379, Level = 65, Location = 152,}, //Registeel @ Iron Chamber
|
||||
new EncounterStatic { Species = 380, Level = 68, Location = 032, Version = GameVersion.W2, }, // Latias @ Dreamyard
|
||||
new EncounterStatic { Species = 381, Level = 68, Location = 032, Version = GameVersion.B2, }, // Latios @ Dreamyard
|
||||
new EncounterStatic { Species = 480, Level = 65, Location = 007,}, //Uxie @ Nacrene City
|
||||
new EncounterStatic { Species = 481, Level = 65, Location = 056,}, //Mesprit @ Celestial Tower
|
||||
new EncounterStatic { Species = 482, Level = 65, Location = 128,}, //Azelf @ Route 23
|
||||
new EncounterStatic { Species = 485, Level = 68, Location = 132,}, //Heatran @ Reversal Mountain
|
||||
new EncounterStatic { Species = 486, Level = 68, Location = 038,}, //Regigigas @ Twist Mountain
|
||||
new EncounterStatic { Species = 488, Level = 68, Location = 068,}, //Cresselia @ Marvelous Bridge
|
||||
|
||||
new EncounterStatic { Species = 638, Level = 45, Location = 026,}, // Cobalion @ Route 13
|
||||
new EncounterStatic { Species = 638, Level = 65, Location = 026,}, // Cobalion @ Route 13
|
||||
new EncounterStatic { Species = 639, Level = 45, Location = 127,}, // Terrakion @ Route 22
|
||||
new EncounterStatic { Species = 639, Level = 65, Location = 127,}, // Terrakion @ Route 22
|
||||
new EncounterStatic { Species = 640, Level = 45, Location = 024,}, // Virizion @ Route 11
|
||||
new EncounterStatic { Species = 640, Level = 65, Location = 024,}, // Virizion @ Route 11
|
||||
new EncounterStatic { Species = 643, Level = 70, Location = 039, Shiny = false, Version = GameVersion.W2, }, // Reshiram @ Dragonspiral Tower
|
||||
new EncounterStatic { Species = 644, Level = 70, Location = 039, Shiny = false, Version = GameVersion.B2, }, // Zekrom @ Dragonspiral Tower
|
||||
new EncounterStatic { Species = 646, Level = 70, Location = 061, Form = 0}, // Kyurem @ Giant Chasm
|
||||
//N's Pokemon
|
||||
new EncounterStatic { Species = 509, Level = 07, Location = 15, NSparkle = true, Ability = 2, Nature = Nature.Timid }, //Purloin @ Route 2
|
||||
new EncounterStatic { Species = 519, Level = 13, Location = 33, NSparkle = true, Ability = 2, Nature = Nature.Sassy }, //Pidove @ Pinwheel Forest
|
||||
new EncounterStatic { Species = 532, Level = 13, Location = 33, NSparkle = true, Ability = 1, Nature = Nature.Rash }, //Timburr @ Pinwheel Forest
|
||||
new EncounterStatic { Species = 535, Level = 13, Location = 33, NSparkle = true, Ability = 2, Nature = Nature.Modest }, //Tympole @ Pinwheel Forest
|
||||
new EncounterStatic { Species = 527, Level = 55, Location = 53, NSparkle = true, Ability = 1, Nature = Nature.Timid }, //Woobat @ Wellspring Cave
|
||||
new EncounterStatic { Species = 551, Level = 22, Location = 34, NSparkle = true, Ability = 2, Nature = Nature.Docile }, //Sandile @ Desert Resort
|
||||
new EncounterStatic { Species = 554, Level = 22, Location = 34, NSparkle = true, Ability = 1, Nature = Nature.Naive }, //Darumaka @ Desert Resort
|
||||
new EncounterStatic { Species = 555, Level = 35, Location = 34, NSparkle = true, Ability = 4, Nature = Nature.Calm }, //Darmanitan @ Desert Resort
|
||||
new EncounterStatic { Species = 559, Level = 22, Location = 34, NSparkle = true, Ability = 1, Nature = Nature.Lax }, //Scaggy @ Desert Resort
|
||||
new EncounterStatic { Species = 561, Level = 22, Location = 34, NSparkle = true, Ability = 2, Nature = Nature.Gentle }, //Sigilyph @ Desert Resort
|
||||
new EncounterStatic { Species = 525, Level = 28, Location = 37, NSparkle = true, Ability = 1, Nature = Nature.Naive }, //Boldore @ Chargestone Cave
|
||||
new EncounterStatic { Species = 595, Level = 28, Location = 37, NSparkle = true, Ability = 2, Nature = Nature.Docile }, //Joltik @ Chargestone Cave
|
||||
new EncounterStatic { Species = 597, Level = 28, Location = 37, NSparkle = true, Ability = 1, Nature = Nature.Bashful }, //Ferroseed @ Chargestone Cave
|
||||
new EncounterStatic { Species = 599, Level = 28, Location = 37, NSparkle = true, Ability = 1, Nature = Nature.Rash }, //Klink @ Chargestone Cave
|
||||
new EncounterStatic { Species = 570, Level = 25, Location = 10, NSparkle = true, Ability = 1, Nature = Nature.Hasty, Gift = true} //N's Zorua @ Driftveil City
|
||||
};
|
||||
internal static readonly EncounterStatic[] Encounter_B2W2 = Encounter_DreamRadar.SelectMany(e => e.DreamRadarClone()).Concat(Encounter_B2W2_Regular).ToArray();
|
||||
#endregion
|
||||
#region Trade Tables
|
||||
internal static readonly EncounterTrade[] TradeGift_BW =
|
||||
{
|
||||
new EncounterTrade { Species = 548, Level = 15, Ability = 1, TID = 39922, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {20,20,20,20,31,20}, Nature = Nature.Modest, Version = GameVersion.B, }, // Petilil
|
||||
new EncounterTrade { Species = 546, Level = 15, Ability = 1, TID = 39922, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {20,20,20,20,31,20}, Nature = Nature.Modest, Version = GameVersion.W, }, // Cottonee
|
||||
new EncounterTrade { Species = 550, Level = 25, Ability = 1, TID = 27646, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,31,20,20,20,20}, Nature = Nature.Adamant, Version = GameVersion.B, Form = 0, }, // Basculin-Red
|
||||
new EncounterTrade { Species = 550, Level = 25, Ability = 1, TID = 27646, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,31,20,20,20,20}, Nature = Nature.Adamant, Version = GameVersion.W, Form = 1, }, // Basculin-Blue
|
||||
new EncounterTrade { Species = 587, Level = 30, Ability = 1, TID = 11195, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,20,31,20,20,20}, Nature = Nature.Lax, }, // Emolga
|
||||
new EncounterTrade { Species = 479, Level = 60, Ability = 1, TID = 54673, SID = 00000, OTGender = 1, Gender = 2, IVs = new[] {20,20,20,20,20,31}, Nature = Nature.Gentle, }, // Rotom
|
||||
new EncounterTrade { Species = 446, Level = 60, Ability = 2, TID = 40217, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {31,20,20,20,20,20}, Nature = Nature.Serious, }, // Munchlax
|
||||
};
|
||||
internal static readonly EncounterTrade[] TradeGift_B2W2 =
|
||||
{
|
||||
new EncounterTrade { Species = 548, Level = 20, Ability = 2, TID = 65217, SID = 00000, OTGender = 1, Gender = 1, IVs = new[] {20,20,20,20,31,20}, Nature = Nature.Timid, Version = GameVersion.B2, }, // Petilil
|
||||
new EncounterTrade { Species = 546, Level = 20, Ability = 1, TID = 05720, SID = 00001, OTGender = 0, Gender = 0, IVs = new[] {20,20,20,20,31,20}, Nature = Nature.Modest, Version = GameVersion.W2, }, // Cottonee
|
||||
new EncounterTrade { Species = 526, Level = 35, Ability = 1, TID = 11195, SID = 00000, OTGender = 0, Gender = 0, IVs = new[] {20,31,20,20,20,20}, Nature = Nature.Adamant, }, // Gigalith
|
||||
new EncounterTrade { Species = 465, Level = 45, Ability = 1, TID = 27658, SID = 00001, OTGender = 0, Gender = 0, IVs = new[] {31,20,20,20,20,20}, Nature = Nature.Hardy, }, // Tangrowth
|
||||
new EncounterTrade { Species = 479, Level = 60, Ability = 1, TID = 54673, SID = 00000, OTGender = 1, Gender = 2, IVs = new[] {20,20,20,20,20,31}, Nature = Nature.Calm, }, // Rotom
|
||||
new EncounterTrade { Species = 424, Level = 40, Ability = 2, TID = 17074, SID = 00001, OTGender = 1, Gender = 0, IVs = new[] {20,20,20,31,20,20}, Nature = Nature.Jolly, }, // Ambipom
|
||||
new EncounterTrade { Species = 065, Level = 40, Ability = 1, TID = 17074, SID = 00001, OTGender = 1, Gender = 0, IVs = new[] {20,20,20,31,20,20}, Nature = Nature.Timid, }, // Alakazam
|
||||
// player is male
|
||||
new EncounterTrade { Species = 052, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 202, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 280, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 410, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 111, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 422, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1, Form = 0, }, //Shellos-Red
|
||||
new EncounterTrade { Species = 303, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 442, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 143, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 216, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 327, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
new EncounterTrade { Species = 175, Level = 50, Ability = 4, TID = 10303, SID = 00000, OTGender = 1,},
|
||||
// player is female
|
||||
new EncounterTrade { Species = 056, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 202, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 280, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 408, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 111, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 422, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0, Form = 1,}, //Shellos-Blue
|
||||
new EncounterTrade { Species = 302, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 442, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 143, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 231, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 327, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
new EncounterTrade { Species = 175, Level = 50, Ability = 4, TID = 54118, SID = 00000, OTGender = 0,},
|
||||
};
|
||||
#endregion
|
||||
#region Alt Slots
|
||||
|
||||
// White forest white version only
|
||||
private static readonly int[] WhiteForest_GrassSpecies =
|
||||
{
|
||||
016,029,032,043,063,066,069,081,092,111,
|
||||
137,175,179,187,239,240,265,270,273,280,
|
||||
287,293,298,304,328,371,396,403,406,440,
|
||||
};
|
||||
private static readonly int[] WhiteForest_SurfSpecies =
|
||||
{
|
||||
194,270,283,341,
|
||||
};
|
||||
private static readonly EncounterArea[] WhiteForestSlot = EncounterArea.GetSimpleEncounterArea(WhiteForest_GrassSpecies, new[] { 5, 5 }, 51, SlotType.Grass).Concat(
|
||||
EncounterArea.GetSimpleEncounterArea(WhiteForest_SurfSpecies, new[] { 5, 5 }, 51, SlotType.Surf)).ToArray();
|
||||
private static readonly EncounterArea[] SlotsBW_Swarm =
|
||||
{
|
||||
//level range and Slottype will be marked later
|
||||
new EncounterArea {Location = 14, Slots = new[]{new EncounterSlot {Species = 083},},},// Farfetch'd @ Route 1
|
||||
new EncounterArea {Location = 15, Slots = new[]{new EncounterSlot {Species = 360},},},// Wynant @ Route 2
|
||||
new EncounterArea {Location = 17, Slots = new[]{new EncounterSlot {Species = 449},},},// Hippopotas @ Route 4
|
||||
new EncounterArea {Location = 18, Slots = new[]{new EncounterSlot {Species = 235},},},// Smeargle @ Route 5
|
||||
new EncounterArea {Location = 20, Slots = new[]{new EncounterSlot {Species = 161},},},// Sentret @ Route 7
|
||||
new EncounterArea {Location = 21, Slots = new[]{new EncounterSlot {Species = 453},},},// Croagunk @ Route 8
|
||||
new EncounterArea {Location = 23, Slots = new[]{new EncounterSlot {Species = 236},},},// Tyrogue @ Route 10
|
||||
new EncounterArea {Location = 25, Slots = new[]{new EncounterSlot {Species = 084},},},// Doduo @ Route 12
|
||||
new EncounterArea {Location = 26, Slots = new[]{new EncounterSlot {Species = 353},},},// Shuppet @ Route 13
|
||||
new EncounterArea {Location = 27, Slots = new[]{new EncounterSlot {Species = 193},},},// Yanma @ Route 14
|
||||
new EncounterArea {Location = 28, Slots = new[]{new EncounterSlot {Species = 056},},},// Mankey @ Route 15
|
||||
new EncounterArea {Location = 29, Slots = new[]{new EncounterSlot {Species = 204},},},// Pineco @ Route 16
|
||||
new EncounterArea {Location = 30, Slots = new[]{new EncounterSlot {Species = 102},},},// Exeggcutes @ Route 18
|
||||
};
|
||||
private static readonly EncounterArea[] SlotsB_Swarm = SlotsBW_Swarm.Concat(new[] {
|
||||
new EncounterArea {Location = 16, Slots = new[]{new EncounterSlot {Species = 313},},},// Volbeat @ Route 3
|
||||
new EncounterArea {Location = 19, Slots = new[]{new EncounterSlot {Species = 311},},},// Plusle @ Route 6
|
||||
new EncounterArea {Location = 22, Slots = new[]{new EncounterSlot {Species = 228},},},// Houndour @ Route 9
|
||||
new EncounterArea {Location = 24, Slots = new[]{new EncounterSlot {Species = 285},},},// Shroomish @ Route 11
|
||||
}).ToArray();
|
||||
private static readonly EncounterArea[] SlotsW_Swarm = SlotsBW_Swarm.Concat(new[] {
|
||||
new EncounterArea {Location = 16, Slots = new[]{new EncounterSlot {Species = 314},},},// Illumise @ Route 3
|
||||
new EncounterArea {Location = 19, Slots = new[]{new EncounterSlot {Species = 312},},},// Minun @ Route 6
|
||||
new EncounterArea {Location = 22, Slots = new[]{new EncounterSlot {Species = 261},},},// Poochyena @ Route 9
|
||||
new EncounterArea {Location = 24, Slots = new[]{new EncounterSlot {Species = 046},},},// Paras @ Route 11
|
||||
}).ToArray();
|
||||
|
||||
private static readonly EncounterArea[] SlotsB2W2_Swarm =
|
||||
{
|
||||
//level range and Slottype will be marked later
|
||||
new EncounterArea {Location = 014, Slots = new[]{new EncounterSlot {Species = 083},},},// Farfetch'd @ Route 1
|
||||
new EncounterArea {Location = 018, Slots = new[]{new EncounterSlot {Species = 177},},},// Natu @ Route 5
|
||||
new EncounterArea {Location = 020, Slots = new[]{new EncounterSlot {Species = 162},},},// Furret @ Route 7
|
||||
new EncounterArea {Location = 021, Slots = new[]{new EncounterSlot {Species = 195},},},// Quagsire @ Route 8
|
||||
new EncounterArea {Location = 022, Slots = new[]{new EncounterSlot {Species = 317},},},// Swalot @ Route 9
|
||||
new EncounterArea {Location = 024, Slots = new[]{new EncounterSlot {Species = 284},},},// Masquerain @ Route 11
|
||||
new EncounterArea {Location = 025, Slots = new[]{new EncounterSlot {Species = 084},},},// Doduo @ Route 12
|
||||
new EncounterArea {Location = 026, Slots = new[]{new EncounterSlot {Species = 277},},},// Swellow @ Route 13
|
||||
new EncounterArea {Location = 028, Slots = new[]{new EncounterSlot {Species = 022},},},// Fearow @ Route 15
|
||||
new EncounterArea {Location = 029, Slots = new[]{new EncounterSlot {Species = 204},},},// Pineco @ Route 16
|
||||
new EncounterArea {Location = 031, Slots = new[]{new EncounterSlot {Species = 187},},},// Hoppip @ Route 18
|
||||
new EncounterArea {Location = 032, Slots = new[]{new EncounterSlot {Species = 097},},},// Hypno @ Dreamyard
|
||||
new EncounterArea {Location = 034, Slots = new[]{new EncounterSlot {Species = 450},},},// Hippowdon @ Desert Resort
|
||||
new EncounterArea {Location = 070, Slots = new[]{new EncounterSlot {Species = 079},},},// Slowpoke @ Abundant shrine
|
||||
new EncounterArea {Location = 132, Slots = new[]{new EncounterSlot {Species = 332},},},// Cacturne @ Reaversal Mountian
|
||||
};
|
||||
private static readonly EncounterArea[] SlotsB2_Swarm = SlotsB2W2_Swarm.Concat(new[] {
|
||||
new EncounterArea {Location = 016, Slots = new[]{new EncounterSlot {Species = 313},},},// Volbeat @ Route 3
|
||||
new EncounterArea {Location = 019, Slots = new[]{new EncounterSlot {Species = 311},},},// Plusle @ Route 6
|
||||
new EncounterArea {Location = 125, Slots = new[]{new EncounterSlot {Species = 185},},},// Sudowoodo @ Route 20
|
||||
new EncounterArea {Location = 127, Slots = new[]{new EncounterSlot {Species = 168},},},// Ariados @ Route 22
|
||||
}).ToArray();
|
||||
private static readonly EncounterArea[] SlotsW2_Swarm = SlotsB2W2_Swarm.Concat(new[] {
|
||||
new EncounterArea {Location = 016, Slots = new[]{new EncounterSlot {Species = 314},},},// Illumise @ Route 3
|
||||
new EncounterArea {Location = 019, Slots = new[]{new EncounterSlot {Species = 312},},},// Minun @ Route 6
|
||||
new EncounterArea {Location = 125, Slots = new[]{new EncounterSlot {Species = 122},},},// Mr.Mime @ Route 20
|
||||
new EncounterArea {Location = 127, Slots = new[]{new EncounterSlot {Species = 166},},},// Ledian @ Route 22
|
||||
}).ToArray();
|
||||
|
||||
private static readonly EncounterSlot[] SlotsB2W2_HiddenGrottoEncounterSlots =
|
||||
{
|
||||
// reference http://bulbapedia.bulbagarden.net/wiki/Hidden_Grotto
|
||||
// Route 2
|
||||
new EncounterSlot{ Species = 029, LevelMin = 55, LevelMax = 60, }, // Nidoran-f
|
||||
new EncounterSlot{ Species = 032, LevelMin = 55, LevelMax = 60, }, // Nidoran-m
|
||||
new EncounterSlot{ Species = 210, LevelMin = 55, LevelMax = 60, }, // Granbull
|
||||
new EncounterSlot{ Species = 505, LevelMin = 55, LevelMax = 60, }, // Watchdog
|
||||
// Route 3
|
||||
new EncounterSlot{ Species = 310, LevelMin = 55, LevelMax = 60, }, // Manectric @ Dark grass
|
||||
new EncounterSlot{ Species = 417, LevelMin = 55, LevelMax = 60, }, // Pachirisu @ Dark grass
|
||||
new EncounterSlot{ Species = 523, LevelMin = 55, LevelMax = 60, }, // Zebstrika @ Dark grass
|
||||
new EncounterSlot{ Species = 048, LevelMin = 55, LevelMax = 60, }, // Venonat @ Pond
|
||||
new EncounterSlot{ Species = 271, LevelMin = 55, LevelMax = 60, }, // Lombre @ Pond
|
||||
new EncounterSlot{ Species = 400, LevelMin = 55, LevelMax = 60, }, // Bibarel @ Pond
|
||||
// Route 5
|
||||
new EncounterSlot{ Species = 510, LevelMin = 20, LevelMax = 25, }, // Liepard
|
||||
new EncounterSlot{ Species = 572, LevelMin = 20, LevelMax = 25, }, // Minccino
|
||||
new EncounterSlot{ Species = 590, LevelMin = 20, LevelMax = 25, }, // Foongus
|
||||
// Route 6
|
||||
new EncounterSlot{ Species = 206, LevelMin = 25, LevelMax = 30, }, // Dunsparce @ Near PKM Breeder
|
||||
new EncounterSlot{ Species = 299, LevelMin = 25, LevelMax = 30, }, // Nospass @ Mistralton Cave
|
||||
new EncounterSlot{ Species = 527, LevelMin = 25, LevelMax = 30, }, // Woobat @ Both
|
||||
new EncounterSlot{ Species = 590, LevelMin = 25, LevelMax = 30, }, // Foongus @ Both
|
||||
// Route 7
|
||||
new EncounterSlot{ Species = 335, LevelMin = 30, LevelMax = 35, }, // Zangoose
|
||||
new EncounterSlot{ Species = 336, LevelMin = 30, LevelMax = 35, }, // Seviper
|
||||
new EncounterSlot{ Species = 505, LevelMin = 30, LevelMax = 35, }, // Watechdog
|
||||
new EncounterSlot{ Species = 613, LevelMin = 30, LevelMax = 35, }, // Cubchoo
|
||||
// Route 9
|
||||
new EncounterSlot{ Species = 089, LevelMin = 35, LevelMax = 40, }, // Muk
|
||||
new EncounterSlot{ Species = 510, LevelMin = 35, LevelMax = 40, }, // Liepard
|
||||
new EncounterSlot{ Species = 569, LevelMin = 35, LevelMax = 40, }, // Garbodor
|
||||
new EncounterSlot{ Species = 626, LevelMin = 35, LevelMax = 40, }, // Bouffalant
|
||||
// Route 13
|
||||
new EncounterSlot{ Species = 114, LevelMin = 35, LevelMax = 40, }, // Tangela @ Gaint Chasm
|
||||
new EncounterSlot{ Species = 363, LevelMin = 35, LevelMax = 40, }, // Spheal @ Stairs
|
||||
new EncounterSlot{ Species = 425, LevelMin = 35, LevelMax = 40, }, // Drifloon @ Stairs
|
||||
new EncounterSlot{ Species = 451, LevelMin = 35, LevelMax = 40, }, // Skorupi @ Gaint Chasm
|
||||
new EncounterSlot{ Species = 590, LevelMin = 35, LevelMax = 40, }, // Foongus @ Both
|
||||
// Route 18
|
||||
new EncounterSlot{ Species = 099, LevelMin = 55, LevelMax = 60, }, // Kingler
|
||||
new EncounterSlot{ Species = 149, LevelMin = 55, LevelMax = 60, }, // Dragonite
|
||||
new EncounterSlot{ Species = 222, LevelMin = 55, LevelMax = 60, }, // Corsola
|
||||
new EncounterSlot{ Species = 441, LevelMin = 55, LevelMax = 60, }, // Chatot
|
||||
// Pinwheel Forest
|
||||
new EncounterSlot{ Species = 061, LevelMin = 55, LevelMax = 60, }, // Poliwhirl @ Outer
|
||||
new EncounterSlot{ Species = 198, LevelMin = 55, LevelMax = 60, }, // Murkrow @ Inner
|
||||
new EncounterSlot{ Species = 286, LevelMin = 55, LevelMax = 60, }, // Breloom @ Inner
|
||||
new EncounterSlot{ Species = 297, LevelMin = 55, LevelMax = 60, }, // Hariyama @ Outer
|
||||
new EncounterSlot{ Species = 308, LevelMin = 55, LevelMax = 60, }, // Medicham @ Outer
|
||||
new EncounterSlot{ Species = 371, LevelMin = 55, LevelMax = 60, }, // Bagon @ Outer
|
||||
new EncounterSlot{ Species = 591, LevelMin = 55, LevelMax = 60, }, // Amoonguss @ Inner
|
||||
// Giant Chasm
|
||||
new EncounterSlot{ Species = 035, LevelMin = 45, LevelMax = 50, }, // Clefairy
|
||||
new EncounterSlot{ Species = 132, LevelMin = 45, LevelMax = 50, }, // Ditto
|
||||
new EncounterSlot{ Species = 215, LevelMin = 45, LevelMax = 50, }, // Sneasel
|
||||
new EncounterSlot{ Species = 375, LevelMin = 45, LevelMax = 50, }, // Metang
|
||||
// Abundant Shrine
|
||||
new EncounterSlot{ Species = 037, LevelMin = 35, LevelMax = 40, }, // Vulpix @ Near Youngster
|
||||
new EncounterSlot{ Species = 055, LevelMin = 35, LevelMax = 40, }, // Golduck @ Shrine
|
||||
new EncounterSlot{ Species = 333, LevelMin = 35, LevelMax = 40, }, // Swablu @ Shrine
|
||||
new EncounterSlot{ Species = 436, LevelMin = 35, LevelMax = 40, }, // Bronzor @ Near Youngster
|
||||
new EncounterSlot{ Species = 619, LevelMin = 35, LevelMax = 40, }, // Amoonguss @ Both
|
||||
// Lostlorn Forest
|
||||
new EncounterSlot{ Species = 127, LevelMin = 20, LevelMax = 25, }, // Pinsir
|
||||
new EncounterSlot{ Species = 214, LevelMin = 20, LevelMax = 25, }, // Heracross
|
||||
new EncounterSlot{ Species = 415, LevelMin = 20, LevelMax = 25, }, // Combee
|
||||
new EncounterSlot{ Species = 542, LevelMin = 20, LevelMax = 25, }, // Leavanny
|
||||
// Route 22
|
||||
new EncounterSlot{ Species = 279, LevelMin = 40, LevelMax = 45, }, // Peplipper
|
||||
new EncounterSlot{ Species = 591, LevelMin = 40, LevelMax = 45, }, // Amoonguss
|
||||
new EncounterSlot{ Species = 619, LevelMin = 50, LevelMax = 55, }, // Mienfoo
|
||||
// Route 23
|
||||
new EncounterSlot{ Species = 055, LevelMin = 50, LevelMax = 55, }, // Golduck
|
||||
new EncounterSlot{ Species = 207, LevelMin = 50, LevelMax = 55, }, // Gligar
|
||||
new EncounterSlot{ Species = 335, LevelMin = 50, LevelMax = 55, }, // Zangoose
|
||||
new EncounterSlot{ Species = 336, LevelMin = 50, LevelMax = 55, }, // Seviper
|
||||
new EncounterSlot{ Species = 359, LevelMin = 50, LevelMax = 55, }, // Absol
|
||||
// Floccesy Ranch
|
||||
new EncounterSlot{ Species = 183, LevelMin = 10, LevelMax = 15, }, // Marill
|
||||
new EncounterSlot{ Species = 206, LevelMin = 10, LevelMax = 15, }, // Dunsparce
|
||||
new EncounterSlot{ Species = 507, LevelMin = 10, LevelMax = 15, }, // Herdier
|
||||
// Funfest Missions
|
||||
// todo : check the level
|
||||
new EncounterSlot{Species = 133, LevelMin = 10, LevelMax = 60, }, //Eevee
|
||||
new EncounterSlot{Species = 134, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 135, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 136, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 196, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 197, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 470, LevelMin = 10, LevelMax = 60, },
|
||||
new EncounterSlot{Species = 471, LevelMin = 10, LevelMax = 60, },
|
||||
};
|
||||
private static readonly EncounterArea[] SlotsB2_HiddenGrotto =
|
||||
{
|
||||
new EncounterArea
|
||||
{
|
||||
Location = 143, // HiddenGrotto
|
||||
Slots = SlotsB2W2_HiddenGrottoEncounterSlots.Concat(new[]{
|
||||
new EncounterSlot{Species = 015, LevelMin = 55, LevelMax = 60 }, // Beedrill @ Pinwheel Forest
|
||||
new EncounterSlot{Species = 434, LevelMin = 10, LevelMax = 60 }, // Stunky from Funfest Missions
|
||||
}).ToArray(),
|
||||
}
|
||||
};
|
||||
private static readonly EncounterArea[] SlotsW2_HiddenGrotto =
|
||||
{
|
||||
new EncounterArea
|
||||
{
|
||||
Location = 143, // HiddenGrotto
|
||||
Slots = SlotsB2W2_HiddenGrottoEncounterSlots.Concat(new[]{
|
||||
new EncounterSlot{Species = 012, LevelMin = 55, LevelMax = 60 }, // Butterfree @ Pinwheel Forest
|
||||
new EncounterSlot{Species = 431, LevelMin = 10, LevelMax = 60 }, // Glameow from Funfest Missions
|
||||
}).ToArray(),
|
||||
}
|
||||
};
|
||||
#endregion
|
||||
|
||||
internal static readonly int[] ValidMet_BW =
|
||||
{
|
||||
004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016, 017, 018, 019, 020,
|
||||
|
|
|
|||
|
|
@ -266,309 +266,7 @@ public static partial class Legal
|
|||
};
|
||||
internal static readonly int[] CosplayPikachuMoves = { 309, 556, 577, 604, 560, 0 };
|
||||
internal static readonly int[] WildPokeballs6 = { 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F };
|
||||
internal static readonly string[][] TradeXY =
|
||||
{
|
||||
new string[0], // 0 - None
|
||||
Util.GetStringList("tradexy", "ja"), // 1
|
||||
Util.GetStringList("tradexy", "en"), // 2
|
||||
Util.GetStringList("tradexy", "fr"), // 3
|
||||
Util.GetStringList("tradexy", "it"), // 4
|
||||
Util.GetStringList("tradexy", "de"), // 5
|
||||
new string[0], // 6 - None
|
||||
Util.GetStringList("tradexy", "es"), // 7
|
||||
Util.GetStringList("tradexy", "ko"), // 8
|
||||
};
|
||||
internal static readonly string[][] TradeAO =
|
||||
{
|
||||
new string[0], // 0 - None
|
||||
Util.GetStringList("tradeao", "ja"), // 1
|
||||
Util.GetStringList("tradeao", "en"), // 2
|
||||
Util.GetStringList("tradeao", "fr"), // 3
|
||||
Util.GetStringList("tradeao", "it"), // 4
|
||||
Util.GetStringList("tradeao", "de"), // 5
|
||||
new string[0], // 6 - None
|
||||
Util.GetStringList("tradeao", "es"), // 7
|
||||
Util.GetStringList("tradeao", "ko"), // 8
|
||||
};
|
||||
|
||||
#region XY Alt Slots
|
||||
private static readonly EncounterArea[] SlotsXYAlt =
|
||||
{
|
||||
new EncounterArea {
|
||||
Location = 104, // Victory Road
|
||||
Slots = new[]
|
||||
{
|
||||
// Drops
|
||||
new EncounterSlot { Species = 075, LevelMin = 57, LevelMax = 57, Form = 0 }, // Graveler
|
||||
new EncounterSlot { Species = 168, LevelMin = 58, LevelMax = 59, Form = 0 }, // Ariados
|
||||
new EncounterSlot { Species = 714, LevelMin = 57, LevelMax = 59, Form = 0 }, // Noibat
|
||||
|
||||
// Swoops
|
||||
new EncounterSlot { Species = 022, LevelMin = 57, LevelMax = 59, Form = 0 }, // Fearow
|
||||
new EncounterSlot { Species = 227, LevelMin = 57, LevelMax = 59, Form = 0 }, // Skarmory
|
||||
new EncounterSlot { Species = 635, LevelMin = 59, LevelMax = 59, Form = 0 }, // Hydreigon
|
||||
},},
|
||||
new EncounterArea {
|
||||
Location = 34, // Route 6
|
||||
Slots = new[]
|
||||
{
|
||||
// Rustling Bush
|
||||
new EncounterSlot { Species = 543, LevelMin = 10, LevelMax = 12, Form = 0 }, // Venipede
|
||||
new EncounterSlot { Species = 531, LevelMin = 10, LevelMax = 12, Form = 0 }, // Audino
|
||||
},},
|
||||
|
||||
new EncounterArea { Location = 38, // Route 7
|
||||
Slots = new[]
|
||||
{
|
||||
// Berry Field
|
||||
new EncounterSlot { Species = 165, LevelMin = 14, LevelMax = 15, Form = 0 }, // Ledyba
|
||||
new EncounterSlot { Species = 313, LevelMin = 14, LevelMax = 15, Form = 0 }, // Volbeat
|
||||
new EncounterSlot { Species = 314, LevelMin = 14, LevelMax = 15, Form = 0 }, // Illumise
|
||||
new EncounterSlot { Species = 412, LevelMin = 14, LevelMax = 15, Form = 0 }, // Burmy
|
||||
new EncounterSlot { Species = 415, LevelMin = 14, LevelMax = 15, Form = 0 }, // Combee
|
||||
new EncounterSlot { Species = 665, LevelMin = 14, LevelMax = 15, Form = 0 }, // Spewpa
|
||||
},},
|
||||
|
||||
new EncounterArea { Location = 88, // Route 18
|
||||
Slots = new[]
|
||||
{
|
||||
// Rustling Bush
|
||||
new EncounterSlot { Species = 632, LevelMin = 44, LevelMax = 46, Form = 0 }, // Durant
|
||||
new EncounterSlot { Species = 631, LevelMin = 45, LevelMax = 45, Form = 0 }, // Heatmor
|
||||
},},
|
||||
|
||||
new EncounterArea { Location = 132, // Glittering Cave
|
||||
Slots = new[]
|
||||
{
|
||||
// Drops
|
||||
new EncounterSlot { Species = 527, LevelMin = 15, LevelMax = 17, Form = 0 }, // Woobat
|
||||
new EncounterSlot { Species = 597, LevelMin = 15, LevelMax = 17, Form = 0 }, // Ferroseed
|
||||
},},
|
||||
|
||||
new EncounterArea { Location = 56, // Reflection Cave
|
||||
Slots = new[]
|
||||
{
|
||||
// Drops
|
||||
new EncounterSlot { Species = 527, LevelMin = 21, LevelMax = 23, Form = 0 }, // Woobat
|
||||
new EncounterSlot { Species = 597, LevelMin = 21, LevelMax = 23, Form = 0 }, // Ferroseed
|
||||
},},
|
||||
|
||||
new EncounterArea { Location = 140, // Terminus Cave
|
||||
Slots = new[]
|
||||
{
|
||||
// Drops
|
||||
new EncounterSlot { Species = 168, LevelMin = 44, LevelMax = 46, Form = 0 }, // Ariados
|
||||
new EncounterSlot { Species = 714, LevelMin = 44, LevelMax = 46, Form = 0 }, // Noibat
|
||||
},},
|
||||
};
|
||||
#endregion
|
||||
#region Static Encounter/Gift Tables
|
||||
private static readonly EncounterStatic[] Encounter_XY =
|
||||
{
|
||||
new EncounterStatic { Gift = true, Species = 650, Level = 5, Location = 10, }, // Chespin
|
||||
new EncounterStatic { Gift = true, Species = 653, Level = 5, Location = 10, }, // Fennekin
|
||||
new EncounterStatic { Gift = true, Species = 656, Level = 5, Location = 10, }, // Froakie
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 1, Level = 10, Location = 22, }, // Bulbasaur
|
||||
new EncounterStatic { Gift = true, Species = 4, Level = 10, Location = 22, }, // Charmander
|
||||
new EncounterStatic { Gift = true, Species = 7, Level = 10, Location = 22, }, // Squirtle
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 20, Location = 44, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 20, Location = 44, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 20, Location = 44, }, // Aerodactyl
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 20, Location = 44, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 20, Location = 44, }, // Anorith
|
||||
new EncounterStatic { Gift = true, Species = 408, Level = 20, Location = 44, }, // Cranidos
|
||||
new EncounterStatic { Gift = true, Species = 410, Level = 20, Location = 44, }, // Shieldon
|
||||
new EncounterStatic { Gift = true, Species = 564, Level = 20, Location = 44, }, // Tirtouga
|
||||
new EncounterStatic { Gift = true, Species = 566, Level = 20, Location = 44, }, // Archen
|
||||
new EncounterStatic { Gift = true, Species = 696, Level = 20, Location = 44, }, // Tyrunt
|
||||
new EncounterStatic { Gift = true, Species = 698, Level = 20, Location = 44, }, // Amaura
|
||||
|
||||
new EncounterStatic { Species = 448, Level = 32, Location = 60, Ability = 1, Nature = Nature.Hasty, Gender = 0, IVs = new[] {6, 25, 16, 31, 25, 19}, Gift = true, Shiny = false }, // Lucario
|
||||
new EncounterStatic { Species = 131, Level = 30, Location = 62, Nature = Nature.Docile, IVs = new[] {31, 20, 20, 20, 20, 20}, Gift = true }, // Lapras
|
||||
|
||||
new EncounterStatic { Species = 143, Level = 15, Location = 38 }, // Snorlax
|
||||
new EncounterStatic { Species = 568, Level = 35, Location = 142 }, // Trubbish
|
||||
new EncounterStatic { Species = 569, Level = 36, Location = 142 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 37, Location = 142 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 38, Location = 142 }, // Garbodor
|
||||
new EncounterStatic { Species = 479, Level = 38, Location = 142 }, // Rotom
|
||||
|
||||
new EncounterStatic { Species = 569, Level = 46, Location = 98 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 47, Location = 98 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 48, Location = 98 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 49, Location = 98 }, // Garbodor
|
||||
new EncounterStatic { Species = 569, Level = 50, Location = 98 }, // Garbodor
|
||||
new EncounterStatic { Species = 354, Level = 46, Location = 98 }, // Banette
|
||||
new EncounterStatic { Species = 354, Level = 47, Location = 98 }, // Banette
|
||||
new EncounterStatic { Species = 354, Level = 48, Location = 98 }, // Banette
|
||||
new EncounterStatic { Species = 354, Level = 49, Location = 98 }, // Banette
|
||||
new EncounterStatic { Species = 354, Level = 50, Location = 98 }, // Banette
|
||||
|
||||
new EncounterStatic { Species = 716, Level = 50, Location = 138, Version = GameVersion.X, Shiny = false, IV3 = true }, // Xerneas
|
||||
new EncounterStatic { Species = 717, Level = 50, Location = 138, Version = GameVersion.Y, Shiny = false, IV3 = true }, // Yveltal
|
||||
new EncounterStatic { Species = 718, Level = 70, Location = 140, Shiny = false, IV3 = true }, // Zygarde
|
||||
|
||||
new EncounterStatic { Species = 150, Level = 70, Location = 168, Shiny = false, IV3 = true }, // Mewtwo
|
||||
|
||||
new EncounterStatic { Species = 144, Level = 70, Location = 146, Shiny = false, IV3 = true }, // Articuno
|
||||
new EncounterStatic { Species = 145, Level = 70, Location = 146, Shiny = false, IV3 = true }, // Zapdos
|
||||
new EncounterStatic { Species = 146, Level = 70, Location = 146, Shiny = false, IV3 = true }, // Moltres
|
||||
};
|
||||
private static readonly EncounterStatic[] Encounter_AO =
|
||||
{
|
||||
new EncounterStatic { Gift = true, Species = 252, Level = 5, Location = 204, }, // Treeko
|
||||
new EncounterStatic { Gift = true, Species = 255, Level = 5, Location = 204, }, // Torchic
|
||||
new EncounterStatic { Gift = true, Species = 258, Level = 5, Location = 204, }, // Mudkip
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 152, Level = 5, Location = 204, }, // Chikorita
|
||||
new EncounterStatic { Gift = true, Species = 155, Level = 5, Location = 204, }, // Cyndaquil
|
||||
new EncounterStatic { Gift = true, Species = 158, Level = 5, Location = 204, }, // Totodile
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 387, Level = 5, Location = 204, }, // Turtwig
|
||||
new EncounterStatic { Gift = true, Species = 390, Level = 5, Location = 204, }, // Chimchar
|
||||
new EncounterStatic { Gift = true, Species = 393, Level = 5, Location = 204, }, // Piplup
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 495, Level = 5, Location = 204, }, // Snivy
|
||||
new EncounterStatic { Gift = true, Species = 498, Level = 5, Location = 204, }, // Tepig
|
||||
new EncounterStatic { Gift = true, Species = 501, Level = 5, Location = 204, }, // Oshawott
|
||||
|
||||
// Fossil
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 20, Location = 190, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 20, Location = 190, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 20, Location = 190, }, // Aerodactyl
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 20, Location = 190, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 20, Location = 190, }, // Anorith
|
||||
new EncounterStatic { Gift = true, Species = 408, Level = 20, Location = 190, }, // Cranidos
|
||||
new EncounterStatic { Gift = true, Species = 410, Level = 20, Location = 190, }, // Shieldon
|
||||
new EncounterStatic { Gift = true, Species = 564, Level = 20, Location = 190, }, // Tirtouga
|
||||
new EncounterStatic { Gift = true, Species = 566, Level = 20, Location = 190, }, // Archen
|
||||
new EncounterStatic { Gift = true, Species = 696, Level = 20, Location = 190, }, // Tyrunt
|
||||
new EncounterStatic { Gift = true, Species = 698, Level = 20, Location = 190, }, // Amaura
|
||||
|
||||
new EncounterStatic { Species = 25, Level = 20, Location = 178, Gender = 1, Ability = 4, IVs = new[] {-1, -1, -1, 31, -1, -1}, Contest = new[] {70,70,70,70,70,0}, Gift = true, Shiny = false, SkipFormCheck = true }, // Pikachu
|
||||
new EncounterStatic { Species = 25, Level = 20, Location = 180, Gender = 1, Ability = 4, IVs = new[] {-1, -1, -1, 31, -1, -1}, Contest = new[] {70,70,70,70,70,0}, Gift = true, Shiny = false, SkipFormCheck = true }, // Pikachu
|
||||
new EncounterStatic { Species = 25, Level = 20, Location = 186, Gender = 1, Ability = 4, IVs = new[] {-1, -1, -1, 31, -1, -1}, Contest = new[] {70,70,70,70,70,0}, Gift = true, Shiny = false, SkipFormCheck = true }, // Pikachu
|
||||
new EncounterStatic { Species = 25, Level = 20, Location = 194, Gender = 1, Ability = 4, IVs = new[] {-1, -1, -1, 31, -1, -1}, Contest = new[] {70,70,70,70,70,0}, Gift = true, Shiny = false, SkipFormCheck = true }, // Pikachu
|
||||
|
||||
new EncounterStatic { Species = 360, Level = 1, EggLocation = 60004, Ability = 1, Gift = true, EggCycles = 70 }, // Wynaut
|
||||
new EncounterStatic { Species = 175, Level = 1, EggLocation = 60004, Ability = 1, Gift = true, EggCycles = 70 }, // Togepi
|
||||
new EncounterStatic { Species = 374, Level = 1, Location = 196, Ability = 1, IVs = new[] {-1, -1, 31, -1, -1, 31}, Gift = true }, // Beldum
|
||||
|
||||
new EncounterStatic { Species = 351, Level = 30, Location = 240, Gender = 1, Ability = 1, Nature = Nature.Lax, IVs = new[] {-1, -1, -1, -1, 31, -1}, Contest = new[] {0,100,0,0,0,0}, Gift = true }, // Castform
|
||||
new EncounterStatic { Species = 319, Level = 40, Location = 318, Gender = 1, Ability = 1, Nature = Nature.Adamant, Gift = true }, // Sharpedo
|
||||
new EncounterStatic { Species = 323, Level = 40, Location = 318, Gender = 1, Ability = 1, Nature = Nature.Quiet, Gift = true }, // Camerupt
|
||||
|
||||
new EncounterStatic { Species = 380, Level = 30, Location = 320, Version = GameVersion.AS, Ability = 1, Gift = true, IV3 = true }, // Latias
|
||||
new EncounterStatic { Species = 381, Level = 30, Location = 320, Version = GameVersion.OR, Ability = 1, Gift = true, IV3 = true }, // Latios
|
||||
|
||||
new EncounterStatic { Species = 382, Level = 45, Location = 296, Version = GameVersion.AS, Shiny = false, IV3 = true }, // Kyogre
|
||||
new EncounterStatic { Species = 383, Level = 45, Location = 296, Version = GameVersion.OR, Shiny = false, IV3 = true }, // Groudon
|
||||
new EncounterStatic { Species = 384, Level = 70, Location = 316, Shiny = false, IV3 = true }, // Rayquaza
|
||||
new EncounterStatic { Species = 386, Level = 80, Location = 316, Shiny = false, IV3 = true, Fateful = true }, // Deoxys
|
||||
|
||||
new EncounterStatic { Species = 377, Level = 40, Location = 278, IV3 = true }, // Regirock
|
||||
new EncounterStatic { Species = 378, Level = 40, Location = 306, IV3 = true }, // Regice
|
||||
new EncounterStatic { Species = 379, Level = 40, Location = 308, IV3 = true }, // Registeel
|
||||
new EncounterStatic { Species = 486, Level = 50, Location = 306, IV3 = true }, // Regigigas
|
||||
|
||||
new EncounterStatic { Species = 249, Level = 50, Location = 304, Version = GameVersion.AS, IV3 = true }, // Lugia
|
||||
new EncounterStatic { Species = 250, Level = 50, Location = 304, Version = GameVersion.OR, IV3 = true }, // Ho-oh
|
||||
|
||||
new EncounterStatic { Species = 483, Level = 50, Location = 348, Version = GameVersion.AS, IV3 = true }, // Dialga
|
||||
new EncounterStatic { Species = 484, Level = 50, Location = 348, Version = GameVersion.OR, IV3 = true }, // Palkia
|
||||
|
||||
new EncounterStatic { Species = 644, Level = 50, Location = 340, Version = GameVersion.AS, IV3 = true }, // Zekrom
|
||||
new EncounterStatic { Species = 643, Level = 50, Location = 340, Version = GameVersion.OR, IV3 = true }, // Reshiram
|
||||
|
||||
new EncounterStatic { Species = 642, Level = 50, Location = 348, Version = GameVersion.AS, IV3 = true }, // Thundurus
|
||||
new EncounterStatic { Species = 641, Level = 50, Location = 348, Version = GameVersion.OR, IV3 = true }, // Tornadus
|
||||
|
||||
new EncounterStatic { Species = 485, Level = 50, Location = 312, IV3 = true }, // Heatran
|
||||
new EncounterStatic { Species = 487, Level = 50, Location = 348, IV3 = true }, // Giratina
|
||||
new EncounterStatic { Species = 488, Level = 50, Location = 344, IV3 = true }, // Cresselia
|
||||
new EncounterStatic { Species = 645, Level = 50, Location = 348, IV3 = true }, // Landorus
|
||||
new EncounterStatic { Species = 646, Level = 50, Location = 342, IV3 = true }, // Kyurem
|
||||
|
||||
new EncounterStatic { Species = 243, Level = 50, Location = 334, IV3 = true }, // Raikou
|
||||
new EncounterStatic { Species = 244, Level = 50, Location = 334, IV3 = true }, // Entei
|
||||
new EncounterStatic { Species = 245, Level = 50, Location = 334, IV3 = true }, // Suicune
|
||||
|
||||
new EncounterStatic { Species = 480, Level = 50, Location = 338, IV3 = true }, // Uxie
|
||||
new EncounterStatic { Species = 481, Level = 50, Location = 338, IV3 = true }, // Mesprit
|
||||
new EncounterStatic { Species = 482, Level = 50, Location = 338, IV3 = true }, // Azelf
|
||||
|
||||
new EncounterStatic { Species = 638, Level = 50, Location = 336, IV3 = true }, // Cobalion
|
||||
new EncounterStatic { Species = 639, Level = 50, Location = 336, IV3 = true }, // Terrakion
|
||||
new EncounterStatic { Species = 640, Level = 50, Location = 336, IV3 = true }, // Virizion
|
||||
|
||||
new EncounterStatic { Species = 352, Level = 30, Location = 240 }, // Kecleon @ Route 119
|
||||
new EncounterStatic { Species = 352, Level = 30, Location = 242 }, // Kecleon @ Route 120
|
||||
new EncounterStatic { Species = 352, Level = 40, Location = 176, Gender = 1, }, // Kecleon @ Lavaridge
|
||||
new EncounterStatic { Species = 352, Level = 45, Location = 196, Ability = 4, }, // Kecleon @ Mossdeep City
|
||||
|
||||
new EncounterStatic { Species = 381, Level = 30, Location = 320, Version = GameVersion.AS, IV3 = true }, // Latios
|
||||
new EncounterStatic { Species = 380, Level = 30, Location = 320, Version = GameVersion.OR, IV3 = true }, // Latias
|
||||
|
||||
new EncounterStatic { Species = 101, Level = 40, Location = 292, Version = GameVersion.AS }, // Electrode
|
||||
new EncounterStatic { Species = 101, Level = 40, Location = 314, Version = GameVersion.OR }, // Electrode
|
||||
|
||||
new EncounterStatic { Species = 100, Level = 20, Location = 302 }, // Voltorb @ Route 119
|
||||
new EncounterStatic { Species = 442, Level = 50, Location = 304 }, // Spiritomb @ Route 120
|
||||
|
||||
// Soaring in the Sky
|
||||
new EncounterStatic { Species = 198, Level = 45, Location = 348 }, // Murkrow
|
||||
new EncounterStatic { Species = 276, Level = 40, Location = 348 }, // Taillow
|
||||
new EncounterStatic { Species = 278, Level = 40, Location = 348 }, // Wingull
|
||||
new EncounterStatic { Species = 279, Level = 40, Location = 348 }, // Pelipper
|
||||
new EncounterStatic { Species = 333, Level = 40, Location = 348 }, // Swablu
|
||||
new EncounterStatic { Species = 425, Level = 45, Location = 348 }, // Drifloon
|
||||
new EncounterStatic { Species = 628, Level = 45, Location = 348 }, // Braviary
|
||||
};
|
||||
#endregion
|
||||
#region Trade Tables
|
||||
internal static readonly EncounterTrade[] TradeGift_XY =
|
||||
{
|
||||
new EncounterTrade { Species = 129, Level = 5, Ability = 1, Gender = 0, TID = 44285, Nature = Nature.Adamant, }, // Magikarp
|
||||
new EncounterTrade { Species = 133, Level = 5, Ability = 1, Gender = 1, TID = 29294, Nature = Nature.Docile, }, // Eevee
|
||||
|
||||
new EncounterTrade { Species = 83, Level = 10, Ability = 1, Gender = 0, TID = 00185, Nature = Nature.Jolly, IVs = new[] {-1, -1, -1, 31, -1, -1}, }, // Farfetch'd
|
||||
new EncounterTrade { Species = 208, Level = 20, Ability = 1, Gender = 1, TID = 19250, Nature = Nature.Impish, IVs = new[] {-1, -1, 31, -1, -1, -1}, }, // Steelix
|
||||
new EncounterTrade { Species = 625, Level = 50, Ability = 1, Gender = 0, TID = 03447, Nature = Nature.Adamant, IVs = new[] {-1, 31, -1, -1, -1, -1}, }, // Bisharp
|
||||
|
||||
new EncounterTrade { Species = 656, Level = 5, Ability = 1, Gender = 0, TID = 00037, Nature = Nature.Jolly, IVs = new[] {20, 20, 20, 31, 20, 20}, }, // Froakie
|
||||
new EncounterTrade { Species = 650, Level = 5, Ability = 1, Gender = 0, TID = 00037, Nature = Nature.Adamant, IVs = new[] {20, 31, 20, 20, 20, 20}, }, // Chespin
|
||||
new EncounterTrade { Species = 653, Level = 5, Ability = 1, Gender = 0, TID = 00037, Nature = Nature.Modest, IVs = new[] {20, 20, 20, 20, 31, 20}, }, // Fennekin
|
||||
|
||||
new EncounterTrade { Species = 280, Level = 5, Ability = 1, Gender = 1, TID = 37110, Nature = Nature.Modest, IVs = new[] {20, 20, 20, 31, 31, 20}, }, // Ralts
|
||||
};
|
||||
internal static readonly EncounterTrade[] TradeGift_AO =
|
||||
{
|
||||
new EncounterTrade { Species = 296, Level = 9, Ability = 2, Gender = 0, TID = 30724, Nature = Nature.Brave, IVs = new[] {-1, 31, -1, -1, -1, -1}, }, // Makuhita
|
||||
new EncounterTrade { Species = 300, Level = 30, Ability = 1, Gender = 1, TID = 03239, Nature = Nature.Naughty, IVs = new[] {-1, -1, -1, 31, -1, -1}, }, // Skitty
|
||||
new EncounterTrade { Species = 222, Level = 50, Ability = 4, Gender = 1, TID = 00325, Nature = Nature.Calm, IVs = new[] {31, -1, -1, -1, -1, 31}, }, // Corsola
|
||||
};
|
||||
#endregion
|
||||
#region Pokémon Link Gifts
|
||||
|
||||
internal static readonly EncounterLink[] LinkGifts6 =
|
||||
{
|
||||
new EncounterLink { Species = 154, Level = 50, Ability = 4, XY = true, ORAS = true }, // Meganium
|
||||
new EncounterLink { Species = 157, Level = 50, Ability = 4, XY = true, ORAS = true }, // Typhlosion
|
||||
new EncounterLink { Species = 160, Level = 50, Ability = 4, XY = true, ORAS = true }, // Feraligatr
|
||||
|
||||
new EncounterLink { Species = 251, Level = 10, Ability = 1, RelearnMoves = new[] {610, 0, 0, 0}, Ball = 11, XY = true }, // Celebi
|
||||
|
||||
new EncounterLink { Species = 377, Level = 50, Ability = 4, RelearnMoves = new[] {153, 8, 444, 359}, XY = true, ORAS = true }, // Regirock
|
||||
new EncounterLink { Species = 378, Level = 50, Ability = 4, RelearnMoves = new[] {85, 133, 58, 258}, XY = true, ORAS = true }, // Regice
|
||||
new EncounterLink { Species = 379, Level = 50, Ability = 4, RelearnMoves = new[] {442, 157, 356, 334}, XY = true, ORAS = true }, // Registeel
|
||||
|
||||
new EncounterLink { Species = 208, Level = 40, Ability = 1, RibbonClassic = false, ORAS = true, OT = false }, // Steelix
|
||||
new EncounterLink { Species = 362, Level = 40, Ability = 1, RibbonClassic = false, ORAS = true, OT = false }, // Glalie
|
||||
};
|
||||
|
||||
#endregion
|
||||
internal static readonly int[] Ban_NoHidden6 =
|
||||
{
|
||||
//Not avaliable at Friend Safari or Horde Encounter
|
||||
|
|
|
|||
|
|
@ -103,165 +103,6 @@ public static partial class Legal
|
|||
};
|
||||
internal static readonly ushort[] HeldItems_SM = new ushort[1].Concat(Pouch_Items_SM).Concat(Pouch_Berries_SM).Concat(Pouch_Medicine_SM).Concat(Pouch_ZCrystalHeld_SM).ToArray();
|
||||
|
||||
#region Encounters
|
||||
private static readonly EncounterStatic[] Encounter_SM = // @ a\1\5\5
|
||||
{
|
||||
// Gifts - 0.bin
|
||||
new EncounterStatic { Gift = true, Species = 722, Level = 5, Location = 24, }, // Rowlet
|
||||
new EncounterStatic { Gift = true, Species = 725, Level = 5, Location = 24, }, // Litten
|
||||
new EncounterStatic { Gift = true, Species = 728, Level = 5, Location = 24, }, // Popplio
|
||||
new EncounterStatic { Gift = true, Species = 138, Level = 15, Location = 58, }, // Omanyte
|
||||
new EncounterStatic { Gift = true, Species = 140, Level = 15, Location = 58, }, // Kabuto
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 15, Location = 58, }, // Aerodactyl
|
||||
new EncounterStatic { Gift = true, Species = 345, Level = 15, Location = 58, }, // Lileep
|
||||
new EncounterStatic { Gift = true, Species = 347, Level = 15, Location = 58, }, // Anorith
|
||||
new EncounterStatic { Gift = true, Species = 408, Level = 15, Location = 58, }, // Cranidos
|
||||
new EncounterStatic { Gift = true, Species = 410, Level = 15, Location = 58, }, // Shieldon
|
||||
new EncounterStatic { Gift = true, Species = 564, Level = 15, Location = 58, }, // Tirtouga
|
||||
new EncounterStatic { Gift = true, Species = 566, Level = 15, Location = 58, }, // Archen
|
||||
new EncounterStatic { Gift = true, Species = 696, Level = 15, Location = 58, }, // Tyrunt
|
||||
new EncounterStatic { Gift = true, Species = 698, Level = 15, Location = 58, }, // Amaura
|
||||
new EncounterStatic { Gift = true, Species = 133, Level = 1, EggLocation = 60002, }, // Eevee @ Nursery helpers
|
||||
new EncounterStatic { Gift = true, Species = 137, Level = 30, Location = 116, }, // Porygon @ Route 15
|
||||
new EncounterStatic { Gift = true, Species = 772, Level = 40, Location = 188, IV3 = true, }, // Type: Null
|
||||
new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 142, Shiny = false, IV3 = true, Version = GameVersion.SN}, // Cosmog 00 FF
|
||||
new EncounterStatic { Gift = true, Species = 789, Level = 5, Location = 144, Shiny = false, IV3 = true, Version = GameVersion.MN}, // Cosmog 00 FF
|
||||
new EncounterStatic { Gift = true, Species = 142, Level = 40, Location = 172, }, // Aerodactyl @ Seafolk Village
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 0, Level = 30, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 1, Level = 30, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 2, Level = 30, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 3, Level = 30, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 0, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 1, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 2, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
new EncounterStatic { Gift = true, Species = 718, Form = 3, Level = 50, Shiny = false, Location = 118, IV3 = true, }, // Zygarde
|
||||
|
||||
new EncounterStatic // Magearna (Bottle Cap) 00 FF
|
||||
{
|
||||
Gift = true, Species = 801, Level = 50, Location = 40001, Shiny = false, IV3 = true,
|
||||
Fateful = true, RibbonWishing = true, Relearn = new [] {705, 430, 381, 270}, Ball = 0x10, // Cherish
|
||||
},
|
||||
|
||||
// Static Encounters - 1.bin
|
||||
new EncounterStatic { Species = 791, Level = 55, Relearn = new[]{713, 322, 242, 428}, Shiny = false, Ability = 1, Location = 176, IV3 = true, Version = GameVersion.SN }, // Solgaleo
|
||||
new EncounterStatic { Species = 792, Level = 55, Relearn = new[]{714, 322, 539, 247}, Shiny = false, Ability = 1, Location = 178, IV3 = true, Version = GameVersion.MN }, // Lunala
|
||||
|
||||
new EncounterStatic { Species = 746, Level = 17, Shiny = false, Ability = 1, Location = 86, }, // Wishiwashi
|
||||
new EncounterStatic { Species = 746, Level = 18, Shiny = false, Ability = 1, Location = 86, }, // Wishiwashi
|
||||
|
||||
new EncounterStatic { Species = 793, Level = 55, Shiny = false, Ability = 1, Location = 082, IV3 = true, }, // Nihilego @ Wela Volcano Park
|
||||
new EncounterStatic { Species = 793, Level = 55, Shiny = false, Ability = 1, Location = 100, IV3 = true, }, // Nihilego @ Diglett’s Tunnel
|
||||
new EncounterStatic { Species = 794, Level = 65, Shiny = false, Ability = 1, Location = 040, IV3 = true, Version = GameVersion.SN }, // Buzzwole @ Melemele Meadow
|
||||
new EncounterStatic { Species = 795, Level = 60, Shiny = false, Ability = 1, Location = 046, IV3 = true, Version = GameVersion.MN }, // Pheromosa @ Verdant Cavern (Trial Site)
|
||||
new EncounterStatic { Species = 796, Level = 65, Shiny = false, Ability = 1, Location = 090, IV3 = true, }, // Xurkitree @ Lush Jungle
|
||||
new EncounterStatic { Species = 796, Level = 65, Shiny = false, Ability = 1, Location = 076, IV3 = true, }, // Xurkitree @ Memorial Hill
|
||||
new EncounterStatic { Species = 798, Level = 60, Shiny = false, Ability = 1, Location = 134, IV3 = true, Version = GameVersion.SN }, // Kartana @ Malie Garden
|
||||
new EncounterStatic { Species = 798, Level = 60, Shiny = false, Ability = 1, Location = 120, IV3 = true, Version = GameVersion.SN }, // Kartana @ Route 17
|
||||
new EncounterStatic { Species = 797, Level = 65, Shiny = false, Ability = 1, Location = 124, IV3 = true, Version = GameVersion.MN }, // Celesteela @ Haina Desert
|
||||
new EncounterStatic { Species = 797, Level = 65, Shiny = false, Ability = 1, Location = 134, IV3 = true, Version = GameVersion.MN }, // Celesteela @ Malie Garden
|
||||
new EncounterStatic { Species = 799, Level = 70, Shiny = false, Ability = 1, Location = 182, IV3 = true, }, // Guzzlord @ Resolution Cave
|
||||
new EncounterStatic { Species = 800, Level = 75, Shiny = false, Ability = 1, Location = 036, IV3 = true, }, // Necrozma @ Ten Carat Hill (Farthest Hollow)
|
||||
|
||||
// QR Scan: Su/M/Tu/W/Th/F/Sa
|
||||
// Melemele Island
|
||||
new EncounterStatic { Species = 155, Level = 12, Relearn = new[]{024, 052, 108, 043}, Location = 010, }, // Cyndaquil @ Route 3
|
||||
new EncounterStatic { Species = 158, Level = 12, Relearn = new[]{232, 099, 055, 043}, Location = 042, }, // Totodile @ Seaward Cave
|
||||
new EncounterStatic { Species = 633, Level = 13, Relearn = new[]{372, 029, 044, 116}, Location = 034, }, // Deino @ Ten Carat Hill
|
||||
new EncounterStatic { Species = 116, Level = 18, Relearn = new[]{225, 239, 055, 043}, Location = 014, }, // Horsea @ Kala'e Bay
|
||||
new EncounterStatic { Species = 599, Level = 08, Relearn = new[]{268, 011, 000, 000}, Location = 020, }, // Klink @ Hau'oli City
|
||||
new EncounterStatic { Species = 152, Level = 10, Relearn = new[]{073, 077, 075, 045}, Location = 012, }, // Chikorita @ Route 2
|
||||
new EncounterStatic { Species = 607, Level = 10, Relearn = new[]{051, 109, 083, 123}, Location = 038, }, // Litwick @ Hau'oli Cemetery
|
||||
|
||||
// Akala Island
|
||||
new EncounterStatic { Species = 574, Level = 17, Relearn = new[]{399, 060, 003, 313}, Location = 054, }, // Gothita @ Route 6
|
||||
new EncounterStatic { Species = 363, Level = 19, Relearn = new[]{392, 362, 301, 227}, Location = 056, }, // Spheal @ Route 7
|
||||
new EncounterStatic { Species = 404, Level = 20, Relearn = new[]{598, 044, 209, 268}, Location = 058, }, // Luxio @ Route 8
|
||||
new EncounterStatic { Species = 679, Level = 23, Relearn = new[]{194, 332, 425, 475}, Location = 094, }, // Honedge @ Akala Outskirts
|
||||
new EncounterStatic { Species = 543, Level = 14, Relearn = new[]{390, 228, 103, 040}, Location = 050, }, // Venipede @ Route 4
|
||||
new EncounterStatic { Species = 069, Level = 16, Relearn = new[]{491, 077, 079, 035}, Location = 052, }, // Bellsprout @ Route 5
|
||||
new EncounterStatic { Species = 183, Level = 17, Relearn = new[]{453, 270, 061, 205}, Location = 086, }, // Marill @ Brooklet Hill
|
||||
|
||||
// Ula'ula Island
|
||||
new EncounterStatic { Species = 111, Level = 30, Relearn = new[]{130, 350, 498, 523}, Location = 138, }, // Rhyhorn @ Blush Mountain
|
||||
new EncounterStatic { Species = 220, Level = 31, Relearn = new[]{573, 036, 420, 196}, Location = 114, }, // Swinub @ Tapu Village
|
||||
new EncounterStatic { Species = 578, Level = 33, Relearn = new[]{101, 248, 283, 473}, Location = 118, }, // Duosion @ Route 16
|
||||
new EncounterStatic { Species = 315, Level = 34, Relearn = new[]{437, 275, 230, 390}, Location = 128, }, // Roselia @ Ula'ula Meadow
|
||||
new EncounterStatic { Species = 397, Level = 27, Relearn = new[]{355, 018, 283, 104}, Location = 106, }, // Staravia @ Route 10
|
||||
new EncounterStatic { Species = 288, Level = 27, Relearn = new[]{359, 498, 163, 203}, Location = 108, }, // Vigoroth @ Route 11
|
||||
new EncounterStatic { Species = 610, Level = 28, Relearn = new[]{231, 337, 206, 163}, Location = 136, }, // Axew @ Mount Hokulani
|
||||
|
||||
// Poni Island
|
||||
new EncounterStatic { Species = 604, Level = 55, Relearn = new[]{435, 051, 029, 306}, Location = 164, }, // Eelektross @ Poni Grove
|
||||
new EncounterStatic { Species = 534, Level = 57, Relearn = new[]{409, 276, 264, 444}, Location = 166, }, // Conkeldurr @ Poni Plains
|
||||
new EncounterStatic { Species = 468, Level = 59, Relearn = new[]{248, 403, 396, 245}, Location = 170, }, // Togekiss @ Poni Gauntlet
|
||||
new EncounterStatic { Species = 542, Level = 57, Relearn = new[]{382, 437, 014, 494}, Location = 156, }, // Leavanny @ Poni Meadow
|
||||
new EncounterStatic { Species = 497, Level = 43, Relearn = new[]{137, 489, 348, 021}, Location = 184, }, // Serperior @ Exeggutor Island
|
||||
new EncounterStatic { Species = 503, Level = 43, Relearn = new[]{362, 227, 453, 279}, Location = 158, }, // Samurott @ Poni Wilds
|
||||
new EncounterStatic { Species = 500, Level = 43, Relearn = new[]{276, 053, 372, 535}, Location = 160, }, // Emboar @ Ancient Poni Path
|
||||
|
||||
new EncounterStatic { Species = 785, Level = 60, Shiny = false, Ability = 1, Location = 030, IV3 = true, }, // Tapu Koko
|
||||
new EncounterStatic { Species = 786, Level = 60, Shiny = false, Ability = 1, Location = 092, IV3 = true, }, // Tapu Lele
|
||||
new EncounterStatic { Species = 787, Level = 60, Shiny = false, Ability = 1, Location = 140, IV3 = true, }, // Tapu Bulu
|
||||
new EncounterStatic { Species = 788, Level = 60, Shiny = false, Ability = 1, Location = 180, IV3 = true, }, // Tapu Fini
|
||||
|
||||
new EncounterStatic { Species = 103, Form = 1, Level = 40, Ability = 1, Location = 184, }, // Exeggutor-1 @ Exeggutor Island
|
||||
};
|
||||
|
||||
private static readonly EncounterArea[] Encounter_Pelago_SM =
|
||||
{
|
||||
new EncounterArea
|
||||
{
|
||||
Location = 30016, // Poké Pelago
|
||||
Slots = new[]
|
||||
{
|
||||
new EncounterSlot {Species = 021, LevelMin = 01, LevelMax = 55}, // Spearow
|
||||
new EncounterSlot {Species = 041, LevelMin = 01, LevelMax = 55}, // Zubat
|
||||
new EncounterSlot {Species = 090, LevelMin = 01, LevelMax = 55}, // Shellder
|
||||
new EncounterSlot {Species = 278, LevelMin = 01, LevelMax = 55}, // Wingull
|
||||
new EncounterSlot {Species = 731, LevelMin = 01, LevelMax = 55}, // Pikipek
|
||||
|
||||
new EncounterSlot {Species = 064, LevelMin = 11, LevelMax = 55}, // Kadabra
|
||||
new EncounterSlot {Species = 081, LevelMin = 11, LevelMax = 55}, // Magnemite
|
||||
new EncounterSlot {Species = 092, LevelMin = 11, LevelMax = 55}, // Gastly
|
||||
new EncounterSlot {Species = 198, LevelMin = 11, LevelMax = 55}, // Murkrow
|
||||
new EncounterSlot {Species = 426, LevelMin = 11, LevelMax = 55}, // Drifblim
|
||||
new EncounterSlot {Species = 703, LevelMin = 11, LevelMax = 55}, // Carbink
|
||||
|
||||
new EncounterSlot {Species = 060, LevelMin = 21, LevelMax = 55}, // Poliwag
|
||||
new EncounterSlot {Species = 120, LevelMin = 21, LevelMax = 55}, // Staryu
|
||||
new EncounterSlot {Species = 127, LevelMin = 21, LevelMax = 55}, // Pinsir
|
||||
new EncounterSlot {Species = 661, LevelMin = 21, LevelMax = 55}, // Fletchling
|
||||
new EncounterSlot {Species = 709, LevelMin = 21, LevelMax = 55}, // Trevenant
|
||||
new EncounterSlot {Species = 771, LevelMin = 21, LevelMax = 55}, // Pyukumuku
|
||||
|
||||
new EncounterSlot {Species = 227, LevelMin = 37, LevelMax = 55}, // Skarmory
|
||||
new EncounterSlot {Species = 375, LevelMin = 37, LevelMax = 55}, // Metang
|
||||
new EncounterSlot {Species = 707, LevelMin = 37, LevelMax = 55}, // Klefki
|
||||
|
||||
new EncounterSlot {Species = 123, LevelMin = 49, LevelMax = 55}, // Scyther
|
||||
new EncounterSlot {Species = 131, LevelMin = 49, LevelMax = 55}, // Lapras
|
||||
new EncounterSlot {Species = 429, LevelMin = 49, LevelMax = 55}, // Mismagius
|
||||
new EncounterSlot {Species = 587, LevelMin = 49, LevelMax = 55}, // Emolga
|
||||
},
|
||||
}
|
||||
};
|
||||
private static readonly EncounterArea[] Encounter_Pelago_SN = { new EncounterArea { Location = 30016, Slots = new[] { new EncounterSlot {Species = 627, LevelMin = 1, LevelMax = 55}, /* Rufflet SUN */ } } };
|
||||
private static readonly EncounterArea[] Encounter_Pelago_MN = { new EncounterArea { Location = 30016, Slots = new[] { new EncounterSlot {Species = 629, LevelMin = 1, LevelMax = 55}, /* Vullaby MOON */ } } };
|
||||
internal static readonly EncounterTrade[] TradeGift_SM = // @ a\1\5\5
|
||||
{
|
||||
// Trades - 4.bin
|
||||
new EncounterTrade { Species = 066, Form = 0, Level = 09, Ability = 2, TID = 00410, SID = 00000, IVs = new[] {-1,31,-1,-1,-1,-1}, OTGender = 1, Gender = 0, Nature = Nature.Brave, }, // Machop
|
||||
new EncounterTrade { Species = 761, Form = 0, Level = 16, Ability = 1, TID = 20683, SID = 00009, IVs = new[] {-1,31,-1,-1,-1,-1}, OTGender = 0, Gender = 1, Nature = Nature.Adamant, }, // Bounsweet
|
||||
new EncounterTrade { Species = 061, Form = 0, Level = 22, Ability = 2, TID = 01092, SID = 00009, IVs = new[] {31,-1,-1,-1,-1,-1}, OTGender = 1, Gender = 1, Nature = Nature.Naughty, }, // Poliwhirl
|
||||
new EncounterTrade { Species = 440, Form = 0, Level = 27, Ability = 2, TID = 10913, SID = 00000, IVs = new[] {-1,-1,-1,-1,31,-1}, OTGender = 1, Gender = 1, Nature = Nature.Calm, }, // Happiny
|
||||
new EncounterTrade { Species = 075, Form = 1, Level = 32, Ability = 1, TID = 20778, SID = 00009, IVs = new[] {-1,-1,31,-1,-1,-1}, OTGender = 0, Gender = 0, Nature = Nature.Impish, EvolveOnTrade = true }, // Graveler-1
|
||||
new EncounterTrade { Species = 762, Form = 0, Level = 43, Ability = 1, TID = 20679, SID = 00009, IVs = new[] {-1,-1,-1,-1,-1,31}, OTGender = 1, Gender = 1, Nature = Nature.Careful, }, // Steenee
|
||||
new EncounterTrade { Species = 663, Form = 0, Level = 59, Ability = 4, TID = 56734, SID = 00008, IVs = new[] {-1,-1,-1,31,-1,-1}, OTGender = 0, Gender = 0, Nature = Nature.Jolly, }, // Talonflame
|
||||
};
|
||||
#endregion
|
||||
|
||||
private static readonly int[] WildPokeballs7 = {
|
||||
0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
|
||||
0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, // Johto Balls
|
||||
|
|
|
|||
|
|
@ -52,8 +52,8 @@
|
|||
<None Remove="Resources\byte\encounter_y.pkl" />
|
||||
<None Remove="Resources\byte\encounter_yellow.pkl" />
|
||||
<None Remove="Resources\byte\encounter_yellow_f.pkl" />
|
||||
<None Remove="Resources\byte\encunters_hb_hg.pkl" />
|
||||
<None Remove="Resources\byte\encunters_hb_ss.pkl" />
|
||||
<None Remove="Resources\byte\encounter_hb_hg.pkl" />
|
||||
<None Remove="Resources\byte\encounter_hb_ss.pkl" />
|
||||
<None Remove="Resources\byte\evos_ao.pkl" />
|
||||
<None Remove="Resources\byte\evos_g3.pkl" />
|
||||
<None Remove="Resources\byte\evos_g4.pkl" />
|
||||
|
|
@ -149,8 +149,8 @@
|
|||
<EmbeddedResource Include="Resources\byte\encounter_y.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_yellow.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_yellow_f.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encunters_hb_hg.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encunters_hb_ss.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_hb_hg.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\encounter_hb_ss.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\evos_ao.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\evos_g3.pkl" />
|
||||
<EmbeddedResource Include="Resources\byte\evos_g4.pkl" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user