PKHeX/PKHeX.Core/Legality/Localization/LegalityCheckResultCodeExtensions.cs
2026-03-06 22:09:40 -06:00

441 lines
26 KiB
C#

using System;
using static PKHeX.Core.LegalityCheckResultCode;
namespace PKHeX.Core;
/// <summary>
/// Provides extension methods for <see cref="LegalityCheckResultCode"/> to convert to human-readable strings.
/// </summary>
public static class LegalityCheckResultCodeExtensions
{
extension(LegalityCheckResultCode code)
{
public bool IsArgument => code is < FirstWithTwoArguments and >= FirstWithArgument;
public bool IsArgument2 => code is < FirstWithMove and >= FirstWithTwoArguments;
public bool IsMove => code is < FirstWithItem and >= FirstWithMove;
public bool IsItem => code is < FirstWithLanguage and >= FirstWithItem;
public bool IsLanguage => code is < FirstWithMemory and >= FirstWithLanguage;
public bool IsMemory => code is < FirstComplex and >= FirstWithMemory;
/// <summary>
/// Returns the template string for the given result code.
/// </summary>
public string GetTemplate(LegalityCheckLocalization localization) => code switch
{
// General Strings
External => localization.NotImplemented,
Valid => localization.Valid,
Error => localization.Error,
// Ability
AbilityCapsuleUsed => localization.AbilityCapsuleUsed,
AbilityPatchUsed => localization.AbilityPatchUsed,
AbilityPatchRevertUsed => localization.AbilityPatchRevertUsed,
AbilityFlag => localization.AbilityFlag,
AbilityHiddenFail => localization.AbilityHiddenFail,
AbilityHiddenUnavailable => localization.AbilityHiddenUnavailable,
AbilityMismatch => localization.AbilityMismatch,
AbilityMismatch3 => localization.AbilityMismatch3,
AbilityMismatchFlag => localization.AbilityMismatchFlag,
AbilityMismatchGift => localization.AbilityMismatchGift,
AbilityMismatchPID => localization.AbilityMismatchPID,
AbilityUnexpected => localization.AbilityUnexpected,
// Awakened Values
AwakenedCap => localization.AwakenedCap,
AwakenedStatGEQ_01 => localization.AwakenedShouldBeValue,
// Ball
BallAbility => localization.BallAbility,
BallEggCherish => localization.BallEggCherish,
BallEggMaster => localization.BallEggMaster,
BallEnc => localization.BallEnc,
BallEncMismatch => localization.BallEncMismatch,
BallHeavy => localization.BallHeavy,
BallSpecies => localization.BallSpecies,
BallSpeciesPass => localization.BallSpeciesPass,
BallUnavailable => localization.BallUnavailable,
BallG4Sinnoh => localization.BallG4Sinnoh,
BallG4Johto => localization.BallG4Johto,
// Contest
ContestZero => localization.ContestZero,
ContestZeroSheen => localization.ContestZeroSheen,
ContestSheenGEQ_0 => localization.ContestSheenGEQ_0,
ContestSheenLEQ_0 => localization.ContestSheenLEQ_0,
// Date & Timestamps
DateCalendarInvalidMet => localization.DateCalendarInvalidMet,
DateCalendarInvalidEgg => localization.DateCalendarInvalidEgg,
DateLocalInvalidDate => localization.DateLocalInvalidDate,
DateLocalInvalidTime => localization.DateLocalInvalidTime,
DateOutsideDistributionWindow => localization.DateOutsideDistributionWindow,
// Egg
EggContest => localization.EggContest,
EggEXP => localization.EggEXP,
EggFMetLevel_0 => localization.EggFMetLevel_0,
EggHatchCycles => localization.EggHatchCycles,
EggLocation => localization.EggLocation,
EggLocationInvalid => localization.EggLocationInvalid,
EggLocationNone => localization.EggLocationNone,
EggLocationPalPark => localization.EggLocationPalPark,
EggLocationTrade => localization.EggLocationTrade,
EggLocationTradeFail => localization.EggLocationTradeFail,
EggMetLocationFail => localization.EggMetLocationFail,
EggNature => localization.EggNature,
EggPP => localization.EggPP,
EggPPUp => localization.EggPPUp,
EggRelearnFlags => localization.EggRelearnFlags,
EggShinyPokeStar => localization.EggShinyPokeStar,
EggSpecies => localization.EggSpecies,
EggUnhatched => localization.EggUnhatched,
// Encounter
EncCondition => localization.EncCondition,
EncConditionBadRNGFrame => localization.EncConditionBadRNGFrame,
EncConditionBadSpecies => localization.EncConditionBadSpecies,
EncGift => localization.EncGift,
EncGiftEggEvent => localization.EncGiftEggEvent,
EncGiftIVMismatch => localization.EncGiftIVMismatch,
EncGiftNicknamed => localization.EncGiftNicknamed,
EncGiftNotFound => localization.EncGiftNotFound,
EncGiftPIDMismatch => localization.EncGiftPIDMismatch,
EncGiftShinyMismatch => localization.EncGiftShinyMismatch,
EncGiftVersionNotDistributed => localization.EncGiftVersionNotDistributed,
EncInvalid => localization.EncInvalid,
EncMasteryInitial => localization.EncMasteryInitial,
EncTradeChangedNickname => localization.EncTradeChangedNickname,
EncTradeChangedOT => localization.EncTradeChangedOT,
EncTradeIndexBad => localization.EncTradeIndexBad,
EncTradeMatch => localization.EncTradeMatch,
EncTradeUnchanged => localization.EncTradeUnchanged,
EncStaticPIDShiny => localization.EncStaticPIDShiny,
EncTypeMatch => localization.EncTypeMatch,
EncTypeMismatch => localization.EncTypeMismatch,
EncUnreleased => localization.EncUnreleased,
EncUnreleasedEMewJP => localization.EncUnreleasedEMewJP,
// E-Reader
EReaderAmerica => localization.EReaderAmerica,
EReaderInvalid => localization.EReaderInvalid,
EReaderJapan => localization.EReaderJapan,
// Effort Values
Effort2Remaining => localization.Effort2Remaining,
EffortAbove252 => localization.EffortAbove252,
EffortAbove510 => localization.EffortAbove510,
EffortAllEqual => localization.EffortAllEqual,
EffortCap100 => localization.EffortCap100,
EffortEgg => localization.EffortEgg,
EffortShouldBeZero => localization.EffortShouldBeZero,
EffortEXPIncreased => localization.EffortEXPIncreased,
EffortUntrainedCap_0 => localization.EffortUntrainedCap,
// Evolution
EvoInvalid => localization.EvoInvalid,
EvoTradeReqOutsider_0 => localization.EvoTradeReqOutsider,
EvoTradeRequired => localization.EvoTradeRequired,
// Form
FormArgumentLEQ_0 => localization.FormArgumentLEQ_0,
FormArgumentGEQ_0 => localization.FormArgumentGEQ_0,
FormArgumentNotAllowed => localization.FormArgumentNotAllowed,
FormArgumentValid => localization.FormArgumentValid,
FormArgumentInvalid => localization.FormArgumentInvalid,
FormBattle => localization.FormBattle,
FormEternal => localization.FormEternal,
FormEternalInvalid => localization.FormEternalInvalid,
FormInvalidGame => localization.FormInvalidGame,
FormInvalidNature => localization.FormInvalidNature,
FormItemMatches => localization.FormItem,
FormItemInvalid => localization.FormItemInvalid,
FormParty => localization.FormParty,
FormPikachuCosplay => localization.FormPikachuCosplay,
FormPikachuCosplayInvalid => localization.FormPikachuCosplayInvalid,
FormPikachuEventInvalid => localization.FormPikachuEventInvalid,
FormInvalidExpect_0 => localization.FormInvalidExpect_0,
FormValid => localization.FormValid,
FormVivillon => localization.FormVivillon,
FormVivillonEventPre => localization.FormVivillonEventPre,
FormVivillonInvalid => localization.FormVivillonInvalid,
FormVivillonNonNative => localization.FormVivillonNonNative,
// Hyper Training
HyperTrainLevelGEQ_0 => localization.HyperTrainLevelGEQ_0,
HyperPerfectAll => localization.HyperPerfectAll,
HyperPerfectOne => localization.HyperPerfectOne,
HyperPerfectUnavailable => localization.HyperPerfectUnavailable,
// IVs
IVAllEqual_0 => localization.IVAllEqual_0,
IVNotCorrect => localization.IVNotCorrect,
IVFlawlessCountGEQ_0 => localization.IVFlawlessCountGEQ_0,
// Markings
MarkValueOutOfRange_0 => localization.MarkValueOutOfRange_0,
MarkValueShouldBeZero => localization.MarkValueShouldBeZero,
MarkValueUnusedBitsPresent => localization.MarkValueUnusedBitsPresent,
// Moves
MoveEvoFCombination_0 => localization.MoveEvoFCombination_0,
MovePPExpectHealed_01 => localization.MovePPExpectHealed_01,
MovePPTooHigh_01 => localization.MovePPTooHigh_01,
MovePPUpsTooHigh_01 => localization.MovePPUpsTooHigh_01,
MoveShopMasterInvalid_0 => localization.MoveShopMasterInvalid_0,
MoveShopMasterNotLearned_0 => localization.MoveShopMasterNotLearned_0,
MoveShopPurchaseInvalid_0 => localization.MoveShopPurchaseInvalid_0,
MoveTechRecordFlagMissing_0 => localization.MoveTechRecordFlagMissing_0,
// Memory
MemoryStatSocialLEQ_0 => localization.MemoryStatSocialLEQ_0,
// Pokerus
PokerusDaysLEQ_0 => localization.PokerusDaysTooHigh_0,
PokerusStrainUnobtainable_0 => localization.PokerusStrainUnobtainable_0,
// Ribbons
RibbonsInvalid_0 => localization.RibbonsInvalid_0,
RibbonsMissing_0 => localization.RibbonsMissing_0,
RibbonMarkingInvalid_0 => localization.RibbonMarkingInvalid_0,
RibbonMarkingMissing_0 => localization.RibbonMarkingMissing_0,
RibbonMarkingAffixed_0 => localization.RibbonMarkingAffixed_0,
// Storage
StoredSlotSourceInvalid_0 => localization.StoredSlotSourceInvalid_0,
EncGiftLanguageNotDistributed_0 => localization.EncGiftLanguageNotDistributed,
EncGiftRegionNotDistributed => localization.EncGiftRegionNotDistributed,
EncTradeShouldHaveEvolvedToSpecies_0 => localization.EncTradeShouldHaveEvolvedToSpecies_0,
FatefulGiftMissing => localization.FatefulGiftMissing,
FatefulInvalid => localization.FatefulInvalid,
FatefulMissing => localization.FatefulMissing,
FatefulMystery => localization.FatefulMystery,
FatefulMysteryMissing => localization.FatefulMysteryMissing,
FavoriteMarkingUnavailable => localization.FavoriteMarkingUnavailable,
FormInvalidRangeLEQ_0F => localization.FormInvalidRangeLEQ_0F,
G1CatchRateChain => localization.G1CatchRateChain,
G1CatchRateEvo => localization.G1CatchRateEvo,
G1CatchRateItem => localization.G1CatchRateItem,
G1CatchRateMatchPrevious => localization.G1CatchRateMatchPrevious,
G1CatchRateMatchTradeback => localization.G1CatchRateMatchTradeback,
G1CatchRateNone => localization.G1CatchRateNone,
G1CharNick => localization.G1CharNick,
G1CharOT => localization.G1CharOT,
G1OTGender => localization.G1OTGender,
G1Stadium => localization.G1Stadium,
G1Type1Fail => localization.G1Type1Fail,
G1Type2Fail => localization.G1Type2Fail,
G1TypeMatch1 => localization.G1TypeMatch1,
G1TypeMatch2 => localization.G1TypeMatch2,
G1TypeMatchPorygon => localization.G1TypeMatchPorygon,
G1TypePorygonFail => localization.G1TypePorygonFail,
G1TypePorygonFail1 => localization.G1TypePorygonFail1,
G1TypePorygonFail2 => localization.G1TypePorygonFail2,
G2InvalidTileTreeNotFound => localization.G2InvalidTileTreeNotFound,
G2TreeID => localization.G2TreeID,
G2OTGender => localization.G2OTGender,
G3EReader => localization.G3EReader,
G3OTGender => localization.G3OTGender,
G4InvalidTileR45Surf => localization.G4InvalidTileR45Surf,
G4PartnerMoodEgg => localization.G4PartnerMoodEgg,
G4PartnerMoodZero => localization.G4PartnerMoodZero,
G4ShinyLeafBitsEgg => localization.G4ShinyLeafBitsEgg,
G4ShinyLeafBitsInvalid => localization.G4ShinyLeafBitsInvalid,
G5IVAll30 => localization.G5IVAll30,
G5PIDShinyGrotto => localization.G5PIDShinyGrotto,
G5SparkleInvalid => localization.G5SparkleInvalid,
G5SparkleRequired => localization.G5SparkleRequired,
G5PokeStarMustBeZero => localization.G5PokeStarMustBeZero,
G5PokeStarImpossibleValue => localization.G5PokeStarImpossibleValue,
G7BSocialShouldBe100Spirit => localization.G7BSocialShouldBe100Spirit,
G7BSocialShouldBe100Mood => localization.G7BSocialShouldBe100Mood,
GanbaruStatLEQ_01 => localization.GanbaruStatTooHigh,
GenderInvalidNone => localization.GenderInvalidNone,
GeoBadOrder => localization.GeoBadOrder,
GeoHardwareInvalid => localization.GeoHardwareInvalid,
GeoHardwareRange => localization.GeoHardwareRange,
GeoHardwareValid => localization.GeoHardwareValid,
GeoMemoryMissing => localization.GeoMemoryMissing,
GeoNoCountryHT => localization.GeoNoCountryHT,
GeoNoRegion => localization.GeoNoRegion,
HintEvolvesToSpecies_0 => localization.HintEvolvesToSpecies_0,
HintEvolvesToRareForm_0 => localization.HintEvolvesToRareForm_0,
ItemEgg => localization.ItemEgg,
ItemUnreleased => localization.ItemUnreleased,
LevelBoostNotZero => localization.LevelBoostNotZero,
LevelEXPThreshold => localization.LevelEXPThreshold,
LevelEXPTooHigh => localization.LevelEXPTooHigh,
LevelMetBelow => localization.LevelMetBelow,
LevelMetGift => localization.LevelMetGift,
LevelMetGiftFail => localization.LevelMetGiftFail,
LevelMetSane => localization.LevelMetSane,
MemoryArgBadCatch_H => localization.MemoryArgBadCatch_H,
MemoryArgBadHatch_H => localization.MemoryArgBadHatch_H,
MemoryArgBadHT => localization.MemoryArgBadHT,
MemoryArgBadID_H => localization.MemoryArgBadID_H,
MemoryArgBadItem_H1 => localization.MemoryArgBadItem_H1,
MemoryArgBadLocation_H => localization.MemoryArgBadLocation_H,
MemoryArgBadMove_H1 => localization.MemoryArgBadMove_H1,
MemoryArgBadOTEgg_H => localization.MemoryArgBadOTEgg_H,
MemoryArgBadSpecies_H1 => localization.MemoryArgBadSpecies_H1,
MemoryArgSpecies_H => localization.MemoryArgSpecies_H,
MemoryCleared_H => localization.MemoryCleared_H,
MemoryValid_H => localization.MemoryValid_H,
MemoryFeelInvalid_H => localization.MemoryFeelInvalid_H,
MemoryHTFlagInvalid => localization.MemoryHTFlagInvalid,
MemoryHTGender_0 => localization.MemoryHTGender_0,
MemoryHTLanguage => localization.MemoryHTLanguage,
MemoryIndexArgHT => localization.MemoryIndexArgHT,
MemoryIndexFeel_H1 => localization.MemoryIndexFeel_H1,
MemoryIndexFeelHTLEQ9 => localization.MemoryIndexFeelHTLEQ9,
MemoryIndexID_H1 => localization.MemoryIndexID_H1,
MemoryIndexIntensity_H1 => localization.MemoryIndexIntensity_H1,
MemoryIndexIntensityHT1 => localization.MemoryIndexIntensityHT1,
MemoryIndexIntensityMin_H1 => localization.MemoryIndexIntensityMin_H1,
MemoryIndexLinkHT => localization.MemoryIndexLinkHT,
MemoryIndexVar_H1 => localization.MemoryIndexVar,
MemoryMissingHT => localization.MemoryMissingHT,
MemoryMissingOT => localization.MemoryMissingOT,
MemorySocialZero => localization.MemorySocialZero,
MemoryStatAffectionHT0 => localization.MemoryStatAffectionHT0,
MemoryStatAffectionOT0 => localization.MemoryStatAffectionOT0,
MemoryStatFriendshipHT0 => localization.MemoryStatFriendshipHT0,
MemoryStatFriendshipOTBaseEvent_0 => localization.MemoryStatFriendshipOTBaseEvent_0,
MemoryStatFullness_0 => localization.MemoryStatFullness_0,
MemoryStatFullnessLEQ_0 => localization.MemoryStatFullnessLEQ_0,
MemoryStatEnjoyment_0 => localization.MemoryStatEnjoyment_0,
MetDetailTimeOfDay => localization.MetDetailTimeOfDay,
MoveKeldeoMismatch => localization.MoveKeldeoMismatch,
MovesShouldMatchRelearnMoves => localization.MovesShouldMatchRelearnMoves,
MoveShopAlphaMoveShouldBeMastered_0 => localization.MoveShopAlphaMoveShouldBeMastered_0,
MoveShopAlphaMoveShouldBeOther => localization.MoveShopAlphaMoveShouldBeOther,
MoveShopAlphaMoveShouldBeZero => localization.MoveShopAlphaMoveShouldBeZero,
NickFlagEggNo => localization.NickFlagEggNo,
NickFlagEggYes => localization.NickFlagEggYes,
NickInvalidChar => localization.NickInvalidChar,
NickLengthLong => localization.NickLengthLong,
NickLengthShort => localization.NickLengthShort,
NickMatchLanguage => localization.NickMatchLanguage,
NickMatchLanguageEgg => localization.NickMatchLanguageEgg,
NickMatchLanguageEggFail => localization.NickMatchLanguageEggFail,
NickMatchLanguageFail => localization.NickMatchLanguageFail,
NickMatchLanguageFlag => localization.NickMatchLanguageFlag,
NickMatchNoOthers => localization.NickMatchNoOthers,
NickMatchNoOthersFail => localization.NickMatchNoOthersFail,
OTLanguage => localization.OTLanguage,
OTLanguageShouldBe_0 => localization.OTLanguageShouldBe_0,
OTLanguageShouldBe_0or1 => localization.OTLanguageShouldBe_0or1,
OTLanguageShouldBeLeq_0 => localization.OTLanguageShouldBeLeq_0,
OTLanguageCannotPlayOnVersion_0 => localization.OTLanguageCannotPlayOnVersion_0,
OTLanguageCannotTransferToConsoleRegion_0 => localization.OTLanguageCannotTransferToConsoleRegion_0,
OTLong => localization.OTLong,
OTShort => localization.OTShort,
OTSuspicious => localization.OTSuspicious,
OT_IDEqual => localization.OT_IDEqual,
OT_IDs0 => localization.OT_IDs0,
OT_SID0 => localization.OT_SID0,
OT_SID0Invalid => localization.OT_SID0Invalid,
OT_TID0 => localization.OT_TID0,
OT_IDInvalid => localization.OT_IDInvalid,
PIDEncryptWurmple => localization.PIDEncryptWurmple,
PIDEncryptZero => localization.PIDEncryptZero,
PIDEqualsEC => localization.PIDEqualsEC,
PIDGenderMatch => localization.PIDGenderMatch,
PIDGenderMismatch => localization.PIDGenderMismatch,
PIDNatureMatch => localization.PIDNatureMatch,
PIDNatureMismatch => localization.PIDNatureMismatch,
PIDTypeMismatch => localization.PIDTypeMismatch,
PIDZero => localization.PIDZero,
PlusMoveCountInvalid => localization.PlusMoveCountInvalid,
PlusMoveInvalid_0 => localization.PlusMoveInvalid_0,
PlusMoveMultipleInvalid => localization.PlusMoveMultipleInvalid,
PlusMoveAlphaMissing_0 => localization.PlusMoveAlphaMissing_0,
PlusMoveSufficientLevelMissing_0 => localization.PlusMoveSufficientLevelMissing_0,
RibbonAllValid => localization.RibbonAllValid,
RibbonEgg => localization.RibbonEgg,
StatDynamaxInvalid => localization.StatDynamaxInvalid,
StatIncorrectHeight => localization.StatIncorrectHeight,
StatIncorrectWeight => localization.StatIncorrectWeight,
StatIncorrectScaleValue_0 => localization.StatIncorrectScaleValue_0,
StatIncorrectHeightValue_0 => localization.StatIncorrectHeightValue_0,
StatIncorrectWeightValue_0 => localization.StatIncorrectWeightValue_0,
StatInvalidHeightWeight => localization.StatInvalidHeightWeight,
StatIncorrectCP_0 => localization.StatIncorrectCP,
StatGigantamaxInvalid => localization.StatGigantamaxInvalid,
StatGigantamaxValid => localization.StatGigantamaxValid,
StatNatureInvalid => localization.StatNatureInvalid,
StatBattleVersionInvalid => localization.StatBattleVersionInvalid,
StatNobleInvalid => localization.StatNobleInvalid,
StatAlphaInvalid => localization.StatAlphaInvalid,
StoredSourceEgg => localization.StoredSourceEgg,
SuperComplete => localization.SuperComplete,
SuperDistro => localization.SuperDistro,
SuperEgg => localization.SuperEgg,
SuperNoComplete => localization.SuperNoComplete,
SuperNoUnlocked => localization.SuperNoUnlocked,
SuperUnavailable => localization.SuperUnavailable,
SuperUnused => localization.SuperUnused,
G6SuperTrainEggBag => localization.G6SuperTrainEggBag,
G6SuperTrainEggHits => localization.G6SuperTrainEggHits,
G6SuperTrainBagInvalid_0 => localization.G6SuperTrainBagInvalid_0,
G6SuperTrainBagHitsInvalid_012 => localization.G6SuperTrainBagHitsInvalid_012,
TeraTypeIncorrect => localization.TeraTypeIncorrect,
TeraTypeMismatch => localization.TeraTypeMismatch,
TradeNotAvailable => localization.TradeNotAvailable,
TrainerIDNoSeed => localization.TrainerIDNoSeed,
TransferBad => localization.TransferBad,
TransferCurrentHandlerInvalid => localization.TransferCurrentHandlerInvalid,
TransferEgg => localization.TransferEgg,
TransferEggLocationTransporter => localization.TransferEggLocationTransporter,
TransferEggMetLevel => localization.TransferEggMetLevel,
TransferEggVersion => localization.TransferEggVersion,
TransferFlagIllegal => localization.TransferFlagIllegal,
TransferHandlerFlagRequired => localization.TransferHTFlagRequired,
TransferHandlerMismatchName => localization.TransferHTMismatchName,
TransferHandlerMismatchGender => localization.TransferHTMismatchGender,
TransferHandlerMismatchLanguage => localization.TransferHTMismatchLanguage,
TransferMet => localization.TransferMet,
TransferNotPossible => localization.TransferNotPossible,
TransferMetLocation => localization.TransferMetLocation,
TransferNature => localization.TransferNature,
TransferObedienceLevel => localization.TransferObedienceLevel,
TransferKoreanGen4 => localization.TransferKoreanGen4,
TransferEncryptGen6BitFlip => localization.TransferPIDECBitFlip,
TransferEncryptGen6Equals => localization.TransferPIDECEquals,
TransferEncryptGen6Xor => localization.TransferPIDECXor,
TransferTrackerMissing => localization.TransferTrackerMissing,
TransferTrackerShouldBeZero => localization.TransferTrackerShouldBeZero,
TrashBytesExpected => localization.TrashBytesExpected,
TrashBytesMismatchInitial => localization.TrashBytesMismatchInitial,
TrashBytesMissingTerminatorFinal => localization.TrashBytesMissingTerminatorFinal,
TrashBytesShouldBeEmpty => localization.TrashBytesShouldBeEmpty,
TrashBytesResetViaTransfer => localization.TrashBytesResetViaTransfer,
WordFilterInvalidCharacter_0 => localization.WordFilterInvalidCharacter_0,
WordFilterFlaggedPattern_01 => localization.WordFilterFlaggedPattern_01,
WordFilterTooManyNumbers_0 => localization.WordFilterTooManyNumbers_0,
BulkCloneDetectedDetails => localization.BulkCloneDetectedDetails,
BulkCloneDetectedTracker => localization.BulkCloneDetectedTracker,
BulkSharingEncryptionConstantGenerationSame => localization.BulkSharingEncryptionConstantGenerationSame,
BulkSharingEncryptionConstantGenerationDifferent => localization.BulkSharingEncryptionConstantGenerationDifferent,
BulkSharingEncryptionConstantEncounterType => localization.BulkSharingEncryptionConstantRNGType,
BulkSharingPIDGenerationDifferent => localization.BulkSharingPIDGenerationDifferent,
BulkSharingPIDGenerationSame => localization.BulkSharingPIDGenerationSame,
BulkSharingPIDEncounterType => localization.BulkSharingPIDRNGType,
BulkDuplicateMysteryGiftEggReceived => localization.BulkDuplicateMysteryGiftEggReceived,
BulkDuplicateFusionSlot => localization.BulkDuplicateFusionSlot,
BulkHeldItemInventoryAssignedNoneHeld_0 => localization.BulkHeldItemInventoryAssignedNoneHeld_0,
BulkHeldItemInventoryMultipleSlots_0 => localization.BulkHeldItemInventoryMultipleSlots_0,
BulkHeldItemInventoryNotAcquired_0 => localization.BulkHeldItemInventoryNotAcquired_0,
BulkHeldItemInventoryUnassigned_0 => localization.BulkHeldItemInventoryUnassigned_0,
BulkFusionSourceInvalid => localization.BulkFusionSourceInvalid,
BulkSharingTrainerIDs => localization.BulkSharingTrainerID,
BulkSharingTrainerVersion => localization.BulkSharingTrainerVersion,
>= MAX => throw new ArgumentOutOfRangeException(nameof(code), code, null),
};
}
}