diff --git a/include/game/game_handler.hpp b/include/game/game_handler.hpp index 624b78ae..d0b6a1db 100644 --- a/include/game/game_handler.hpp +++ b/include/game/game_handler.hpp @@ -453,6 +453,7 @@ public: uint32_t avgWaitTimeSec = 0; // server-estimated average wait (STATUS_WAIT_QUEUE) uint32_t timeInQueueSec = 0; // time already spent in queue (STATUS_WAIT_QUEUE) std::chrono::steady_clock::time_point inviteReceivedTime{}; + std::string bgName; // human-readable BG/arena name }; // Available BG list (populated by SMSG_BATTLEFIELD_LIST) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index c831f1f3..63dae478 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -16119,7 +16119,7 @@ void GameHandler::handleBattlefieldStatus(network::Packet& packet) { {1, "Alterac Valley"}, {2, "Warsong Gulch"}, {3, "Arathi Basin"}, - {6, "Eye of the Storm"}, + {7, "Eye of the Storm"}, {9, "Strand of the Ancients"}, {11, "Isle of Conquest"}, {30, "Nagrand Arena"}, @@ -16177,6 +16177,7 @@ void GameHandler::handleBattlefieldStatus(network::Packet& packet) { bgQueues_[queueSlot].bgTypeId = bgTypeId; bgQueues_[queueSlot].arenaType = arenaType; bgQueues_[queueSlot].statusId = statusId; + bgQueues_[queueSlot].bgName = bgName; if (statusId == 1) { bgQueues_[queueSlot].avgWaitTimeSec = avgWaitSec; bgQueues_[queueSlot].timeInQueueSec = timeInQueueSec; diff --git a/src/ui/game_screen.cpp b/src/ui/game_screen.cpp index ef4081a1..e09aed65 100644 --- a/src/ui/game_screen.cpp +++ b/src/ui/game_screen.cpp @@ -13730,22 +13730,8 @@ void GameScreen::renderBgInvitePopup(game::GameHandler& gameHandler) { ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoCollapse; if (ImGui::Begin("Battleground Ready!", nullptr, popupFlags)) { - // BG name - std::string bgName; - if (slot->arenaType > 0) { - bgName = std::to_string(slot->arenaType) + "v" + std::to_string(slot->arenaType) + " Arena"; - } else { - switch (slot->bgTypeId) { - case 1: bgName = "Alterac Valley"; break; - case 2: bgName = "Warsong Gulch"; break; - case 3: bgName = "Arathi Basin"; break; - case 7: bgName = "Eye of the Storm"; break; - case 9: bgName = "Strand of the Ancients"; break; - case 11: bgName = "Isle of Conquest"; break; - default: bgName = "Battleground"; break; - } - } - + // BG name from stored queue data + std::string bgName = slot->bgName.empty() ? "Battleground" : slot->bgName; ImGui::TextColored(ImVec4(1.0f, 0.85f, 0.2f, 1.0f), "%s", bgName.c_str()); ImGui::TextWrapped("A spot has opened! You have %d seconds to enter.", static_cast(remaining)); ImGui::Spacing();