mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-23 12:33:06 +00:00
commit
a692382ed2
6 changed files with 34 additions and 22 deletions
|
@ -308,14 +308,11 @@ namespace PKHeX.Core
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
else if (3 <= pkm.Format && pkm.Format <= 5)
|
||||||
// Insert Gen 3 Checks Here
|
|
||||||
if (pkm.Format == 3)
|
|
||||||
{
|
{
|
||||||
// Suppressing this temporarily
|
// Suppressing temporarily
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// End Gen 3 Checks
|
|
||||||
|
|
||||||
if (validOT.Length == 0)
|
if (validOT.Length == 0)
|
||||||
{
|
{
|
||||||
|
@ -1312,8 +1309,6 @@ namespace PKHeX.Core
|
||||||
{
|
{
|
||||||
if (pkm.Format < 3)
|
if (pkm.Format < 3)
|
||||||
return; // no ball info saved
|
return; // no ball info saved
|
||||||
if (pkm.GenNumber < 6)
|
|
||||||
return; // not implemented
|
|
||||||
|
|
||||||
if (!Encounter.Valid)
|
if (!Encounter.Valid)
|
||||||
return;
|
return;
|
||||||
|
@ -1349,6 +1344,8 @@ namespace PKHeX.Core
|
||||||
EncounterStatic enc = EncounterMatch as EncounterStatic;
|
EncounterStatic enc = EncounterMatch as EncounterStatic;
|
||||||
if (enc?.Gift ?? false)
|
if (enc?.Gift ?? false)
|
||||||
verifyBallEquals(enc.Ball);
|
verifyBallEquals(enc.Ball);
|
||||||
|
else if (pkm.Met_Location == 75 && pkm.Gen5) // DreamWorld
|
||||||
|
verifyBallEquals(Legal.DreamWorldBalls);
|
||||||
else
|
else
|
||||||
verifyBallEquals(Legal.getWildBalls(pkm));
|
verifyBallEquals(Legal.getWildBalls(pkm));
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -305,8 +305,8 @@ namespace PKHeX.Core
|
||||||
{
|
{
|
||||||
foreach (EncounterStatic s in t)
|
foreach (EncounterStatic s in t)
|
||||||
{
|
{
|
||||||
s.Location = 75; //Entree Forest. Location can be a flag from dream world
|
s.Location = 75; //Entree Forest
|
||||||
s.Ability = 4; //What if 1=2=HA?
|
s.Ability = (PersonalTable.B2W2.getAbilities(s.Species, s.Form)[2] == 0) ? 1 : 4; // Check if has HA
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private static void MarkG5Slots(ref EncounterArea[] Areas)
|
private static void MarkG5Slots(ref EncounterArea[] Areas)
|
||||||
|
@ -499,8 +499,6 @@ namespace PKHeX.Core
|
||||||
var Pt_Slots = getEncounterTables(GameVersion.Pt);
|
var Pt_Slots = getEncounterTables(GameVersion.Pt);
|
||||||
var HG_Slots = getEncounterTables(GameVersion.HG);
|
var HG_Slots = getEncounterTables(GameVersion.HG);
|
||||||
var SS_Slots = getEncounterTables(GameVersion.SS);
|
var SS_Slots = getEncounterTables(GameVersion.SS);
|
||||||
var DP_GreatMarshAlt = EncounterArea.getSimpleEncounterArea(DP_GreatMarshAlt_Speices, new[] {22,22, 24,24, 26,26}, 52, SlotType.Grass_Safari);
|
|
||||||
var Pt_GreatMarshAlt = EncounterArea.getSimpleEncounterArea(Pt_GreatMarshAlt_Speices, new[] {27,30}, 52, SlotType.Grass_Safari);
|
|
||||||
var DP_Trophy = EncounterArea.getTrophyArea(TrophyDP, new[] {16, 18});
|
var DP_Trophy = EncounterArea.getTrophyArea(TrophyDP, new[] {16, 18});
|
||||||
var Pt_Trophy = EncounterArea.getTrophyArea(TrophyPt, new[] {22, 22});
|
var Pt_Trophy = EncounterArea.getTrophyArea(TrophyPt, new[] {22, 22});
|
||||||
var HG_Headbutt_Slots = EncounterArea.getArray4HGSS_Headbutt(Data.unpackMini(Resources.encunters_hb_hg, "hg"));
|
var HG_Headbutt_Slots = EncounterArea.getArray4HGSS_Headbutt(Data.unpackMini(Resources.encunters_hb_hg, "hg"));
|
||||||
|
@ -564,7 +562,7 @@ namespace PKHeX.Core
|
||||||
MarkBWSwarmSlots(ref SlotsB_Swarm);
|
MarkBWSwarmSlots(ref SlotsB_Swarm);
|
||||||
MarkBWSwarmSlots(ref SlotsW_Swarm);
|
MarkBWSwarmSlots(ref SlotsW_Swarm);
|
||||||
SlotsB = addExtraTableSlots(BSlots, SlotsB_Swarm);
|
SlotsB = addExtraTableSlots(BSlots, SlotsB_Swarm);
|
||||||
SlotsW = addExtraTableSlots(WSlots, SlotsW_Swarm);
|
SlotsW = addExtraTableSlots(WSlots, SlotsW_Swarm, WhiteForestSlot);
|
||||||
|
|
||||||
var B2Slots = getEncounterTables(GameVersion.B2);
|
var B2Slots = getEncounterTables(GameVersion.B2);
|
||||||
var W2Slots = getEncounterTables(GameVersion.W2);
|
var W2Slots = getEncounterTables(GameVersion.W2);
|
||||||
|
@ -937,7 +935,7 @@ namespace PKHeX.Core
|
||||||
|
|
||||||
EncounterTrade[] table = getEncounterTradeTable(pkm);
|
EncounterTrade[] table = getEncounterTradeTable(pkm);
|
||||||
|
|
||||||
var poss = table?.Where(f => p.Any(r => r.Species == f.Species)).ToList();
|
var poss = table?.Where(f => p.Any(r => r.Species == f.Species) && f.Version.Contains((GameVersion)pkm.Version)).ToList();
|
||||||
|
|
||||||
if (poss == null || poss.Count == 0)
|
if (poss == null || poss.Count == 0)
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
Gender = Gender,
|
Gender = Gender,
|
||||||
EggLocation = EggLocation,
|
EggLocation = EggLocation,
|
||||||
Nature = Nature,
|
Nature = Nature,
|
||||||
Gift = Gift,
|
Gift = true, //Only
|
||||||
Ball = 25, //Dream Ball
|
Ball = 25, //Dream Ball
|
||||||
Version = Version,
|
Version = Version,
|
||||||
IVs = IVs,
|
IVs = IVs,
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
public string Name => "In-game Trade";
|
public string Name => "In-game Trade";
|
||||||
|
|
||||||
public static int[] DefalutMetLocation = new[]
|
public static int[] DefalutMetLocation =
|
||||||
{
|
{
|
||||||
254, 2001, 30002, 30001, 30001,
|
254, 2001, 30002, 30001, 30001,
|
||||||
};
|
};
|
||||||
|
@ -31,5 +31,4 @@
|
||||||
{
|
{
|
||||||
public uint PID;
|
public uint PID;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -524,7 +524,7 @@ namespace PKHeX.Core
|
||||||
//Stationary Lengerdary
|
//Stationary Lengerdary
|
||||||
new EncounterStatic { Species = 144, Level = 50, Location = 203, }, //Articuno @ Seafoam Islands
|
new EncounterStatic { Species = 144, Level = 50, Location = 203, }, //Articuno @ Seafoam Islands
|
||||||
new EncounterStatic { Species = 145, Level = 50, Location = 158, }, //Zapdos @ Route 10
|
new EncounterStatic { Species = 145, Level = 50, Location = 158, }, //Zapdos @ Route 10
|
||||||
new EncounterStatic { Species = 146, Level = 50, Location = 137, }, //Moltres @ Mt. Silver
|
new EncounterStatic { Species = 146, Level = 50, Location = 219, }, //Moltres @ Mt. Silver Cave
|
||||||
new EncounterStatic { Species = 150, Level = 70, Location = 199, }, //Mewtwo @ Cerulean Cave
|
new EncounterStatic { Species = 150, Level = 70, Location = 199, }, //Mewtwo @ Cerulean Cave
|
||||||
new EncounterStatic { Species = 245, Level = 40, Location = 173, }, //Suicune @ Route 25
|
new EncounterStatic { Species = 245, Level = 40, Location = 173, }, //Suicune @ Route 25
|
||||||
new EncounterStatic { Species = 245, Level = 40, Location = 206, }, //Suicune @ Burned Tower
|
new EncounterStatic { Species = 245, Level = 40, Location = 206, }, //Suicune @ Burned Tower
|
||||||
|
@ -1011,12 +1011,15 @@ namespace PKHeX.Core
|
||||||
183,194,195,298,399,400, // Pre-National Pokédex
|
183,194,195,298,399,400, // Pre-National Pokédex
|
||||||
046,102,115,193,285,316,452,454 // Post-National Pokédex
|
046,102,115,193,285,316,452,454 // Post-National Pokédex
|
||||||
};
|
};
|
||||||
|
private static readonly EncounterArea[] DP_GreatMarshAlt = EncounterArea.getSimpleEncounterArea(DP_GreatMarshAlt_Speices, new[] { 22, 22, 24, 24, 26, 26 }, 52, SlotType.Grass_Safari);
|
||||||
|
|
||||||
private static readonly int[] Pt_GreatMarshAlt_Speices =
|
private static readonly int[] Pt_GreatMarshAlt_Speices =
|
||||||
{
|
{
|
||||||
114,193,195,357,451,453,455,
|
114,193,195,357,451,453,455,
|
||||||
194, // Pre-National Pokédex
|
194, // Pre-National Pokédex
|
||||||
046,102,115,285,316,352,452,454 // Post-National Pokédex
|
046,102,115,285,316,352,452,454 // Post-National Pokédex
|
||||||
};
|
};
|
||||||
|
private static readonly EncounterArea[] Pt_GreatMarshAlt = EncounterArea.getSimpleEncounterArea(Pt_GreatMarshAlt_Speices, new[] { 27, 30 }, 52, SlotType.Grass_Safari);
|
||||||
|
|
||||||
private static readonly int[] Shellos_EastSeaLocation_DP =
|
private static readonly int[] Shellos_EastSeaLocation_DP =
|
||||||
{
|
{
|
||||||
|
|
|
@ -106,6 +106,7 @@ namespace PKHeX.Core
|
||||||
// HGSS balls not usable
|
// HGSS balls not usable
|
||||||
// Dream ball not usable in wild
|
// Dream ball not usable in wild
|
||||||
};
|
};
|
||||||
|
internal static readonly int[] DreamWorldBalls = WildPokeBalls5.Concat(new[] { 25 }).ToArray();
|
||||||
|
|
||||||
internal static readonly int[] FutureEvolutionsGen5 =
|
internal static readonly int[] FutureEvolutionsGen5 =
|
||||||
{
|
{
|
||||||
|
@ -531,7 +532,7 @@ namespace PKHeX.Core
|
||||||
new EncounterStatic { Species = 646, Level = 75, Location = 61,}, //Kyurem @ Giant Chasm
|
new EncounterStatic { Species = 646, Level = 75, Location = 61,}, //Kyurem @ Giant Chasm
|
||||||
//Event
|
//Event
|
||||||
new EncounterStatic { Species = 494, Level = 15, Location = 62, Shiny = false}, // Victini @ Liberty Garden
|
new EncounterStatic { Species = 494, Level = 15, Location = 62, Shiny = false}, // Victini @ Liberty Garden
|
||||||
new EncounterStatic { Species = 570, Level = 10, Location = 32, Gender = 0, }, // Zorua @ Castelia City
|
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
|
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_BW = Encounter_BW_Roam.SelectMany(e => e.Clone(Roaming_MetLocation_BW)).Concat(Encounter_BW_Regular).ToArray();
|
||||||
|
@ -662,6 +663,20 @@ namespace PKHeX.Core
|
||||||
};
|
};
|
||||||
#endregion
|
#endregion
|
||||||
#region Alt Slots
|
#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 =
|
private static readonly EncounterArea[] SlotsBW_Swarm =
|
||||||
{
|
{
|
||||||
//level range and Slottype will be marked later
|
//level range and Slottype will be marked later
|
||||||
|
@ -689,7 +704,7 @@ namespace PKHeX.Core
|
||||||
new EncounterArea {Location = 16, Slots = new[]{new EncounterSlot {Species = 314},},},// Illumise @ Route 3
|
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 = 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 = 22, Slots = new[]{new EncounterSlot {Species = 261},},},// Poochyena @ Route 9
|
||||||
new EncounterArea {Location = 24, Slots = new[]{new EncounterSlot {Species = 048},},},// Paras @ Route 11
|
new EncounterArea {Location = 24, Slots = new[]{new EncounterSlot {Species = 046},},},// Paras @ Route 11
|
||||||
}).ToArray();
|
}).ToArray();
|
||||||
|
|
||||||
private static readonly EncounterArea[] SlotsB2W2_Swarm =
|
private static readonly EncounterArea[] SlotsB2W2_Swarm =
|
||||||
|
@ -705,7 +720,7 @@ namespace PKHeX.Core
|
||||||
new EncounterArea {Location = 026, Slots = new[]{new EncounterSlot {Species = 277},},},// Swellow @ Route 13
|
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 = 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 = 029, Slots = new[]{new EncounterSlot {Species = 204},},},// Pineco @ Route 16
|
||||||
new EncounterArea {Location = 030, Slots = new[]{new EncounterSlot {Species = 187},},},// Hoppip @ Route 18
|
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 = 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 = 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 = 070, Slots = new[]{new EncounterSlot {Species = 079},},},// Slowpoke @ Abundant shrine
|
||||||
|
@ -714,7 +729,7 @@ namespace PKHeX.Core
|
||||||
private static readonly EncounterArea[] SlotsB2_Swarm = SlotsB2W2_Swarm.Concat(new[] {
|
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 = 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 = 019, Slots = new[]{new EncounterSlot {Species = 311},},},// Plusle @ Route 6
|
||||||
new EncounterArea {Location = 125, Slots = new[]{new EncounterSlot {Species = 184},},},// Sudowoodo @ Route 20
|
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
|
new EncounterArea {Location = 127, Slots = new[]{new EncounterSlot {Species = 168},},},// Ariados @ Route 22
|
||||||
}).ToArray();
|
}).ToArray();
|
||||||
private static readonly EncounterArea[] SlotsW2_Swarm = SlotsB2W2_Swarm.Concat(new[] {
|
private static readonly EncounterArea[] SlotsW2_Swarm = SlotsB2W2_Swarm.Concat(new[] {
|
||||||
|
|
Loading…
Reference in a new issue