aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server/Packets
diff options
context:
space:
mode:
authorMeji <alvaromegias_46@hotmail.com>2021-09-29 22:26:25 +0200
committerGitHub <noreply@github.com>2021-09-29 22:26:25 +0200
commitde4eaa0de9565da604fa3b6e2b4b59efe117fd7a (patch)
tree1ad955f009dc8796f8d15bc5e2154082c8e8fc85 /src/server/game/Server/Packets
parentf507737ecff5d564da999c56d672274387d70ec2 (diff)
Core/BattlePets: Misc fixes (#26964)
* Define BattlePetSpeciesFlags enum class. * Define BattlePetDbFlags enum class. * Added check to prevent the pet from being caged if its species has flag BattlePetSpeciesFlags::NotTradable. * Added check to prevent the pet from being caged if it's in battle pet slots. * Added check to prevent the pet from being caged if its health is below maximum health. * Only add pet if the species has flag BattlePetSpeciesFlags::WellKnown. * Added function to check flag BattlePetSpeciesFlags::LegacyAccountUnique to avoid learning copies of unique pets. * Implemented CMSG_BATTLE_PET_CLEAR_FANFARE.
Diffstat (limited to 'src/server/game/Server/Packets')
-rw-r--r--src/server/game/Server/Packets/BattlePetPackets.cpp5
-rw-r--r--src/server/game/Server/Packets/BattlePetPackets.h10
2 files changed, 15 insertions, 0 deletions
diff --git a/src/server/game/Server/Packets/BattlePetPackets.cpp b/src/server/game/Server/Packets/BattlePetPackets.cpp
index f664e92ea0f..e241e985367 100644
--- a/src/server/game/Server/Packets/BattlePetPackets.cpp
+++ b/src/server/game/Server/Packets/BattlePetPackets.cpp
@@ -140,6 +140,11 @@ void WorldPackets::BattlePet::BattlePetSetFlags::Read()
ControlType = _worldPacket.ReadBits(2);
}
+void WorldPackets::BattlePet::BattlePetClearFanfare::Read()
+{
+ _worldPacket >> PetGuid;
+}
+
void WorldPackets::BattlePet::CageBattlePet::Read()
{
_worldPacket >> PetGuid;
diff --git a/src/server/game/Server/Packets/BattlePetPackets.h b/src/server/game/Server/Packets/BattlePetPackets.h
index 2cc13908abc..9ad402a16fa 100644
--- a/src/server/game/Server/Packets/BattlePetPackets.h
+++ b/src/server/game/Server/Packets/BattlePetPackets.h
@@ -158,6 +158,16 @@ namespace WorldPackets
uint8 ControlType = 0;
};
+ class BattlePetClearFanfare final : public ClientPacket
+ {
+ public:
+ BattlePetClearFanfare(WorldPacket&& packet) : ClientPacket(CMSG_BATTLE_PET_CLEAR_FANFARE, std::move(packet)) { }
+
+ void Read() override;
+
+ ObjectGuid PetGuid;
+ };
+
class CageBattlePet final : public ClientPacket
{
public: