feat: parse and display item skill/reputation requirements in tooltips

- Store requiredSkill, requiredSkillRank, allowableClass, allowableRace,
  requiredReputationFaction, and requiredReputationRank from
  SMSG_ITEM_QUERY_SINGLE_RESPONSE in ItemQueryResponseData (was discarded)
- Show "Requires <Skill> (<rank>)" in item tooltip, highlighted red when
  the player doesn't have sufficient skill level
- Show "Requires <Rank> with <Faction>" for reputation-gated items
- Skill names resolved from SkillLine.dbc; faction names from Faction.dbc
- Also fix loot window tooltip suppressing items with names starting with 'I'
This commit is contained in:
Kelsi 2026-03-13 11:11:33 -07:00
parent a6c4f6d2e9
commit b0b47c354a
6 changed files with 96 additions and 20 deletions

View file

@ -12462,8 +12462,9 @@ void GameScreen::renderLootWindow(game::GameHandler& gameHandler) {
// Show item tooltip on hover
if (hovered && info && info->valid) {
inventoryScreen.renderItemTooltip(*info);
} else if (hovered && !itemName.empty() && itemName[0] != 'I') {
ImGui::SetTooltip("%s", itemName.c_str());
} else if (hovered && info && !info->name.empty()) {
// Item info received but not yet fully valid — show name at minimum
ImGui::SetTooltip("%s", info->name.c_str());
}
ImDrawList* drawList = ImGui::GetWindowDrawList();