mirror of
https://github.com/kwsch/PKHeX
synced 2025-02-17 05:48:44 +00:00
Add encountertrades
This commit is contained in:
parent
2fcf22d621
commit
cd29b5f8f0
4 changed files with 34 additions and 5 deletions
|
@ -179,6 +179,12 @@ namespace PKHeX
|
|||
validOT = Legal.TradeAO[pkm.Language];
|
||||
index = Array.IndexOf(Legal.TradeGift_AO, EncounterMatch);
|
||||
}
|
||||
else if (pkm.SM)
|
||||
{
|
||||
// TODO
|
||||
AddLine(Severity.Valid, "Ingame Trade for Sun/Moon un-implemented.", CheckIdentifier.EVs);
|
||||
return;
|
||||
}
|
||||
|
||||
if (validOT.Length == 0)
|
||||
{
|
||||
|
@ -206,7 +212,7 @@ namespace PKHeX
|
|||
|
||||
if (pkm.IsEgg)
|
||||
{
|
||||
if (!pkm.IsNicknamed)
|
||||
if (!pkm.IsNicknamed && (pkm.Format != 7))
|
||||
AddLine(Severity.Invalid, "Eggs must be nicknamed.", CheckIdentifier.EVs);
|
||||
else if (PKX.SpeciesLang[pkm.Language][0] != pkm.Nickname)
|
||||
AddLine(Severity.Invalid, "Egg name does not match language Egg name.", CheckIdentifier.EVs);
|
||||
|
@ -868,6 +874,11 @@ namespace PKHeX
|
|||
if (pkm.CurrentHandler != 1)
|
||||
return new CheckResult(Severity.Invalid, "Current handler should not be Event OT.", CheckIdentifier.History);
|
||||
}
|
||||
if (EncounterType == typeof (EncounterTrade) && pkm.Format == 7)
|
||||
{
|
||||
// TODO
|
||||
return new CheckResult(Severity.Valid, "S/M History Block check skipped.", CheckIdentifier.History);
|
||||
}
|
||||
if (!pkm.WasEvent && !(pkm.WasLink && (EncounterMatch as EncounterLink)?.OT == false) && (pkm.HT_Name.Length == 0 || pkm.Geo1_Country == 0)) // Is not Traded
|
||||
{
|
||||
if (pkm.HT_Name.Length != 0)
|
||||
|
|
|
@ -252,16 +252,21 @@ namespace PKHeX
|
|||
if (!pkm.WasIngameTrade)
|
||||
return null;
|
||||
int lang = pkm.Language;
|
||||
if (lang == 0)
|
||||
if (lang == 0 || lang == 6)
|
||||
return null;
|
||||
|
||||
// Get valid pre-evolutions
|
||||
IEnumerable<DexLevel> p = getValidPreEvolutions(pkm);
|
||||
EncounterTrade z = null;
|
||||
|
||||
EncounterTrade[] table = null;
|
||||
if (pkm.XY)
|
||||
z = lang == 6 ? null : TradeGift_XY.FirstOrDefault(f => p.Any(r => r.Species == f.Species));
|
||||
table = TradeGift_XY;
|
||||
if (pkm.AO)
|
||||
z = lang == 6 ? null : TradeGift_AO.FirstOrDefault(f => p.Any(r => r.Species == f.Species));
|
||||
table = TradeGift_AO;
|
||||
if (pkm.SM)
|
||||
table = TradeGift_SM;
|
||||
|
||||
EncounterTrade z = table?.FirstOrDefault(f => p.Any(r => r.Species == f.Species));
|
||||
|
||||
if (z == null)
|
||||
return null;
|
||||
|
@ -284,6 +289,8 @@ namespace PKHeX
|
|||
return null;
|
||||
if (z.Gender != pkm.Gender)
|
||||
return null;
|
||||
if (z.OTGender != -1 && z.OTGender != pkm.OT_Gender)
|
||||
return null;
|
||||
// if (z.Ability == 4 ^ pkm.AbilityNumber == 4) // defer to Ability
|
||||
// return null;
|
||||
|
||||
|
|
|
@ -15,5 +15,6 @@
|
|||
public int Form = 0;
|
||||
public bool Shiny = false;
|
||||
public int Gender = -1;
|
||||
public int OTGender = -1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -249,6 +249,16 @@ namespace PKHeX
|
|||
// Trades - 4.bin
|
||||
|
||||
};
|
||||
internal static EncounterTrade[] TradeGift_SM =
|
||||
{
|
||||
new EncounterTrade { Species = 066, Form = 0, Level = 09, Ability = 2, TID = 00410, SID = 00000, OTGender = 1, Gender = 0, Nature = Nature.Brave, }, // Machop
|
||||
new EncounterTrade { Species = 761, Form = 0, Level = 16, Ability = 1, TID = 20683, SID = 00009, OTGender = 0, Gender = 1, Nature = Nature.Adamant, }, // Bounsweet
|
||||
new EncounterTrade { Species = 061, Form = 0, Level = 22, Ability = 2, TID = 01092, SID = 00009, OTGender = 1, Gender = 1, Nature = Nature.Naughty, }, // Poliwhirl
|
||||
new EncounterTrade { Species = 440, Form = 0, Level = 27, Ability = 2, TID = 10913, SID = 00000, OTGender = 1, Gender = 1, Nature = Nature.Calm, }, // Happiny
|
||||
new EncounterTrade { Species = 075, Form = 1, Level = 32, Ability = 1, TID = 20778, SID = 00009, OTGender = 0, Gender = 0, Nature = Nature.Impish, }, // Graveler-1
|
||||
new EncounterTrade { Species = 762, Form = 0, Level = 43, Ability = 1, TID = 20679, SID = 00009, OTGender = 1, Gender = 1, Nature = Nature.Careful, }, // Steenee
|
||||
new EncounterTrade { Species = 663, Form = 0, Level = 59, Ability = 4, TID = 56734, SID = 00008, OTGender = 0, Gender = 0, Nature = Nature.Jolly, }, // Talonflame
|
||||
};
|
||||
#endregion
|
||||
|
||||
private static readonly int[] WildPokeballs7 = {
|
||||
|
|
Loading…
Add table
Reference in a new issue