Flag gendered pkm without gender

for lack of a better message
#1936

add some docs & trycatch bad wavs
This commit is contained in:
Kurt 2018-05-11 21:05:15 -07:00
parent 7ce89f0e16
commit c2644cc9f0
3 changed files with 54 additions and 7 deletions

View file

@ -10,7 +10,7 @@ namespace PKHeX.Core
private void VerifyGender()
{
var gr = pkm.PersonalInfo.Gender;
if (gr == 255 && pkm.Gender != 2)
if (gr == 255 != (pkm.Gender == 2))
{
// DP/HGSS shedinja glitch -- only generation 4 spawns
bool ignore = pkm.Format == 4 && pkm.Species == 292 && pkm.Met_Level != pkm.CurrentLevel;

View file

@ -2,80 +2,127 @@
{
public enum PIDType
{
/// <summary> No match </summary>
/// <summary> No relationship between the PID and IVs </summary>
None,
/// <summary> Method 1 Variants (H1/J/K) </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
Method_1,
/// <summary> Method H2 </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
Method_2,
/// <summary> Method H4 </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
Method_4,
/// <summary> Method H1_Unown (FRLG) </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
Method_1_Unown,
/// <summary> Method H2_Unown (FRLG) </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
Method_2_Unown,
/// <summary> Method H4_Unown (FRLG) </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
Method_4_Unown,
/// <summary> Method 1 Roamer (Gen3) </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
Method_1_Roamer,
/// <summary>
/// Event Reversed Order PID restricted to 16bit Origin Seed
/// </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
BACD_R,
/// <summary>
/// Event Reversed Order PID without Origin Seed restrictions
/// </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
BACD_U,
/// <summary>
/// Event Reversed Order PID restricted to 16bit Origin Seed, antishiny.
/// </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
BACD_R_A,
/// <summary>
/// Event Reversed Order PID without Origin Seed restrictions, antishiny.
/// </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
BACD_U_A,
/// <summary>
/// Event Reversed Order PID restricted to 16bit Origin Seed, shiny
/// </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
BACD_R_S,
/// <summary>
/// Event Reversed Order PID without Origin Seed restrictions, shiny
/// </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
BACD_U_S,
/// <summary>
/// Event Reversed Order PID restricted to 16bit Origin Seed, antishiny (nyx)
/// </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
BACD_R_AX,
/// <summary>
/// Event Reversed Order PID without Origin Seed restrictions, antishiny (nyx)
/// </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
BACD_U_AX,
/// <summary>
/// Generation 4 Cute Charm forced 8 bit
/// Generation 4 Cute Charm forced to an 8 bit buffered PID
/// </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
CuteCharm,
/// <summary>
/// Generation 4 Chained Shiny
/// </summary>
/// <remarks><see cref="RNG.LCRNG"/></remarks>
ChainShiny,
// XDRNG Based
/// <summary>
/// Standard <see cref="GameVersion.CXD"/> PIDIV
/// </summary>
/// <remarks><see cref="RNG.XDRNG"/></remarks>
CXD,
/// <summary>
/// Standard <see cref="GameVersion.CXD"/> PIDIV which is immediately after the RNG calls that create the TID and SID.
/// </summary>
/// <remarks><see cref="RNG.XDRNG"/></remarks>
CXD_ColoStarter,
/// <summary>
///
/// </summary>
/// <remarks><see cref="RNG.XDRNG"/></remarks>
Channel,
/// <summary>
/// XD PokeSpot PID
/// </summary>
/// <remarks><see cref="RNG.XDRNG"/></remarks>
PokeSpot,
// ARNG Based
/// <summary>
/// 4th Generation Mystery Gift Anti-Shiny
/// </summary>
/// <remarks><see cref="RNG.ARNG"/></remarks>
G4MGAntiShiny,
// Formulaic
/// <summary>
/// 5th Generation Mystery Gift Shiny
/// </summary>
/// <remarks>Formulaic based on TID, SID, and Gender bytes.</remarks>
/// <remarks>Unrelated to IVs</remarks>
G5MGShiny,
Pokewalker,
// Specified
Static,
/// <summary>
/// 4th Generation Pokewalker PID, never Shiny.
/// </summary>
/// <remarks>Formulaic based on TID, SID, and Gender bytes.</remarks>
/// <remarks>Unrelated to IVs</remarks>
Pokewalker,
}
}

View file

@ -168,7 +168,7 @@ namespace PKHeX.WinForms.Controls
}
Sounds.SoundLocation = path;
Sounds.Play();
try { Sounds.Play(); } catch { }
}
private static ISlotViewer<T> GetViewParent<T>(T pb) where T : Control