From 2da08835443784ee5e664ec923b0a2097f5669d9 Mon Sep 17 00:00:00 2001 From: Kelsi Date: Sat, 21 Mar 2026 07:54:30 -0700 Subject: [PATCH] feat: fire BARBER_SHOP_OPEN and BARBER_SHOP_CLOSE events Fire BARBER_SHOP_OPEN when the barber shop UI is enabled (SMSG_ENABLE_BARBER_SHOP). Fire BARBER_SHOP_CLOSE when the barber shop completes or is dismissed. Used by UI customization addons. --- include/game/game_handler.hpp | 2 +- src/game/game_handler.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/game/game_handler.hpp b/include/game/game_handler.hpp index 158c4274..d67bd0b2 100644 --- a/include/game/game_handler.hpp +++ b/include/game/game_handler.hpp @@ -1300,7 +1300,7 @@ public: // Barber shop bool isBarberShopOpen() const { return barberShopOpen_; } - void closeBarberShop() { barberShopOpen_ = false; } + void closeBarberShop() { barberShopOpen_ = false; if (addonEventCallback_) addonEventCallback_("BARBER_SHOP_CLOSE", {}); } void sendAlterAppearance(uint32_t hairStyle, uint32_t hairColor, uint32_t facialHair); // Instance difficulty (0=5N, 1=5H, 2=25N, 3=25H for WotLK) diff --git a/src/game/game_handler.cpp b/src/game/game_handler.cpp index 164e9d52..e18462d0 100644 --- a/src/game/game_handler.cpp +++ b/src/game/game_handler.cpp @@ -2772,6 +2772,7 @@ void GameHandler::handlePacket(network::Packet& packet) { // Sent by server when player sits in barber chair — triggers barber shop UI LOG_INFO("SMSG_ENABLE_BARBER_SHOP: barber shop available"); barberShopOpen_ = true; + if (addonEventCallback_) addonEventCallback_("BARBER_SHOP_OPEN", {}); break; case Opcode::SMSG_FEIGN_DEATH_RESISTED: addUIError("Your Feign Death was resisted."); @@ -5125,6 +5126,7 @@ void GameHandler::handlePacket(network::Packet& packet) { if (result == 0) { addSystemChatMessage("Hairstyle changed."); barberShopOpen_ = false; + if (addonEventCallback_) addonEventCallback_("BARBER_SHOP_CLOSE", {}); } else { const char* msg = (result == 1) ? "Not enough money for new hairstyle." : (result == 2) ? "You are not at a barber shop."