PKHeX/PKHeX.Core/Legality/Verifiers
Kurt 3e7775fc44
Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222)
* Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately

Don't store within the object, track the slot origin data separately.

Batch editing now pre-filters if using Box/Slot/Identifier logic; split up mods/filters as they're starting to get pretty hefty.

- Requesting a Box Data report now shows all slots in the save file (party, misc)
- Can now exclude backup saves from database search via toggle (separate from settings preventing load entirely)
- Replace some linq usages with direct code

* Remove WasLink virtual in PKM

Inline any logic, since we now have encounter objects to indicate matching, rather than the proto-legality logic checking properties of a PKM.

* Use Fateful to directly check gen5 mysterygift origins

No other encounter types in gen5 apply Fateful

* Simplify double ball comparison

Used to be separate for deferral cases, now no longer needed to be separate.

* Grab move/relearn reference and update locally

Fix relearn move identifier

* Inline defog HM transfer preference check

HasMove is faster than getting moves & checking contains. Skips allocation by setting values directly.

* Extract more met location metadata checks: WasBredEgg

* Replace Console.Write* with Debug.Write*

There's no console output UI, so don't include them in release builds.

* Inline WasGiftEgg, WasEvent, and WasEventEgg logic

Adios legality tags that aren't entirely correct for the specific format. Just put the computations in EncounterFinder.
2021-06-22 20:23:48 -07:00
..
Ability Minor clean 2021-05-29 15:31:47 -07:00
Ball Minor clean 2021-05-29 15:31:47 -07:00
Ribbons Minor clean 2021-05-29 15:31:47 -07:00
ConsoleRegionVerifier.cs this is not that 2020-12-21 17:12:39 -08:00
ContestStatVerifier.cs Flag contest stats if sheen is present on gen5+ origin 2021-02-27 20:02:18 -08:00
CXDVerifier.cs Simplify more expressions 2021-01-04 17:31:43 -08:00
EffortValueVerifier.cs Fracture the encounter matching checks to allow progressive validation (#3137) 2021-01-29 17:55:27 -08:00
EncounterTypeVerifier.cs Merge EncounterStatic4 back together 2020-12-23 12:15:49 -08:00
FormVerifier.cs Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
GenderVerifier.cs Minor clean 2021-01-16 12:01:40 -08:00
HistoryVerifier.cs Minor tweaks 2021-01-09 21:25:28 -08:00
HyperTrainingVerifier.cs this is not that 2020-12-21 17:12:39 -08:00
IndividualValueVerifier.cs Minor tweaks 2021-01-05 09:58:33 -08:00
ItemVerifier.cs Use more expression return style 2021-01-01 17:08:49 -08:00
LanguageVerifier.cs Refactoring 2021-02-03 11:33:09 -08:00
LevelVerifier.cs Fracture the encounter matching checks to allow progressive validation (#3137) 2021-01-29 17:55:27 -08:00
MarkVerifier.cs Update MarkVerifier.cs 2021-04-21 19:12:50 -07:00
MedalVerifier.cs moar is or 2020-12-25 12:30:26 -08:00
MemoryPermissions.cs Add Eon Flute to observable used key items 2021-06-13 00:59:06 -07:00
MemoryVerifier.cs Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
MiscVerifier.cs Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
NHarmoniaVerifier.cs Minor clean 2021-01-10 18:15:33 -08:00
NicknameVerifier.cs Minor tweaks 2021-06-03 12:04:19 -07:00
ParseSettings.cs Rewrite settings handling; enhance some user experiences (#3193) 2021-04-11 18:09:54 -07:00
PIDVerifier.cs Minor tweaks 2021-06-03 12:04:19 -07:00
TrainerNameVerifier.cs Condense expression 2021-06-03 17:08:42 -07:00
TransferVerifier.cs Add overload for Totem check, simplify some flow 2021-04-17 13:24:57 -07:00
Verifier.cs Target type'd new 2020-12-21 17:17:56 -08:00