From 6bca3dd6c5ad25465eaded2a7fa693c266810bad Mon Sep 17 00:00:00 2001 From: Kelsi Date: Fri, 13 Mar 2026 10:36:28 -0700 Subject: [PATCH] fix: correct item spell trigger type labels in tooltips MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add trigger 4 (soulstone), 5 (no-delay use), 6 (learn/recipe) as "Use:" — all show as "Use:" in WoW, matching client behavior - Fix trigger 6 which was incorrectly labeled "Soulstone" (trigger 4 is soulstone; trigger 6 is LEARN_SPELL_ID used by recipe/pattern items) - Both ItemDef tooltip and ItemSlot inline tooltip are now consistent --- src/ui/inventory_screen.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/ui/inventory_screen.cpp b/src/ui/inventory_screen.cpp index 23b83d33..89f32368 100644 --- a/src/ui/inventory_screen.cpp +++ b/src/ui/inventory_screen.cpp @@ -2482,10 +2482,12 @@ void InventoryScreen::renderItemTooltip(const game::ItemDef& item, const game::I if (sp.spellId == 0) continue; const char* trigger = nullptr; switch (sp.spellTrigger) { - case 0: trigger = "Use"; break; - case 1: trigger = "Equip"; break; - case 2: trigger = "Chance on Hit"; break; - case 6: trigger = "Soulstone"; break; + case 0: trigger = "Use"; break; // on use + case 1: trigger = "Equip"; break; // on equip + case 2: trigger = "Chance on Hit"; break; // proc on melee hit + case 4: trigger = "Use"; break; // soulstone (still shows as Use) + case 5: trigger = "Use"; break; // on use, no delay + case 6: trigger = "Use"; break; // learn spell (recipe/pattern) default: break; } if (!trigger) continue; @@ -2773,9 +2775,12 @@ void InventoryScreen::renderItemTooltip(const game::ItemQueryResponseData& info, if (sp.spellId == 0) continue; const char* trigger = nullptr; switch (sp.spellTrigger) { - case 0: trigger = "Use"; break; - case 1: trigger = "Equip"; break; - case 2: trigger = "Chance on Hit"; break; + case 0: trigger = "Use"; break; // on use + case 1: trigger = "Equip"; break; // on equip + case 2: trigger = "Chance on Hit"; break; // proc on melee hit + case 4: trigger = "Use"; break; // soulstone (still shows as Use) + case 5: trigger = "Use"; break; // on use, no delay + case 6: trigger = "Use"; break; // learn spell (recipe/pattern) default: break; } if (!trigger) continue;