aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/MiscPackets.cpp22
-rw-r--r--src/server/game/Server/Packets/MiscPackets.h22
2 files changed, 44 insertions, 0 deletions
diff --git a/src/server/game/Server/Packets/MiscPackets.cpp b/src/server/game/Server/Packets/MiscPackets.cpp
index a773741b690..6cde22d5130 100644
--- a/src/server/game/Server/Packets/MiscPackets.cpp
+++ b/src/server/game/Server/Packets/MiscPackets.cpp
@@ -642,3 +642,25 @@ WorldPacket const* WorldPackets::Misc::DisplayGameError::Write()
return &_worldPacket;
}
+
+WorldPacket const* WorldPackets::Misc::AccountMountUpdate::Write()
+{
+ _worldPacket.WriteBit(IsFullUpdate);
+ _worldPacket << uint32(Mounts->size());
+
+ for (auto const& spell : *Mounts)
+ {
+ _worldPacket << int32(spell.first);
+ _worldPacket.WriteBits(spell.second, 2);
+ }
+
+ _worldPacket.FlushBits();
+
+ return &_worldPacket;
+}
+
+void WorldPackets::Misc::MountSetFavorite::Read()
+{
+ _worldPacket >> MountSpellID;
+ IsFavorite = _worldPacket.ReadBit();
+}
diff --git a/src/server/game/Server/Packets/MiscPackets.h b/src/server/game/Server/Packets/MiscPackets.h
index bf8c0549314..e4aa5ebd026 100644
--- a/src/server/game/Server/Packets/MiscPackets.h
+++ b/src/server/game/Server/Packets/MiscPackets.h
@@ -838,6 +838,28 @@ namespace WorldPackets
Optional<int32> Arg;
Optional<int32> Arg2;
};
+
+ class AccountMountUpdate final : public ServerPacket
+ {
+ public:
+ AccountMountUpdate() : ServerPacket(SMSG_ACCOUNT_MOUNT_UPDATE) { }
+
+ WorldPacket const* Write() override;
+
+ bool IsFullUpdate = false;
+ MountContainer const* Mounts = nullptr;
+ };
+
+ class MountSetFavorite final : public ClientPacket
+ {
+ public:
+ MountSetFavorite(WorldPacket&& packet) : ClientPacket(CMSG_MOUNT_SET_FAVORITE, std::move(packet)) { }
+
+ void Read() override;
+
+ uint32 MountSpellID = 0;
+ bool IsFavorite = false;
+ };
}
}