# wow-Altoholic-dev Altoholic: modified development for WotLK ## CoA fork (Exiles) Ported for the Ascension CoA (Vol'jin) 3.3.5a client by the Exiles guild. Released as `*-coa.N` tags via Gitea Actions; see `Exiles/coa-altoholic`. - **3.3.002b-coa.6** — Final straggler: guarded `AccountSharing.lua` realm/name line (name getter was the last `format` arg, so a no-value collapsed it to a format error). Concludes the frame sweep. - **3.3.002b-coa.5** — Refactor + completeness pass: - Extracted the duplicated character header/row blocks into `Altoholic:AddCharacterTooltipHeader()` and `Altoholic:SetCharacterRowNameLevel()` — the nil-guards now live in one place instead of being copy-pasted across frames. - Fixed crash sites the per-frame sweep had missed: `Skills.lua` (row + skill-rank tooltip), `Keys.lua` (×3 `format` with possibly-nil name), and the latent `ShowClassIcons` sort (`Altoholic.lua` — getters bypass their own `or 0` via the DataStore wrapper). - Restored login scanning: `OnPlayerAlive` in `Altoholic.lua` + `DataStore_Inventory` was gated to ghost-only (commit fdcb25a), so inventory/iLvl never populated on login. Now scans once per session (still skips resurrect/Feign-Death rescans). Removed dated DEBUG leftovers. - **3.3.002b-coa.4** — Rebranded to the Exiles fork (title `Altoholic (Exiles)`; Thaoky/Telkar-RG still credited as Author). Hardened **all** Altoholic frames against partial alt records: DataStore char-based getters return *no value* for any module that hasn't scanned a char, and the frames assumed full data everywhere. Guarded every `format`/concat/arithmetic/`pairs` site across AccountSummary, Activity, BagUsage, Quests, Reputations, TabCharacters, `DrawCharacterTooltip`, and the recipe tooltip. No DataStore contract change. - **3.3.002b-coa.3** — More partial-record guards in `DataStore_Characters` (own alts seen via guild comm but never fully scanned): - `GetXPRate` — guard nil/zero `XPMax` (crashed AccountSummary; also fixes div-by-zero at max level). - `GetRestXPRate` — guard nil/zero `XPMax` and nil `lastLogoutTimestamp` (`nil ~= 0` was true and crashed). - **3.3.002b-coa.2** — Defensive guards for CoA data shapes (custom classes, records seeded from guild comm before a full scan, ungeared chars). Fixes login/UI crashes: - `DataStore_Inventory` — `GetAverageItemLevel` returns `0` instead of `nil` (crashed the Altoholic char sort and AccountSummary iLvl format); guarded the login AIL broadcast and the `0/0` average for ungeared chars. - `DataStore_Pets` — `GetNumPets` returns `0` for an unscanned companion table instead of `assert`-crashing TabCharacters. - `DataStore_Characters` — `GetColoredCharacterName` tolerates a `nil` name (records known only via guild comm). - `Altoholic/Characters.lua` — `GetLineType` returns `nil` for a stale/out-of-range line id (caller already handles it) instead of indexing a nil row. - **3.3.002b-coa.1** — Initial CoA packaging (Altoholic + Altoholic_Achievements + 16 DataStore modules). Added "Keys" Tab for better overview of owned keys and some attunement quests. ## Changes - [Edited Version 1.04a](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/t1.04a) - Some game lag issues addressed by adjusting how some Scan functions were called by triggering Game Events - [Edited Version 1.03a](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/t1.03a) - Added source information to recipes and pets - [Edited Version 1.02](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/t1.02) - Small fix for "Known Pets" display (thanks to "[UsernameUsername](https://www.rising-gods.de/forum/63-programmiererecke/830273-addon-altoholic-haustier-info.html)") - [Edited Version 1.01](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/t1.01) - Items that start Quests now show if the player has already completed them (only affects items of quality above common) ![The new "Keys" tab](https://github.com/telkar-rg/wow-Altoholic-dev/blob/main/_img/10.png?raw=true) - [Edited Version 1.0](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/t1.0) - Added "Keys" tab: will show various relevant keys or attunement quests per character in order to enter instances or allow for quicker entry. - Items in "Currencies" tab are now sorted by item id - Added button to "DataStore" options to ignore Addon-Communication from the Rising-Gods starter guilds - Fixed various "Source tooltip" entries (specifically for Ulduar) - Fixed various links between recipes and crafting spells - The "Hearthstone" will no longer be counted per character (as everyone has it) - Removed deDE mistranslation of "Mail" - Characters in the horizontzal tab are now sorted by average item level ![The new "Keys" tab](https://github.com/telkar-rg/wow-Altoholic-dev/blob/main/_img/1.png?raw=true) - [Original 3.3.5 version](https://github.com/telkar-rg/wow-Altoholic-dev/releases/tag/r90) ## Pretty Pictures
Key item, that requires a questline ![Mouseover Key Label](https://github.com/telkar-rg/wow-Altoholic-dev/blob/main/_img/8.png?raw=true) ![Mouseover Character Item](https://github.com/telkar-rg/wow-Altoholic-dev/blob/main/_img/9.png?raw=true)
Key, that is a questline ![Mouseover Key Label](https://github.com/telkar-rg/wow-Altoholic-dev/blob/main/_img/6.png?raw=true) ![Mouseover Character Item](https://github.com/telkar-rg/wow-Altoholic-dev/blob/main/_img/7.png?raw=true)
Key, that requires reputation ![Mouseover Key Label](https://github.com/telkar-rg/wow-Altoholic-dev/blob/main/_img/4.png?raw=true) ![Mouseover Character Item](https://github.com/telkar-rg/wow-Altoholic-dev/blob/main/_img/5.png?raw=true)
Optional Key, for quick instance entry ![Mouseover Key Label](https://github.com/telkar-rg/wow-Altoholic-dev/blob/main/_img/2.png?raw=true) ![Mouseover Character Item](https://github.com/telkar-rg/wow-Altoholic-dev/blob/main/_img/3.png?raw=true)