mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 01:37:37 +01:00
Core/PacketIO: Updated and enabled pet and petition packets
This commit is contained in:
@@ -20,29 +20,25 @@
|
||||
WorldPacket const* WorldPackets::Pet::PetSpells::Write()
|
||||
{
|
||||
_worldPacket << PetGUID;
|
||||
_worldPacket << int16(_CreatureFamily);
|
||||
_worldPacket << int16(Specialization);
|
||||
_worldPacket << int32(TimeLimit);
|
||||
|
||||
uint32 petModeAndOrders = ReactState + (CommandState << 8) + (Flag << 16);
|
||||
_worldPacket << uint32(petModeAndOrders);
|
||||
|
||||
for (uint32 actionButton : ActionButtons)
|
||||
_worldPacket << int32(actionButton);
|
||||
|
||||
_worldPacket << int32(Actions.size());
|
||||
_worldPacket << int32(Cooldowns.size());
|
||||
_worldPacket << int32(SpellHistory.size());
|
||||
_worldPacket << uint16(_CreatureFamily);
|
||||
_worldPacket << uint16(Specialization);
|
||||
_worldPacket << uint32(TimeLimit);
|
||||
_worldPacket << uint16(CommandState | (Flag << 16));
|
||||
_worldPacket << uint8(ReactState);
|
||||
_worldPacket.append(ActionButtons.data(), ActionButtons.size());
|
||||
_worldPacket << uint32(Actions.size());
|
||||
_worldPacket << uint32(Cooldowns.size());
|
||||
_worldPacket << uint32(SpellHistory.size());
|
||||
|
||||
for (uint32 action : Actions)
|
||||
_worldPacket << action;
|
||||
_worldPacket << uint32(action);
|
||||
|
||||
for (PetSpellCooldown const& cooldown : Cooldowns)
|
||||
{
|
||||
_worldPacket << int32(cooldown.SpellID);
|
||||
_worldPacket << int32(cooldown.Duration);
|
||||
_worldPacket << int32(cooldown.CategoryDuration);
|
||||
_worldPacket << int16(cooldown.Category);
|
||||
_worldPacket << uint16(cooldown.Category);
|
||||
}
|
||||
|
||||
for (PetSpellHistory const& history : SpellHistory)
|
||||
|
||||
@@ -83,7 +83,7 @@ namespace WorldPackets
|
||||
int32 SpellID = 0;
|
||||
int32 Duration = 0;
|
||||
int32 CategoryDuration = 0;
|
||||
int Category = 0;
|
||||
uint16 Category = 0;
|
||||
};
|
||||
|
||||
struct PetSpellHistory
|
||||
@@ -106,7 +106,7 @@ namespace WorldPackets
|
||||
uint32 TimeLimit = 0;
|
||||
uint8 ReactState = 0;
|
||||
uint8 CommandState = 0;
|
||||
uint16 Flag = 0;
|
||||
uint8 Flag = 0;
|
||||
|
||||
std::array<int, 10> ActionButtons;
|
||||
|
||||
|
||||
@@ -558,7 +558,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_HANDLER(CMSG_NEXT_CINEMATIC_CAMERA, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::NextCinematicCamera, &WorldSession::HandleNextCinematicCamera);
|
||||
DEFINE_HANDLER(CMSG_OBJECT_UPDATE_FAILED, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::ObjectUpdateFailed, &WorldSession::HandleObjectUpdateFailedOpcode);
|
||||
DEFINE_HANDLER(CMSG_OBJECT_UPDATE_RESCUED, STATUS_LOGGEDIN, PROCESS_INPLACE, WorldPackets::Misc::ObjectUpdateRescued, &WorldSession::HandleObjectUpdateRescuedOpcode);
|
||||
DEFINE_HANDLER(CMSG_OFFER_PETITION, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Petition::OfferPetition, &WorldSession::HandleOfferPetition);
|
||||
DEFINE_HANDLER(CMSG_OFFER_PETITION, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Petition::OfferPetition, &WorldSession::HandleOfferPetition);
|
||||
DEFINE_HANDLER(CMSG_OPENING_CINEMATIC, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Misc::OpeningCinematic, &WorldSession::HandleOpeningCinematic);
|
||||
DEFINE_HANDLER(CMSG_OPEN_ITEM, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Spells::OpenItem, &WorldSession::HandleOpenItemOpcode);
|
||||
DEFINE_HANDLER(CMSG_OPEN_MISSION_NPC, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
|
||||
@@ -658,7 +658,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_HANDLER(CMSG_REQUEST_LFG_LIST_BLACKLIST, STATUS_UNHANDLED, PROCESS_INPLACE, WorldPackets::Null, &WorldSession::Handle_NULL);
|
||||
DEFINE_HANDLER(CMSG_REQUEST_PARTY_JOIN_UPDATES, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::RequestPartyJoinUpdates, &WorldSession::HandleRequestPartyJoinUpdates);
|
||||
DEFINE_HANDLER(CMSG_REQUEST_PARTY_MEMBER_STATS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::RequestPartyMemberStats, &WorldSession::HandleRequestPartyMemberStatsOpcode);
|
||||
DEFINE_HANDLER(CMSG_REQUEST_PET_INFO, STATUS_UNHANDLED, PROCESS_THREADUNSAFE, WorldPackets::Pet::RequestPetInfo, &WorldSession::HandleRequestPetInfo);
|
||||
DEFINE_HANDLER(CMSG_REQUEST_PET_INFO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Pet::RequestPetInfo, &WorldSession::HandleRequestPetInfo);
|
||||
DEFINE_HANDLER(CMSG_REQUEST_PLAYED_TIME, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Character::RequestPlayedTime, &WorldSession::HandlePlayedTime);
|
||||
DEFINE_HANDLER(CMSG_REQUEST_PVP_REWARDS, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Battleground::RequestPVPRewards, &WorldSession::HandleRequestPvpReward);
|
||||
DEFINE_HANDLER(CMSG_REQUEST_RAID_INFO, STATUS_LOGGEDIN, PROCESS_THREADUNSAFE, WorldPackets::Party::RequestRaidInfo, &WorldSession::HandleRequestRaidInfoOpcode);
|
||||
@@ -1469,7 +1469,7 @@ void OpcodeTable::Initialize()
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_MODE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_NAME_INVALID, STATUS_NEVER, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_SLOT_UPDATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_SPELLS_MESSAGE, STATUS_UNHANDLED, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_SPELLS_MESSAGE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_STABLE_LIST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_STABLE_RESULT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
DEFINE_SERVER_OPCODE_HANDLER(SMSG_PET_TAME_FAILURE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
|
||||
|
||||
Reference in New Issue
Block a user