Use named consts for magic gender values

More personal magic value comparisons
This commit is contained in:
Kurt 2021-07-13 00:25:51 -07:00
parent f5090e3ae7
commit 46f50a3a56
15 changed files with 103 additions and 75 deletions

View file

@ -49,9 +49,9 @@ namespace PKHeX.Core
int gt = pk.PersonalInfo.Gender;
switch (gt)
{
case 255: return 2; // Genderless
case 254: return 1; // Female-Only
case 0: return 0; // Male-Only
case PersonalInfo.RatioMagicGenderless: return 2;
case PersonalInfo.RatioMagicFemale: return 1;
case PersonalInfo.RatioMagicMale: return 0;
}
if (!pk.IsGenderValid())
return PKX.GetGenderFromPIDAndRatio(pk.PID, gt);

View file

@ -88,7 +88,9 @@ namespace PKHeX.Core
/// <returns>Returns the maximum or minimum gender value that corresponds to the input gender ratio.</returns>
private static int GetGenderMinMax(int gender, int ratio, bool max) => ratio switch
{
0 or >254 => max ? 255 : 0,
PersonalInfo.RatioMagicMale => max ? 255 : 0,
PersonalInfo.RatioMagicFemale => max ? 255 : 0,
PersonalInfo.RatioMagicGenderless => max ? 255 : 0,
_ => gender switch
{
0 => max ? 255 : ratio, // male

View file

@ -366,7 +366,7 @@ namespace PKHeX.Core
case 2: break; // can't cute charm a genderless pkm
case 0: // male
var gr = getRatio();
if (254 <= gr) // no modification for PID
if (gr >= PersonalInfo.RatioMagicFemale) // no modification for PID
break;
var rate = 25*((gr / 25) + 1); // buffered
var nature = pid % 25;
@ -378,7 +378,7 @@ namespace PKHeX.Core
case 1: // female
if (pid >= 25)
break; // nope, this isn't a valid nature
if (254 <= getRatio()) // no modification for PID
if (getRatio() >= PersonalInfo.RatioMagicFemale) // no modification for PID
break;
pidiv = PIDIV.CuteCharm;

View file

@ -112,15 +112,15 @@ namespace PKHeX.Core
switch (gender_ratio)
{
case 255 when pk.Gender != 2:
case PersonalInfo.RatioMagicGenderless when pk.Gender != 2:
if (pk.Gender != 2)
return false;
break;
case 254 when pk.Gender != 1:
case PersonalInfo.RatioMagicFemale when pk.Gender != 1:
if (pk.Gender != 1)
return false;
break;
case 000:
case PersonalInfo.RatioMagicMale:
if (pk.Gender != 0)
return false;
break;
@ -254,9 +254,9 @@ namespace PKHeX.Core
pk.Gender = gender_ratio switch
{
255 => 2,
254 => 1,
000 => 0,
PersonalInfo.RatioMagicGenderless => 2,
PersonalInfo.RatioMagicFemale => 1,
PersonalInfo.RatioMagicMale => 0,
_ => (int) rng.NextInt(252) + 1 < gender_ratio ? 1 : 0
};

View file

@ -570,11 +570,11 @@ namespace PKHeX.Core
{
int gender = Gender;
int gv = PersonalInfo.Gender;
if (gv == 255)
if (gv == PersonalInfo.RatioMagicGenderless)
return gender == 2;
if (gv == 254)
if (gv == PersonalInfo.RatioMagicFemale)
return gender == 1;
if (gv == 0)
if (gv == PersonalInfo.RatioMagicMale)
return gender == 0;
int gen = Generation;

View file

@ -97,9 +97,9 @@ namespace PKHeX.Core
int gv = PersonalInfo.Gender;
return gv switch
{
255 => 2,
254 => 1,
0 => 0,
PersonalInfo.RatioMagicGenderless => 2,
PersonalInfo.RatioMagicFemale => 1,
PersonalInfo.RatioMagicMale => 0,
_ => IV_ATK > gv >> 4 ? 0 : 1
};
}

View file

@ -129,7 +129,7 @@ namespace PKHeX.Core
uint abilBitVal = g34 ? oldPID & 0x0000_0001 : oldPID & 0x0001_0000;
bool g3unown = origin <= 5 && species == (int)Species.Unown;
bool singleGender = gt is 0 or 254 or 255; // single gender, skip gender check
bool singleGender = PersonalInfo.IsSingleGender(gt); // single gender, skip gender check
while (true) // Loop until we find a suitable PID
{
uint pid = Util.Rand32(rnd);
@ -192,9 +192,9 @@ namespace PKHeX.Core
public static int GetGenderFromPIDAndRatio(uint pid, int gr) => gr switch
{
255 => 2,
254 => 1,
0 => 0,
PersonalInfo.RatioMagicGenderless => 2,
PersonalInfo.RatioMagicFemale => 1,
PersonalInfo.RatioMagicMale => 0,
_ => (pid & 0xFF) < gr ? 1 : 0
};

View file

@ -296,6 +296,12 @@ namespace PKHeX.Core
}
}
public const int RatioMagicGenderless = 255;
public const int RatioMagicFemale = 254;
public const int RatioMagicMale = 0;
public static bool IsSingleGender(int gt) => (uint)(gt - 1) >= 253;
/// <summary>
/// Indicates that the entry has two genders.
/// </summary>
@ -304,17 +310,17 @@ namespace PKHeX.Core
/// <summary>
/// Indicates that the entry is exclusively Genderless.
/// </summary>
public bool Genderless => Gender == 255;
public bool Genderless => Gender == RatioMagicGenderless;
/// <summary>
/// Indicates that the entry is exclusively Female gendered.
/// </summary>
public bool OnlyFemale => Gender == 254;
public bool OnlyFemale => Gender == RatioMagicFemale;
/// <summary>
/// Indicates that the entry is exclusively Male gendered.
/// </summary>
public bool OnlyMale => Gender == 0;
public bool OnlyMale => Gender == RatioMagicMale;
/// <summary>
/// Indicates if the entry has Formes or not.

View file

@ -242,7 +242,7 @@ namespace PKHeX.Core
// meowstic special handling
const int meow = 678;
if (index == meow - 1 || (index >= SAV.MaxSpeciesID && FormBaseSpecies[index - SAV.MaxSpeciesID] == meow))
return index < SAV.MaxSpeciesID ? 0 : 254; // M : F
return index < SAV.MaxSpeciesID ? PersonalInfo.RatioMagicMale : PersonalInfo.RatioMagicFemale; // M : F
if (index < SAV.MaxSpeciesID)
return SAV.Personal[index + 1].Gender;

View file

@ -139,13 +139,13 @@ namespace PKHeX.WinForms
var gr = pi.Gender;
switch (gr)
{
case 255: // Genderless
case PersonalInfo.RatioMagicGenderless:
first.Items.Add(GENDERLESS);
break;
case 0:
case PersonalInfo.RatioMagicMale:
first.Items.Add(MALE);
break;
case 254:
case PersonalInfo.RatioMagicFemale:
first.Items.Add(FEMALE);
break;
default:

View file

@ -223,8 +223,10 @@ namespace PKHeX.WinForms
int index = LB_Species.SelectedIndex+1;
int gt = SAV.Personal[index].Gender;
CHK_P2.Checked = CHK_P4.Checked = gt != 254 && ModifierKeys != Keys.Control;
CHK_P3.Checked = CHK_P5.Checked = gt is not (0 or 255) && ModifierKeys != Keys.Control;
bool canBeMale = gt != PersonalInfo.RatioMagicFemale;
bool canBeFemale = gt is not (PersonalInfo.RatioMagicMale or PersonalInfo.RatioMagicGenderless);
CHK_P2.Checked = CHK_P4.Checked = canBeMale && ModifierKeys != Keys.Control;
CHK_P3.Checked = CHK_P5.Checked = canBeFemale && ModifierKeys != Keys.Control;
if (ModifierKeys == Keys.Control)
{
@ -233,7 +235,7 @@ namespace PKHeX.WinForms
}
else if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
{
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
}
@ -262,7 +264,7 @@ namespace PKHeX.WinForms
{
// if seen ensure at least one Displayed
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
else
{
@ -297,26 +299,28 @@ namespace PKHeX.WinForms
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked)) // if seen
{
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked)) // not displayed
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true; // check one
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true; // check one
}
}
if (mnuCaughtNone != sender)
{
if (mnuComplete == sender)
{
CHK_P2.Checked = CHK_P4.Checked = gt != 254; // not female only
CHK_P3.Checked = CHK_P5.Checked = gt is not (0 or 255); // not male only or genderless
bool canBeMale = gt != PersonalInfo.RatioMagicFemale;
bool canBeFemale = gt is not (PersonalInfo.RatioMagicMale or PersonalInfo.RatioMagicGenderless);
CHK_P2.Checked = CHK_P4.Checked = canBeMale;
CHK_P3.Checked = CHK_P5.Checked = canBeFemale;
}
else
{
// ensure at least one SEEN
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked))
(gt != 254 ? CHK_P2 : CHK_P3).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P2 : CHK_P3).Checked = true;
}
// ensure at least one Displayed
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
}
}

