From 5cd6f456f068bbf425f0d87359d415ebd861406e Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 26 Oct 2025 23:58:28 -0500 Subject: [PATCH] Minor tweaks Fix ability index calc for generate & match Fix message for mystery gift fateful encounter flag should be false Add PA9 to GetBlank for anyone using the method via NuGet dll --- .../Legality/Encounters/Templates/Gen9a/LumioseRNG.cs | 4 ++-- PKHeX.Core/Legality/RNG/Methods/Gen9/Encounter9RNG.cs | 8 ++++---- PKHeX.Core/PKM/Util/EntityBlank.cs | 1 + 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/PKHeX.Core/Legality/Encounters/Templates/Gen9a/LumioseRNG.cs b/PKHeX.Core/Legality/Encounters/Templates/Gen9a/LumioseRNG.cs index 91dd85e33..d34688746 100644 --- a/PKHeX.Core/Legality/Encounters/Templates/Gen9a/LumioseRNG.cs +++ b/PKHeX.Core/Legality/Encounters/Templates/Gen9a/LumioseRNG.cs @@ -232,8 +232,8 @@ private static bool IsMatchIVsAndFollowing(PKM pk, in GenerateParam9a enc, Xoros // No way to change abilities. Index must match. int ability = enc.Ability switch { - AbilityPermission.Any12H => (int)rand.NextInt(3) << 1, - AbilityPermission.Any12 => (int)rand.NextInt(2) << 1, + AbilityPermission.Any12H => 1 << (int)rand.NextInt(3), + AbilityPermission.Any12 => 1 << (int)rand.NextInt(2), _ => (int)enc.Ability, }; if (pk.AbilityNumber != ability) diff --git a/PKHeX.Core/Legality/RNG/Methods/Gen9/Encounter9RNG.cs b/PKHeX.Core/Legality/RNG/Methods/Gen9/Encounter9RNG.cs index da399918c..37b9fc8d9 100644 --- a/PKHeX.Core/Legality/RNG/Methods/Gen9/Encounter9RNG.cs +++ b/PKHeX.Core/Legality/RNG/Methods/Gen9/Encounter9RNG.cs @@ -103,8 +103,8 @@ public static bool GenerateData(PK9 pk, in GenerateParam9 enc, in EncounterCrite int ability = enc.Ability switch { - AbilityPermission.Any12H => (int)rand.NextInt(3) << 1, - AbilityPermission.Any12 => (int)rand.NextInt(2) << 1, + AbilityPermission.Any12H => 1 << (int)rand.NextInt(3), + AbilityPermission.Any12 => 1 << (int)rand.NextInt(2), _ => (int)enc.Ability, }; pk.RefreshAbility(ability >> 1); @@ -189,8 +189,8 @@ public static bool IsMatch(PKM pk, in GenerateParam9 enc, in ulong seed) // ReSharper disable once UnusedVariable int ability = enc.Ability switch { - AbilityPermission.Any12H => (int)rand.NextInt(3) << 1, - AbilityPermission.Any12 => (int)rand.NextInt(2) << 1, + AbilityPermission.Any12H => 1 << (int)rand.NextInt(3), + AbilityPermission.Any12 => 1 << (int)rand.NextInt(2), _ => (int)enc.Ability, }; diff --git a/PKHeX.Core/PKM/Util/EntityBlank.cs b/PKHeX.Core/PKM/Util/EntityBlank.cs index 3c11485c0..19ef6ca4e 100644 --- a/PKHeX.Core/PKM/Util/EntityBlank.cs +++ b/PKHeX.Core/PKM/Util/EntityBlank.cs @@ -50,6 +50,7 @@ public static PKM GetBlank(TypeInfo type) 7 when version is GameVersion.GP or GameVersion.GE => new PB7(), 8 when version is GameVersion.BD or GameVersion.SP => new PB8(), 8 when version is GameVersion.PLA => new PA8(), + 9 when version is GameVersion.ZA => new PA9(), _ => GetBlank(gen), };