mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-04-24 23:57:12 -05:00
ZA: Dex enhancements/fixes
Fix X/Y mega forms clearing the Y mega form Fix Displayed form being clamped to max of 3 (Vivillon no longer an issue) Add on-seen/capture bulk form granting Add on-seen shiny bulk form granting
This commit is contained in:
parent
5b9d7f1314
commit
2b2d5c2c0b
|
|
@ -73,6 +73,10 @@ public void SetIsFormSeen(byte form, bool value)
|
|||
FlagsFormSeen &= ~(1u << form);
|
||||
}
|
||||
|
||||
public void SetIsFormsSeen(uint formsOr) => FlagsFormSeen |= formsOr;
|
||||
public void SetIsFormsCaught(uint formsOr) => FlagsFormCaught |= formsOr;
|
||||
public void SetIsShinySeen(uint formsOr) => FlagsShinySeen |= formsOr;
|
||||
|
||||
public static int GetDexLangFlag(int lang) => (uint)lang switch
|
||||
{
|
||||
> (int)MaxLanguageID or 6 or <= 0 => 0, // invalid language
|
||||
|
|
@ -118,9 +122,17 @@ public void SetIsShinySeen(byte form, bool value)
|
|||
FlagsShinySeen &= ~(1u << form);
|
||||
}
|
||||
|
||||
public bool GetIsSeenMega() => FlagIsMega != 0;
|
||||
public bool GetIsSeenMega(byte megaIndex) => ((FlagIsMega >> megaIndex) & 1) != 0;
|
||||
public bool GetIsSeenAlpha() => FlagIsAlpha != 0;
|
||||
public void SetIsSeenMega(bool value) => FlagIsMega = value ? (byte)1 : (byte)0;
|
||||
|
||||
public void SetIsSeenMega(byte megaIndex, bool value)
|
||||
{
|
||||
if (value)
|
||||
FlagIsMega |= (byte)(1u << megaIndex);
|
||||
else
|
||||
FlagIsMega &= (byte)~(1u << megaIndex);
|
||||
}
|
||||
|
||||
public void SetIsSeenAlpha(bool value) => FlagIsAlpha = value ? (byte)1 : (byte)0;
|
||||
|
||||
public DisplayGender9a GetDisplayGender(Gender gender, ushort species, byte form)
|
||||
|
|
|
|||
|
|
@ -38,13 +38,17 @@ private void Register(PKM pk, ushort species, byte form)
|
|||
entry.SetIsFormSeen(form, true);
|
||||
entry.SetIsFormCaught(form, true);
|
||||
if (FormInfo.IsMegaForm(species, form))
|
||||
entry.SetIsSeenMega(true);
|
||||
entry.SetIsSeenMega(0, true);
|
||||
if (IsMegaFormXY(species))
|
||||
entry.SetIsSeenMega(1, true);
|
||||
entry.SetLanguageFlag(pk.Language, true);
|
||||
|
||||
var isShiny = pk.IsShiny;
|
||||
if (isShiny)
|
||||
{
|
||||
entry.SetIsShinySeen(form, true);
|
||||
if (GetFormExtraFlagsShinySeen(species, form, out var value))
|
||||
entry.SetIsShinySeen(value);
|
||||
}
|
||||
if (!isRegistered)
|
||||
{
|
||||
|
|
@ -52,12 +56,79 @@ private void Register(PKM pk, ushort species, byte form)
|
|||
entry.SetDisplayGender((Gender)pk.Gender, species, form);
|
||||
entry.SetDisplayIsShiny(isShiny);
|
||||
|
||||
if (GetFormExtraFlags(species, out var value))
|
||||
{
|
||||
entry.SetIsFormsSeen(value);
|
||||
entry.SetIsFormsCaught(value);
|
||||
}
|
||||
|
||||
entry.SetDisplayIsNew(true);
|
||||
}
|
||||
if (pk is IAlphaReadOnly { IsAlpha: true })
|
||||
entry.SetIsSeenAlpha(true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Fetches extra alternate form flags for all forms it can shift between, for Shiny entities.
|
||||
/// </summary>
|
||||
public static bool GetFormExtraFlags(ushort species, out uint value)
|
||||
{
|
||||
value = species switch
|
||||
{
|
||||
(int)Species.Furfrou => 1, // base form
|
||||
(int)Species.Aegislash => 3, // both forms
|
||||
|
||||
// Returning in DLC
|
||||
(int)Species.Mimikyu => 3, // both forms
|
||||
(int)Species.Morpeko => 3, // both forms
|
||||
|
||||
// Not present in game, but left in code from prior games.
|
||||
//(int)Species.Minior => 0, // handled separately (sets both core and meteor forms for the color) (((1u << 7) | 1u) << (form % 7))
|
||||
//(int)Species.Cramorant => 7, // all 3 forms
|
||||
//(int)Species.Eiscue => 3, // both forms
|
||||
//(int)Species.Palafin => 3, // both forms
|
||||
|
||||
(int)Species.Zygarde => 0b01_0000, // Complete
|
||||
_ => 0u
|
||||
};
|
||||
return value != 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Fetches extra alternate form flags for all forms it can shift between, for Shiny entities.
|
||||
/// </summary>
|
||||
public static bool GetFormExtraFlagsShinySeen(ushort species, byte form, out uint value)
|
||||
{
|
||||
value = species switch
|
||||
{
|
||||
(int)Species.Furfrou => 1, // base form
|
||||
(int)Species.Aegislash => 3, // both forms
|
||||
|
||||
(int)Species.Spewpa or (int)Species.Scatterbug => 0xF_FFFF, // all 20 forms of Vivillon. Not for Vivillon!
|
||||
|
||||
// Returning in DLC
|
||||
(int)Species.Mimikyu => 3, // both forms
|
||||
(int)Species.Morpeko => 3, // both forms
|
||||
|
||||
// Mega Forms
|
||||
(int)Species.Zygarde => 0b11_1111, // all forms (normally sets 31, but Mega adds another flag)
|
||||
(int)Species.Greninja when form != 2 => 0b1011, // Mega and Ash/Normal forms (normally sets 3, but Mega adds another flag)
|
||||
(int)Species.Floette when form == 5 => 0b10_0000, // Mega (not form 1)
|
||||
// New Megas (Absol, Lucario, Meowstic, Magearna, Tatsugiri) will need handling in DLC updates.
|
||||
_ when IsMegaFormXY(species) => 0b_0011, // Two mega forms
|
||||
_ when FormInfo.HasMegaForm(species) => 0b_0001, // One mega form
|
||||
_ => 0,
|
||||
};
|
||||
return value != 0;
|
||||
}
|
||||
|
||||
public static bool IsMegaFormXY(ushort species) => species switch
|
||||
{
|
||||
(int)Species.Charizard => true,
|
||||
(int)Species.Mewtwo => true,
|
||||
_ => false,
|
||||
};
|
||||
|
||||
public override void SeenNone()
|
||||
{
|
||||
Data.Clear();
|
||||
|
|
@ -86,6 +157,20 @@ private void SeenAll(ushort species, PersonalInfo9ZA pi, bool value = true, bool
|
|||
entry.SetIsFormSeen(form, value);
|
||||
if (shinyToo)
|
||||
entry.SetIsShinySeen(form, value);
|
||||
|
||||
entry.SetIsSeenAlpha(value);
|
||||
if (FormInfo.IsMegaForm(species, form))
|
||||
entry.SetIsSeenMega(0, value);
|
||||
if (IsMegaFormXY(species))
|
||||
entry.SetIsSeenMega(1, value);
|
||||
|
||||
if (value)
|
||||
{
|
||||
if (GetFormExtraFlags(species, out var seen))
|
||||
entry.SetIsFormsSeen(seen);
|
||||
if (shinyToo && GetFormExtraFlagsShinySeen(species, form, out var flags))
|
||||
entry.SetIsShinySeen(flags);
|
||||
}
|
||||
}
|
||||
|
||||
// Set other seen flags
|
||||
|
|
@ -140,6 +225,9 @@ private void SetAllCaught(ushort species, bool value = true, bool shinyToo = fal
|
|||
entry.SetIsFormSeen(form, value);
|
||||
if (shinyToo)
|
||||
entry.SetIsShinySeen(form, value);
|
||||
|
||||
if (GetFormExtraFlags(species, out var caught))
|
||||
entry.SetIsFormsCaught(caught);
|
||||
}
|
||||
|
||||
// Set language
|
||||
|
|
|
|||
|
|
@ -64,9 +64,11 @@ private void InitializeComponent()
|
|||
CHK_LangJPN = new System.Windows.Forms.CheckBox();
|
||||
CLB_FormSeen = new System.Windows.Forms.CheckedListBox();
|
||||
groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
CHK_SeenMegaY = new System.Windows.Forms.CheckBox();
|
||||
CHK_SeenMegaX = new System.Windows.Forms.CheckBox();
|
||||
CHK_SeenMega = new System.Windows.Forms.CheckBox();
|
||||
CHK_SeenAlpha = new System.Windows.Forms.CheckBox();
|
||||
CHK_SeenGenderless = new System.Windows.Forms.CheckBox();
|
||||
CHK_SeenMega = new System.Windows.Forms.CheckBox();
|
||||
CHK_SeenFemale = new System.Windows.Forms.CheckBox();
|
||||
CHK_SeenMale = new System.Windows.Forms.CheckBox();
|
||||
CHK_IsNew = new System.Windows.Forms.CheckBox();
|
||||
|
|
@ -142,7 +144,7 @@ private void InitializeComponent()
|
|||
// B_Save
|
||||
//
|
||||
B_Save.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
|
||||
B_Save.Location = new System.Drawing.Point(690, 287);
|
||||
B_Save.Location = new System.Drawing.Point(690, 299);
|
||||
B_Save.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
B_Save.Name = "B_Save";
|
||||
B_Save.Size = new System.Drawing.Size(93, 27);
|
||||
|
|
@ -224,10 +226,10 @@ private void InitializeComponent()
|
|||
CB_DisplayForm.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
CB_DisplayForm.FormattingEnabled = true;
|
||||
CB_DisplayForm.Items.AddRange(new object[] { "♂", "♀", "-" });
|
||||
CB_DisplayForm.Location = new System.Drawing.Point(84, 41);
|
||||
CB_DisplayForm.Location = new System.Drawing.Point(77, 47);
|
||||
CB_DisplayForm.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CB_DisplayForm.Name = "CB_DisplayForm";
|
||||
CB_DisplayForm.Size = new System.Drawing.Size(119, 25);
|
||||
CB_DisplayForm.Size = new System.Drawing.Size(125, 25);
|
||||
CB_DisplayForm.TabIndex = 45;
|
||||
//
|
||||
// GB_Displayed
|
||||
|
|
@ -237,29 +239,29 @@ private void InitializeComponent()
|
|||
GB_Displayed.Controls.Add(CB_Gender);
|
||||
GB_Displayed.Controls.Add(CHK_DisplayShiny);
|
||||
GB_Displayed.Controls.Add(CB_DisplayForm);
|
||||
GB_Displayed.Location = new System.Drawing.Point(430, 18);
|
||||
GB_Displayed.Location = new System.Drawing.Point(430, 29);
|
||||
GB_Displayed.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
GB_Displayed.Name = "GB_Displayed";
|
||||
GB_Displayed.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
GB_Displayed.Size = new System.Drawing.Size(210, 105);
|
||||
GB_Displayed.Size = new System.Drawing.Size(210, 102);
|
||||
GB_Displayed.TabIndex = 44;
|
||||
GB_Displayed.TabStop = false;
|
||||
GB_Displayed.Text = "Displayed";
|
||||
//
|
||||
// L_DisplayForm
|
||||
//
|
||||
L_DisplayForm.Location = new System.Drawing.Point(4, 42);
|
||||
L_DisplayForm.Location = new System.Drawing.Point(3, 48);
|
||||
L_DisplayForm.Name = "L_DisplayForm";
|
||||
L_DisplayForm.Size = new System.Drawing.Size(76, 20);
|
||||
L_DisplayForm.Size = new System.Drawing.Size(72, 20);
|
||||
L_DisplayForm.TabIndex = 54;
|
||||
L_DisplayForm.Text = "Form:";
|
||||
L_DisplayForm.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// L_DisplayGender
|
||||
//
|
||||
L_DisplayGender.Location = new System.Drawing.Point(4, 19);
|
||||
L_DisplayGender.Location = new System.Drawing.Point(3, 25);
|
||||
L_DisplayGender.Name = "L_DisplayGender";
|
||||
L_DisplayGender.Size = new System.Drawing.Size(76, 20);
|
||||
L_DisplayGender.Size = new System.Drawing.Size(72, 20);
|
||||
L_DisplayGender.TabIndex = 53;
|
||||
L_DisplayGender.Text = "Gender:";
|
||||
L_DisplayGender.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
|
|
@ -269,17 +271,17 @@ private void InitializeComponent()
|
|||
CB_Gender.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
CB_Gender.FormattingEnabled = true;
|
||||
CB_Gender.Items.AddRange(new object[] { "-", "♂", "♀", "♂/♀" });
|
||||
CB_Gender.Location = new System.Drawing.Point(84, 16);
|
||||
CB_Gender.Location = new System.Drawing.Point(77, 22);
|
||||
CB_Gender.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CB_Gender.Name = "CB_Gender";
|
||||
CB_Gender.Size = new System.Drawing.Size(56, 25);
|
||||
CB_Gender.Size = new System.Drawing.Size(64, 25);
|
||||
CB_Gender.TabIndex = 24;
|
||||
//
|
||||
// CHK_DisplayShiny
|
||||
//
|
||||
CHK_DisplayShiny.AutoSize = true;
|
||||
CHK_DisplayShiny.CheckAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
CHK_DisplayShiny.Location = new System.Drawing.Point(38, 68);
|
||||
CHK_DisplayShiny.Location = new System.Drawing.Point(72, 76);
|
||||
CHK_DisplayShiny.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_DisplayShiny.Name = "CHK_DisplayShiny";
|
||||
CHK_DisplayShiny.Size = new System.Drawing.Size(60, 21);
|
||||
|
|
@ -303,7 +305,7 @@ private void InitializeComponent()
|
|||
GB_Language.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
GB_Language.Name = "GB_Language";
|
||||
GB_Language.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
GB_Language.Size = new System.Drawing.Size(134, 185);
|
||||
GB_Language.Size = new System.Drawing.Size(134, 204);
|
||||
GB_Language.TabIndex = 47;
|
||||
GB_Language.TabStop = false;
|
||||
GB_Language.Text = "Languages";
|
||||
|
|
@ -311,7 +313,7 @@ private void InitializeComponent()
|
|||
// CHK_LangCHT
|
||||
//
|
||||
CHK_LangCHT.AutoSize = true;
|
||||
CHK_LangCHT.Location = new System.Drawing.Point(7, 161);
|
||||
CHK_LangCHT.Location = new System.Drawing.Point(7, 179);
|
||||
CHK_LangCHT.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_LangCHT.Name = "CHK_LangCHT";
|
||||
CHK_LangCHT.Size = new System.Drawing.Size(79, 21);
|
||||
|
|
@ -322,7 +324,7 @@ private void InitializeComponent()
|
|||
// CHK_LangCHS
|
||||
//
|
||||
CHK_LangCHS.AutoSize = true;
|
||||
CHK_LangCHS.Location = new System.Drawing.Point(7, 145);
|
||||
CHK_LangCHS.Location = new System.Drawing.Point(7, 161);
|
||||
CHK_LangCHS.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_LangCHS.Name = "CHK_LangCHS";
|
||||
CHK_LangCHS.Size = new System.Drawing.Size(79, 21);
|
||||
|
|
@ -333,7 +335,7 @@ private void InitializeComponent()
|
|||
// CHK_LangKOR
|
||||
//
|
||||
CHK_LangKOR.AutoSize = true;
|
||||
CHK_LangKOR.Location = new System.Drawing.Point(7, 129);
|
||||
CHK_LangKOR.Location = new System.Drawing.Point(7, 143);
|
||||
CHK_LangKOR.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_LangKOR.Name = "CHK_LangKOR";
|
||||
CHK_LangKOR.Size = new System.Drawing.Size(69, 21);
|
||||
|
|
@ -344,7 +346,7 @@ private void InitializeComponent()
|
|||
// CHK_LangLATAM
|
||||
//
|
||||
CHK_LangLATAM.AutoSize = true;
|
||||
CHK_LangLATAM.Location = new System.Drawing.Point(7, 113);
|
||||
CHK_LangLATAM.Location = new System.Drawing.Point(7, 125);
|
||||
CHK_LangLATAM.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_LangLATAM.Name = "CHK_LangLATAM";
|
||||
CHK_LangLATAM.Size = new System.Drawing.Size(98, 21);
|
||||
|
|
@ -355,7 +357,7 @@ private void InitializeComponent()
|
|||
// CHK_LangSPA
|
||||
//
|
||||
CHK_LangSPA.AutoSize = true;
|
||||
CHK_LangSPA.Location = new System.Drawing.Point(7, 97);
|
||||
CHK_LangSPA.Location = new System.Drawing.Point(7, 107);
|
||||
CHK_LangSPA.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_LangSPA.Name = "CHK_LangSPA";
|
||||
CHK_LangSPA.Size = new System.Drawing.Size(100, 21);
|
||||
|
|
@ -366,7 +368,7 @@ private void InitializeComponent()
|
|||
// CHK_LangGER
|
||||
//
|
||||
CHK_LangGER.AutoSize = true;
|
||||
CHK_LangGER.Location = new System.Drawing.Point(7, 81);
|
||||
CHK_LangGER.Location = new System.Drawing.Point(7, 89);
|
||||
CHK_LangGER.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_LangGER.Name = "CHK_LangGER";
|
||||
CHK_LangGER.Size = new System.Drawing.Size(73, 21);
|
||||
|
|
@ -377,7 +379,7 @@ private void InitializeComponent()
|
|||
// CHK_LangITA
|
||||
//
|
||||
CHK_LangITA.AutoSize = true;
|
||||
CHK_LangITA.Location = new System.Drawing.Point(7, 65);
|
||||
CHK_LangITA.Location = new System.Drawing.Point(7, 71);
|
||||
CHK_LangITA.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_LangITA.Name = "CHK_LangITA";
|
||||
CHK_LangITA.Size = new System.Drawing.Size(61, 21);
|
||||
|
|
@ -388,7 +390,7 @@ private void InitializeComponent()
|
|||
// CHK_LangFRE
|
||||
//
|
||||
CHK_LangFRE.AutoSize = true;
|
||||
CHK_LangFRE.Location = new System.Drawing.Point(7, 48);
|
||||
CHK_LangFRE.Location = new System.Drawing.Point(7, 52);
|
||||
CHK_LangFRE.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_LangFRE.Name = "CHK_LangFRE";
|
||||
CHK_LangFRE.Size = new System.Drawing.Size(65, 21);
|
||||
|
|
@ -399,7 +401,7 @@ private void InitializeComponent()
|
|||
// CHK_LangENG
|
||||
//
|
||||
CHK_LangENG.AutoSize = true;
|
||||
CHK_LangENG.Location = new System.Drawing.Point(7, 32);
|
||||
CHK_LangENG.Location = new System.Drawing.Point(7, 34);
|
||||
CHK_LangENG.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_LangENG.Name = "CHK_LangENG";
|
||||
CHK_LangENG.Size = new System.Drawing.Size(68, 21);
|
||||
|
|
@ -430,24 +432,59 @@ private void InitializeComponent()
|
|||
//
|
||||
// groupBox1
|
||||
//
|
||||
groupBox1.Controls.Add(CHK_SeenAlpha);
|
||||
groupBox1.Controls.Add(CHK_SeenMegaY);
|
||||
groupBox1.Controls.Add(CHK_SeenMegaX);
|
||||
groupBox1.Controls.Add(CHK_SeenMega);
|
||||
groupBox1.Controls.Add(CHK_SeenAlpha);
|
||||
groupBox1.Controls.Add(CHK_SeenGenderless);
|
||||
groupBox1.Controls.Add(CHK_SeenFemale);
|
||||
groupBox1.Controls.Add(CHK_SeenMale);
|
||||
groupBox1.Location = new System.Drawing.Point(299, 18);
|
||||
groupBox1.Location = new System.Drawing.Point(210, 45);
|
||||
groupBox1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
groupBox1.Name = "groupBox1";
|
||||
groupBox1.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
groupBox1.Size = new System.Drawing.Size(124, 105);
|
||||
groupBox1.Size = new System.Drawing.Size(212, 86);
|
||||
groupBox1.TabIndex = 49;
|
||||
groupBox1.TabStop = false;
|
||||
groupBox1.Text = "Seen";
|
||||
//
|
||||
// CHK_SeenMegaY
|
||||
//
|
||||
CHK_SeenMegaY.AutoSize = true;
|
||||
CHK_SeenMegaY.Location = new System.Drawing.Point(122, 56);
|
||||
CHK_SeenMegaY.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_SeenMegaY.Name = "CHK_SeenMegaY";
|
||||
CHK_SeenMegaY.Size = new System.Drawing.Size(72, 21);
|
||||
CHK_SeenMegaY.TabIndex = 58;
|
||||
CHK_SeenMegaY.Text = "Mega Y";
|
||||
CHK_SeenMegaY.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// CHK_SeenMegaX
|
||||
//
|
||||
CHK_SeenMegaX.AutoSize = true;
|
||||
CHK_SeenMegaX.Location = new System.Drawing.Point(122, 38);
|
||||
CHK_SeenMegaX.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_SeenMegaX.Name = "CHK_SeenMegaX";
|
||||
CHK_SeenMegaX.Size = new System.Drawing.Size(73, 21);
|
||||
CHK_SeenMegaX.TabIndex = 57;
|
||||
CHK_SeenMegaX.Text = "Mega X";
|
||||
CHK_SeenMegaX.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// CHK_SeenMega
|
||||
//
|
||||
CHK_SeenMega.AutoSize = true;
|
||||
CHK_SeenMega.Location = new System.Drawing.Point(122, 38);
|
||||
CHK_SeenMega.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_SeenMega.Name = "CHK_SeenMega";
|
||||
CHK_SeenMega.Size = new System.Drawing.Size(61, 21);
|
||||
CHK_SeenMega.TabIndex = 55;
|
||||
CHK_SeenMega.Text = "Mega";
|
||||
CHK_SeenMega.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// CHK_SeenAlpha
|
||||
//
|
||||
CHK_SeenAlpha.AutoSize = true;
|
||||
CHK_SeenAlpha.Location = new System.Drawing.Point(6, 81);
|
||||
CHK_SeenAlpha.Location = new System.Drawing.Point(122, 20);
|
||||
CHK_SeenAlpha.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_SeenAlpha.Name = "CHK_SeenAlpha";
|
||||
CHK_SeenAlpha.Size = new System.Drawing.Size(60, 21);
|
||||
|
|
@ -458,7 +495,7 @@ private void InitializeComponent()
|
|||
// CHK_SeenGenderless
|
||||
//
|
||||
CHK_SeenGenderless.AutoSize = true;
|
||||
CHK_SeenGenderless.Location = new System.Drawing.Point(6, 48);
|
||||
CHK_SeenGenderless.Location = new System.Drawing.Point(14, 56);
|
||||
CHK_SeenGenderless.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_SeenGenderless.Name = "CHK_SeenGenderless";
|
||||
CHK_SeenGenderless.Size = new System.Drawing.Size(92, 21);
|
||||
|
|
@ -466,21 +503,10 @@ private void InitializeComponent()
|
|||
CHK_SeenGenderless.Text = "Genderless";
|
||||
CHK_SeenGenderless.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// CHK_SeenMega
|
||||
//
|
||||
CHK_SeenMega.AutoSize = true;
|
||||
CHK_SeenMega.Location = new System.Drawing.Point(6, 65);
|
||||
CHK_SeenMega.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_SeenMega.Name = "CHK_SeenMega";
|
||||
CHK_SeenMega.Size = new System.Drawing.Size(61, 21);
|
||||
CHK_SeenMega.TabIndex = 55;
|
||||
CHK_SeenMega.Text = "Mega";
|
||||
CHK_SeenMega.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// CHK_SeenFemale
|
||||
//
|
||||
CHK_SeenFemale.AutoSize = true;
|
||||
CHK_SeenFemale.Location = new System.Drawing.Point(6, 32);
|
||||
CHK_SeenFemale.Location = new System.Drawing.Point(14, 38);
|
||||
CHK_SeenFemale.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_SeenFemale.Name = "CHK_SeenFemale";
|
||||
CHK_SeenFemale.Size = new System.Drawing.Size(68, 21);
|
||||
|
|
@ -491,7 +517,7 @@ private void InitializeComponent()
|
|||
// CHK_SeenMale
|
||||
//
|
||||
CHK_SeenMale.AutoSize = true;
|
||||
CHK_SeenMale.Location = new System.Drawing.Point(6, 16);
|
||||
CHK_SeenMale.Location = new System.Drawing.Point(14, 20);
|
||||
CHK_SeenMale.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_SeenMale.Name = "CHK_SeenMale";
|
||||
CHK_SeenMale.Size = new System.Drawing.Size(56, 21);
|
||||
|
|
@ -502,7 +528,7 @@ private void InitializeComponent()
|
|||
// CHK_IsNew
|
||||
//
|
||||
CHK_IsNew.AutoSize = true;
|
||||
CHK_IsNew.Location = new System.Drawing.Point(212, 50);
|
||||
CHK_IsNew.Location = new System.Drawing.Point(356, 19);
|
||||
CHK_IsNew.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
|
||||
CHK_IsNew.Name = "CHK_IsNew";
|
||||
CHK_IsNew.Size = new System.Drawing.Size(53, 21);
|
||||
|
|
@ -647,5 +673,7 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.Label L_Seen;
|
||||
private System.Windows.Forms.Label L_Caught;
|
||||
private System.Windows.Forms.Label L_SeenShiny;
|
||||
private System.Windows.Forms.CheckBox CHK_SeenMegaY;
|
||||
private System.Windows.Forms.CheckBox CHK_SeenMegaX;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -148,9 +148,22 @@ private void GetEntry(ushort species)
|
|||
CHK_SeenMale.Checked = entry.GetIsGenderSeen(0);
|
||||
CHK_SeenFemale.Checked = entry.GetIsGenderSeen(1);
|
||||
CHK_SeenGenderless.Checked = entry.GetIsGenderSeen(2);
|
||||
CHK_SeenMega.Checked = entry.GetIsSeenMega();
|
||||
CHK_SeenAlpha.Checked = entry.GetIsSeenAlpha();
|
||||
|
||||
if (Zukan9a.IsMegaFormXY(species))
|
||||
{
|
||||
CHK_SeenMegaX.Checked = entry.GetIsSeenMega(0);
|
||||
CHK_SeenMegaY.Checked = entry.GetIsSeenMega(1);
|
||||
CHK_SeenMegaX.Visible = CHK_SeenMegaY.Visible = true;
|
||||
CHK_SeenMega.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
CHK_SeenMega.Checked = entry.GetIsSeenMega(0);
|
||||
CHK_SeenMegaX.Visible = CHK_SeenMegaY.Visible = false;
|
||||
CHK_SeenMega.Visible = true;
|
||||
}
|
||||
|
||||
for (byte i = 0; i < forms.Length; i++)
|
||||
{
|
||||
CLB_FormCaught.Items[i] = CLB_FormSeen.Items[i] = CLB_FormShiny.Items[i] = forms[i];
|
||||
|
|
@ -161,7 +174,7 @@ private void GetEntry(ushort species)
|
|||
|
||||
CB_DisplayForm.Items.Clear();
|
||||
CB_DisplayForm.Items.AddRange(forms);
|
||||
CB_DisplayForm.SelectedIndex = Math.Clamp(entry.DisplayForm, 0, CB_Gender.Items.Count - 1);
|
||||
CB_DisplayForm.SelectedIndex = Math.Clamp(entry.DisplayForm, 0, CB_DisplayForm.Items.Count - 1);
|
||||
CB_Gender.SelectedIndex = Math.Clamp((byte)entry.DisplayGender, 0, CB_Gender.Items.Count - 1);
|
||||
CHK_DisplayShiny.Checked = entry.GetDisplayIsShiny();
|
||||
|
||||
|
|
@ -204,8 +217,18 @@ private void SetEntry(ushort species)
|
|||
entry.SetIsGenderSeen(0, CHK_SeenMale.Checked);
|
||||
entry.SetIsGenderSeen(1, CHK_SeenFemale.Checked);
|
||||
entry.SetIsGenderSeen(2, CHK_SeenGenderless.Checked);
|
||||
entry.SetIsSeenMega(CHK_SeenMega.Checked);
|
||||
entry.SetIsSeenAlpha(CHK_SeenAlpha.Checked);
|
||||
|
||||
if (Zukan9a.IsMegaFormXY(species))
|
||||
{
|
||||
entry.SetIsSeenMega(0, CHK_SeenMegaX.Checked);
|
||||
entry.SetIsSeenMega(1, CHK_SeenMegaY.Checked);
|
||||
}
|
||||
else
|
||||
{
|
||||
entry.SetIsSeenMega(0, CHK_SeenMega.Checked);
|
||||
}
|
||||
|
||||
for (byte i = 0; i < CLB_FormSeen.Items.Count; i++)
|
||||
{
|
||||
entry.SetIsFormSeen(i, CLB_FormSeen.GetItemChecked(i));
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user