Fix Mr. Mime/Farfetch'd Gen I/II name bugs

This commit is contained in:
Michael Scire 2016-09-11 16:22:05 -07:00
parent 0b52c9a208
commit efc66fd0b3
6 changed files with 36 additions and 7 deletions

View file

@ -2325,9 +2325,14 @@ namespace PKHeX
if (SAV.Generation < 5) // All caps GenIV and previous
nick = nick.ToUpper();
if (SAV.Generation < 3)
nick = nick.Replace(" ", "");
TB_Nickname.Text = nick;
if (SAV.Generation == 1)
((PK1)pkm).setNotNicknamed();
if (SAV.Generation == 2)
((PK2)pkm).setNotNicknamed();
}
}
private void updateNicknameClick(object sender, MouseEventArgs e)
@ -3156,6 +3161,8 @@ namespace PKHeX
if (SAV.Generation < 5) // All caps GenIV and previous
nick = nick.ToUpper();
if (SAV.Generation < 3)
nick = nick.Replace(" ", "");
if (TB_Nickname.Text != nick)
{
CHK_Nicknamed.Checked = true;

View file

@ -77,7 +77,10 @@ namespace PKHeX
pk1.EV_SPE = Util.ToInt32(TB_SPEEV.Text);
pk1.EV_SPC = Util.ToInt32(TB_SPAEV.Text);
if (CHK_Nicknamed.Checked)
pk1.Nickname = TB_Nickname.Text;
else
pk1.setNotNicknamed();
pk1.Move1 = Util.getIndex(CB_Move1);
pk1.Move2 = Util.getIndex(CB_Move2);
pk1.Move3 = Util.getIndex(CB_Move3);

View file

@ -96,7 +96,10 @@ namespace PKHeX
pk2.EV_SPE = Util.ToInt32(TB_SPEEV.Text);
pk2.EV_SPC = Util.ToInt32(TB_SPAEV.Text);
if (CHK_Nicknamed.Checked)
pk2.Nickname = TB_Nickname.Text;
else
pk2.setNotNicknamed();
pk2.Move1 = Util.getIndex(CB_Move1);
pk2.Move2 = Util.getIndex(CB_Move2);
pk2.Move3 = Util.getIndex(CB_Move3);

View file

@ -100,9 +100,11 @@ namespace PKHeX
get
{
string spName = PKX.getSpeciesName(Species, Japanese ? 1 : 2).ToUpper();
spName = spName.Replace(" ", ""); // Gen I/II didn't have a space for Mr. Mime
return !nick.SequenceEqual(
PKX.setG1Str(spName, Japanese)
.Concat(Enumerable.Repeat((byte) 0x50, StringLength - spName.Length - 1)));
.Concat(Enumerable.Repeat((byte) 0x50, StringLength - spName.Length - 1))
.Select(b => (byte)(b == 0xF2 ? 0xE8 : b)));
}
set { }
}
@ -110,7 +112,11 @@ namespace PKHeX
public void setNotNicknamed()
{
string spName = PKX.getSpeciesName(Species, Japanese ? 1 : 2).ToUpper();
nick = PKX.setG1Str(spName, Japanese).Concat(Enumerable.Repeat((byte)0x50, StringLength - spName.Length - 1)).ToArray();
spName = spName.Replace(" ", ""); // Gen I/II didn't have a space for Mr. Mime
nick = PKX.setG1Str(spName, Japanese)
.Concat(Enumerable.Repeat((byte)0x50, StringLength - spName.Length - 1))
.Select(b => (byte)(b == 0xF2 ? 0xE8 : b)) // Decimal point<->period fix
.ToArray();
}

View file

@ -103,9 +103,11 @@ namespace PKHeX
get
{
string spName = PKX.getSpeciesName(Species, Japanese ? 1 : 2).ToUpper();
spName = spName.Replace(" ", ""); // Gen I/II didn't have a space for Mr. Mime
return !nick.SequenceEqual(
PKX.setG1Str(spName, Japanese)
.Concat(Enumerable.Repeat((byte) 0x50, StringLength - spName.Length - 1)));
.Concat(Enumerable.Repeat((byte) 0x50, StringLength - spName.Length - 1))
.Select(b => (byte)(b == 0xF2 ? 0xE8 : b)));
}
set { }
}
@ -113,7 +115,11 @@ namespace PKHeX
public void setNotNicknamed()
{
string spName = PKX.getSpeciesName(Species, Japanese ? 1 : 2).ToUpper();
nick = PKX.setG1Str(spName, Japanese).Concat(Enumerable.Repeat((byte)0x50, StringLength - spName.Length - 1)).ToArray();
spName = spName.Replace(" ", ""); // Gen I/II didn't have a space for Mr. Mime
nick = PKX.setG1Str(spName, Japanese)
.Concat(Enumerable.Repeat((byte)0x50, StringLength - spName.Length - 1))
.Select(b => (byte)(b == 0xF2 ? 0xE8 : b)) // Decimal point<->period fix
.ToArray();
}

View file

@ -1713,11 +1713,13 @@ namespace PKHeX
{0xB7, "x"},
{0xB8, "y"},
{0xB9, "z"},
{0xE0, ""},
{0xE1, "{"}, /* Pk */
{0xE2, "}"}, /* Mn */
{0xE3, "-"},
{0xE6, "?"},
{0xE7, "!"},
{0xE8, "."}, // Alias decimal point to .
{0xEF, "♂"},
{0xF2, "."},
{0xF3, "/"},
@ -1797,6 +1799,8 @@ namespace PKHeX
{"x", 0xB7},
{"y", 0xB8},
{"z", 0xB9},
{"'", 0xE0}, // Alias ' to for Farfetch'd
{"", 0xE0},
{"{", 0xE1}, /* Pk */
{"}", 0xE2}, /* Mn */
{"-", 0xE3},