View file

@ -218,8 +218,10 @@ namespace PKHeX.WinForms
int index = LB_Species.SelectedIndex+1;
int gt = SAV.Personal[index].Gender;
CHK_P2.Checked = CHK_P4.Checked = gt != 254 && ModifierKeys != Keys.Control;
CHK_P3.Checked = CHK_P5.Checked = gt is not (0 or 255) && ModifierKeys != Keys.Control;
bool canBeMale = gt != PersonalInfo.RatioMagicFemale;
bool canBeFemale = gt is not (PersonalInfo.RatioMagicMale or PersonalInfo.RatioMagicGenderless);
CHK_P2.Checked = CHK_P4.Checked = canBeMale && ModifierKeys != Keys.Control;
CHK_P3.Checked = CHK_P5.Checked = canBeFemale && ModifierKeys != Keys.Control;
if (ModifierKeys == Keys.Control)
{
@ -228,7 +230,7 @@ namespace PKHeX.WinForms
}
else if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
{
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
for (int i = 0; i < CLB_FormsSeen.Items.Count; i++)
@ -269,7 +271,6 @@ namespace PKHeX.WinForms
{
for (int i = 0; i < CB_Species.Items.Count; i++)
{
int gt = SAV.Personal[i + 1].Gender;
LB_Species.SelectedIndex = i;
foreach (CheckBox t in new[] { CHK_P2, CHK_P3, CHK_P4, CHK_P5 })
t.Checked = mnuSeenNone != sender && t.Enabled;
@ -277,8 +278,9 @@ namespace PKHeX.WinForms
if (mnuSeenNone != sender)
{
// if seen ensure at least one Displayed
int gt = SAV.Personal[i + 1].Gender;
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
else
{
@ -310,26 +312,28 @@ namespace PKHeX.WinForms
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked)) // if seen
{
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked)) // not displayed
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true; // check one
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true; // check one
}
}
if (mnuCaughtNone != sender)
{
if (mnuComplete == sender)
{
CHK_P2.Checked = CHK_P4.Checked = gt != 254; // not female only
CHK_P3.Checked = CHK_P5.Checked = gt is not (0 or 255); // not male only or genderless
bool canBeMale = gt != PersonalInfo.RatioMagicFemale;
bool canBeFemale = gt is not (PersonalInfo.RatioMagicMale or PersonalInfo.RatioMagicGenderless);
CHK_P2.Checked = CHK_P4.Checked = canBeMale;
CHK_P3.Checked = CHK_P5.Checked = canBeFemale;
}
else
{
// ensure at least one SEEN
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked))
(gt != 254 ? CHK_P2 : CHK_P3).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P2 : CHK_P3).Checked = true;
}
// ensure at least one Displayed
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
}
}

