diff --git a/src/game/chat_handler.cpp b/src/game/chat_handler.cpp index 1dd57e56..d725cb15 100644 --- a/src/game/chat_handler.cpp +++ b/src/game/chat_handler.cpp @@ -120,7 +120,7 @@ void ChatHandler::sendChatMessage(ChatType type, const std::string& message, con return; } - LOG_INFO("Sending chat message: [", getChatTypeString(type), "] ", message); + LOG_WARNING("OUTGOING CHAT: type=", static_cast(type), " msg='", message.substr(0, 60), "'"); // Use the player's faction language. AzerothCore rejects wrong language. // Alliance races: Human(1), Dwarf(3), NightElf(4), Gnome(7), Draenei(11) → COMMON (7) @@ -205,12 +205,11 @@ void ChatHandler::handleMessageChat(network::Packet& packet) { } // Filter BG queue announcer spam (server-side module on ChromieCraft/AzerothCore). - // Only filter SYSTEM messages to avoid suppressing player chat. - if (data.type == ChatType::SYSTEM) { + // Arrives as SAY (type=0) with color codes: |cffff0000[BG Queue Announcer]:|r ... + { const auto& msg = data.message; - if (msg.find("Queue status") != std::string::npos || - msg.find("BG Queue") != std::string::npos || - msg.find("BGAnnouncer") != std::string::npos) { + if (msg.find("BG Queue Announcer") != std::string::npos || + msg.find("Queue status") != std::string::npos) { return; } } diff --git a/src/game/movement_handler.cpp b/src/game/movement_handler.cpp index 873d289a..d5071b86 100644 --- a/src/game/movement_handler.cpp +++ b/src/game/movement_handler.cpp @@ -654,6 +654,13 @@ void MovementHandler::sendMovement(Opcode opcode) { wireInfo.y = serverPos.y; wireInfo.z = serverPos.z; + // Log outgoing position periodically to detect coordinate bugs + static int heartbeatLogCounter = 0; + if (opcode == Opcode::MSG_MOVE_HEARTBEAT && ++heartbeatLogCounter % 30 == 0) { + LOG_WARNING("HEARTBEAT pos canonical=(", movementInfo.x, ",", movementInfo.y, ",", movementInfo.z, + ") wire=(", wireInfo.x, ",", wireInfo.y, ",", wireInfo.z, ")"); + } + wireInfo.orientation = core::coords::canonicalToServerYaw(wireInfo.orientation); if (includeTransportInWire) {