aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Server
diff options
context:
space:
mode:
authorCarbenium <keresztesschmidt@gmail.com>2015-04-16 00:48:45 +0200
committerCarbenium <keresztesschmidt@gmail.com>2015-04-16 01:28:44 +0200
commit5c3d8c1e8788909181e7a5ded1592dae767d4807 (patch)
tree517e68241270f00ea98d1b65b0f74e4a1e8d1127 /src/server/game/Server
parent9cf13eff268b6d43d40710b053ad8c908f0a3efc (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.cpp14
-rw-r--r--src/server/game/Server/Packets/CharacterPackets.h15
-rw-r--r--src/server/game/Server/Protocol/Opcodes.cpp2
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);