# AllTheThings

## [DF-3.10.7](https://github.com/DFortun81/AllTheThings/tree/DF-3.10.7) (2024-04-22)
[Full Changelog](https://github.com/DFortun81/AllTheThings/compare/DF-3.10.6...DF-3.10.7) [Previous Releases](https://github.com/DFortun81/AllTheThings/releases)

- Temporarily don't set mountID cache as spellID cache to make Mount dynamic behave better  
- Ready for release  
- VSCode syntax definitions. (Don't be mad, Runaway... :) )  
- Retail: Object tooltips can now fallback to using map-based heirarchy to verify they display in the correct maps  
    Retaill: Quick escape for Object tooltips when the Player has no known position (very rare)  
- Fixed object and other tooltips broken by d1d7e78a68f0daf47efcc1374812654353f29a81  
- Retail: Exploration no longer triggers collection Fanfares... cause reasons  
- Warcraft Rumble - Test lock criteria  
- Giant Clam Coords  
- More coords  
- Marked 'Warchief's Command: Tanaris!' as removed currently pending Blizzard fix (if ever)  
- Split World Map button to use proper logic per ATT version instead of 'hoping' a given Window might exist in the respective version  
    Retail: Fixed World Map button causing lua error if Minilist doesn't exist when clicked  
- Missing map data in Onyxia's Lair.  
- More vscode warnings  
- More VSCode globals.  
- Update Deadmines.lua  
- Deadmines  
- Now that the globals are known, these diagnostic disables are no longer necessary.  
- No longer ignoring .vscode/settings.json.  
- MOAR warnings!  
- More VSCode warnings!  
- VSCode source warnings!  
- Rookery Egg  
    Manually added object  
- Revert "Added .luarc.json."  
- Expansion Features VSC warnings  
- Added .luarc.json.  
- More Coords  
- Doti update.  
    Moved classic NYI/HQT quests.  
- Retail: Added OnStartupDone event to handle allowing OnInit to begin (some clients/regions/addons cause the PLAYER\_ENTERING\_WORLD event to trigger in different timing relative to the loading of the addon, leading to OnInit being handled prior to OnStartup... very odd)  
    Retail: Dymainc groups should no longer allow any nested popout to fill itself (sometimes this doesn't work but mostly it does....)  
- Cache some Filter lookups during OnStartup  
- Some waypoint conversions  
- VSCode doesn't like TomTom.  
- Parser now exports dianostic disabling in its LocalizationDB and Categories files.  
- Updated ATT-Classic.lua per VSCode suggestions.  
- Fixed structure of Theldren in BRD to not show a parsing error in VSCode.  
- Exploration is in retail now, so this is no longer necessary. (Look at Crieve using VSCode!)  
- Adjusted coordinates for Stormwind City to account for map shifts over time. Also fixed some yellow parsing issues for Braghe.  
- Fixed incorrect mapID in coord for Continued Threat.  
- Nostro's Compendium is not available in Wrath Classic.  
- Removed the pre-Wrath Classic Brewfest keg content switching logic.  
- The quest 'Valik' is now hidden if you have completed Infiltration.  
- Searching by mountID is equivalent to spellID  
- Spells in ATT rows use proper tooltip attach logic since they are valid links  
- Fixed remaining Oribos PvP vendor symlinks  
- Fixed a bunch of busted symlinks from other categories being moved around previously  
- Added source quests for the Split Bone Necklace quest.  
- Added sq for 'Clamlette Surprise'  
    Couple quest fixes  
- Kalu'ak Fishing Derby is now marked as Wrath Phase One.  
- Whoops, that wasn't supposed to be in there!  
- The quest "Valik" is not repeatable, but becomes unavailable after you complete Infiltration.  
- ObjectID for the Book of Ur and a couple missing sourceQuests/objects in silverpine.  
- Proof of Demise could not be picked up until after At War With The Scarlet Crusade (1/4).  
- Fixed a bug with faction specific quest data. (AQD/HQD)  
- Classic: Fixed some orphaned breadcrumbs.  
- Favor: Pristine Dredbat Fang  
- Classic: Yuka Screwspigot is the source quest for Ribbly Screwspigot.  
- Fixed some phase assignments in Uldaman.  
- Retail: Popping out a Dynamic category will no longer attempt to fill the popout  
    Retail: Search for Items which need to use modItemID will set require to 'field' for proper accuracy  
    Retail: Fixed lua bug with Things that show no Source lines  
    Retail: Adjusted popout logic to properly know it's in a window before certain operations are applied  
- Retail: Fixed an issue with Source lines not showing for modded Items which have no SourceID  
- Fixed current questID's for Amirdrassil Kaldorei treasures  
- Retail: Source lines once again shown for ATT rows in popout windows only  
- Netherstorm: Escape from the Staging Grounds  
- Retail: Extracted the logic for adding tooltip source lines for a given key/value search  
    Retail: Fixed source lines for Items with a SourceID  
- Added objects for Stratholme quests.  
- Properly caching Recipe Things again since their key field is now recipeID  
- Retail: "r" & "recipe" can now be used to search for a Recipe (Spell)  
- SearchForObject greatly consolidated and improved on included filtering (returns results which meet current character requirements, or current faction, or without filtering) (this fixes 'most' issues where tooltips on Things sourced between Alliance/Horde might show the information specific to the opposite Faction's sourced version of the Thing)  
    Some Item comments fixed  
    SettingsFilterRace\_CurrentFaction set once during OnLoad instead of when filters change  
    Added RecursiveFilter to allow recursive filtering of a single specified Filter  
    Retail: Sources lines should use all matching references rather than only those returned in the search (which are likely already reduced by filtering)  
- RecipeID searches use SpellID within Caches for simplicity & fixed chat link searches of Recipes  
- Retail: Fixed some items pretending to be Artifacts and using the wrong logic when showing link tooltips  
- Added rookery egg's objectID.  
- Classic: Fixed a bug with turned in quests where the window didn't auto refresh.  
- HQT clarification.  
- Added some learnedAt specifications for Blacksmithing quests.  
- Retail Errors  
- 8.1-8.2 TailoringDB  
- Rokaro's location is stationary in TBC.  
- Added objectID for Unfired Plate Gauntlets.  
- Fixed a bug with object tooltips while inside an instance.  
- BFA TailoringDB adding + other xpack pieces  
- Added some missing objects and source quest data for blackrock spire/depths.  
- Last bit of pandamix achievements  
- Into the storm copy sorted  
- Continued pandamix achievements. This is done blind based on existing implementations because the PTR isn't up :(  
- Classic: Fixed quick escape of Toy lib!  
- Cleaned up Title lib to be closer to expected lib standards  
- Retail: Toy lib is now brought up (mostly) to expected lib design (and no longer throw an error when collecting a Toy) (someone test for me pls)  
- Retail: WipeSearchCache now called during OnThingCollected and OnThingRemoved  
    Retail: IsAccountTracked can be passed a seprate setting key for Things tracked by one value and cached by another  
- Retail: Localized SearchForObject  
    Retail: Use SearchForObject for better accuracy from SearchForLink calls  
- Make copper modulator and tube uncollectibe from the moment they turn into grey items  
- Timelined Pet Battles. Crieve got to look in Cata Beta how it looks  
- #1619: Modified how the new version cache is generated to account for numbers greater than 10 for the build number.  
- Some PvP Headers  
- Moved out titles into its own file  
- Just some pvp prep  
- More Timelines  
- TWW M+ Season 1  
- Two First Dungeons should be able to load in now  
- TWW First Zone and Main City should be able to load in now  
- Harvest: 11.0.0.54311  
- Burning steppes fix  
- Better solution, we don't need to see items turned to junk in the professions list  
- These weren't removed but turned into grey junk items, that still can be fished up in retail  
- Nazjatar QIs  
- Added lock criteria to Alydrus' Research Notes (TBD if you can party sync or not)  
- Scourge Data too...  
- Some missing objects in Strat!  
- Now ignoring coord-based mapCache for headers inside of instances. (Strat/Maraudon showing up in the minilist for EPL/Desolace)  
- Added some "learnedAt" requirements to profession quests.  
- Retail: No longer uncaching learned Spells for a character since the Refresh logic for a Recipe is not reliable on Blizzard's end (also it crashes the game instantly :smile:) [Remember to properly refresh known Recipes for a character you will need to open the ATT TradeSkill window for that profession]  
- Fix engineering  
- Generating Missing Files  
- Harvest: 4.4.0.54217  
- Harvest: 4.4.0.54137  
- Merge branch 'master' of https://github.com/DFortun81/AllTheThings  
- Harvest: 3.4.3.54261  
- Classic: Spent some time Maul-ding in Dire Maul. Maps work again using the original implementation.  
- Harvest: 1.15.2.54262  
- Harvest: 10.2.6.54205  
- Harvest: 10.2.6.54070  
- Cursed Build update  
- Harvest: 10.2.7.54253  
- Harvest Again: 10.2.7.54171  
- Profession fixes  
- Hash for difficulty groups can include their symparent  
- Retail: Difficulty groups which are retrieved within a symlink will continue to show their proper source-instance name  
- Retail: Added a 'groupfill' symlink command (allows the symlink operation to force the FillGroups logic upon the finalized results, prior to delivering them back to the caller)  
    Adjusted Castle Nathria Fated Anima items so they stop preventing the regular versions from being filled within the minilist  
- Decay-Infused Tanning Oil dupe that overwrite ObjectType  
- 'Completed By' and 'Known By' are shown on 'trackable' Things rather than requiring the Thing to be 'collectible' to be visible (pls understand that 'Completed By' means 'This character has completed the respective Quest at some point')  
- Classic: Fixed another bug with Dire Maul.  
    Classic: Killed AQD/HQD cross completion, if you're going after every questID, this is necessary. You might notice a drop, particularly with T0.5 quests in account mode.  
- Classic: Dire Maul mini map wonkiness.  
- Retail: Few event timings adjusted  
- And the magic number is... 2703!  
- More BFA WorldQuest cleanup  
- The Real Threat in Arathi actually does have a source quest!  
- Modified Faction lib to be closer to expected standards for Class libs  
    Retail: Factions now refresh during refresh collections Event as expected  
    Adjusted setup of some collection functions which may not be defined in Classic  
    Retail: Moved Spell/Recipe to class file  
    Retail: Learning a new Recipe event is no longer handled by the TradeSkill ATT window logic  
    Retail: Character Unlock types now load in sequence due to proper dependency ordering  
    Retail: SearchLink returns nil if no group provided  
    Retail: SetCollected chat message now uses a chat link if possible instead of raw text  
    AddEventHandler now supports an option to force the handler to be at the start of the event queue  
    Retail: OnLoad now fires when ADDON\_LOADED for ATT is fired (was manually fired when ATT.lua file finished loading)  
    Retail: OnLoad -> OnStartup sequence defined (OnStartup was manually fired when ADDON\_LOADED for ATT was fired)  
    Retail: Settings are initialized during OnLoad (was manually prior to OnStartup)  
    Retail: Auto-open ATT windows now set themselves visible during OnInit (was during OnReady, which caused sequence issues due to other re-structure of event timing)  
    Retail: BattlePets now report themselves if removed from collection  
    Retail: SetCollectedForSubType and SetAccountCollectedForSubType consolidated into their base types since they were basically unnecessary  
    Retail: Cleaned up a lot of SetCollected logic which was not working as expected or with respect to user settings (may be oversights on these changes, please @Runawaynow if you notice unusual chat/audio when collecting certain Things (BattlePets, Transmog, Factions, Recipes, Titles, Toys)  
- Dire Maul: Crescent Key  
- Added new An Ancient Awakening quest. Is the old one removed?  
- Classic: Adjusted some object tooltips in STV.  
- Retail: Converted all manual calls to UpdateWindows to using Event handling of OnUpdateWindows  
- Retail: (derp) and OnRecalculate only needs to refresh Quest states, not the delayed Quest refresh  
- Retail: Also don't spam individual quest completion when delayed in receiving quest refresh  
- Retail: Only batch report completed quests if we've already captured the full quest sequence for that session  
- Fixed Covenant Callings structure for Kyrian  
- More objects! Also made it so that when you're on the Secret of the Stone quest, the statues show the tooltip as expected.  
- Added a CheckRunners Analyzer function  
- Retail: Simplified some Transmog collection logic using local reference  
    Retail: Re-structured the scanning/collection of Appearance data for Completionist & Unique modes to use proper Event sequencing for (hopefully) improved performance and stability in some extremely rare situations  
- Retail: Refactored a lot of Event structure to ensure that Event concepts "play nice" with Runner concepts, and that triggered Events always process sequentially even when async Events (via Runner) are triggered before non-async Events  
    Retail: Added a way to assign Sequence Events, such that a given Event will always trigger a sequence of following Events  
    Retail: Added OnUpdateWindows and OnRefreshWindows which will be used to control ATT Window update/refresh via the eventing structure instead of manually being triggered in a bunch of static places on a separate Runner [WIP]  
- Retail: Ensure Appearances are flagged to refresh on settings init if tracking Transmog  
    Comment typo  
- Added some Runner capabilities for some upcoming improvements  
- Protect against multiple Refresh Collections triggers (since the entirety of the refresh is no longer within a single co-routine we can't rely on co-routine protection to prevent multiple refreshes)  
- Some more missing objects to the old world.  
- Apparently some criteria funcs can return non-strings for text... curious  
- Adjusted an AA achieve criteria  
