mirror of
https://github.com/kwsch/PKHeX
synced 2024-11-10 06:34:19 +00:00
95fbf66a6e
In addition to the Method 1 (and other sibling PIDIV types) correlation, an encounter can only be triggered if the calls prior land on the Method {1} seed. The RNG community has dubbed these patterns as "Method J" (D/P/Pt), "Method K" (HG/SS), and "Method H" (Gen3, coined by yours truly). The basic gist of these is that they are pre-requisites, like the Shadow locks of Colosseum/XD. Rename/re-type a bunch of properties to get the codebase more in line with correct property names & more obvious underlying types.
42 lines
1.5 KiB
C#
42 lines
1.5 KiB
C#
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using static PKHeX.Core.MessageStrings;
|
|
|
|
namespace PKHeX.Core;
|
|
|
|
/// <summary>
|
|
/// Utility for editing a <see cref="PKM"/>
|
|
/// </summary>
|
|
public static class EntitySuggestionUtil
|
|
{
|
|
public static List<string> GetMetLocationSuggestionMessage(PKM pk, int level, ushort location, int minimumLevel, IEncounterable? enc)
|
|
{
|
|
var suggestion = new List<string> { MsgPKMSuggestionStart };
|
|
if (pk.Format >= 3)
|
|
{
|
|
var metList = GameInfo.GetLocationList(pk.Version, pk.Context, egg: false);
|
|
var locationName = metList.First(loc => loc.Value == location).Text;
|
|
suggestion.Add($"{MsgPKMSuggestionMetLocation} {locationName}");
|
|
suggestion.Add($"{MsgPKMSuggestionMetLevel} {level}");
|
|
}
|
|
else if (pk is ICaughtData2)
|
|
{
|
|
var metList = GameInfo.GetLocationList(GameVersion.C, pk.Context);
|
|
string locationName;
|
|
if (enc?.Version.Contains(GameVersion.C) == true)
|
|
{
|
|
locationName = metList.First(loc => loc.Value == location).Text;
|
|
}
|
|
else
|
|
{
|
|
locationName = metList[0].Text;
|
|
level = 0;
|
|
}
|
|
suggestion.Add($"{MsgPKMSuggestionMetLocation} {locationName}");
|
|
suggestion.Add($"{MsgPKMSuggestionMetLevel} {level}");
|
|
}
|
|
if (pk.CurrentLevel < minimumLevel)
|
|
suggestion.Add($"{MsgPKMSuggestionLevel} {minimumLevel}");
|
|
return suggestion;
|
|
}
|
|
}
|