From 666b5847c3da5ba30976b442ddb723e14bc7ad93 Mon Sep 17 00:00:00 2001 From: Walter Pagani Date: Thu, 15 Jun 2023 19:06:13 -0300 Subject: [PATCH] chore(Core/MiscHandler): SendAreaTriggerMessage with integer parameter (#16506) Add the possibility for SendAreaTriggerMessage to accept an integer parameter --- src/server/game/Handlers/MiscHandler.cpp | 21 +++++++++++++++++++++ src/server/game/Server/WorldSession.h | 1 + 2 files changed, 22 insertions(+) diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp index 7146fea21..5149e6a49 100644 --- a/src/server/game/Handlers/MiscHandler.cpp +++ b/src/server/game/Handlers/MiscHandler.cpp @@ -718,6 +718,27 @@ void WorldSession::SendAreaTriggerMessage(const char* Text, ...) SendPacket(&data); } +void WorldSession::SendAreaTriggerMessage(uint32 entry, ...) +{ + char const* format = GetAcoreString(entry); + if (format) + { + va_list ap; + char szStr[1024]; + szStr[0] = '\0'; + + va_start(ap, entry); + vsnprintf(szStr, 1024, format, ap); + va_end(ap); + + uint32 length = strlen(szStr) + 1; + WorldPacket data(SMSG_AREA_TRIGGER_MESSAGE, 4 + length); + data << length; + data << szStr; + SendPacket(&data); + } +} + void WorldSession::HandleAreaTriggerOpcode(WorldPacket& recv_data) { uint32 triggerId; diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index 5035f40cf..930473b8e 100644 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -349,6 +349,7 @@ public: void SendPetNameInvalid(uint32 error, std::string const& name, DeclinedName* declinedName); void SendPartyResult(PartyOperation operation, std::string const& member, PartyResult res, uint32 val = 0); void SendAreaTriggerMessage(const char* Text, ...) ATTR_PRINTF(2, 3); + void SendAreaTriggerMessage(uint32 entry, ...); void SendSetPhaseShift(uint32 phaseShift); void SendQueryTimeResponse();