Skip to content

Instantly share code, notes, and snippets.

@kwsch
Last active September 21, 2017 04:27
Show Gist options
  • Save kwsch/d778f1f63e4c393e5440dfb0e14cfcc3 to your computer and use it in GitHub Desktop.
Save kwsch/d778f1f63e4c393e5440dfb0e14cfcc3 to your computer and use it in GitHub Desktop.
string folder = @"D:\ranch";
var files = Directory.GetFiles(folder);
// string[] natures = GameInfo.GetStrings("en").natures;
var pkms = files.Select(z => new PK4(File.ReadAllBytes(z))).OrderBy(z => z.Species).ToArray();
List<string> lines = new List<string>();
foreach (var pk in pkms)
{
bool forcedPID = pk.Species != 489 && pk.Species != 151;
var l = $"new EncounterTrade{(forcedPID ? "PID" : " ")} {{ Species = {pk.Species:000}, Level = {pk.Met_Level:00}, Moves = new[] {{{string.Join(",", pk.Moves.Select(m => m.ToString("000")))}}}, ";
l += $"TID = {pk.TID}, SID = {pk.SID:00000}, ";
l += $"OTGender = {pk.OT_Gender}, ";
l += "Version = GameVersion.D, ";
l += $"Location = {pk.Met_Location:0000}, ";
l += $"Gender = {pk.Gender}, ";
if (forcedPID)
l += $"PID = {pk.PID}, ";
else
l += "Fateful = true, ";
if (pk.CurrentLevel != pk.Met_Level)
l += $"CurrentLevel = {pk.CurrentLevel}, ";
if (pk.Ball != 4)
l += $"Ball = 0x{pk.Ball:X2}, ";
if (pk.Egg_Location != 0)
l += $"Egg_Location = {pk.Egg_Location}, ";
lines.Add(l + "}, // " + pk.Nickname[0] + pk.Nickname.Substring(1).ToLower());
}
var msg = string.Join(Environment.NewLine, lines);
Console.WriteLine(msg);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment