PKHeX/PKHeX.Drawing.PokeSprite/Util/BoxWallpaper.cs
Kurt bc809af06c Split PKHeX.Drawing into subprojects
Allows trimmed dll usage by keeping pkm sprites in one project, and all other cosmetic UI stuff in another project
2021-11-27 15:48:08 -08:00

70 lines
2.5 KiB
C#

using PKHeX.Core;
using static PKHeX.Core.GameVersion;
namespace PKHeX.Drawing.PokeSprite
{
internal static class BoxWallpaper
{
public static bool IsWallpaperRed(GameVersion version, int wallpaperID)
{
switch (version.GetGeneration())
{
case 3:
if (CXD.Contains(version))
return wallpaperID == 7; // flame pattern in XD
return wallpaperID switch
{
5 => true, // Volcano
13 => E == version, // PokéCenter
_ => false,
};
case 4:
return wallpaperID switch
{
5 => true, // Volcano
12 => true, // Checks
13 => true, // PokéCenter
22 => true, // Special
_ => false,
};
case 5:
return wallpaperID switch
{
5 => true, // Volcano
12 => true, // Checks
19 => B2W2.Contains(version), // PWT
22 => B2W2.Contains(version), // Reshiram
21 => BW.Contains(version), // Zoroark
23 => BW.Contains(version), // Musical
_ => false,
};
case 6 or 7:
return wallpaperID switch
{
5 => true, // Volcano
12 => true, // PokéCenter
20 => true, // Special5 Flare/Magma
_ => false,
};
case 8 when BDSP.Contains(version):
return wallpaperID switch
{
6 => true, // Volcano
15 => true, // Checks
21 => true, // Trio
29 => true, // Nostalgic (Platinum)
30 => true, // Legend (Platinum)
_ => false,
};
case 8:
return wallpaperID switch
{
_ => true, // Bad contrast with lots of void space, better to just highlight the shiny red.
};
default:
return false;
}
}
}
}