diff --git a/PKHeX.Core/PKM/Editing/CommonEdits.cs b/PKHeX.Core/PKM/Editing/CommonEdits.cs index e9ae5bec5..12e11178b 100644 --- a/PKHeX.Core/PKM/Editing/CommonEdits.cs +++ b/PKHeX.Core/PKM/Editing/CommonEdits.cs @@ -319,12 +319,18 @@ public static void SetMarkings(this PKM pk, int[] IVs = null) if (IVs == null) IVs = pk.IVs; + pk.Markings = IVs.Select(MarkingMethod(pk)).ToArray(); + } - var remapper = pk.Format < 7 ? (Func)GetSimpleMarking : GetComplexMarking; - pk.Markings = IVs.Select(remapper).ToArray(); + public static Func> MarkingMethod { get; set; } = FlagHighLow; + private static Func FlagHighLow(PKM pk) + { + if (pk.Format < 7) + return GetSimpleMarking; + return GetComplexMarking; - int GetSimpleMarking(int val) => val == 31 ? 1 : 0; - int GetComplexMarking(int val) + int GetSimpleMarking(int val, int index) => val == 31 ? 1 : 0; + int GetComplexMarking(int val, int index) { if (val == 31 || val == 1) return 1;