Fix wc7 gen7 species base friendship

personalinfo returned entry 0 for out of range on AO's table, just
define the table at the start instead of duplicate references.
flip some property setting around, no functional change. Pattern is card
val / sav val to be consistent with Nature etc.
This commit is contained in:
Kurt 2017-02-14 16:28:10 -08:00
parent 925a720b4c
commit 1087b31586
2 changed files with 12 additions and 10 deletions

View file

@ -278,6 +278,7 @@ namespace PKHeX.Core
return null; return null;
int currentLevel = Level > 0 ? Level : (int)(Util.rnd32()%100 + 1); int currentLevel = Level > 0 ? Level : (int)(Util.rnd32()%100 + 1);
var pi = PersonalTable.AO[Species];
PK6 pk = new PK6 PK6 pk = new PK6
{ {
Species = Species, Species = Species,
@ -286,11 +287,11 @@ namespace PKHeX.Core
SID = SID, SID = SID,
Met_Level = currentLevel, Met_Level = currentLevel,
Nature = Nature != 0xFF ? Nature : (int)(Util.rnd32() % 25), Nature = Nature != 0xFF ? Nature : (int)(Util.rnd32() % 25),
Gender = PersonalTable.AO[Species].Gender == 255 ? 2 : (Gender != 3 ? Gender : PersonalTable.AO[Species].RandomGender), Gender = Gender != 3 ? Gender : pi.RandomGender,
AltForm = Form, AltForm = Form,
EncryptionConstant = EncryptionConstant == 0 ? Util.rnd32() : EncryptionConstant, EncryptionConstant = EncryptionConstant != 0 ? EncryptionConstant : Util.rnd32(),
Version = OriginGame == 0 ? SAV.Game : OriginGame, Version = OriginGame != 0 ? OriginGame : SAV.Game,
Language = Language == 0 ? SAV.Language : Language, Language = Language != 0 ? Language : SAV.Language,
Ball = Ball, Ball = Ball,
Country = SAV.Country, Country = SAV.Country,
Region = SAV.SubRegion, Region = SAV.SubRegion,
@ -334,7 +335,7 @@ namespace PKHeX.Core
RibbonChampionNational = RibbonChampionNational, RibbonChampionNational = RibbonChampionNational,
RibbonChampionWorld = RibbonChampionWorld, RibbonChampionWorld = RibbonChampionWorld,
OT_Friendship = PersonalTable.AO[Species].BaseFriendship, OT_Friendship = pi.BaseFriendship,
OT_Intensity = OT_Intensity, OT_Intensity = OT_Intensity,
OT_Memory = OT_Memory, OT_Memory = OT_Memory,
OT_TextVar = OT_TextVar, OT_TextVar = OT_TextVar,

View file

@ -297,6 +297,7 @@ namespace PKHeX.Core
int currentLevel = Level > 0 ? Level : (int)(Util.rnd32()%100 + 1); int currentLevel = Level > 0 ? Level : (int)(Util.rnd32()%100 + 1);
int metLevel = MetLevel > 0 ? MetLevel : currentLevel; int metLevel = MetLevel > 0 ? MetLevel : currentLevel;
var pi = PersonalTable.SM[Species];
PK7 pk = new PK7 PK7 pk = new PK7
{ {
Species = Species, Species = Species,
@ -305,11 +306,11 @@ namespace PKHeX.Core
SID = SID, SID = SID,
Met_Level = metLevel, Met_Level = metLevel,
Nature = Nature != 0xFF ? Nature : (int)(Util.rnd32() % 25), Nature = Nature != 0xFF ? Nature : (int)(Util.rnd32() % 25),
Gender = PersonalTable.SM[Species].Gender == 255 ? 2 : (Gender != 3 ? Gender : PersonalTable.SM[Species].RandomGender), Gender = Gender != 3 ? Gender : pi.RandomGender,
AltForm = Form, AltForm = Form,
EncryptionConstant = EncryptionConstant == 0 ? Util.rnd32() : EncryptionConstant, EncryptionConstant = EncryptionConstant != 0 ? EncryptionConstant : Util.rnd32(),
Version = OriginGame == 0 ? SAV.Game : OriginGame, Version = OriginGame != 0 ? OriginGame : SAV.Game,
Language = Language == 0 ? SAV.Language : Language, Language = Language != 0 ? Language : SAV.Language,
Ball = Ball, Ball = Ball,
Country = SAV.Country, Country = SAV.Country,
Region = SAV.SubRegion, Region = SAV.SubRegion,
@ -353,7 +354,7 @@ namespace PKHeX.Core
RibbonChampionNational = RibbonChampionNational, RibbonChampionNational = RibbonChampionNational,
RibbonChampionWorld = RibbonChampionWorld, RibbonChampionWorld = RibbonChampionWorld,
OT_Friendship = PersonalTable.AO[Species].BaseFriendship, OT_Friendship = pi.BaseFriendship,
OT_Intensity = OT_Intensity, OT_Intensity = OT_Intensity,
OT_Memory = OT_Memory, OT_Memory = OT_Memory,
OT_TextVar = OT_TextVar, OT_TextVar = OT_TextVar,