# AllTheThings

## [DF-3.9.6](https://github.com/DFortun81/AllTheThings/tree/DF-3.9.6) (2024-02-13)
[Full Changelog](https://github.com/DFortun81/AllTheThings/compare/DF-3.9.5...DF-3.9.6) [Previous Releases](https://github.com/DFortun81/AllTheThings/releases)

- Classic: Fixed Ruby Sanctum and Elemental Invasion phase identifiers.  
- Draenei shaman quests "Call of Air" is now properly flagged as Shaman Only!  
- Classic: Now immediately returning should the GetSearchResults function detect an invalid item link.  
- Turning off the error on the nil cache container so you can see where you're actually getting trying to do something wrong.  
- Will the real slim TomTom please stand up, please stand up. Knock it off, Carbonite!  
- ...  
- Added the CreateUnimplementedClass function for creating blank, neutered versions of classes.  
- Added phase constants for SOD.  
- Some more waylaid shipments  
- Moved the dynamic objects generated for classic into the actual dynamic object DB folder.  
- Dustwallow Marsh: Updating Plans: Runic Breastplate.  
- Retail: 'selectparent' symlink command will now always simply do a search for the Sourced version of itself to traverse proper parents since the raw group where the symlink executes may no longer have proper references to the intended content  
    Fixed a couple symlinks  
- ...  
- Fixed Event for storing symlink subroutines  
    Added a note for possible implementation of symlink storage once migrated to a Module  
- Retail errors - adding objective stuffs  
- Added some stuff from the settings menu to locales.  
- Fixed how quest objectives appear in the list when enabled on retail.  
    Classic: Fixed quest links to function as Questie style links.  
- Parser now supports Objectives if the OBJECTIVES keyword is present in the config file. (by default for retail it does not)  
- Adjusted some of that logic to work as parser expects it to. (it's just a list of objects, not a database table for objects)  
- Quest Items sourced in objectives now get inserted into Uncollectible for Retail.  
    This also makes it so that classic versions which do actually utilize objectives will have that data later. (a win-win!)  
- Stonetalon Quest Item  
- You've Been Served doesn't actually require Man on the Inside.  
- Merge branch 'master' of https://github.com/DFortun81/AllTheThings  
- Some more misc profession sorting  
- Event object and lock criteria  
- Added the missing Defias Strongbox object for The Missing Diplomat (5/17).  
- The Missing Diplomat (4/17) turns in in duskwood.  
- SOD: Fixed the faction for ACA/DSL to Revered as a requirement for phase 2. Added the Tier 4 Full Shipment quests.  
- SOD: Added /attsod for Season of Discovery content.  
- Fixed SOD runtime error. Also fixed parsing issue due to not using a local in the ItemRecipes file.  
- Fixed tier objects for classic.  
- Some more Alch and SoD Stuff  
- Full DB reparse for classic and retail.  
- Sourcequest fix  
- AA WQ that we didn't see before?  
- SoD: iLvl 30 waylaid supplies  
- SoD: some phase 2 rune engraving recipes  
- Some uncollectible items  
- confirmed weekly hqts for Azerothian Archives  
- Love is in the air objects  
- Org Tabard vendor coord adjust due to Trading Post  
    Flask of Enhancement doesn't exist since 5.0.4  
    Parser no longer moves Criteria for 'casting' a Spell under the Sourced group using that Spell (i.e. needing to craft a Recipe no longer shows under the Sourced Recipe. Maybe in the future we will find a useful thing to do with this data)  
    Parsed  
- Zido seems to have moved before/during Shadowlands?  
- Fixed Tier lib always returning 'Unknown' due to caching the name field from an API which never has data when first called (probably shouldn't use CreateClassWithInfo when the 'info' isn't guaranteed to exist when being referenced)  
- Fixed Category and Artifact types not having names (for sorting)  
    Couple other Legion Artifact adjustments  
    Quick pass to fix various Transmog logic  
- Retail: Can use CreateVisualHeaderWithGroups for Search Responses as well  
- Moved 'VisualHeader' Class to Miscellaneous file  
    Retail: Fixed various niche circumstances of minilist headers appearing the wrong color or including unexpected field data by proper utilization of the VisualHeader Class  
- Don't need conditional coroutine starting anymore  
- Remove debug line  
- Moved some logic out of base so we can actually try to remain organized in our dependencies  
    Adjusted all TOC files as needed (pls someone make sure classic loads as expected)  
    Retail: Use StartCoroutine since it's been revised for performance/reduced memory  
- Classic: Fixed a couple of weird sync behaviours that was causing mounts and pets to behave strangely in wrath classic.  
- Toys kept getting lost.  
- Some work on TBC Alch  
- Runner doesn't need tinsert anymore  
- Removed a bad yield, and note about Toys.collected for future improvement  
- Reverted some visibility modifications in the alchemy DB commit. These were intentionally added for these specific versions of the database.  
- Kinda big chunk of AlchDB done.. TBC and Wrath left  
- Removed the default awp assignment for tier objects.  
- Removed the Warn:Difficulty option. (It was false reporting for things that are populated post initial load.)  
- Fixed a bug with difficulty objects showing as saved.  
- Some more instances of string.format that were hiding.  
    Missing L in the Toys source file.  
- Added PrintTable to base  
- Don't need this anymore, it got merged into the filter itself.  
- Simplify that a bit more.  
- Difficulty no longer also writes the name of the instance in the mini list.  
- Fixed the difficulty class hash.  
- Fixed Callback.  
- Fixed ActiveItemCollectionHelper.  
- #1539 Added artID-based map switching for Arathi and Darkshore. (Thanks to @kcoderhere!)  
- missionID, not garrisonMissionID  
- Moved Toys to their own source file. (and pushed it until after the primary source file runs temporarily)  
- Power Converter doesn't need a description after wrath.  
- Converted BaseItem into a proper class. (TODO: Move this out of the primary source file, but I am le tired...)  
- Moved a phantom lib function to its closest relatives.  
- So uhhh, the C\_AzeriteEssence API exists in Wrath Classic. Obviously it isn't used until BFA. Good job, blizzard.  
- Moved Shadowlands specific subroutines to a (mostly empty) Shadowlands source file.  
- Moved Warlords specific subroutines to the Warlords source file.  
- Moved BFA specific Subroutines into the Battle For Azeroth source file.  
- Moved Azerite Essences to the Battle For Azeroth source file.  
    Fixed a bug with the sync windows where it would desync references to the AccountWideData when using the new Saved Variables event.  
- Conduits and Drakewatcher Manuscripts are now self contained.  
- Runeforge Legendaries are now self contained within their lib. (to be moved when Item class is created)  
- Moved everything related to transmog to the Transmog class file. (more testing on git is needed, but it seems to work fine)  
    Converted most item extension classes into proper Extended Classes.  
- missed reparsing with last commit  
- Love is in the Air alliance quest items sorting  
- Removed the unused BaseCommonItem declaration.  
- Illusions with itemIDs now properly allow you to preview them.  
- Fixed a bug with illusion dress ups via control clicking them in the list.  
- Retail: ATTRandom now forces Prime to update when opened. (fixed a bug where it was only selecting things from dragonflight)  
- Confirmed all Fyr'alath the Dreamrender bad luck protection HQTs.  
- No longer throwing an exception for C\_Map\_GetMapLevels on NYI instance headers.  
- Moved Tier related stuff into the Tier class file. (TODO: Maybe rename tierID to expansionID?)  
- Added (new?) Amirdrassil HQTs.  
- Renamed "GarrisonBuildingWithItem" to "GarrisonBuildingRecipe"  
- Moved the Follower class to the Warlords specific source file.  
- Moved Garrison related classes into the Warlords expansion specific source file.  
    The saved variable has been renamed to GarrisonBuildings from Buildings, should player housing ever become a thing. :)  
- Forgot a global.  
- HandleEvent can now take arguments.  
    Added the ability to register Symlink resolve and subroutine functions.  
    Added an event for when SavedVariables become available for caching.  
    Added the Legion Expansion source file for handling Artifacts and Artifact SavedVariable data.  
    Moved everything related to Legion to the Legion specific source file.  
- Moved all functionality related to races to the Race class file.... well, most of it at least.  
- Moved all functionality related to encounters to the Encounter class.  
    Achievement Criteria no longer has functions to display encounter related information. (this must have been legacy code, there were no criteria references using encounterID)  
- Moved all functionality related to difficulties to the Difficulty class.  
- Retail needs this for the moment, whoops.  
- Cleaned up interactions with the GetDifficultyInfo function.  
- Retail: Fixed the Cosmic Infuser window.  
- Removed some commented out code blocks from GetDataCache.  
- The first handful of lines in the primary source file(s) now match between classic/retail.  
- Simplified uses of strsplit. (TODO: Take those strings and make constants? The ("-") around a character is for searching later!)  
- Simplified uses of strtrim and strsub.  
- Simplified uses of string.upper, string.match, and string.format  
- Simplified uses of string.sub.  
- Items  
- Cleaned up uses of string.len.  
- Cleaned up uses of string.find.  
- Cleaned up uses of string.gsub.  
- Cleaned up uses of string.lower.  
- Cleaned up some more GetSearchResults code by shifting some parameters into a conditional check.  
- GetCachedSearchResults no longer passes additional arguments to its method, instead, it's assumed that they are for post-processing, as they have been previously.  
    Removed some unused achievement criteria conditionals from the function.  
- SearchForField no longer returns more than one piece of data. (though it appeared to be using them in the GetSearchResults function, it didn't actually need them)  
- Simplified access to the search cache. You can no longer directly access it, instead, use the app.GetCachedData function or app.WipeSearchCache functions.  
- Some items  
- Removed the unused ExportData function.  
- #1568 Fixed auto sync in retail.  
- Retail: Minor adjustment to PushQueue to be properly LIFO and more efficient  
    Retail: Use StartCoroutine  
    Coroutine testing  
- Couple LITA adjustments  
- 9.0.1 QI c-f common  
- Tanaris - correcting a typo.  
- SOD: Fixed Phase detection.  
- Maps has a dependency on Quests?  
- Retail ain't ready for exploration!  
- A thing  
- Retail: Now using the shared Maps & Instance classes.  
- No references to this base class anymore!  
- Map ID to map name metatables are gooder!  
- moved ensemble quest to hidden quest  
- renown supply quests from dream wardens follow the method used from the other 5 renowns  
- Simplified some map logic.  
    Classic: Maps with headers are now distinct from the regular map class. (there were 5 out of all the maps we have in the addon)  
- fixed croz bloodrage  
- quantum 2hand sword finished  
- both daily  
- 2 trackers for love event items  
- Map objects with achievements baked into them were deprecated a long time ago. Instance counter (incremented when setting the metatable) showed 0 instances of it being used.  
- Map data should check against creatureID, not npcID.  
- Updated copyright year to 2024.  
- In SOD map detection needs a short delay.  
- Lunar Festival vendor coord in Org  
    Some LITA items  
- A Simple Request might have been a breadcrumb quest.  
- Updated "Love Language Expert" a little  
- Updated exclusion lists for achievements and factions  
- Blood Moon faction for SoD + some hidden achievements for self-found mode  
- ..  
- Classic: Fixed a bug with objective tooltips.  
- Classic: Settings menu tabs are dead, long live settings menu pages!  
- Recreate missing files  
- Harvest: 10.2.5.53212  
- Harvest: 10.2.5.53162  
- Harvest: 10.2.5.53104  
- Harvest: 1.15.1.53009  
- Some more professsion BFA and Legion  
