aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
authormyran2 <henrytgordon@gmail.com>2016-04-29 11:49:07 -0400
committerShauren <shauren.trinity@gmail.com>2016-05-26 17:20:01 +0200
commitbc1a81747ae032bc2ae3681d99f5f6058d20caff (patch)
treebbec4aca0ee5f8a486cc64a12e91145d04816a4c /src/server/game/Server/Packets
parent6c71c8694f91f6254e8a913f0550e4ff78cb6875 (diff)
Core/Pets: Implemented pet specializations (#17058)
* Use prepared statements in Pet::SavePetToDB * Add support for resetting all of a player's pet specializations * Send one big spell unlearn/learn packet instead of lots of small ones * Implemented Adaptation talent
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/PetPackets.cpp13
-rw-r--r--src/server/game/Server/Packets/PetPackets.h21
2 files changed, 34 insertions, 0 deletions
diff --git a/src/server/game/Server/Packets/PetPackets.cpp b/src/server/game/Server/Packets/PetPackets.cpp
index b07a74dfb10..36a71ba9c53 100644
--- a/src/server/game/Server/Packets/PetPackets.cpp
+++ b/src/server/game/Server/Packets/PetPackets.cpp
@@ -185,3 +185,16 @@ void WorldPackets::Pet::PetCancelAura::Read()
_worldPacket >> PetGUID;
_worldPacket >> SpellID;
}
+
+void WorldPackets::Pet::LearnPetSpecializationGroup::Read()
+{
+ _worldPacket >> PetGUID;
+ _worldPacket >> SpecGroupIndex;
+}
+
+WorldPacket const* WorldPackets::Pet::SetPetSpecialization::Write()
+{
+ _worldPacket << uint16(SpecID);
+
+ return &_worldPacket;
+}
diff --git a/src/server/game/Server/Packets/PetPackets.h b/src/server/game/Server/Packets/PetPackets.h
index 500fef3a249..f11a71a936c 100644
--- a/src/server/game/Server/Packets/PetPackets.h
+++ b/src/server/game/Server/Packets/PetPackets.h
@@ -226,6 +226,27 @@ namespace WorldPackets
int32 SpellID = 0;
};
+ class LearnPetSpecializationGroup final : public ClientPacket
+ {
+ public:
+ LearnPetSpecializationGroup(WorldPacket&& packet) : ClientPacket(CMSG_LEARN_PET_SPECIALIZATION_GROUP, std::move(packet)) { }
+
+ void Read() override;
+
+ ObjectGuid PetGUID;
+ uint32 SpecGroupIndex = 0;
+ };
+
+ class SetPetSpecialization final : public ServerPacket
+ {
+ public:
+ SetPetSpecialization() : ServerPacket(SMSG_SET_PET_SPECIALIZATION, 2) { }
+
+ WorldPacket const* Write() override;
+
+ uint16 SpecID = 0;
+ };
+
}
}