Commit Graph

194 Commits

Author SHA1 Message Date
florian.berthold b332499098 coa.3: guard XP getters in DataStore_Characters for partial records
release / release (push) Successful in 5s
GetXPRate / GetRestXPRate did raw arithmetic on character.XP / .XPMax /
.lastLogoutTimestamp, which are nil for own alts seen via guild comm but
never fully scanned. Crashed AccountSummary on Vol'jin - CoA Beta.
3.3.002b-coa.3
2026-05-28 22:40:04 +02:00
florian.berthold 961290d9bd coa.2: guard CoA data shapes (custom classes, comm-seeded records, ungeared chars)
release / release (push) Successful in 5s
Fixes login/UI crashes on Vol'jin - CoA Beta:
- DataStore_Inventory: GetAverageItemLevel returns 0 not nil (Altoholic sort
  + AccountSummary iLvl format); guard login AIL broadcast and 0/0 average.
- DataStore_Pets: GetNumPets returns 0 for unscanned companion table instead
  of assert-crashing TabCharacters.
- DataStore_Characters: GetColoredCharacterName tolerates nil name.
- Altoholic/Characters.lua: GetLineType returns nil for stale line id.

Stamp -coa.2 + X-Edited-By: Exiles on touched addons; README CoA changelog.
3.3.002b-coa.2
2026-05-28 22:16:44 +02:00
florian.berthold 95fe53bd89 ci: respect GITHUB_REPOSITORY + tolerate per-asset upload failures
release / release (push) Successful in 6s
3.3.002b-coa.1
2026-05-25 12:16:07 +02:00
florian.berthold f59c18bdaa ci: add Gitea Actions release workflow (per-addon git-archive zip)
release / release (push) Failing after 5s
2026-05-25 12:00:16 +02:00
florian.berthold bbe2492a5b chore: flatten Altoholic-Addon/ wrapper + add standard .gitignore/.gitattributes
Each DataStore_* / Altoholic_* addon now lives at the repo root, matching
the Exiles fork-layout convention (one folder per addon, no wrapper dir).
2026-05-25 10:59:24 +02:00
florian.berthold 7789489aec fix(libs): pick up coa-ace3 9583952 (AceDB falsy-defaults PR #10 backport)
Re-sync after coa-ace3 9583952 backported WoWUIDev/Ace3 PR #10 which fixes
the AceDB-3.0 simple-value defaults metatable: previously falsy defaults
like ["*"] = false read back as nil because of `k2~=nil and v or nil`
short-circuiting. Now they round-trip correctly.
2026-05-24 19:31:41 +02:00
florian.berthold 92c6afd9c2 fix(libs): pick up coa-ace3 3ec2009 (BlizOptionsGroup + Settings.* CoA-compat)
Re-sync after coa-ace3 3ec2009 added two CoA-compat patches:
  - AceGUI-3.0/widgets/AceGUIContainer-BlizOptionsGroup.lua: parent
    falls back to UIParent when InterfaceOptionsFramePanelContainer is nil
  - AceConfig-3.0/AceConfigDialog-3.0: Settings.* block guarded with
    fallback to InterfaceOptions_AddCategory on WotLK-era clients

Without these, every addon registering a Blizzard Interface Options
panel via AceConfigDialog errors on load on the CoA client.
2026-05-24 17:41:24 +02:00
florian.berthold 6b767a1e7a fix(libs): pick up coa-ace3 d422ad3 (FileDataID → string paths)
Re-sync after coa-ace3 d422ad3 which converted 42 numeric FileDataIDs in
Set*Texture() calls back to string paths. Upstream Ace3 uses FDIDs which
silently fail on WoW 3.3.5 / CoA, rendering color swatches, checkboxes
and window chrome as solid-red placeholders.
2026-05-23 14:03:38 +02:00
florian.berthold c8b2f1f044 chore(libs): sync Ace3 to coa-ace3 (WoWUIDev master @ 52e5f2c)
Bring every embedded Ace3 / CallbackHandler / LibStub copy in line with the
canonical Exiles/coa-ace3 bundle so LibStub resolution is predictable across
all Exiles forks regardless of which addons are enabled.

Libraries updated in this fork:
  AceAddon-3.0           13  (5 → 13)
  AceComm-3.0            14  (6 → 14)
  AceConfig-3.0          3  (2 → 3)
  AceConfigCmd-3.0       14  (12 → 14)
  AceConfigDialog-3.0    92  (49 → 92)
  AceConfigRegistry-3.0  22  (12 → 22)
  AceConsole-3.0         7
  AceDB-3.0              33  (21 → 33)
  AceDBOptions-3.0       15  (12 → 15)
  AceEvent-3.0           4  (3 → 4)
  AceGUI-3.0             41  (33 → 41)
  AceLocale-3.0          6  (2 → 6)
  AceSerializer-3.0      5  (3 → 5)
  AceTimer-3.0           17  (5 → 17)
  CallbackHandler-1.0    8  (5 → 8)
  LibStub                2
2026-05-23 13:42:15 +02:00
florian.berthold 9fda41fde0 CoA: register Woodcutting and Woodworking as custom professions
Altoholic's DataStore_Crafts hardcodes a ProfessionSpellID lookup so
the localized profession name received over guild comms can be
resolved back to a canonical English key (see GetProfessionID at
DataStore_Crafts.lua:95). Stock table covers the vanilla 15
professions only.

The Voljin/PTR realm adds two custom tradeskills:

  * Woodcutting   — base spell 13977860 (single-rank gathering skill,
                    parallels Mining/Herbalism shape)
  * Woodworking   — Apprentice 1005008, Journeyman 1005009,
                    Expert 1005010, Artisan 1005011 (matches the
                    vanilla 75/150/225/300 rank ladder)

Without this, the local TRADE_SKILL_SHOW data is still captured by
the runtime API path, but the cross-character / cross-locale sync
through GuildBroadcast falls through to the linear scan and never
finds a matching ID — guildmates' Woodcutting/Woodworking ranks
don't propagate.

IDs cross-referenced against coa-professionmenu/ProfessionMenu.lua
:200-206 (the in-house CoA profession panel which enumerates these
exact IDs) and verified against db.exil.es (/spell/13977860 →
"Woodcutting", /spell/1005011 → "Artisan Woodworking").
2026-05-17 16:43:01 +02:00
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 0fa1293223 Update README.md 2025-08-01 14:24:47 +02:00
telkar-rg da6fe7a427 version bump 2025-08-01 14:17:54 +02:00
telkar-rg bf181351b8 fixed use of "AceTimer:ScheduleTimer(callback, delay, arg)" 2025-08-01 13:59:24 +02:00
telkar-rg c7dd5efdb5 Update README.md 2025-07-21 20:25:29 +02:00
telkar-rg eed2c35412 version bump 2025-07-21 20:10:49 +02:00
telkar-rg c3219e81c1 added "Func Call Spam Protection" for "CURRENCY_DISPLAY_UPDATE" Event in "DataStore_Currencies" file 2025-07-21 20:01:53 +02:00
telkar-rg 111fd0d153 added "Func Call Spam Protection" for "UNIT_INVENTORY_CHANGED" Event in "DataStore_Stats" file 2025-07-21 17:28:34 +02:00
telkar-rg fb53721d71 added "Func Call Spam Protection" for "BAG_UPDATE" Event in "DataStore_Mails" file 2025-07-21 17:14:04 +02:00
telkar-rg a43b18506c added "Func Call Spam Protection" for "BAG_UPDATE" Event in "DataStore_Containers" file 2025-07-21 17:13:41 +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 edbfb74d83 added img 2025-03-24 16:03:04 +01:00
telkar-rg eb280c3cd0 img edited 2025-03-24 16:02:58 +01:00
telkar-rg f7c181b476 imgs edited 2025-03-24 15:57:55 +01:00
telkar-rg 7976352fb7 added imgs 2025-03-24 15:55:36 +01:00
telkar-rg 2744c8ec1a version bump 2025-03-24 15:55:29 +01:00
telkar-rg e96df24680 Merge branch 'main' of https://github.com/telkar-rg/wow-Altoholic-dev 2025-03-24 15:38:09 +01:00
telkar-rg 6248952d1f Update README.md 2025-03-24 15:37:54 +01:00
telkar-rg 2c90e2b233 fixed formating error 2025-03-24 14:59:52 +01:00
telkar-rg 274ea540a7 added pets 2025-03-22 19:42:37 +01:00
telkar-rg 0b82514f52 version 1.03 2025-03-11 13:55:32 +01:00
telkar-rg 0a87a1e494 added Jewelcrafting 2025-03-10 06:26:27 +01:00
telkar-rg d891e5e382 added Enchanting recipes 2025-03-09 12:11:37 +01:00
telkar-rg cb80dcfd07 localization for engineering expanded 2025-03-09 08:44:58 +01:00
telkar-rg e072aa7b6b added engineering, smeltung and inscription recipes 2025-03-09 08:44:43 +01:00
telkar-rg 56b0eca66c added sources for Leatherworking-Patterns 2025-03-08 12:34:07 +01:00
telkar-rg a8b5c332cc fixed some sapphiron loot 2025-02-27 16:28:22 +01:00
telkar-rg a6db1cc5df added naxx 2025-02-26 13:58:29 +01:00
telkar-rg 3f8a89fa02 added proper tooltip for "Sartharion", "Malygos" and the quest rewards from "Algalon" 2025-02-26 12:20:23 +01:00
telkar-rg f2c89f0f60 added blood red key 2025-02-11 11:21:52 +01:00
telkar-rg beefdf0996 upgrading to "LibBabble-Boss-3.0" Rev: 313
this is a library from Cata, but that just means that we get a more complete translation of WotLK Boss Names
2024-09-29 07:40:55 +02:00
telkar-rg 7cd6a6e298 increased icon size for the skills frame 2024-09-29 07:39:10 +02:00
telkar-rg 1dc8df6532 added tooltip to various items: Faction: The Oracles, Faction: Sporeggar, Argent Tourney: Champion's Seal, World Event: Noblegarden 2024-09-29 07:38:48 +02:00
telkar-rg feb4eb1715 added various localisations for: "Love is in the Air", "Brewfest", "Hallow's End", "Dungeon & Raid achievements", "Scourge Invasion", "Raptor Pet Loots" 2024-01-14 18:34:05 +01:00
telkar-rg 4644560e31 Fixed verious in loot table:
- Rearranged World Events
- "Love is in the air"
- "Hallow's End"
- fixed "Prince Tenris Mirkblood" typo
- added verious pets
2024-01-14 18:31:54 +01:00
telkar-rg cf77220d44 Loot table: Cleanup "Scourge Invasion" and added 2008 version; added WotLK pets to "Children's Week"; Cleanup of "Blizzard Collectables" and "WoW Trading Card Game" 2024-01-11 15:22:41 +01:00
telkar-rg 72035c2a14 added localisation for "Jepetto Joybuzz" 2024-01-11 15:17:57 +01:00
telkar-rg 5360c89d1a loot table: fixed T6-Tokens and reorganisation 2024-01-11 12:43:47 +01:00
telkar-rg 033d00385b localisation: retranslated "T0.5-Quests" as "Dungeon 2 Quests" 2024-01-11 12:43:21 +01:00
telkar-rg ae6fcd0589 loot table: reorganising 2024-01-11 11:35:47 +01:00