From fc640abb0760f66705862efc824d8c9b4fa75e37 Mon Sep 17 00:00:00 2001 From: Brues <5278969+brues-code@users.noreply.github.com> Date: Tue, 23 Jun 2026 12:41:17 -0500 Subject: [PATCH] Render known-spell action tooltips via spellbook slot, not spellID GameTooltip.SetAction used GameTooltip:SetSpellByID for spell actions, which renders the static DBC tooltip. For spells we resolved from the player's own spellbook, use GameTooltip:SetSpell(spellSlot, bookType) instead so the tooltip shows live player-accurate data (mana cost, cooldown, range coloring, reagent counts). spellSlot/bookType/id all come from the same spellbook index entry, so it renders the identical spell and rank. SetSpellByID remains as a defensive fallback for entries without a slot. Applied to both the direct and nested-macro tooltip paths. --- Core.lua | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Core.lua b/Core.lua index 87e48e8..7bd336c 100644 --- a/Core.lua +++ b/Core.lua @@ -4425,9 +4425,11 @@ function GameTooltip.SetAction(self, slot) local current_spell_data = CleveRoids.GetSpell(action_name) if current_spell_data and current_spell_data.id then - -- ClassicAPI: render by spellID (rank included) instead of routing - -- through the spellbook slot via SetSpell(spellSlot, bookType). - GameTooltip:SetSpellByID(current_spell_data.id) + if current_spell_data.spellSlot and current_spell_data.bookType then + GameTooltip:SetSpell(current_spell_data.spellSlot, current_spell_data.bookType) + else + GameTooltip:SetSpellByID(current_spell_data.id) + end GameTooltip:Show() return end @@ -4453,7 +4455,11 @@ function GameTooltip.SetAction(self, slot) current_spell_data = CleveRoids.GetSpell(nested_action_name) if current_spell_data and current_spell_data.id then - GameTooltip:SetSpellByID(current_spell_data.id) + if current_spell_data.spellSlot and current_spell_data.bookType then + GameTooltip:SetSpell(current_spell_data.spellSlot, current_spell_data.bookType) + else + GameTooltip:SetSpellByID(current_spell_data.id) + end GameTooltip:Show() return end