From 9fda41fde0f6d772da4b36f3358a37f3b4f65a79 Mon Sep 17 00:00:00 2001 From: Florian Berthold Date: Sun, 17 May 2026 16:43:01 +0200 Subject: [PATCH] CoA: register Woodcutting and Woodworking as custom professions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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"). --- .../DataStore_Crafts/DataStore_Crafts.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Altoholic-Addon/DataStore_Crafts/DataStore_Crafts.lua b/Altoholic-Addon/DataStore_Crafts/DataStore_Crafts.lua index 4629cb2..ad65af2 100644 --- a/Altoholic-Addon/DataStore_Crafts/DataStore_Crafts.lua +++ b/Altoholic-Addon/DataStore_Crafts/DataStore_Crafts.lua @@ -67,6 +67,15 @@ local SPELL_ID_COOKING = 2550 local SPELL_ID_FIRSTAID = 3273 local SPELL_ID_FISHING = 7733 +-- CoA custom professions on the Voljin/PTR realm. IDs sourced from +-- coa-professionmenu (ProfessionMenu.lua:200-206) and verified against +-- db.exil.es: spell 13977860 = "Woodcutting" (single base spell), +-- spell 1005008 = Apprentice "Woodworking" (4 ranks 1005008..1005011, +-- matching the vanilla Apprentice/Journeyman/Expert/Artisan pattern). +-- Apprentice rank is used to mirror the vanilla constants above. +local SPELL_ID_WOODCUTTING = 13977860 +local SPELL_ID_WOODWORKING = 1005008 + local ProfessionSpellID = { -- GetSpellInfo with this value will return localized spell name ["Alchemy"] = SPELL_ID_ALCHEMY, @@ -85,6 +94,9 @@ local ProfessionSpellID = { ["Cooking"] = SPELL_ID_COOKING, ["First Aid"] = SPELL_ID_FIRSTAID, ["Fishing"] = SPELL_ID_FISHING, + + ["Woodcutting"] = SPELL_ID_WOODCUTTING, + ["Woodworking"] = SPELL_ID_WOODWORKING, } -- *** Utility functions ***