namespace Supercell.Laser.Logic.Message.Ranking { using Supercell.Laser.Logic.Helper; public class GetLeaderboardMessage : GameMessage { public bool IsRegional { get; set; } public int LeaderboardType { get; set; } public int CharachterId { get; set; } // Confirmed via RankedLeaderboardsScreen::onData: the client stores this as its // current season/event id (offset 136) and requires the response's flag field to // echo it back exactly, or it silently discards the whole message (no crash, just // an empty list). Passed by the client as *(a1+136) when building the request. public int SeasonId { get; set; } public override void Decode() { base.Decode(); IsRegional = Stream.ReadBoolean(); LeaderboardType = Stream.ReadVInt(); CharachterId = ByteStreamHelper.ReadDataReference(Stream); SeasonId = Stream.ReadVInt(); } public override int GetMessageType() { return 14403; } public override int GetServiceNodeType() { return 9; } } }