View file

@ -231,8 +231,10 @@ namespace PKHeX.WinForms
int index = LB_Species.SelectedIndex+1;
int gt = SAV.Personal[index].Gender;
CHK_P2.Checked = CHK_P4.Checked = gt != 254 && ModifierKeys != Keys.Control;
CHK_P3.Checked = CHK_P5.Checked = gt is not (0 or 255) && ModifierKeys != Keys.Control;
bool canBeMale = gt != PersonalInfo.RatioMagicFemale;
bool canBeFemale = gt is not (PersonalInfo.RatioMagicMale or PersonalInfo.RatioMagicGenderless);
CHK_P2.Checked = CHK_P4.Checked = canBeMale && ModifierKeys != Keys.Control;
CHK_P3.Checked = CHK_P5.Checked = canBeFemale && ModifierKeys != Keys.Control;
if (ModifierKeys == Keys.Control)
{
@ -241,7 +243,7 @@ namespace PKHeX.WinForms
}
else if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
{
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
}
@ -270,7 +272,7 @@ namespace PKHeX.WinForms
{
// if seen ensure at least one Displayed
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
else
{
@ -302,26 +304,28 @@ namespace PKHeX.WinForms
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked)) // if seen
{
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked)) // not displayed
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true; // check one
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true; // check one
}
}
if (mnuCaughtNone != sender)
{
if (mnuComplete == sender)
{
CHK_P2.Checked = CHK_P4.Checked = gt != 254; // not female only
CHK_P3.Checked = CHK_P5.Checked = gt is not (0 or 255); // not male only or genderless
bool canBeMale = gt != PersonalInfo.RatioMagicFemale;
bool canBeFemale = gt is not (PersonalInfo.RatioMagicMale or PersonalInfo.RatioMagicGenderless);
CHK_P2.Checked = CHK_P4.Checked = canBeMale;
CHK_P3.Checked = CHK_P5.Checked = canBeFemale;
}
else
{
// ensure at least one SEEN
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked))
(gt != 254 ? CHK_P2 : CHK_P3).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P2 : CHK_P3).Checked = true;
}
// ensure at least one Displayed
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
}
}

