aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Object/Object.cpp7
-rw-r--r--src/server/game/Handlers/QuestHandler.cpp19
-rw-r--r--src/server/game/Handlers/SceneHandler.cpp36
-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
6 files changed, 58 insertions, 22 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/Handlers/QuestHandler.cpp b/src/server/game/Handlers/QuestHandler.cpp
index e984eda3db9..ee3ccea9460 100644
--- a/src/server/game/Handlers/QuestHandler.cpp
+++ b/src/server/game/Handlers/QuestHandler.cpp
@@ -32,7 +32,6 @@
#include "ScriptMgr.h"
#include "GameObjectAI.h"
#include "QuestPackets.h"
-#include "ScenePackets.h"
void WorldSession::HandleQuestgiverStatusQueryOpcode(WorldPackets::Quest::QuestGiverStatusQuery& packet)
{
@@ -644,20 +643,4 @@ void WorldSession::HandleQuestgiverStatusMultipleQuery(WorldPackets::Quest::Ques
}
SendPacket(response.Write());
-}
-
-void WorldSession::HandleSceneTriggerEvent(WorldPackets::Scenes::SceneTriggerEvent& sceneTriggerEvent)
-{
- TC_LOG_DEBUG("scenes", "HandleSceneTriggerEvent: SceneInstanceID: %u Event: %s", sceneTriggerEvent.SceneInstanceID, sceneTriggerEvent._Event.c_str());
-}
-
-void WorldSession::HandleScenePlaybackComplete(WorldPackets::Scenes::ScenePlaybackComplete& scenePlaybackComplete)
-{
-
- TC_LOG_DEBUG("scenes", "HandleScenePlaybackComplete: SceneInstanceID: %u", scenePlaybackComplete.SceneInstanceID);
-}
-
-void WorldSession::HandleScenePlaybackCanceled(WorldPackets::Scenes::ScenePlaybackCanceled& scenePlaybackCanceled)
-{
- TC_LOG_DEBUG("scenes", "HandleScenePlaybackCanceled: SceneInstanceID: %u", scenePlaybackCanceled.SceneInstanceID);
-}
+} \ No newline at end of file
diff --git a/src/server/game/Handlers/SceneHandler.cpp b/src/server/game/Handlers/SceneHandler.cpp
new file mode 100644
index 00000000000..90965b29929
--- /dev/null
+++ b/src/server/game/Handlers/SceneHandler.cpp
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/>
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "Common.h"
+#include "ScenePackets.h"
+#include "WorldSession.h"
+
+void WorldSession::HandleSceneTriggerEvent(WorldPackets::Scenes::SceneTriggerEvent& sceneTriggerEvent)
+{
+ TC_LOG_DEBUG("scenes", "HandleSceneTriggerEvent: SceneInstanceID: %u Event: %s", sceneTriggerEvent.SceneInstanceID, sceneTriggerEvent._Event.c_str());
+}
+
+void WorldSession::HandleScenePlaybackComplete(WorldPackets::Scenes::ScenePlaybackComplete& scenePlaybackComplete)
+{
+
+ TC_LOG_DEBUG("scenes", "HandleScenePlaybackComplete: SceneInstanceID: %u", scenePlaybackComplete.SceneInstanceID);
+}
+
+void WorldSession::HandleScenePlaybackCanceled(WorldPackets::Scenes::ScenePlaybackCanceled& scenePlaybackCanceled)
+{
+ TC_LOG_DEBUG("scenes", "HandleScenePlaybackCanceled: SceneInstanceID: %u", scenePlaybackCanceled.SceneInstanceID);
+}
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 1ddd19324a8..c0734b4b6d5 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);