Commit Graph

13 Commits

Author SHA1 Message Date
florian.berthold f53f3e3f0f CoA: mirror RAID_CLASS_COLORS for the 21 custom classes
Vanilla Altoholic hardcodes a 10-entry ChatColor table keyed by the
englishClass tokens MAGE/WARRIOR/.../DEATHKNIGHT. On the CoA Voljin/PTR
realm UnitClass / GetGuildRosterInfo return tokens like BARBARIAN,
WITCHDOCTOR, CHRONOMANCER, … so the lookup falls through:

  * Altoholic:GetClassColor (Altoholic.lua:580) returns WHITE for all
    21 CoA classes via the `or WHITE` fallback — guild/character/
    profession panes lose their per-class colours.
  * DataStore_Characters._GetColoredCharacterName had no fallback at
    all — `ClassColors[englishClass] .. character.name` hard-crashed
    on nil-concat for any CoA-class character.
  * Altoholic.lua:710 read CLASS_ICON_TCOORDS[class] for the character
    portrait without a fallback; CoA classes aren't in the vanilla
    sprite sheet's coord table, so the next line `tc[1]` crashed.

Fix follows the established Exiles addon-port pattern (see
coa-omen/CoAClassColors.lua, coa-shadowedunitframes/.../CoAClassColors.lua,
coa-kui-nameplates/.../CoAClassColors.lua): mirror _G.RAID_CLASS_COLORS
into the addon's private table at load. The CoA client itself ships
the realm-authoritative 32-token palette (10 vanilla + HERO + 21 CoA)
in Interface/SharedXML/SharedConstants.lua inside patch-B.MPQ, which
populates RAID_CLASS_COLORS at FrameXML load time — see
db.exil.es /coa/dev for the full table.

- Altoholic/CoAClassColors.lua: new file, mirrors source palette into
  Altoholic.ClassInfo as "|cFFRRGGBB" ChatColor escapes. Never
  overwrites — preserves the addon's vanilla defaults and any future
  user overrides.
- Altoholic/Altoholic.xml: loads CoAClassColors.lua after Altoholic.lua
  so Altoholic.ClassInfo exists.
- Altoholic/Altoholic.lua: defensive CLASS_ICON_TCOORDS lookup with
  WARRIOR fallback (wrong icon beats crash; CoA character creation
  uses its own sprite sheet which doesn't extend the vanilla table).
- DataStore_Characters/DataStore_Characters.lua: inline mirror after
  the local ClassColors table (can't be touched from a sibling file
  because the table is file-local), plus `or WHITE` defensive fallback
  in _GetColoredCharacterName and _GetClassColor.

Does not touch DataStore_Talents — CoA's MoA system uses
C_CharacterAdvancement, not GetNumTalentTabs/GetTalentInfo, so that
module needs a full API rewrite rather than a data patch.
2026-05-17 16:37:57 +02:00
telkar-rg da6fe7a427 version bump 2025-08-01 14:17:54 +02:00
telkar-rg eed2c35412 version bump 2025-07-21 20:10:49 +02:00
telkar-rg fdcb25a94d Scan on "PLAYER_ALIVE" Event changed to only execute when player releases spirit (not on "Feign Death" or resurrect by player) 2025-07-21 15:15:00 +02:00
telkar-rg 2744c8ec1a version bump 2025-03-24 15:55:29 +01:00
telkar-rg 0b82514f52 version 1.03 2025-03-11 13:55:32 +01:00
telkar-rg 7cd6a6e298 increased icon size for the skills frame 2024-09-29 07:39:10 +02:00
telkar-rg 8fe2b41714 version bump 2023-11-02 19:25:34 +01:00
telkar-rg e68752f62c version bump 1.01 2023-10-27 14:57:23 +02:00
telkar-rg 33e93c797d version 1.0 2023-10-11 14:48:08 +02:00
telkar-rg 7da1b3da37 adding credit 2023-10-11 14:45:17 +02:00
telkar-rg df3f797fdc Multi-Acc Support
Altoholic can only show up to 10 characters in the character tabs.
Therefore show the chars of the highest level and of the highest gear.
2023-10-07 09:39:56 +02:00
telkar-rg ded44e3e93 Retail version r90 (06 Jul 2010) 2023-10-07 09:27:37 +02:00