/// <summary> /// Encodes the <see cref="Message" />, using the <see cref="Writer" /> instance. /// </summary> internal override void Encode() { this.Data.AddVInt(2); this.Data.AddVInt(0); this.Data.AddString(null); this.Data.AddVInt(this.Clans.Count()); foreach (Clan Clan in this.Clans) { this.Data.AddVInt(Clan.HighID); this.Data.AddVInt(Clan.LowID); this.Data.AddVInt(1); this.Data.AddVInt(Clan.Trophies); this.Data.AddVInt(2); this.Data.AddString(Clan.Name); this.Data.AddVInt(Clan.Members.Entries.Count); this.Data.AddVInt(GlobalID.GetType(Clan.Badge)); this.Data.AddVInt(GlobalID.GetID(Clan.Badge)); } this.Data.AddHexa("05-02-01-00"); this.Data.AddString(this.Device.Player.Region); // 02-00 FF-FF-FF-FF 02 01 01 01 29 02 00-00-00-05 74-65-73-74-69 02 08 0E 00 03 02 05 02 00-00-00-0C 54-72-69-62-65 20-47-61-6D-69-6E-67-03-08-05 05-02-01-00 00-00-00-02-46-52 // 02-00 00-00-00-02-46-49 02 01 01 01 29 02 00-00-00-05 74-65-73-74-69 02 08 0E 00 03 02 05 02 00-00-00-0C 54-72-69-62-65 20-47-61-6D-69-6E-67-03-08-05 05-02-01-00 00-00-00-02-46-52 }
// 02 01 19 01 00-00-00-00 00-00-15-DD 00-00-00-08 42-75-73-68-2D-6D-65-6E 08 05 01 02 A4-03 00-00 /// <summary> /// Encodes the <see cref="Message" />, using the <see cref="Writer" /> instance. /// </summary> internal override void Encode() { if (this.Clan != null) { this.Data.AddVInt(this.Clan.Members.Entries.Count); // Online F****t this.Data.AddBool(true); { this.Data.AddVInt(25); this.Data.AddVInt((int)this.Clan.Members.Entries[this.Device.Player.LowID].Role); this.Data.AddInt(this.Clan.HighID); this.Data.AddInt(this.Clan.LowID); this.Data.AddString(this.Clan.Name); this.Data.AddVInt(GlobalID.GetType(this.Clan.Badge)); this.Data.AddVInt(GlobalID.GetID(this.Clan.Badge)); this.Data.AddVInt((int)this.Clan.Type); this.Data.AddVInt(this.Clan.Members.Entries.Count); this.Data.AddVInt(this.Clan.Trophies); this.Data.AddVInt(this.Clan.Required_Trophies); this.Data.AddVInt(0); } } else { this.Data.AddVInt(0); this.Data.AddVInt(0); } }
/// <summary> /// Creates the compressed. /// </summary> /// <param name="Data">The data.</param> /// <param name="BaseType">Type of the base.</param> /// <returns></returns> internal static int CreateCompressed(int Data, int BaseType) { int ID = GlobalID.GetID(Data) + 1; int Type = GlobalID.GetType(Data); if (Type > BaseType) { while (Type > BaseType) { ID += CSV.Tables.Get(BaseType++).Datas.Count; } } return(ID); }
/// <summary> /// Creates the compressed data from the specified base type. /// </summary> internal static int CreateCompressed(int data, int baseType) { int id = GlobalID.GetID(data) + 1; int type = GlobalID.GetType(data); if (type > baseType) { while (type > baseType) { id += CSV.Tables.Get(baseType++).Datas.Size; } } return(id); }
/// <summary> /// Encodes the <see cref="Message" />, using the <see cref="Writer" /> instance. /// </summary> internal override void Encode() { this.Data.AddInt(this.Clan.HighID); this.Data.AddInt(this.Clan.LowID); this.Data.AddString(this.Clan.Name); this.Data.AddVInt(GlobalID.GetType(this.Clan.Badge)); this.Data.AddVInt(GlobalID.GetID(this.Clan.Badge)); this.Data.AddVInt((int)this.Clan.Type); this.Data.AddVInt(this.Clan.Members.Entries.Count); this.Data.AddVInt(this.Clan.Trophies); this.Data.AddVInt(this.Clan.Required_Trophies); this.Data.AddVInt(0); this.Data.AddString(this.Clan.Description); this.Data.AddVInt(this.Clan.Members.Entries.Count); foreach (Member Member in this.Clan.Members.Entries.Values.ToArray()) { this.Data.AddInt(Member.HighID); this.Data.AddInt(Member.LowID); this.Data.AddString(Member.Username); this.Data.AddVInt((int)Member.Role); this.Data.AddVInt(Member.Level); this.Data.AddVInt(Member.Trophies); this.Data.AddVInt(28); // Thumbnail Type this.Data.AddVInt(Member.Thumbnail); } // 01 00-00-00-00 00-00-39-84 00-00-00-09-EC-95-84-EC-9D-B4-EC-9C-A0 02 06 A1-01 1C 00 }
/// <summary> /// Encodes the <see cref="Message" />, using the <see cref="Writer" /> instance. /// </summary> internal override void Encode() { this.Data.AddVInt(this.Player.HighID); this.Data.AddVInt(this.Player.LowID); this.Data.AddString(this.Player.Name); this.Data.AddBool(false); this.Data.AddVInt(this.Player.Deck.Count); { this.Data.AddRange(this.Player.Deck.ToBytes); } this.Data.AddVInt(8); { this.Data.AddVInt(1); this.Data.AddVInt(this.Player.Wins); this.Data.AddVInt(2); this.Data.AddVInt(this.Player.Info.Experience); this.Data.AddVInt(3); this.Data.AddVInt(this.Player.Info.Trophies); this.Data.AddVInt(4); this.Data.AddVInt(this.Player.Info.HighTrophies); this.Data.AddVInt(5); this.Data.AddVInt(this.Player.Deck.Count); this.Data.AddVInt(6); this.Data.AddVInt(0); this.Data.AddVInt(7); this.Data.AddVInt(this.Player.Info.Thumbnail); this.Data.AddVInt(8); this.Data.AddVInt(this.Player.Info.SurvTrophies); } if (this.Player.ClanLowID > 0) { Clan Clan = this.Player.Clan; if (Clan != null) { Member Member; if (Clan.Members.Entries.TryGetValue(this.Player.PlayerID, out Member)) { this.Data.AddBool(true); this.Data.AddInt(Clan.HighID); this.Data.AddInt(Clan.LowID); this.Data.AddString(Clan.Name); this.Data.AddVInt(GlobalID.GetType(Clan.Badge)); this.Data.AddVInt(GlobalID.GetID(Clan.Badge)); this.Data.AddVInt((int)Clan.Type); this.Data.AddVInt(Clan.Members.Entries.Count); this.Data.AddVInt(Clan.Trophies); this.Data.AddVInt(Clan.Required_Trophies); this.Data.AddVInt(0); this.Data.AddVInt(0x19); // Role Type this.Data.AddVInt((int)Member.Role); // Role ID } else { Logging.Error(this.GetType(), "Member was null."); this.Data.AddBool(false); this.Data.AddBool(false); } } else { Logging.Error(this.GetType(), "Clan was null."); this.Data.AddBool(false); this.Data.AddBool(false); } } else { this.Data.AddBool(false); this.Data.AddBool(false); } }
public static void AddGlobalID(this List <byte> _Packet, int _Value) { _Packet.AddVInt(GlobalID.GetID(_Value)); _Packet.AddVInt(GlobalID.GetType(_Value)); }
/// <summary> /// Encodes the specified packet. /// </summary> /// <param name="Packet">The packet.</param> public void Encode(List <byte> Packet) { DateTime UTCNow = DateTime.UtcNow; Packet.AddVInt(UTCNow.Year * 1000 + UTCNow.DayOfYear); Packet.AddVInt(UTCNow.Second + UTCNow.Minute * 60 + UTCNow.Hour * 3600); Packet.AddVInt(this.Trophies); Packet.AddVInt(this.Trophies); Packet.AddVInt(999999999); // Exp Packet.AddVInt(0); Packet.AddVInt(GlobalID.GetType(this.Thumbnail)); Packet.AddVInt(GlobalID.GetID(this.Thumbnail)); Packet.AddVInt(1); // Array { Packet.AddVInt(1); } Packet.AddVInt(0); // Array (data reference) Packet.AddVInt(0); // Array (data reference) Packet.AddBool(false); int GoldReward = this.Player.Resources.Get(5000001) - this.Gold; if (GoldReward < 0) { GoldReward = 0; } Packet.AddVInt(GoldReward); Packet.AddVInt(this.JoystickMode); Packet.AddBool(this.HintsEnabled); Packet.AddVInt(0); Packet.AddVInt((int)TimeSpan.FromHours(0).TotalSeconds); Packet.AddBool(false); { Packet.AddHexa("8C-01"); Packet.AddHexa("1E"); Packet.AddHexa("90-01"); Packet.AddHexa("28"); } { Packet.AddHexa("8C-04"); Packet.AddHexa("28"); Packet.AddHexa("A1-04"); Packet.AddHexa("32"); } Packet.AddData(2, 6); Packet.AddVInt(0); Packet.AddBools(true, true); }