diff options
| author | Carbenium <keresztesschmidt@gmail.com> | 2015-04-16 00:48:45 +0200 |
|---|---|---|
| committer | Carbenium <keresztesschmidt@gmail.com> | 2015-04-16 01:28:44 +0200 |
| commit | 5c3d8c1e8788909181e7a5ded1592dae767d4807 (patch) | |
| tree | 517e68241270f00ea98d1b65b0f74e4a1e8d1127 /src/server/game/Server | |
| parent | 9cf13eff268b6d43d40710b053ad8c908f0a3efc (diff) | |
Core/PacketIO: Updated and enabled SMSG_LOG_XP_GAIN
Diffstat (limited to 'src/server/game/Server')
| -rw-r--r-- | src/server/game/Server/Packets/CharacterPackets.cpp | 14 | ||||
| -rw-r--r-- | src/server/game/Server/Packets/CharacterPackets.h | 15 | ||||
| -rw-r--r-- | src/server/game/Server/Protocol/Opcodes.cpp | 2 |
3 files changed, 30 insertions, 1 deletions
diff --git a/src/server/game/Server/Packets/CharacterPackets.cpp b/src/server/game/Server/Packets/CharacterPackets.cpp index ac55f01d657..257c8065fa2 100644 --- a/src/server/game/Server/Packets/CharacterPackets.cpp +++ b/src/server/game/Server/Packets/CharacterPackets.cpp @@ -443,3 +443,17 @@ WorldPacket const* WorldPackets::Character::BarberShopResultServer::Write() _worldPacket << int32(Result); return &_worldPacket; } + +WorldPacket const* WorldPackets::Character::LogXPGain::Write() +{ + _worldPacket << Victim; + _worldPacket << int32(Original); + _worldPacket << uint8(Reason); + _worldPacket << int32(Amount); + _worldPacket << float(GroupBonus); + _worldPacket.WriteBit(ReferAFriend); + + _worldPacket.FlushBits(); + + return &_worldPacket; +} diff --git a/src/server/game/Server/Packets/CharacterPackets.h b/src/server/game/Server/Packets/CharacterPackets.h index d6a7f06b796..8541f00a402 100644 --- a/src/server/game/Server/Packets/CharacterPackets.h +++ b/src/server/game/Server/Packets/CharacterPackets.h @@ -610,6 +610,21 @@ namespace WorldPackets BarberShopResult Result; }; + + class LogXPGain final : public ServerPacket + { + public: + LogXPGain() : ServerPacket(SMSG_LOG_XP_GAIN, 30) { } + + WorldPacket const* Write() override; + + ObjectGuid Victim; + int32 Original = 0; + uint8 Reason = 0; + int32 Amount = 0; + float GroupBonus = 0; + bool ReferAFriend = false; + }; } } diff --git a/src/server/game/Server/Protocol/Opcodes.cpp b/src/server/game/Server/Protocol/Opcodes.cpp index d1f68da912c..dc255d3ac1c 100644 --- a/src/server/game/Server/Protocol/Opcodes.cpp +++ b/src/server/game/Server/Protocol/Opcodes.cpp @@ -1304,7 +1304,7 @@ void OpcodeTable::Initialize() DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGOUT_CANCEL_ACK, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGOUT_COMPLETE, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOGOUT_RESPONSE, STATUS_NEVER, CONNECTION_TYPE_INSTANCE); - DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOG_XP_GAIN, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); + DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOG_XP_GAIN, STATUS_NEVER, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ALL_PASSED, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_CONTENTS, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); DEFINE_SERVER_OPCODE_HANDLER(SMSG_LOOT_ITEM_LIST, STATUS_UNHANDLED, CONNECTION_TYPE_REALM); |
