sora10pls

[LINQPad] WhosThatPokemon Species Name Generation Script

Jul 13th, 2022 (edited)
555
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.47 KB | None | 0 0
  1. using PKHeX.Core;
  2. using static PKHeX.Core.LanguageID;
  3.  
  4. void Main()
  5. {
  6.     for (int i = (int)Species.Bulbasaur; i < (int)Species.MAX_COUNT; i++)
  7.     {
  8.         Console.WriteLine("  names: {");
  9.         Console.WriteLine($"    de: \"{GetSpeciesName(i, (int)German)}\",");
  10.         Console.WriteLine($"    en: \"{GetSpeciesName(i, (int)English)}\",");
  11.         Console.WriteLine($"    fr: \"{GetSpeciesName(i, (int)French)}\",");
  12.         Console.WriteLine($"    ja: \"{GetSpeciesName(i, (int)Japanese)}\",");
  13.         Console.WriteLine("  },");
  14.         Console.WriteLine($"  number: {i},");
  15.        
  16.         if (i != (int)Species.MAX_COUNT - 1)
  17.         {
  18.             Console.WriteLine("},{");
  19.         }
  20.     }
  21. }
  22.  
  23. private static string GetSpeciesName(int species, int lang)
  24. {
  25.     var de = SpeciesName.GetSpeciesName(species, (int)German).ToLower();
  26.     var en = SpeciesName.GetSpeciesName(species, (int)English).ToLower();
  27.     var fr = SpeciesName.GetSpeciesName(species, (int)French).ToLower();
  28.     var ja = SpeciesName.GetSpeciesName(species, (int)Japanese);
  29.    
  30.     // remove gender symbol
  31.     if (species is (int)Species.NidoranF or (int)Species.NidoranM)
  32.     {
  33.         de = de.Substring(0, de.Length - 1);
  34.         en = en.Substring(0, en.Length - 1);
  35.         fr = fr.Substring(0, fr.Length - 1);
  36.         ja = ja.Substring(0, ja.Length - 1);
  37.     }
  38.    
  39.     // sanitize apostrophe
  40.     if (species is (int)Species.Farfetchd or (int)Species.Sirfetchd)
  41.         en = en.Replace("’", "\'");
  42.    
  43.     return lang switch
  44.     {
  45.         (int)German => de,
  46.         (int)English => en,
  47.         (int)French => fr,
  48.         _ => ja,
  49.     };
  50. }
Add Comment
Please, Sign In to add comment