From d6d5d94ebe88e71b6250678f114d900871fcf054 Mon Sep 17 00:00:00 2001 From: Shauren Date: Thu, 23 Mar 2023 00:06:43 +0100 Subject: Core/PacketIO: Fixed SMSG_ENABLE_BARBER_SHOP structure Closes #28606 --- src/server/game/Entities/GameObject/GameObject.cpp | 5 +++-- src/server/game/Server/Packets/MiscPackets.cpp | 7 +++++++ src/server/game/Server/Packets/MiscPackets.h | 6 ++++-- 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index d0615358f3d..d9ee233faf4 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -2867,8 +2867,9 @@ void GameObject::Use(Unit* user) Player* player = user->ToPlayer(); - WorldPackets::Misc::EnableBarberShop packet; - player->SendDirectMessage(packet.Write()); + WorldPackets::Misc::EnableBarberShop enableBarberShop; + enableBarberShop.CustomizationScope = info->barberChair.CustomizationScope; + player->SendDirectMessage(enableBarberShop.Write()); // fallback, will always work player->TeleportTo(GetMapId(), GetPositionX(), GetPositionY(), GetPositionZ(), GetOrientation(), TELE_TO_NOT_LEAVE_TRANSPORT | TELE_TO_NOT_LEAVE_COMBAT | TELE_TO_NOT_UNSUMMON_PET); diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp index b8d00d817eb..9f39f3334ca 100644 --- a/src/server/game/Server/Packets/MiscPackets.cpp +++ b/src/server/game/Server/Packets/MiscPackets.cpp @@ -416,6 +416,13 @@ WorldPacket const* WorldPackets::Misc::RandomRoll::Write() return &_worldPacket; } +WorldPacket const* WorldPackets::Misc::EnableBarberShop::Write() +{ + _worldPacket << uint8(CustomizationScope); + + return &_worldPacket; +} + ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Misc::PhaseShiftDataPhase const& phaseShiftDataPhase) { data << uint16(phaseShiftDataPhase.PhaseFlags); diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h index fe65386f2d6..5f29600d31d 100644 --- a/src/server/game/Server/Packets/MiscPackets.h +++ b/src/server/game/Server/Packets/MiscPackets.h @@ -547,9 +547,11 @@ namespace WorldPackets class EnableBarberShop final : public ServerPacket { public: - EnableBarberShop() : ServerPacket(SMSG_ENABLE_BARBER_SHOP, 0) { } + EnableBarberShop() : ServerPacket(SMSG_ENABLE_BARBER_SHOP, 1) { } - WorldPacket const* Write() override { return &_worldPacket; } + WorldPacket const* Write() override; + + uint8 CustomizationScope = 0; }; struct PhaseShiftDataPhase -- cgit v1.2.3