PKHeX/PKHeX.Core/Legality
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
..
Areas Minor tweaks 2021-06-03 12:04:19 -07:00
Encounters Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
Enums Add case for special headbutt slots 2021-03-11 20:52:00 -08:00
Evolutions Add settings to use pkm tabs as criteria for Enc->PKM 2021-06-14 20:26:12 -07:00
Formatting Minor clean 2021-06-08 20:14:55 -07:00
Learnset Add Breeding move ordering logic, and use in legality analysis (#3183) 2021-04-04 18:30:01 -07:00
Moves Fix incorrect GameVersion reference 2021-06-09 22:56:19 -07:00
Restrictions Add Eon Flute to observable used key items 2021-06-13 00:59:06 -07:00
RNG Force shiny state of raids 2021-06-03 17:50:48 -07:00
Structures Show shiny state of encounter in db 2021-05-18 10:36:45 -07:00
Tables Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
Verifiers Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
BinLinker.cs Minor tweaks 2021-05-18 16:16:48 -07:00
Breeding.cs Eggs: explicitly pass generation instead of calculating 2021-04-17 20:09:02 -07:00
BulkAnalysis.cs Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
BulkGenerator.cs Unify concepts with different names 2020-12-10 20:42:30 -08:00
Core.cs Refactoring 2021-02-03 11:33:09 -08:00
LegalityAnalysis.cs Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
LegalityAnalyzers.cs Add more xmldoc / enum clean 2021-03-14 11:28:46 -07:00
MoveList.cs Clean up know-move-evolution checks 2021-05-15 21:41:04 -07:00
MoveListSuggest.cs Eggs: explicitly pass generation instead of calculating 2021-04-17 20:09:02 -07:00