From 2f3e496e6fb0dca3ad048daa87004f821aa2d668 Mon Sep 17 00:00:00 2001 From: Kurt Date: Sun, 29 Aug 2021 13:09:26 -0700 Subject: [PATCH] Change defunct gen8 location memory setting to check 1% Refer to previous commit, the apply-memory has a 1% chance of failing for 100% memories, resulting in the ability to have 0-memory HT via link trades. In-game trades caused the previous logic, as those forget to set the HT memory (likely the same logic flaw as skipping the nickname check via game settings). --- PKHeX.Core/Legality/Verifiers/MemoryVerifier.cs | 4 ++-- PKHeX.Core/Legality/Verifiers/ParseSettings.cs | 6 +++--- PKHeX.WinForms/Properties/PKHeXSettings.cs | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/PKHeX.Core/Legality/Verifiers/MemoryVerifier.cs b/PKHeX.Core/Legality/Verifiers/MemoryVerifier.cs index 5c9840e8c..4aafa13f6 100644 --- a/PKHeX.Core/Legality/Verifiers/MemoryVerifier.cs +++ b/PKHeX.Core/Legality/Verifiers/MemoryVerifier.cs @@ -286,8 +286,8 @@ private void VerifyHTMemory(LegalityAnalysis data) switch (memory) { // No Memory - case 0: // SWSH trades don't set HT memories immediately, which is hilarious. - data.AddLine(Get(LMemoryMissingHT, memoryGen == 8 ? Severity.Fishy : Severity.Invalid)); + case 0: // SWSH memory application has an off-by-one error: [0,99] + 1 <= chance --> don't apply + data.AddLine(Get(LMemoryMissingHT, memoryGen == 8 ? ParseSettings.Gen8MemoryMissingHT : Severity.Invalid)); VerifyHTMemoryNone(data, mem); return; diff --git a/PKHeX.Core/Legality/Verifiers/ParseSettings.cs b/PKHeX.Core/Legality/Verifiers/ParseSettings.cs index e2b304253..dec6b2fd9 100644 --- a/PKHeX.Core/Legality/Verifiers/ParseSettings.cs +++ b/PKHeX.Core/Legality/Verifiers/ParseSettings.cs @@ -27,7 +27,7 @@ public static class ParseSettings public static Severity NicknamedMysteryGift { get; private set; } = Severity.Fishy; public static Severity RNGFrameNotFound { get; private set; } = Severity.Fishy; public static Severity Gen7TransferStarPID { get; private set; } = Severity.Fishy; - public static Severity Gen8MemoryLocationTextVariable { get; private set; } = Severity.Fishy; + public static Severity Gen8MemoryMissingHT { get; private set; } = Severity.Fishy; public static Severity Gen8TransferTrackerNotPresent { get; private set; } = Severity.Fishy; public static Severity NicknamedAnotherSpecies { get; private set; } = Severity.Fishy; @@ -89,8 +89,8 @@ public static void InitFromSettings(IParseSettings settings) NicknamedMysteryGift = settings.NicknamedMysteryGift; RNGFrameNotFound = settings.RNGFrameNotFound; Gen7TransferStarPID = settings.Gen7TransferStarPID; - Gen8MemoryLocationTextVariable = settings.Gen8MemoryLocationTextVariable; Gen8TransferTrackerNotPresent = settings.Gen8TransferTrackerNotPresent; + Gen8MemoryMissingHT = settings.Gen8MemoryMissingHT; NicknamedAnotherSpecies = settings.NicknamedAnotherSpecies; } } @@ -104,7 +104,7 @@ public interface IParseSettings Severity NicknamedMysteryGift { get; } Severity RNGFrameNotFound { get; } Severity Gen7TransferStarPID { get; } - Severity Gen8MemoryLocationTextVariable { get; } + Severity Gen8MemoryMissingHT { get; } Severity Gen8TransferTrackerNotPresent { get; } Severity NicknamedAnotherSpecies { get; } } diff --git a/PKHeX.WinForms/Properties/PKHeXSettings.cs b/PKHeX.WinForms/Properties/PKHeXSettings.cs index 9837b3572..48c952237 100644 --- a/PKHeX.WinForms/Properties/PKHeXSettings.cs +++ b/PKHeX.WinForms/Properties/PKHeXSettings.cs @@ -199,8 +199,8 @@ public sealed class LegalitySettings : IParseSettings [LocalizedDescription("Severity to flag a Legality Check if Pokémon from Gen1/2 has a Star Shiny PID.")] public Severity Gen7TransferStarPID { get; set; } = Severity.Fishy; - [LocalizedDescription("Severity to flag a Legality Check if a Gen8 Location Memory text variable is present.")] - public Severity Gen8MemoryLocationTextVariable { get; set; } = Severity.Fishy; + [LocalizedDescription("Severity to flag a Legality Check if a Gen8 Memory is missing for the Handling Trainer.")] + public Severity Gen8MemoryMissingHT { get; set; } = Severity.Fishy; [LocalizedDescription("Severity to flag a Legality Check if the HOME Tracker is Missing")] public Severity Gen8TransferTrackerNotPresent { get; set; } = Severity.Fishy;