# AllTheThings

## [DF-3.5.7-53-ge519bc5](https://github.com/DFortun81/AllTheThings/tree/e519bc55cd721d1caaca10f171a02cc4a3ca1582) (2023-08-30)
[Full Changelog](https://github.com/DFortun81/AllTheThings/compare/DF-3.5.7...e519bc55cd721d1caaca10f171a02cc4a3ca1582) [Previous Releases](https://github.com/DFortun81/AllTheThings/releases)

- Some people don't like print statements... :)  
- Added a helper function for getting or generating a hash.  
- Classic: Removed the unused function "GetKey".  
- CreateHash is now app-scoped and no longer duplicated in a few places.  
- UniqueCounter is now app-scoped and no longer duplicated in a few places.  
- Fixed various broken functionality due to cache containers always returning a table (e.g. /att filters, dynamic categories, recipe caching for contribs, etc.)  
- Fixed logic and use of 'WrapObject' to work as intended (without adjusting shared base object logic) [will probably revise again later]  
- Reverting the __index on WrapObject.  
- Whoops, missed one. Sorry Darkal!  
- Replaced all uses of table.insert and table.remove with an appropriately local shortcut.  
- Killed DefaultFields and DefaultValues and the original BaseObjectFields function, you get better class performance without them.  
    Temporarily leaving the classes base file segregated while I investigate "_missing", "nmc", and "nmr" and if they are justifiable as a base field. (the last two probably aren't, if you use metatables the way you're supposed to)  
- Retail: Quests no longer lookup to see if they're "missing" for their icon. Much too expensive!  
- Added back Robe of the Void.  
- Simplified WrapObject and moved it to the base lua file. Killed all references to the __base property as it wasn't necessary after the adjustment. By removing it, performance should be slightly improved.  
- Retail: Fixed Herloom Upgrade Levels to obey item filter rules when not in Ignore Filters for BoAs mode and killed a class that was only being used in the original implementation.  
- This achievement however can't have criteria ids yet because it's showing you need to be on the other faction as Horde :(  
- Alchemy can have criteria ids again  
- Commented out the item slots for Draconically Epic / Superior.  
- More Maw achievements setup the wrong way.  
- Moved Into the Maw to the quest that grants it to match other achievements of this style.  
- Classic: Added the criteria text fallback using providers.  
- Fixed achievement criterias for Deadliest Cache.  
- Retail: added missing Fyrakk Assault quest  
- pvp changes to follow previous season  
- Added some debug text (Invalid Achievement Criteria Index) to the Criteria class. Please fix all of the achievements it prints out.  
- Sometimes criteriaid doesn't play nice and you still need criteriaindex :(  
- Harvest achievementDB for 10.1.7  
- trampled doll coord update,  grimoire of darkfire imp cost added  
- SetBaseObject was too dangerous. If you used it on the wrong object it would replace the metatable for every instance of that object's inherited class. Use the regular metatable functions instead.  
- Moved the EmptyFunction, ReturnTrue/False/Nil helpers to base.lua.  
- 5.0.4-8.1.0 cooking DB adding, RECIPE!s  
- tome: bumblebee alliance criteria added  
- Added AllTheThings.GameBuildVersion as a shortcut to get the current game build info. (used in phase calculation and availability conditionals)  
- tome of poly: direhorn race criteria added  
- Classic: Deprecated the use of "ATTClassicAD", it is now "AllTheThingsAD" instead.  
- Classic: Mounts now support the new C\_MountJournal API. (Wrath Classic PTR)  
- Classic: Added support for Toys using Blizzard's API. (Wrath Classic PTR)  
- Added classic ptrs to the Link ATT to WoW batch file.  
- Classic: Fixed a bug with the Factions dynamic category.  
- Some more criteria index -> criteria id replacing  
- ALT\_ZONE\_TEXT no longer contributes to map name.  
- Fixed the tooltips for Oracles and Frenzyheart factions.  
- Ryedol's Lucky Pick is not realistically collectible.  
- extra note for 4 LBRS rares that you can see them from the entrance of the dungeon  
- Couple more achievement criteria converted to ids  
- Slightly adjusted the format of Hellfire Ramparts to make the tooltips for each boss and chest reflect what you actually get from each.  
- Replaced some criteria indexes by criteria ids (needs parsing and checking ingame)  
- Add "Soundpack" Chinese localisation (#1483)  
- Retail: The mini list no longer refreshes in large dungeons.  
- updated all other boxes too cuz chatgpt was smart  
- symlinked battered junkbox items if they already had world drop as source  
    maybe more boxes in the future  
- Silly rabbit, Burning Sky isn't inside Karazhan.  
- Classic: Now using the RetrievingData module.  
    No longer using dungeon localizations used by the Saved Instance Names ("sins") field to change the name of a map.  
