aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Server/Packets/NPCPackets.cpp10
-rw-r--r--src/server/game/Server/Packets/NPCPackets.h11
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
3 files changed, 22 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/NPCPackets.cpp b/src/server/game/Server/Packets/NPCPackets.cpp
index 7bf96b03bab..33e33bece55 100644
--- a/src/server/game/Server/Packets/NPCPackets.cpp
+++ b/src/server/game/Server/Packets/NPCPackets.cpp
@@ -134,9 +134,19 @@ void WorldPackets::NPC::GossipSelectOption::Read()
uint32 length = _worldPacket.ReadBits(8);
PromotionCode = _worldPacket.ReadString(length);
}
+
WorldPacket const* WorldPackets::NPC::PlayerTabardVendorActivate::Write()
{
_worldPacket << Vendor;
return &_worldPacket;
}
+
+WorldPacket const* WorldPackets::NPC::SuppressNPCGreetings::Write()
+{
+ _worldPacket << UnitGUID;
+ _worldPacket.WriteBit(SuppressNPCGreeting);
+ _worldPacket.FlushBits();
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/NPCPackets.h b/src/server/game/Server/Packets/NPCPackets.h
index e02fd21dd39..b4c7a377187 100644
--- a/src/server/game/Server/Packets/NPCPackets.h
+++ b/src/server/game/Server/Packets/NPCPackets.h
@@ -168,6 +168,17 @@ namespace WorldPackets
ObjectGuid Vendor;
};
+
+ class SuppressNPCGreetings final : public ServerPacket
+ {
+ public:
+ SuppressNPCGreetings() : ServerPacket(SMSG_SUPPRESS_NPC_GREETINGS, 16 + 1) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid UnitGUID;
+ bool SuppressNPCGreeting = false;
+ };
}
}
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 637d81a592f..3653b5f7d3f 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1801,7 +1801,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUMMON_RAID_MEMBER_VALIDATE_FAILED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUMMON_REQUEST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUPERCEDED_SPELL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUPPRESS_NPC_GREETINGS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUPPRESS_NPC_GREETINGS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUSPEND_COMMS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SUSPEND_TOKEN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TABARD_VENDOR_ACTIVATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);