Skip to content

Commit 11db063

Browse files
committed
Experience tracker.
On 12.72 update, the way that the server and the client handles the experience has changed to a separated protocol message.
1 parent 8171081 commit 11db063

3 files changed

Lines changed: 32 additions & 0 deletions

File tree

TibiaAPI/Constants/Enums.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,7 @@ public enum ServerPacketType
623623
OpenChannel = 0xAC,
624624
PrivateChannel = 0xAD,
625625
EditGuildMessage = 0xAE,
626+
ExperienceTracker = 0xAF,
626627
Highscores = 0xB1,
627628
OpenOwnChannel = 0xB2,
628629
CloseChannel = 0xB3,

TibiaAPI/Network/ServerPacket.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,8 @@ public static ServerPacket CreateInstance(Client client, ServerPacketType type)
196196
return new ServerPackets.PrivateChannel(client);
197197
case ServerPacketType.EditGuildMessage:
198198
return new ServerPackets.EditGuildMessage(client);
199+
case ServerPacketType.ExperienceTracker:
200+
return new ServerPackets.ExperienceTracker(client);
199201
case ServerPacketType.Highscores:
200202
return new ServerPackets.Highscores(client);
201203
case ServerPacketType.OpenOwnChannel:
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using OXGaming.TibiaAPI.Constants;
2+
3+
namespace OXGaming.TibiaAPI.Network.ServerPackets
4+
{
5+
public class ExperienceTracker : ServerPacket
6+
{
7+
public ulong RawExperience { get; set; }
8+
public ulong FinalExperience { get; set; }
9+
10+
public ExperienceTracker(Client client)
11+
{
12+
Client = client;
13+
PacketType = ServerPacketType.ExperienceTracker;
14+
}
15+
16+
public override void ParseFromNetworkMessage(NetworkMessage message)
17+
{
18+
RawExperience = message.ReadInt64();
19+
FinalExperience = message.ReadInt64();
20+
}
21+
22+
public override void AppendToNetworkMessage(NetworkMessage message)
23+
{
24+
message.Write((byte)ServerPacketType.ExperienceTracker);
25+
message.Write(RawExperience);
26+
message.Write(FinalExperience);
27+
}
28+
}
29+
}

0 commit comments

Comments
 (0)