View file

@ -216,8 +216,10 @@ namespace PKHeX.WinForms
int gt = Dex.GetBaseSpeciesGenderValue(LB_Species.SelectedIndex);
CHK_P2.Enabled = CHK_P4.Enabled = CHK_P6.Enabled = CHK_P8.Enabled = gt != 254; // Not Female-Only
CHK_P3.Enabled = CHK_P5.Enabled = CHK_P7.Enabled = CHK_P9.Enabled = gt is not (0 or 255); // Not Male-Only and Not Genderless
bool canBeMale = gt != PersonalInfo.RatioMagicFemale;
bool canBeFemale = gt is not (PersonalInfo.RatioMagicMale or PersonalInfo.RatioMagicGenderless);
CHK_P2.Enabled = CHK_P4.Enabled = CHK_P6.Enabled = CHK_P8.Enabled = canBeMale; // Not Female-Only
CHK_P3.Enabled = CHK_P5.Enabled = CHK_P7.Enabled = CHK_P9.Enabled = canBeFemale; // Not Male-Only and Not Genderless
for (int i = 0; i < 4; i++)
CP[i + 1].Checked = Dex.GetSeen(currentSpecies, i);
@ -340,8 +342,10 @@ namespace PKHeX.WinForms
}
int gt = Dex.GetBaseSpeciesGenderValue(LB_Species.SelectedIndex);
CHK_P2.Checked = CHK_P4.Checked = gt != 254 && ModifierKeys != Keys.Control;
CHK_P3.Checked = CHK_P5.Checked = gt is not (0 or 255) && ModifierKeys != Keys.Control;
bool canBeMale = gt != PersonalInfo.RatioMagicFemale;
bool canBeFemale = gt is not (PersonalInfo.RatioMagicMale or PersonalInfo.RatioMagicGenderless);
CHK_P2.Checked = CHK_P4.Checked = canBeMale && ModifierKeys != Keys.Control;
CHK_P3.Checked = CHK_P5.Checked = canBeFemale && ModifierKeys != Keys.Control;
if (ModifierKeys == Keys.Control)
{
@ -350,7 +354,7 @@ namespace PKHeX.WinForms
}
else if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
{
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
}
@ -465,7 +469,7 @@ namespace PKHeX.WinForms
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked)) // if seen
{
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked)) // not displayed
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true; // check one
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true; // check one
}
return;
@ -481,14 +485,14 @@ namespace PKHeX.WinForms
{
// ensure at least one SEEN
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked))
(gt != 254 ? CHK_P2 : CHK_P3).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P2 : CHK_P3).Checked = true;
}
// ensure at least one Displayed except for formes
if (isForm)
return;
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = CHK_P1.Enabled;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = CHK_P1.Enabled;
}
private void SetSeen(object sender, int gt, bool isForm)
@ -502,7 +506,7 @@ namespace PKHeX.WinForms
if (isForm)
return;
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
else
{

View file

@ -205,8 +205,10 @@ namespace PKHeX.WinForms
int gt = Dex.GetBaseSpeciesGenderValue(LB_Species.SelectedIndex);
CHK_P2.Enabled = CHK_P4.Enabled = CHK_P6.Enabled = CHK_P8.Enabled = gt != 254; // Not Female-Only
CHK_P3.Enabled = CHK_P5.Enabled = CHK_P7.Enabled = CHK_P9.Enabled = gt is not (0 or 255); // Not Male-Only and Not Genderless
bool canBeMale = gt != PersonalInfo.RatioMagicFemale;
bool canBeFemale = gt is not (PersonalInfo.RatioMagicMale or PersonalInfo.RatioMagicGenderless);
CHK_P2.Enabled = CHK_P4.Enabled = CHK_P6.Enabled = CHK_P8.Enabled = canBeMale; // Not Female-Only
CHK_P3.Enabled = CHK_P5.Enabled = CHK_P7.Enabled = CHK_P9.Enabled = canBeFemale; // Not Male-Only and Not Genderless
for (int i = 0; i < 4; i++)
CP[i + 1].Checked = Dex.GetSeen(currentSpecies, i);
@ -276,8 +278,10 @@ namespace PKHeX.WinForms
}
int gt = Dex.GetBaseSpeciesGenderValue(LB_Species.SelectedIndex);
CHK_P2.Checked = CHK_P4.Checked = gt != 254 && ModifierKeys != Keys.Control;
CHK_P3.Checked = CHK_P5.Checked = gt is not (0 or 255) && ModifierKeys != Keys.Control;
bool canBeMale = gt != PersonalInfo.RatioMagicFemale;
bool canBeFemale = gt is not (PersonalInfo.RatioMagicMale or PersonalInfo.RatioMagicGenderless);
CHK_P2.Checked = CHK_P4.Checked = canBeMale && ModifierKeys != Keys.Control;
CHK_P3.Checked = CHK_P5.Checked = canBeFemale && ModifierKeys != Keys.Control;
if (ModifierKeys == Keys.Control)
{
@ -286,7 +290,7 @@ namespace PKHeX.WinForms
}
else if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
{
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
}
@ -373,7 +377,7 @@ namespace PKHeX.WinForms
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked)) // if seen
{
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked)) // not displayed
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true; // check one
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true; // check one
}
return;
@ -389,14 +393,14 @@ namespace PKHeX.WinForms
{
// ensure at least one SEEN
if (!(CHK_P2.Checked || CHK_P3.Checked || CHK_P4.Checked || CHK_P5.Checked))
(gt != 254 ? CHK_P2 : CHK_P3).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P2 : CHK_P3).Checked = true;
}
// ensure at least one Displayed except for formes
if (isForm)
return;
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = CHK_P1.Enabled;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = CHK_P1.Enabled;
}
private void SetSeen(object sender, int gt, bool isForm)
@ -410,7 +414,7 @@ namespace PKHeX.WinForms
if (isForm)
return;
if (!(CHK_P6.Checked || CHK_P7.Checked || CHK_P8.Checked || CHK_P9.Checked))
(gt != 254 ? CHK_P6 : CHK_P7).Checked = true;
(gt != PersonalInfo.RatioMagicFemale ? CHK_P6 : CHK_P7).Checked = true;
}
else
{