namespace PKHeX.Core; /// /// Represents the specific type of legality result that was generated during a legality check. /// /// /// When a result is generated, instead of storing the string directly, an instance of this enum is stored instead. /// The string is only fetched from when needed for display. /// public enum LegalityCheckResultCode : ushort { /// Originated from / Defer to an external validator. External, /// Default text for indicating validity. Valid, /// Default text for indicating an error has occurred. Error, // The order of the enum is important only for humanization; keep sorted by handling, with groups by category and functionality. // Ability AbilityCapsuleUsed, AbilityPatchUsed, AbilityPatchRevertUsed, AbilityFlag, AbilityHiddenFail, AbilityHiddenUnavailable, AbilityMismatch, AbilityMismatch3, AbilityMismatchFlag, AbilityMismatchGift, AbilityMismatchPID, AbilityUnexpected, // Awakened Values AwakenedCap, // Ball BallAbility, BallEggCherish, BallEggMaster, BallEnc, BallEncMismatch, BallHeavy, BallSpecies, BallSpeciesPass, BallUnavailable, BallG4Sinnoh, BallG4Johto, // Contest ContestZero, ContestZeroSheen, // Date & Timestamps DateCalendarInvalidMet, DateCalendarInvalidEgg, DateLocalInvalidDate, DateLocalInvalidTime, DateOutsideDistributionWindow, // Egg EggContest, EggEXP, EggHatchCycles, EggLocation, EggLocationInvalid, EggLocationNone, EggLocationPalPark, EggLocationTrade, EggLocationTradeFail, EggMetLocationFail, EggNature, EggPP, EggPPUp, EggRelearnFlags, EggShinyPokeStar, EggSpecies, EggUnhatched, // Encounter EncCondition, EncConditionBadRNGFrame, EncConditionBadSpecies, EncGift, EncGiftEggEvent, EncGiftIVMismatch, EncGiftNicknamed, EncGiftNotFound, EncGiftPIDMismatch, EncGiftShinyMismatch, EncGiftVersionNotDistributed, EncGiftRegionNotDistributed, EncInvalid, EncMasteryInitial, EncTradeChangedNickname, EncTradeChangedOT, EncTradeIndexBad, EncTradeMatch, EncTradeUnchanged, EncStaticPIDShiny, EncTypeMatch, EncTypeMismatch, EncUnreleased, EncUnreleasedEMewJP, // E-Reader EReaderAmerica, EReaderInvalid, EReaderJapan, // Effort Values Effort2Remaining, EffortAbove252, EffortAbove510, EffortAllEqual, EffortCap100, EffortEgg, EffortShouldBeZero, EffortEXPIncreased, // Evolution EvoInvalid, EvoTradeRequired, // Fateful FatefulGiftMissing, FatefulInvalid, FatefulMissing, FatefulMystery, FatefulMysteryMissing, // Favorite Marking FavoriteMarkingUnavailable, // Form FormArgumentNotAllowed, FormArgumentValid, FormArgumentInvalid, FormBattle, FormEternal, FormEternalInvalid, FormInvalidGame, FormInvalidNature, FormItemMatches, FormItemInvalid, FormParty, FormPikachuCosplay, FormPikachuCosplayInvalid, FormPikachuEventInvalid, FormValid, FormVivillon, FormVivillonEventPre, FormVivillonInvalid, FormVivillonNonNative, // Generation 1 & 2 G1CatchRateChain, G1CatchRateEvo, G1CatchRateItem, G1CatchRateMatchPrevious, G1CatchRateMatchTradeback, G1CatchRateNone, G1CharNick, G1CharOT, G1OTGender, G1Stadium, G1Type1Fail, G1Type2Fail, G1TypeMatch1, G1TypeMatch2, G1TypeMatchPorygon, G1TypePorygonFail, G1TypePorygonFail1, G1TypePorygonFail2, G2InvalidTileTreeNotFound, G2TreeID, G2OTGender, // Generation 3+ G3EReader, G3OTGender, G4InvalidTileR45Surf, G4PartnerMoodEgg, G4PartnerMoodZero, G4ShinyLeafBitsEgg, G4ShinyLeafBitsInvalid, G5IVAll30, G5PIDShinyGrotto, G5SparkleInvalid, G5SparkleRequired, G5PokeStarMustBeZero, G5PokeStarImpossibleValue, G7BSocialShouldBe100Spirit, G7BSocialShouldBe100Mood, // Gender GenderInvalidNone, // Geography GeoBadOrder, GeoHardwareInvalid, GeoHardwareRange, GeoHardwareValid, GeoMemoryMissing, GeoNoCountryHT, GeoNoRegion, // Hints // Hyper Training HyperPerfectAll, HyperPerfectOne, HyperPerfectUnavailable, // Item ItemEgg, ItemUnreleased, // IVs IVNotCorrect, // Level LevelBoostNotZero, LevelEXPThreshold, LevelEXPTooHigh, LevelMetBelow, LevelMetGift, LevelMetGiftFail, LevelMetSane, // Markings MarkValueShouldBeZero, MarkValueUnusedBitsPresent, // Memory MemoryArgBadHT, MemoryHTFlagInvalid, MemoryHTLanguage, MemoryIndexArgHT, MemoryIndexFeelHTLEQ9, MemoryIndexIntensityHT1, MemoryIndexLinkHT, MemoryMissingHT, MemoryMissingOT, MemorySocialZero, MemoryStatAffectionHT0, MemoryStatAffectionOT0, MemoryStatFriendshipHT0, // Met Detail MetDetailTimeOfDay, // Moves - General MoveKeldeoMismatch, MovesShouldMatchRelearnMoves, // Moves - Shop & Alpha MoveShopAlphaMoveShouldBeOther, MoveShopAlphaMoveShouldBeZero, // Nickname NickFlagEggNo, NickFlagEggYes, NickInvalidChar, NickLengthLong, NickLengthShort, NickMatchLanguage, NickMatchLanguageEgg, NickMatchLanguageEggFail, NickMatchLanguageFail, NickMatchLanguageFlag, NickMatchNoOthers, NickMatchNoOthersFail, // Original Trainer OTLanguage, OTLong, OTShort, OTSuspicious, OT_IDEqual, OT_IDs0, OT_SID0, OT_SID0Invalid, OT_TID0, OT_IDInvalid, // PID & Encryption Constant PIDEncryptWurmple, PIDEncryptZero, PIDEqualsEC, PIDGenderMatch, PIDGenderMismatch, PIDNatureMatch, PIDNatureMismatch, PIDTypeMismatch, PIDZero, // Plus Moves PlusMoveCountInvalid, PlusMoveMultipleInvalid, // Ribbons RibbonAllValid, RibbonEgg, // Stats StatDynamaxInvalid, StatIncorrectHeight, StatIncorrectWeight, StatInvalidHeightWeight, StatGigantamaxInvalid, StatGigantamaxValid, StatNatureInvalid, StatBattleVersionInvalid, StatNobleInvalid, StatAlphaInvalid, // Storage StoredSourceEgg, // Super Training SuperComplete, SuperDistro, SuperEgg, SuperNoComplete, SuperNoUnlocked, SuperUnavailable, SuperUnused, G6SuperTrainEggBag, G6SuperTrainEggHits, // Tera Type TeraTypeIncorrect, TeraTypeMismatch, // Trading TradeNotAvailable, // Trainer IDs TrainerIDNoSeed, // Transfer TransferBad, TransferCurrentHandlerInvalid, TransferEgg, TransferEggLocationTransporter, TransferEggMetLevel, TransferEggVersion, TransferFlagIllegal, TransferHandlerFlagRequired, TransferHandlerMismatchName, TransferHandlerMismatchGender, TransferHandlerMismatchLanguage, TransferMet, TransferNotPossible, TransferMetLocation, TransferNature, TransferObedienceLevel, TransferKoreanGen4, TransferEncryptGen6BitFlip, TransferEncryptGen6Equals, TransferEncryptGen6Xor, TransferTrackerMissing, TransferTrackerShouldBeZero, // Trash Bytes TrashBytesExpected, TrashBytesMismatchInitial, TrashBytesMissingTerminatorFinal, TrashBytesShouldBeEmpty, TrashBytesResetViaTransfer, // Bulk Cross-Comparison BulkCloneDetectedDetails, BulkCloneDetectedTracker, BulkSharingEncryptionConstantGenerationSame, BulkSharingEncryptionConstantGenerationDifferent, BulkSharingEncryptionConstantEncounterType, BulkSharingPIDGenerationDifferent, BulkSharingPIDGenerationSame, BulkSharingPIDEncounterType, BulkDuplicateFusionSlot, BulkDuplicateMysteryGiftEggReceived, BulkFusionSourceInvalid, BulkSharingTrainerIDs, BulkSharingTrainerVersion, // Formattable Argument Present: 1 Number FirstWithArgument, ContestSheenGEQ_0 = FirstWithArgument, MemoryStatFriendshipOTBaseEvent_0, ContestSheenLEQ_0, EggFMetLevel_0, EffortUntrainedCap_0, EvoTradeReqOutsider_0, FormArgumentLEQ_0, FormArgumentGEQ_0, FormInvalidExpect_0, HyperTrainLevelGEQ_0, // level IVAllEqual_0, IVFlawlessCountGEQ_0, // count MarkValueOutOfRange_0, // unknown value MemoryStatSocialLEQ_0, MemoryStatFullness_0, MemoryStatFullnessLEQ_0, MemoryStatEnjoyment_0, StatIncorrectCP_0, // value WordFilterTooManyNumbers_0, // count PokerusDaysLEQ_0, // days PokerusStrainUnobtainable_0, // strain MemoryHTGender_0, // gender value G6SuperTrainBagInvalid_0, StatIncorrectHeightValue_0, StatIncorrectWeightValue_0, StatIncorrectScaleValue_0, // Two Numbers FirstWithTwoArguments, MovePPTooHigh_01 = FirstWithTwoArguments, // move slot, value MovePPUpsTooHigh_01, // move slot, value MovePPExpectHealed_01, // move slot, value // Single Argument: Move ID FirstWithMove, MoveTechRecordFlagMissing_0 = FirstWithMove, // move ID MoveShopAlphaMoveShouldBeMastered_0, // move MoveShopMasterInvalid_0, // move ID MoveShopMasterNotLearned_0, // move ID MoveShopPurchaseInvalid_0, // move ID PlusMoveInvalid_0, // move ID PlusMoveAlphaMissing_0, // move ID PlusMoveSufficientLevelMissing_0, // move ID // Single Argument: Item ID FirstWithItem, BulkHeldItemInventoryAssignedNoneHeld_0 = FirstWithItem, // item ID BulkHeldItemInventoryMultipleSlots_0, BulkHeldItemInventoryNotAcquired_0, BulkHeldItemInventoryUnassigned_0, // One Argument: Language FirstWithLanguage, OTLanguageShouldBe_0 = FirstWithLanguage, // language OTLanguageShouldBeLeq_0, // language EncGiftLanguageNotDistributed_0, // language OTLanguageCannotPlayOnVersion_0, // language // Multiple Arguments: Memories FirstWithMemory, MemoryValid_H = FirstWithMemory, MemoryArgBadCatch_H, MemoryArgBadHatch_H, MemoryArgBadID_H, MemoryArgBadLocation_H, MemoryArgBadOTEgg_H, MemoryArgSpecies_H, MemoryCleared_H, MemoryFeelInvalid_H, FirstMemoryWithValue, MemoryArgBadSpecies_H1 = FirstMemoryWithValue, MemoryArgBadMove_H1, MemoryArgBadItem_H1, MemoryIndexID_H1, MemoryIndexFeel_H1, MemoryIndexIntensity_H1, MemoryIndexIntensityMin_H1, MemoryIndexVar_H1, // One/Two Arguments: Special FirstComplex, RibbonsInvalid_0 = FirstComplex, // generated string WordFilterFlaggedPattern_01, // filter, pattern WordFilterInvalidCharacter_0, // filter, pattern AwakenedStatGEQ_01,// value, statName GanbaruStatLEQ_01, // value, statName OTLanguageCannotTransferToConsoleRegion_0, // ConsoleRegion EncTradeShouldHaveEvolvedToSpecies_0, // species MoveEvoFCombination_0, // species HintEvolvesToSpecies_0, // species RibbonMarkingInvalid_0, // ribbon RibbonMarkingMissing_0, // ribbon RibbonMarkingAffixed_0, // ribbon RibbonsMissing_0, // ribbon StoredSlotSourceInvalid_0, // StorageSlotType HintEvolvesToRareForm_0, // bool FormInvalidRangeLEQ_0F, OTLanguageShouldBe_0or1, // language,language G6SuperTrainBagHitsInvalid_012, MAX, }