florian.berthold 97e38d5c3d
release / release (push) Successful in 5s
coa.5: refactor char display into guarded helpers; fix missed sites; restore login scan
- Extract AddCharacterTooltipHeader() + SetCharacterRowNameLevel() (Altoholic.lua);
  nil-guards centralized, callers in AccountSummary/Activity/BagUsage/Skills/tooltip.
- Fix sites the manual sweep missed: Skills.lua (row + skill ranks), Keys.lua x3,
  ShowClassIcons sort (Altoholic.lua:705, getters bypass their own or-0 via the wrapper).
- Restore login scan: OnPlayerAlive was ghost-only (fdcb25a) so iLvl never populated;
  now scans once per session. Removed dated DEBUG leftovers.
2026-05-29 01:02:24 +02:00
2025-03-24 16:03:04 +01:00

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.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_InventoryGetAverageItemLevel 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_PetsGetNumPets returns 0 for an unscanned companion table instead of assert-crashing TabCharacters.
    • DataStore_CharactersGetColoredCharacterName tolerates a nil name (records known only via guild comm).
    • Altoholic/Characters.luaGetLineType 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

The new "Keys" tab

  • Edited Version 1.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

Pretty Pictures

Key item, that requires a questline

Mouseover Key Label Mouseover Character Item

Key, that is a questline

Mouseover Key Label Mouseover Character Item

Key, that requires reputation

Mouseover Key Label Mouseover Character Item

Optional Key, for quick instance entry

Mouseover Key Label Mouseover Character Item

S
Description
CoA Guild Exiles fork of telkar-rg/wow-Altoholic-dev — Altoholic + DataStore_* bundle for WoW 3.3.5 (Interface 30300), tracks Ascension CoA
Readme 8.1 MiB
2026-05-29 23:33:21 +00:00
Languages
Lua 99.7%
XSLT 0.2%