mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-08-27 12:04:15 -05:00
Fix gen3 unown form display/edit
This commit is contained in:
@@ -1128,13 +1128,13 @@ internal static void setCountrySubRegion(ComboBox CB, string type)
|
||||
}
|
||||
private void setForms()
|
||||
{
|
||||
if (SAV.Generation < 4)
|
||||
int species = Util.getIndex(CB_Species);
|
||||
if (SAV.Generation < 4 && species != 201)
|
||||
{
|
||||
Label_Form.Visible = CB_Form.Visible = CB_Form.Enabled = false;
|
||||
return;
|
||||
}
|
||||
|
||||
int species = Util.getIndex(CB_Species);
|
||||
bool hasForms = SAV.Personal[species].HasFormes || new[] { 201, 664, 665, 414 }.Contains(species);
|
||||
CB_Form.Enabled = CB_Form.Visible = Label_Form.Visible = hasForms;
|
||||
|
||||
@@ -1626,7 +1626,12 @@ private void updateForm(object sender, EventArgs e)
|
||||
setAbilityList();
|
||||
|
||||
// Gender Forms
|
||||
if (PKX.getGender(CB_Form.Text) < 2 && Util.getIndex(CB_Species) != 201) // don't do this for Unown
|
||||
if (Util.getIndex(CB_Species) == 201)
|
||||
{
|
||||
if (fieldsLoaded && SAV.Generation == 3)
|
||||
updateRandomPID(sender, e); // Fix AltForm
|
||||
}
|
||||
else if (PKX.getGender(CB_Form.Text) < 2)
|
||||
Label_Gender.Text = CB_Form.Text;
|
||||
|
||||
if (changingFields)
|
||||
|
||||
@@ -90,6 +90,9 @@ private void populateFieldsPK3()
|
||||
TB_PP3.Text = pk3.Move3_PP.ToString();
|
||||
TB_PP4.Text = pk3.Move4_PP.ToString();
|
||||
|
||||
// Set Form if count is enough, else cap.
|
||||
CB_Form.SelectedIndex = CB_Form.Items.Count > pk3.AltForm ? pk3.AltForm : CB_Form.Items.Count - 1;
|
||||
|
||||
// Load Extrabyte Value
|
||||
TB_ExtraByte.Text = pk3.Data[Convert.ToInt32(CB_ExtraBytes.Text, 16)].ToString();
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ public PK3(byte[] decryptedData = null, string ident = null)
|
||||
// Future Attributes
|
||||
public override uint EncryptionConstant { get { return PID; } set { } }
|
||||
public override int Nature { get { return (int)(PID % 25); } set { } }
|
||||
public override int AltForm { get { return -1; } set { } }
|
||||
public override int AltForm { get { return Species == 201 ? PKX.getUnownForm(PID) : 0; } set { } }
|
||||
|
||||
public override bool IsNicknamed { get { return PKX.getIsNicknamed(Species, Nickname); } set { } }
|
||||
public override int Gender { get { return PKX.getGender(Species, PID); } set { } }
|
||||
@@ -294,8 +294,7 @@ public PK4 convertToPK4()
|
||||
pk4.IsNicknamed = IsNicknamed;
|
||||
|
||||
// Unown Form
|
||||
if (Species == 201)
|
||||
pk4.AltForm = PKX.getUnownForm(PID);
|
||||
pk4.AltForm = AltForm;
|
||||
|
||||
// Remove HM moves
|
||||
int[] banned = { 15, 19, 57, 70, 148, 249, 127, 291 };
|
||||
|
||||
Reference in New Issue
Block a user