feat: add Heirloom and Artifact item quality tiers with light gold color

Extends ItemQuality enum with ARTIFACT (6) and HEIRLOOM (7) to match
WotLK 3.3.5a quality values, with light gold color (e6cc80) and
display name support in inventory UI and tooltips.
This commit is contained in:
Kelsi 2026-03-13 10:22:34 -07:00
parent cc24597983
commit bbbc4efced
3 changed files with 8 additions and 0 deletions

View file

@ -15,6 +15,8 @@ enum class ItemQuality : uint8_t {
RARE = 3, // Blue
EPIC = 4, // Purple
LEGENDARY = 5, // Orange
ARTIFACT = 6, // Yellow (unused in 3.3.5a but valid quality value)
HEIRLOOM = 7, // Yellow/gold (WotLK bind-on-account heirlooms)
};
enum class EquipSlot : uint8_t {

View file

@ -313,6 +313,8 @@ const char* getQualityName(ItemQuality quality) {
case ItemQuality::RARE: return "Rare";
case ItemQuality::EPIC: return "Epic";
case ItemQuality::LEGENDARY: return "Legendary";
case ItemQuality::ARTIFACT: return "Artifact";
case ItemQuality::HEIRLOOM: return "Heirloom";
default: return "Unknown";
}
}

View file

@ -103,6 +103,8 @@ ImVec4 InventoryScreen::getQualityColor(game::ItemQuality quality) {
case game::ItemQuality::RARE: return ImVec4(0.0f, 0.44f, 0.87f, 1.0f); // Blue
case game::ItemQuality::EPIC: return ImVec4(0.64f, 0.21f, 0.93f, 1.0f); // Purple
case game::ItemQuality::LEGENDARY: return ImVec4(1.0f, 0.50f, 0.0f, 1.0f); // Orange
case game::ItemQuality::ARTIFACT: return ImVec4(0.90f, 0.80f, 0.50f, 1.0f); // Light gold
case game::ItemQuality::HEIRLOOM: return ImVec4(0.90f, 0.80f, 0.50f, 1.0f); // Light gold
default: return ImVec4(1.0f, 1.0f, 1.0f, 1.0f);
}
}
@ -2268,6 +2270,8 @@ void InventoryScreen::renderItemSlot(game::Inventory& inventory, const game::Ite
case game::ItemQuality::RARE: qualHex = "0070dd"; break;
case game::ItemQuality::EPIC: qualHex = "a335ee"; break;
case game::ItemQuality::LEGENDARY: qualHex = "ff8000"; break;
case game::ItemQuality::ARTIFACT: qualHex = "e6cc80"; break;
case game::ItemQuality::HEIRLOOM: qualHex = "e6cc80"; break;
default: break;
}
char linkBuf[512];