Core/Packets: converted SMSG_PET_ADDED to packet class
This commit is contained in:
1 parent
9455b09518
commit
d18768d4e0
3 files changed
+36
-10
No files matched your search
@@ -26,6 +26,7 @@
|
||||
#include "ObjectMgr.h"
|
||||
#include "Opcodes.h"
|
||||
#include "Pet.h"
|
||||
#include "PetPackets.h"
|
||||
#include "PetAI.h"
|
||||
#include "Player.h"
|
||||
#include "Spell.h"
|
||||
@@ -957,17 +958,14 @@ void WorldSession::SendPetSlotUpdated(int32 petNumberA, int32 petSlotA, int32 pe
|
||||
|
||||
void WorldSession::SendPetAdded(int32 petSlot, int32 petNumber, int32 creatureID, int32 level, std::string name)
|
||||
{
|
||||
WorldPacket data(SMSG_PET_ADDED, 4 + 4 + 1 + 4 + 4 + name.length());
|
||||
WorldPackets::Pet::PetAdded petAdded;
|
||||
petAdded.Level = level;
|
||||
petAdded.PetSlot = petSlot;
|
||||
petAdded.Flags = PET_STABLE_ACTIVE | (petSlot > PET_SLOT_LAST_ACTIVE_SLOT ? PET_STABLE_INACTIVE : 0);
|
||||
petAdded.CreatureID = creatureID;
|
||||
petAdded.Name = name;
|
||||
|
||||
data << uint32(level);
|
||||
data << uint32(petSlot);
|
||||
data << uint8(PET_STABLE_ACTIVE | (petSlot > PET_SLOT_LAST_ACTIVE_SLOT ? PET_STABLE_INACTIVE : 0));
|
||||
data << uint32(creatureID);
|
||||
data << uint32(petNumber);
|
||||
data.WriteBits(uint32(name.length()), 8);
|
||||
data << name;
|
||||
|
||||
SendPacket(&data);
|
||||
SendPacket(petAdded.Write());
|
||||
}
|
||||
|
||||
void WorldSession::HandleRequestPetInfoOpcode(WorldPacket& /*recvData*/)
|
||||
|
||||
@@ -67,3 +67,16 @@ WorldPacket const* WorldPackets::Pet::PetActionSound::Write()
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
|
||||
WorldPacket const* WorldPackets::Pet::PetAdded::Write()
|
||||
{
|
||||
_worldPacket << int32(Level);
|
||||
_worldPacket << int32(PetSlot);
|
||||
_worldPacket << uint8(Flags);
|
||||
_worldPacket << int32(CreatureID);
|
||||
_worldPacket << int32(PetNumber);
|
||||
_worldPacket.WriteBits(Name.length(), 8);
|
||||
_worldPacket << Name;
|
||||
|
||||
return &_worldPacket;
|
||||
}
|
||||
@@ -79,6 +79,21 @@ namespace WorldPackets
|
||||
ObjectGuid UnitGUID;
|
||||
int32 Action = 0;
|
||||
};
|
||||
|
||||
class PetAdded final : public ServerPacket
|
||||
{
|
||||
public:
|
||||
PetAdded() : ServerPacket(SMSG_PET_ADDED, 4 + 4 + 1 + 4 + 4) { }
|
||||
|
||||
WorldPacket const* Write() override;
|
||||
|
||||
std::string Name;
|
||||
int32 CreatureID = 0;
|
||||
int32 Level = 0;
|
||||
int32 PetSlot = 0;
|
||||
uint32 PetNumber = 0;
|
||||
uint8 Flags = 0;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user