fix: correct item spell trigger type labels in tooltips

- 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
This commit is contained in:
Kelsi 2026-03-13 10:36:28 -07:00
parent fa9017c6dc
commit 6bca3dd6c5

View file

@ -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;