Core/PacketIO: SMSG_TITLE_EARNED, SMSG_TITLE_LOST, SMSG_SHOW_MAILBOX

This commit is contained in:
MitchesD
2015-04-18 17:56:24 +02:00
parent f79f765552
commit a08ba8826e
7 changed files with 43 additions and 10 deletions

View File

@@ -24319,10 +24319,9 @@ void Player::SetTitle(CharTitlesEntry const* title, bool lost)
SetFlag(PLAYER__FIELD_KNOWN_TITLES + fieldIndexOffset, flag);
}
WorldPacket data(SMSG_TITLE_EARNED, 4 + 4);
data << uint32(title->MaskID);
data << uint32(lost ? 0 : 1); // 1 - earned, 0 - lost
GetSession()->SendPacket(&data);
WorldPackets::Character::TitleEarned packet(lost ? SMSG_TITLE_LOST : SMSG_TITLE_EARNED);
packet.Index = title->MaskID;
GetSession()->SendPacket(packet.Write());
}
bool Player::isTotalImmunity()

View File

@@ -38,6 +38,7 @@
#include "CreatureAI.h"
#include "SpellInfo.h"
#include "NPCPackets.h"
#include "MailPackets.h"
enum StableResultCode
{
@@ -75,9 +76,9 @@ void WorldSession::SendTabardVendorActivate(ObjectGuid guid)
void WorldSession::SendShowMailBox(ObjectGuid guid)
{
WorldPacket data(SMSG_SHOW_MAILBOX, 8);
data << guid;
SendPacket(&data);
WorldPackets::Mail::ShowMailbox packet;
packet.PostmasterGUID = guid;
SendPacket(packet.Write());
}
void WorldSession::HandleTrainerListOpcode(WorldPackets::NPC::Hello& packet)

View File

@@ -457,3 +457,10 @@ WorldPacket const* WorldPackets::Character::LogXPGain::Write()
return &_worldPacket;
}
WorldPacket const* WorldPackets::Character::TitleEarned::Write()
{
_worldPacket << uint32(Index);
return &_worldPacket;
}

View File

@@ -625,6 +625,16 @@ namespace WorldPackets
float GroupBonus = 0;
bool ReferAFriend = false;
};
class TitleEarned final : public ServerPacket
{
public:
TitleEarned(OpcodeServer opcode) : ServerPacket(opcode, 4) { }
WorldPacket const* Write() override;
uint32 Index = 0;
};
}
}

View File

@@ -273,3 +273,10 @@ WorldPacket const* WorldPackets::Mail::NotifyRecievedMail::Write()
return &_worldPacket;
}
WorldPacket const* WorldPackets::Mail::ShowMailbox::Write()
{
_worldPacket << PostmasterGUID;
return &_worldPacket;
}

View File

@@ -246,6 +246,15 @@ namespace WorldPackets
float Delay = 0.0f;
};
class ShowMailbox final : public ServerPacket
{
public:
ShowMailbox() : ServerPacket(SMSG_SHOW_MAILBOX, 16) { }
WorldPacket const* Write() override;
ObjectGuid PostmasterGUID;
};
}
}

View File

@@ -1629,7 +1629,7 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_TIME_ZONE_INFORMATION, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SET_VEHICLE_REC_ID, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_BANK, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_MAILBOX, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_MAILBOX, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_NEUTRAL_PLAYER_FACTION_SELECT_UI, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_TAXI_NODES, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_SHOW_TRADE_SKILL_RESPONSE, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
@@ -1683,8 +1683,8 @@ void OpcodeTable::Initialize()
DEFINE_SERVER_OPCODE_HANDLER(SMSG_THREAT_UPDATE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TIME_ADJUSTMENT, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TIME_SYNC_REQUEST, STATUS_NEVER, CONNECTION_TYPE_INSTANCE);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TITLE_EARNED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TITLE_LOST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TITLE_EARNED, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TITLE_LOST, STATUS_NEVER, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TOKEN_UNK1, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TOTEM_CREATED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);
DEFINE_SERVER_OPCODE_HANDLER(SMSG_TOTEM_MOVED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM);