From 7c932559e0ebffc96298c8e9644f402f1087270f Mon Sep 17 00:00:00 2001 From: Kelsi Date: Tue, 17 Mar 2026 19:44:48 -0700 Subject: [PATCH] fix: apply interruptibility coloring to boss frame cast bars Boss encounter frames were still using the old fixed orange/red cast bar color. Update them to match the target frame: green = interruptible, red = SPELL_ATTR_EX_NOT_INTERRUPTIBLE, both pulse at >80% completion. --- src/ui/game_screen.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/ui/game_screen.cpp b/src/ui/game_screen.cpp index 9502058f..84d30f5b 100644 --- a/src/ui/game_screen.cpp +++ b/src/ui/game_screen.cpp @@ -11138,13 +11138,17 @@ void GameScreen::renderBossFrames(game::GameHandler& gameHandler) { uint32_t bspell = cs->spellId; const std::string& bcastName = (bspell != 0) ? gameHandler.getSpellName(bspell) : ""; - // Pulse bright orange when > 80% complete — interrupt window closing + // Green = interruptible, Red = immune; pulse when > 80% complete ImVec4 bcastColor; if (castPct > 0.8f) { float pulse = 0.7f + 0.3f * std::sin(static_cast(ImGui::GetTime()) * 8.0f); - bcastColor = ImVec4(1.0f * pulse, 0.5f * pulse, 0.0f, 1.0f); + bcastColor = cs->interruptible + ? ImVec4(0.2f * pulse, 0.9f * pulse, 0.2f * pulse, 1.0f) + : ImVec4(1.0f * pulse, 0.1f * pulse, 0.1f * pulse, 1.0f); } else { - bcastColor = ImVec4(0.9f, 0.3f, 0.2f, 1.0f); + bcastColor = cs->interruptible + ? ImVec4(0.2f, 0.75f, 0.2f, 1.0f) + : ImVec4(0.9f, 0.15f, 0.15f, 1.0f); } ImGui::PushStyleColor(ImGuiCol_PlotHistogram, bcastColor); char bcastLabel[72];