mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-10-01 05:26:46 -05:00
Update pk2->pk1 party stat transfer logic
pk1 boxdata stores current level & current hp, which is only present in pk2 party data. if the user drops in pk2(boxdata), the transfer leaves 0 for both values, which isn't correct. detect stat_level to determine if values should be regenerated or not. Thanks HaxAras for finding this :)
This commit is contained in:
@@ -365,9 +365,17 @@ public PK1 ConvertToPK1()
|
||||
Array.Copy(Data, 0x1, pk1.Data, 0x7, 0x1A);
|
||||
pk1.Species = Species; // This will take care of Typing :)
|
||||
|
||||
var hp = Stat_HPCurrent;
|
||||
pk1.Stat_HPCurrent = hp != 0 ? hp : GetStat(PersonalInfo.HP, IV_ATK, EV_ATK, Stat_Level);
|
||||
pk1.Stat_Level = Stat_Level;
|
||||
var lvl = Stat_Level;
|
||||
if (lvl == 0) // no party stats (originated from box format), need to regenerate
|
||||
{
|
||||
pk1.Stat_HPCurrent = GetStat(PersonalInfo.HP, IV_ATK, EV_ATK, Stat_Level);
|
||||
pk1.Stat_Level = CurrentLevel;
|
||||
}
|
||||
else
|
||||
{
|
||||
pk1.Stat_HPCurrent = Stat_HPCurrent;
|
||||
pk1.Stat_Level = Stat_Level;
|
||||
}
|
||||
// Status = 0
|
||||
Array.Copy(otname, 0, pk1.otname, 0, otname.Length);
|
||||
Array.Copy(nick, 0, pk1.nick, 0, nick.Length);
|
||||
|
||||
Reference in New Issue
Block a user