Add fetching for lgpe encounters (legality checks)

This commit is contained in:
Kurt 2018-11-11 22:46:03 -08:00
parent 101149eb2e
commit 5abbe6dceb
6 changed files with 13 additions and 5 deletions

View file

@ -10,6 +10,7 @@ using static PKHeX.Core.Encounters4;
using static PKHeX.Core.Encounters5; using static PKHeX.Core.Encounters5;
using static PKHeX.Core.Encounters6; using static PKHeX.Core.Encounters6;
using static PKHeX.Core.Encounters7; using static PKHeX.Core.Encounters7;
using static PKHeX.Core.Encounters7b;
namespace PKHeX.Core namespace PKHeX.Core
{ {
@ -500,6 +501,9 @@ namespace PKHeX.Core
case GameVersion.US: return SlotsUS; case GameVersion.US: return SlotsUS;
case GameVersion.UM: return SlotsUM; case GameVersion.UM: return SlotsUM;
case GameVersion.GP: return SlotsGP;
case GameVersion.GE: return SlotsGE;
default: return Enumerable.Empty<EncounterArea>(); default: return Enumerable.Empty<EncounterArea>();
} }
} }

View file

@ -9,6 +9,7 @@ using static PKHeX.Core.Encounters4;
using static PKHeX.Core.Encounters5; using static PKHeX.Core.Encounters5;
using static PKHeX.Core.Encounters6; using static PKHeX.Core.Encounters6;
using static PKHeX.Core.Encounters7; using static PKHeX.Core.Encounters7;
using static PKHeX.Core.Encounters7b;
namespace PKHeX.Core namespace PKHeX.Core
{ {
@ -363,6 +364,9 @@ namespace PKHeX.Core
case GameVersion.US: return StaticUS; case GameVersion.US: return StaticUS;
case GameVersion.UM: return StaticUM; case GameVersion.UM: return StaticUM;
case GameVersion.GP: return StaticGP;
case GameVersion.GE: return StaticGE;
default: return Enumerable.Empty<EncounterStatic>(); default: return Enumerable.Empty<EncounterStatic>();
} }
} }

View file

@ -77,7 +77,7 @@ namespace PKHeX.Core
case 4: return pkm.HGSS ? Encounters4.TradeGift_HGSS : Encounters4.TradeGift_DPPt; case 4: return pkm.HGSS ? Encounters4.TradeGift_HGSS : Encounters4.TradeGift_DPPt;
case 5: return pkm.B2W2 ? Encounters5.TradeGift_B2W2 : Encounters5.TradeGift_BW; case 5: return pkm.B2W2 ? Encounters5.TradeGift_B2W2 : Encounters5.TradeGift_BW;
case 6: return pkm.XY ? Encounters6.TradeGift_XY : Encounters6.TradeGift_AO; case 6: return pkm.XY ? Encounters6.TradeGift_XY : Encounters6.TradeGift_AO;
case 7: return pkm.SM ? Encounters7.TradeGift_SM : Encounters7.TradeGift_USUM; case 7: return pkm.GG ? Encounters7b.TradeGift_GG : pkm.SM ? Encounters7.TradeGift_SM : Encounters7.TradeGift_USUM;
} }
return null; return null;
} }

View file

@ -16,7 +16,7 @@ namespace PKHeX.Core
public static IEnumerable<MysteryGift> GetPossible(PKM pkm, IReadOnlyList<DexLevel> vs) public static IEnumerable<MysteryGift> GetPossible(PKM pkm, IReadOnlyList<DexLevel> vs)
{ {
var table = GetTable(pkm.GenNumber); var table = GetTable(pkm.GenNumber, pkm);
return table.Where(wc => vs.Any(dl => dl.Species == wc.Species)); return table.Where(wc => vs.Any(dl => dl.Species == wc.Species));
} }
@ -28,12 +28,12 @@ namespace PKHeX.Core
case 4: return GetMatchingPCD(pkm, MGDB_G4); case 4: return GetMatchingPCD(pkm, MGDB_G4);
case 5: return GetMatchingPGF(pkm, MGDB_G5); case 5: return GetMatchingPGF(pkm, MGDB_G5);
case 6: return GetMatchingWC6(pkm, MGDB_G6); case 6: return GetMatchingWC6(pkm, MGDB_G6);
case 7: return GetMatchingWC7(pkm, MGDB_G7); case 7: return pkm.GG ? GetMatchingWC7(pkm, MGDB_G7GG) : GetMatchingWC7(pkm, MGDB_G7);
default: return Enumerable.Empty<MysteryGift>(); default: return Enumerable.Empty<MysteryGift>();
} }
} }
private static IEnumerable<MysteryGift> GetTable(int generation) private static IEnumerable<MysteryGift> GetTable(int generation, PKM pkm)
{ {
switch (generation) switch (generation)
{ {
@ -41,7 +41,7 @@ namespace PKHeX.Core
case 4: return MGDB_G4; case 4: return MGDB_G4;
case 5: return MGDB_G5; case 5: return MGDB_G5;
case 6: return MGDB_G6; case 6: return MGDB_G6;
case 7: return MGDB_G7; case 7: return pkm.GG ? MGDB_G7GG : MGDB_G7;
default: return Enumerable.Empty<MysteryGift>(); default: return Enumerable.Empty<MysteryGift>();
} }
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 745 B

After

Width:  |  Height:  |  Size: 786 B