diff options
| author | Meji <alvaromegias_46@hotmail.com> | 2021-09-29 22:26:25 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-29 22:26:25 +0200 |
| commit | de4eaa0de9565da604fa3b6e2b4b59efe117fd7a (patch) | |
| tree | 1ad955f009dc8796f8d15bc5e2154082c8e8fc85 /src/server/game/Server/Packets | |
| parent | f507737ecff5d564da999c56d672274387d70ec2 (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.cpp | 5 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/BattlePetPackets.h | 10 |
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: |
