diff --git a/PKHeX.Core/Legality/Encounters/Generator/EncounterMovesetGenerator.cs b/PKHeX.Core/Legality/Encounters/Generator/EncounterMovesetGenerator.cs
index 45155a74b..dfa08c184 100644
--- a/PKHeX.Core/Legality/Encounters/Generator/EncounterMovesetGenerator.cs
+++ b/PKHeX.Core/Legality/Encounters/Generator/EncounterMovesetGenerator.cs
@@ -30,6 +30,7 @@ public static class EncounterMovesetGenerator
/// Moves that the resulting must be able to learn.
/// Any specific version(s) to iterate for. If left blank, all will be checked.
/// A consumable list of possible results.
+ /// When updating, update the sister method.
public static IEnumerable GeneratePKMs(PKM pk, ITrainerInfo info, int[]? moves = null, params GameVersion[] versions)
{
pk.TID = info.TID;
@@ -51,6 +52,28 @@ public static IEnumerable GeneratePKMs(PKM pk, ITrainerInfo info, int[]? mo
}
}
+ ///
+ /// Gets possible objects that allow all moves requested to be learned.
+ ///
+ /// Rough Pokémon data which contains the requested species, gender, and form.
+ /// Trainer information of the receiver.
+ /// Moves that the resulting must be able to learn.
+ /// Any specific version(s) to iterate for. If left blank, all will be checked.
+ /// A consumable list of possible results.
+ /// When updating, update the sister method.
+ public static IEnumerable GenerateEncounters(PKM pk, ITrainerInfo info, int[]? moves = null, params GameVersion[] versions)
+ {
+ pk.TID = info.TID;
+ var m = moves ?? pk.Moves;
+ var vers = versions.Length >= 1 ? versions : GameUtil.GetVersionsWithinRange(pk, pk.Format);
+ foreach (var ver in vers)
+ {
+ var encounters = GenerateVersionEncounters(pk, m, ver);
+ foreach (var enc in encounters)
+ yield return enc;
+ }
+ }
+
///
/// Gets possible objects that allow all moves requested to be learned within a specific generation.
///
diff --git a/Tests/PKHeX.Core.Tests/Simulator/ShowdownSetTests.cs b/Tests/PKHeX.Core.Tests/Simulator/ShowdownSetTests.cs
index 1531f5fed..b716a2709 100644
--- a/Tests/PKHeX.Core.Tests/Simulator/ShowdownSetTests.cs
+++ b/Tests/PKHeX.Core.Tests/Simulator/ShowdownSetTests.cs
@@ -45,10 +45,11 @@ public void SimulatorGetEncounters()
var la = new LegalityAnalysis(pk);
Assert.True(la.Valid);
- var test = EncounterMovesetGenerator.GeneratePKMs(pk7, info).ToList();
+ var test = EncounterMovesetGenerator.GenerateEncounters(pk7, info).ToList();
foreach (var t in test)
{
- var la2 = new LegalityAnalysis(t);
+ var convert = t.ConvertToPKM(info);
+ var la2 = new LegalityAnalysis(convert);
Assert.True(la2.Valid);
}
}