pkNX/pkNX.Structures/Text/TextVariableCode.cs
Kurt dcf6b0043b Fix EV yield bit ordering
oopsies

https://github.com/kwsch/PKHeX/issues/4252

also includes a minor clean for TextVariableCode
2024-04-22 13:19:03 -05:00

230 lines
6.7 KiB
C#

namespace pkNX.Structures;
public sealed record TextVariableCode(ushort Code, string Name)
{
public static TextVariableCode[] GetVariables(GameVersion game)
{
if (game == GameVersion.Any)
return [];
if (GameVersion.GG.Contains(game))
return GG;
if (GameVersion.XY.Contains(game))
return XY;
if (GameVersion.ORAS.Contains(game) || GameVersion.ORASDEMO == game)
return AO;
if (GameVersion.SM.Contains(game) || GameVersion.USUM.Contains(game))
return SM;
return [];
}
private static readonly TextVariableCode[] XY =
[
new(0xFF00, "COLOR"),
new(0x0100, "TRNAME"),
new(0x0101, "PKNAME"),
new(0x0102, "PKNICK"),
new(0x0103, "TYPE"),
new(0x0105, "LOCATION"),
new(0x0106, "ABILITY"),
new(0x0107, "MOVE"),
new(0x0108, "ITEM1"),
new(0x0109, "ITEM2"),
new(0x010A, "sTRBAG"),
new(0x010B, "BOX"),
new(0x010D, "EVSTAT"),
new(0x0110, "OPOWER"),
new(0x0127, "RIBBON"),
new(0x0134, "MIINAME"),
new(0x013E, "WEATHER"),
new(0x0189, "TRNICK"),
new(0x018A, "1stchrTR"),
new(0x018B, "SHOUTOUT"),
new(0x018E, "BERRY"),
new(0x018F, "REMFEEL"),
new(0x0190, "REMQUAL"),
new(0x0191, "WEBSITE"),
new(0x019C, "CHOICECOS"),
new(0x01A1, "GSYNCID"),
new(0x0192, "PRVIDSAY"),
new(0x0193, "BTLTEST"),
new(0x0195, "GENLOC"),
new(0x0199, "CHOICEFOOD"),
new(0x019A, "HOTELITEM"),
new(0x019B, "TAXISTOP"),
new(0x019F, "MAISTITLE"),
new(0x1000, "ITEMPLUR0"),
new(0x1001, "ITEMPLUR1"),
new(0x1100, "GENDBR"),
new(0x1101, "NUMBRNCH"),
new(0x1302, "iCOLOR2"),
new(0x1303, "iCOLOR3"),
new(0x0200, "NUM1"),
new(0x0201, "NUM2"),
new(0x0202, "NUM3"),
new(0x0203, "NUM4"),
new(0x0204, "NUM5"),
new(0x0205, "NUM6"),
new(0x0206, "NUM7"),
new(0x0207, "NUM8"),
new(0x0208, "NUM9"),
];
private static readonly TextVariableCode[] AO =
[
new(0xFF00, "COLOR"),
new(0x0100, "TRNAME"),
new(0x0101, "PKNAME"),
new(0x0102, "PKNICK"),
new(0x0103, "TYPE"),
new(0x0105, "LOCATION"),
new(0x0106, "ABILITY"),
new(0x0107, "MOVE"),
new(0x0108, "ITEM1"),
new(0x0109, "ITEM2"),
new(0x010A, "sTRBAG"),
new(0x010B, "BOX"),
new(0x010D, "EVSTAT"),
new(0x0110, "OPOWER"),
new(0x0127, "RIBBON"),
new(0x0134, "MIINAME"),
new(0x013E, "WEATHER"),
new(0x0189, "TRNICK"),
new(0x018A, "1stchrTR"),
new(0x018B, "SHOUTOUT"),
new(0x018E, "BERRY"),
new(0x018F, "REMFEEL"),
new(0x0190, "REMQUAL"),
new(0x0191, "WEBSITE"),
new(0x019C, "CHOICECOS"),
new(0x01A1, "GSYNCID"),
new(0x0192, "PRVIDSAY"),
new(0x0193, "BTLTEST"),
new(0x0195, "GENLOC"),
new(0x0199, "CHOICEFOOD"),
new(0x019A, "HOTELITEM"),
new(0x019B, "TAXISTOP"),
new(0x019F, "MAISTITLE"),
new(0x1000, "ITEMPLUR0"),
new(0x1001, "ITEMPLUR1"),
new(0x1100, "GENDBR"),
new(0x1101, "NUMBRNCH"),
new(0x1302, "iCOLOR2"),
new(0x1303, "iCOLOR3"),
new(0x0200, "NUM1"),
new(0x0201, "NUM2"),
new(0x0202, "NUM3"),
new(0x0203, "NUM4"),
new(0x0204, "NUM5"),
new(0x0205, "NUM6"),
new(0x0206, "NUM7"),
new(0x0207, "NUM8"),
new(0x0208, "NUM9"),
];
private static readonly TextVariableCode[] SM =
[
new(0xFF00, "COLOR"),
new(0x0100, "TRNAME"),
new(0x0101, "PKNAME"),
new(0x0102, "PKNICK"),
new(0x0103, "TYPE"),
new(0x0105, "LOCATION"),
new(0x0106, "ABILITY"),
new(0x0107, "MOVE"),
new(0x0108, "ITEM1"),
new(0x0109, "ITEM2"),
new(0x010A, "sTRBAG"),
new(0x010B, "BOX"),
new(0x010D, "EVSTAT"),
new(0x0110, "OPOWER"),
new(0x0127, "RIBBON"),
new(0x0134, "MIINAME"),
new(0x013E, "WEATHER"),
new(0x0189, "TRNICK"),
new(0x018A, "1stchrTR"),
new(0x018B, "SHOUTOUT"),
new(0x018E, "BERRY"),
new(0x018F, "REMFEEL"),
new(0x0190, "REMQUAL"),
new(0x0191, "WEBSITE"),
new(0x019C, "CHOICECOS"),
new(0x01A1, "GSYNCID"),
new(0x0192, "PRVIDSAY"),
new(0x0193, "BTLTEST"),
new(0x0195, "GENLOC"),
new(0x0199, "CHOICEFOOD"),
new(0x019A, "HOTELITEM"),
new(0x019B, "TAXISTOP"),
new(0x019F, "MAISTITLE"),
new(0x1000, "ITEMPLUR0"),
new(0x1001, "ITEMPLUR1"),
new(0x1100, "GENDBR"),
new(0x1101, "NUMBRNCH"),
new(0x1302, "iCOLOR2"),
new(0x1303, "iCOLOR3"),
new(0x0200, "NUM1"),
new(0x0201, "NUM2"),
new(0x0202, "NUM3"),
new(0x0203, "NUM4"),
new(0x0204, "NUM5"),
new(0x0205, "NUM6"),
new(0x0206, "NUM7"),
new(0x0207, "NUM8"),
new(0x0208, "NUM9"),
];
private static readonly TextVariableCode[] GG =
[
new(0xFF00, "COLOR"),
new(0x0100, "TRNAME"),
new(0x0101, "PKNAME"),
new(0x0102, "PKNICK"),
new(0x0103, "TYPE"),
new(0x0105, "LOCATION"),
new(0x0106, "ABILITY"),
new(0x0107, "MOVE"),
new(0x0108, "ITEM1"),
new(0x0109, "ITEM2"),
new(0x010A, "sTRBAG"),
new(0x010B, "BOX"),
new(0x010D, "EVSTAT"),
new(0x0110, "OPOWER"),
new(0x0127, "RIBBON"),
new(0x0134, "MIINAME"),
new(0x013E, "WEATHER"),
new(0x0189, "TRNICK"),
new(0x018A, "1stchrTR"),
new(0x018B, "SHOUTOUT"),
new(0x018E, "BERRY"),
new(0x018F, "REMFEEL"),
new(0x0190, "REMQUAL"),
new(0x0191, "WEBSITE"),
new(0x019C, "CHOICECOS"),
new(0x01A1, "GSYNCID"),
new(0x0192, "PRVIDSAY"),
new(0x0193, "BTLTEST"),
new(0x0195, "GENLOC"),
new(0x0199, "CHOICEFOOD"),
new(0x019A, "HOTELITEM"),
new(0x019B, "TAXISTOP"),
new(0x019F, "MAISTITLE"),
new(0x1000, "ITEMPLUR0"),
new(0x1001, "ITEMPLUR1"),
new(0x1100, "GENDBR"),
new(0x1101, "NUMBRNCH"),
new(0x1302, "iCOLOR2"),
new(0x1303, "iCOLOR3"),
new(0x0200, "NUM1"),
new(0x0201, "NUM2"),
new(0x0202, "NUM3"),
new(0x0203, "NUM4"),
new(0x0204, "NUM5"),
new(0x0205, "NUM6"),
new(0x0206, "NUM7"),
new(0x0207, "NUM8"),
new(0x0208, "NUM9"),
];
}