PKHeX/PKHeX.Core/PKM/Shared
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
..
AlcremieDecoration.cs Add alcremie form display for dex edit 2019-11-17 09:34:04 -08:00
G3PKM.cs Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
G4PKM.cs Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
G6PKM.cs Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222) 2021-06-22 20:23:48 -07:00
GBPKM.cs Minor clean 2021-05-29 15:31:47 -07:00
GBPKML.cs Minor clean 2021-05-29 15:31:47 -07:00
IAffection.cs Minor clean 2020-08-02 15:51:22 -07:00
IAwakened.cs Use more expression return style 2021-01-01 17:08:49 -08:00
IBattleVersion.cs Clamp generation fetch for battleversion 2021-01-29 09:56:31 -08:00
ICaughtData2.cs Add Stadium2 Support 2020-10-02 18:08:40 -07:00
IContestStats.cs Make ContestStat fields byte (from int) 2021-01-01 13:39:08 -08:00
IDynamaxLevel.cs Simplify more expressions 2021-01-04 17:31:43 -08:00
IFavorite.cs Minor tweaks 2019-11-28 14:00:55 -08:00
IFormArgument.cs Revert implicit casting 2021-03-29 00:14:44 -07:00
IGameValueLimit.cs Minor tweaks 2019-11-28 14:00:55 -08:00
IGeneration.cs Minor tweaks 2021-04-20 01:02:32 -07:00
IGeoTrack.cs Reduce visibility of internal legality enum 2020-08-30 15:48:34 -07:00
IGigantamax.cs moar is or 2020-12-25 12:30:26 -08:00
IHandlerLanguage.cs Sword/Shield Update 2019-11-15 17:52:08 -08:00
IHomeTrack.cs Extract home tracker to interface 2020-02-12 18:52:48 -08:00
IHyperTrain.cs Delete duplicate HT bit fetch method 2021-01-01 16:39:33 -08:00
ILangNick.cs Rework mg nick/lang checks 2018-08-30 18:09:52 -07:00
ILangNicknamedTemplate.cs Add more nickname logic checks 2021-02-02 22:12:36 -08:00
IMemoryHT.cs Minor clean 2020-08-02 15:51:22 -07:00
IMemoryOT.cs Minor clean 2020-08-02 15:51:22 -07:00
INature.cs Sword/Shield Update 2019-11-15 17:52:08 -08:00
IRegionOrigin.cs Rework EncounterCriteria to be ability indexed rather than direct ability (#3179) 2021-03-23 17:05:15 -07:00
IScaledSize.cs Sword/Shield Update 2019-11-15 17:52:08 -08:00
IShadowPKM.cs Revise Shadow state detection 2020-10-06 22:36:27 -07:00
IShiny.cs Show shiny state of encounter in db 2021-05-18 10:36:45 -07:00
ISpeciesForm.cs Rework EncounterCriteria to be ability indexed rather than direct ability (#3179) 2021-03-23 17:05:15 -07:00
ITrainerID.cs Unify concepts with different names 2020-12-10 20:42:30 -08:00
ITrainerMemories.cs Split memories from main pkm class to interface 2020-07-31 17:25:14 -07:00
PokeList1.cs More xmldoc 2021-03-23 21:20:02 -07:00
PokeList2.cs More xmldoc 2021-03-23 21:20:02 -07:00
PokeListGB.cs Minor clean 2021-05-29 15:31:47 -07:00
PokeListType.cs More xmldoc 2021-03-23 21:20:02 -07:00
PokeSize.cs Minor tweaks 2021-05-07 22:11:10 -07:00
QRPK7.cs Show shiny state of encounter in db 2021-05-18 10:36:45 -07:00
QRPKM.cs Replace some linq usage with direct logic 2021-05-06 23:26:38 -07:00