aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMitchesD <majklprofik@seznam.cz>2015-04-10 13:08:13 +0200
committerMitchesD <majklprofik@seznam.cz>2015-04-10 13:08:13 +0200
commit0c38398aa8f84338dae32bef1ed4af49f8741d02 (patch)
tree6137a560bc456ac115905d329c075b8a3f9bccbc /src
parentb2b41144a56df9627cf9ad2cc6c6a5858aa41e68 (diff)
Core/PacketIO: SMSG_GAME_OBJECT_DESPAWN updated and enabled
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Object/Object.cpp7
-rw-r--r--src/server/game/Server/Packets/GameObjectPackets.cpp6
-rw-r--r--src/server/game/Server/Packets/GameObjectPackets.h10
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
4 files changed, 21 insertions, 4 deletions
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index 99a8e7107fe..925c0bf76fe 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -52,6 +52,7 @@
#include "BattlefieldMgr.h"
#include "Battleground.h"
#include "Chat.h"
+#include "GameObjectPackets.h"
Object::Object()
{
@@ -2358,9 +2359,9 @@ void WorldObject::SendMessageToSet(WorldPacket const* data, Player const* skippe
void WorldObject::SendObjectDeSpawnAnim(ObjectGuid guid)
{
- WorldPacket data(SMSG_GAME_OBJECT_DESPAWN, 8);
- data << guid;
- SendMessageToSet(&data, true);
+ WorldPackets::GameObject::GameObjectDespawn packet;
+ packet.ObjectGUID = guid;
+ SendMessageToSet(packet.Write(), true);
}
void WorldObject::SetMap(Map* map)
diff --git a/src/server/game/Server/Packets/GameObjectPackets.cpp b/src/server/game/Server/Packets/GameObjectPackets.cpp
index 231b977a63c..a4e8ea5d8bd 100644
--- a/src/server/game/Server/Packets/GameObjectPackets.cpp
+++ b/src/server/game/Server/Packets/GameObjectPackets.cpp
@@ -26,3 +26,9 @@ void WorldPackets::GameObject::GameObjReportUse::Read()
{
_worldPacket >> Guid;
}
+
+WorldPacket const* WorldPackets::GameObject::GameObjectDespawn::Write()
+{
+ _worldPacket << ObjectGUID;
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/GameObjectPackets.h b/src/server/game/Server/Packets/GameObjectPackets.h
index a18552052a2..79ae024b49e 100644
--- a/src/server/game/Server/Packets/GameObjectPackets.h
+++ b/src/server/game/Server/Packets/GameObjectPackets.h
@@ -46,6 +46,16 @@ namespace WorldPackets
ObjectGuid Guid;
};
+
+ class GameObjectDespawn final : public ServerPacket
+ {
+ public:
+ GameObjectDespawn() : ServerPacket(SMSG_GAME_OBJECT_DESPAWN, 16) { }
+
+ WorldPacket const* Write() override;
+
+ ObjectGuid ObjectGUID;
+ };
}
}
#endif // GOPackets_h__
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index 25755dbaf8e..72ff0ba35ac 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1098,7 +1098,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_FRIEND_STATUS, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_ACTIVATE_ANIM_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_CUSTOM_ANIM, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_DESPAWN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_DESPAWN, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_PLAY_SPELL_VISUAL_KIT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GAME_OBJECT_RESET_STATE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);