aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-06-24 00:03:57 +0200
committerShauren <shauren.trinity@gmail.com>2015-06-24 00:03:57 +0200
commitacc45bcf5d657671d9348e95f069ad17e1bb5631 (patch)
treee76f661fef9f897281b94fa833f50de4f8f717b7 /src/server/game/Server
parentd799e0cee0c522ebe389b042201ff0981baaba39 (diff)
Core/Garrisons: Implemented a method to delete garrisons
Diffstat (limited to 'src/server/game/Server')
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.cpp8
-rw-r--r--src/server/game/Server/Packets/GarrisonPackets.h11
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
3 files changed, 20 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/GarrisonPackets.cpp b/src/server/game/Server/Packets/GarrisonPackets.cpp
index 1e5055442a0..041655aa4c6 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.cpp
+++ b/src/server/game/Server/Packets/GarrisonPackets.cpp
@@ -25,6 +25,14 @@ WorldPacket const* WorldPackets::Garrison::GarrisonCreateResult::Write()
return &_worldPacket;
}
+WorldPacket const* WorldPackets::Garrison::GarrisonDeleteResult::Write()
+{
+ _worldPacket << uint32(Result);
+ _worldPacket << uint32(GarrSiteID);
+
+ return &_worldPacket;
+}
+
ByteBuffer& operator<<(ByteBuffer& data, WorldPackets::Garrison::GarrisonPlotInfo& plotInfo)
{
data << uint32(plotInfo.GarrPlotInstanceID);
diff --git a/src/server/game/Server/Packets/GarrisonPackets.h b/src/server/game/Server/Packets/GarrisonPackets.h
index 6c39df1e532..a783b1bc1af 100644
--- a/src/server/game/Server/Packets/GarrisonPackets.h
+++ b/src/server/game/Server/Packets/GarrisonPackets.h
@@ -39,6 +39,17 @@ namespace WorldPackets
uint32 Result = 0;
};
+ class GarrisonDeleteResult final : public ServerPacket
+ {
+ public:
+ GarrisonDeleteResult() : ServerPacket(SMSG_GARRISON_DELETE_RESULT, 4 + 4) { }
+
+ WorldPacket const* Write() override;
+
+ uint32 Result = 0;
+ uint32 GarrSiteID = 0;
+ };
+
class GetGarrisonInfo final : public ClientPacket
{
public:
diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp
index c44f7b02d66..c9b9bf3a284 100644
--- a/src/server/game/Server/Protocol/Opcodes.cpp
+++ b/src/server/game/Server/Protocol/Opcodes.cpp
@@ -1120,7 +1120,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CLEAR_ALL_FOLLOWERS_EXHAUSTION, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_COMPLETE_MISSION_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_CREATE_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
- DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_DELETE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
+ DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_DELETE_RESULT, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_CHANGED_ABILITIES, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_CHANGED_ITEM_LEVEL, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_GARRISON_FOLLOWER_CHANGED_STATUS, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);