From 8da5e5c029fad5dd90dddd43f5096df7de754b7c Mon Sep 17 00:00:00 2001 From: Kelsi Date: Fri, 13 Mar 2026 10:29:56 -0700 Subject: [PATCH] feat: extend quality colors for Artifact/Heirloom and add guild bank repair - Add light gold (e6cc80) color for quality 6 (Artifact) and 7 (Heirloom) in the loot roll window and loot toast notification displays - Add "Repair (Guild)" button next to "Repair All" in vendor window when player is in a guild, using guild bank funds for the repair cost --- src/ui/game_screen.cpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/ui/game_screen.cpp b/src/ui/game_screen.cpp index 4208d833..d3d0f79d 100644 --- a/src/ui/game_screen.cpp +++ b/src/ui/game_screen.cpp @@ -10751,9 +10751,11 @@ void GameScreen::renderLootRollPopup(game::GameHandler& gameHandler) { ImVec4(0.0f, 0.44f, 0.87f, 1.0f),// 3=rare (blue) ImVec4(0.64f, 0.21f, 0.93f, 1.0f),// 4=epic (purple) ImVec4(1.0f, 0.5f, 0.0f, 1.0f), // 5=legendary (orange) + ImVec4(0.90f, 0.80f, 0.50f, 1.0f),// 6=artifact (light gold) + ImVec4(0.90f, 0.80f, 0.50f, 1.0f),// 7=heirloom (light gold) }; uint8_t q = roll.itemQuality; - ImVec4 col = (q < 6) ? kQualityColors[q] : kQualityColors[1]; + ImVec4 col = (q < 8) ? kQualityColors[q] : kQualityColors[1]; // Countdown bar { @@ -13214,7 +13216,16 @@ void GameScreen::renderVendorWindow(game::GameHandler& gameHandler) { gameHandler.repairAll(vendor.vendorGuid, false); } if (ImGui::IsItemHovered()) { - ImGui::SetTooltip("Repair all equipped items"); + ImGui::SetTooltip("Repair all equipped items using your gold"); + } + if (gameHandler.isInGuild()) { + ImGui::SameLine(); + if (ImGui::SmallButton("Repair (Guild)")) { + gameHandler.repairAll(vendor.vendorGuid, true); + } + if (ImGui::IsItemHovered()) { + ImGui::SetTooltip("Repair all equipped items using guild bank funds"); + } } } ImGui::Separator(); @@ -19037,6 +19048,8 @@ void GameScreen::renderItemLootToasts() { IM_COL32( 0, 112, 221, 255), // 3 blue (rare) IM_COL32(163, 53, 238, 255), // 4 purple (epic) IM_COL32(255, 128, 0, 255), // 5 orange (legendary) + IM_COL32(230, 204, 128, 255), // 6 light gold (artifact) + IM_COL32(230, 204, 128, 255), // 7 light gold (heirloom) }; // Stack at bottom-left above action bars; each item is 24 px tall @@ -19075,7 +19088,7 @@ void GameScreen::renderItemLootToasts() { IM_COL32(12, 12, 12, bgA), 3.0f); // Quality colour accent bar on left edge (3px wide) - ImU32 qualCol = kQualityColors[std::min(static_cast(5u), toast.quality)]; + ImU32 qualCol = kQualityColors[std::min(static_cast(7u), toast.quality)]; ImU32 qualColA = (qualCol & 0x00FFFFFFu) | (static_cast(fgA) << 24u); bgDL->AddRectFilled(ImVec2(tx, ty), ImVec2(tx + 3.0f, ty + TOAST_H), qualColA, 3.0f);