From 15faf8197ab5513630d77eaaf0aed97a91c0779b Mon Sep 17 00:00:00 2001 From: Kurt Date: Fri, 18 Aug 2023 11:48:49 -0700 Subject: [PATCH] Update EncounterStatic4.cs --- .../Templates/Gen4/EncounterStatic4.cs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Templates/Gen4/EncounterStatic4.cs b/PKHeX.Core/Legality/Encounters/Templates/Gen4/EncounterStatic4.cs index 051133eda..2aea2f07a 100644 --- a/PKHeX.Core/Legality/Encounters/Templates/Gen4/EncounterStatic4.cs +++ b/PKHeX.Core/Legality/Encounters/Templates/Gen4/EncounterStatic4.cs @@ -55,6 +55,7 @@ public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria) var pk = new PK4 { Species = Species, + Form = Form, CurrentLevel = LevelMin, OT_Friendship = PersonalTable.HGSS[Species].BaseFriendship, @@ -91,17 +92,19 @@ public PK4 ConvertToPKM(ITrainerInfo tr, EncounterCriteria criteria) private void SetPINGA(PK4 pk, EncounterCriteria criteria) { + // Pichu is special -- use Pokewalker method + if (Species == (int)Core.Species.Pichu) + { + PIDGenerator.SetRandomPIDPokewalker(pk, (byte)Nature, Gender); + criteria.SetRandomIVs(pk); + return; + } + var pi = pk.PersonalInfo; int gender = criteria.GetGender(Gender, pi); int nature = (int)criteria.GetNature(Nature); int ability = criteria.GetAbilityFromNumber(Ability); - - PIDType type = this switch - { - { Shiny: Shiny.Always } => PIDType.ChainShiny, - { Species: (ushort)Core.Species.Pichu } => PIDType.Pokewalker, - _ => PIDType.Method_1, - }; + PIDType type = this is { Shiny: Shiny.Always } ? PIDType.ChainShiny : PIDType.Method_1; PIDGenerator.SetRandomWildPID4(pk, nature, ability, gender, type); }