/// <summary> /// Encodes in the specified stream. /// </summary> /// <param name="Stream">The stream.</param> public void Encode(ChecksumEncoder Stream) { Stream.WriteInt(this.HighId); Stream.WriteInt(this.LowId); Stream.WriteString(this.Name); Stream.EncodeData(this.Badge); Stream.WriteVInt(this.Type); Stream.WriteVInt(this.MembersCount); Stream.WriteVInt(this.Score); Stream.WriteVInt(this.RequiredScore); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(50); Stream.WriteVInt(this.Donations); Stream.WriteVInt(2); Stream.EncodeData(this.Locale); Stream.EncodeData(this.Region); Stream.WriteBoolean(false); if (false) { // TODO : Encode the clan event. } }
/// <summary> /// Encodes in the specified stream. /// </summary> /// <param name="Stream">The stream.</param> public void Encode(ChecksumEncoder Stream) { base.Encode(Stream); Stream.WriteInt(this.ExpLevel); Stream.WriteInt(0); Stream.WriteInt(0); Stream.WriteInt(0); Stream.WriteInt(0); Stream.WriteInt(0); Stream.WriteString(this.Region); Stream.WriteLong(this.HomeId); Stream.WriteInt(50); Stream.WriteInt(0); Stream.WriteBoolean(this.AllianceId != 0); if (this.AllianceId != 0) { Stream.WriteLong(this.AllianceId); Stream.WriteString(this.AllianceName); Stream.EncodeData(this.Badge); } Stream.WriteBoolean(this.Arena != null); if (this.Arena != null) { Stream.EncodeData(this.Arena); } }
/// <summary> /// Encodes in the specified stream. /// </summary> /// <param name="Stream">The stream.</param> public void Encode(ChecksumEncoder Stream) { base.Encode(Stream); Stream.EncodeData(this.BadgeData); Stream.EncodeData(this.RegionData); Stream.WriteVInt(this.MembersCount); }
/// <summary> /// Encodes this instance. /// </summary> public override void Encode(ChecksumEncoder Stream) { Stream.WriteString(this.Sender); Stream.EncodeData(this.Data); base.Encode(Stream); }
/// <summary> /// Encodes in the specified stream. /// </summary> /// <param name="Stream">The stream.</param> public void Encode(ChecksumEncoder Stream) { Stream.WriteLong(this.PlayerId); Stream.WriteString(this.Name); Stream.EncodeData(this.Arena); Stream.WriteVInt(this.Role); Stream.WriteVInt(this.Level); Stream.WriteVInt(this.Score); Stream.WriteVInt(this.Donations); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteBoolean(false); Stream.WriteBoolean(false); Stream.WriteBoolean(true); if (true) { Stream.WriteLong(this.PlayerId); } }
/// <summary> /// Encodes this instance. /// </summary> internal override void Encode(ChecksumEncoder Packet) { Packet.AddString(this.Sender); Packet.EncodeData(this.Data); base.Encode(Packet); }
/// <summary> /// Encodes this instance. /// </summary> public override void Encode(ChecksumEncoder Stream) { base.Encode(Stream); Stream.EncodeData(this.SpecialChestData); Stream.WriteVInt(this.ChestType); }
/// <summary> /// Encodes this instance. /// </summary> public override void Encode(ChecksumEncoder Stream) { base.Encode(Stream); Stream.WriteString(this.Message); Stream.WriteBoolean(this.AcceptingAvatar != null); if (this.AcceptingAvatar != null) { Stream.WriteString(this.AcceptingAvatar); } Stream.WriteVInt(this.SenderScore); Stream.WriteBoolean(this.Closed); Stream.WriteBoolean(this.TournamentMode); Stream.WriteVInt(this.SpectatorCount); Stream.WriteBoolean(this.AcceptingAvatarId != 0); if (this.AcceptingAvatarId != 0) { Stream.WriteLong(this.AcceptingAvatarId); } Stream.EncodeData(null); Stream.WriteBoolean(false); Stream.WriteBoolean(false); }
/// <summary> /// Encodes this instance. /// </summary> public override void Encode(ChecksumEncoder Stream) { base.Encode(Stream); Stream.EncodeData(this.SpellData); Stream.WriteVInt(this.Amount); Stream.WriteVInt(this.RarityIndex); Stream.WriteBoolean(false); }
/// <summary> /// Encodes this instance. /// </summary> internal override void Encode(ChecksumEncoder Packet) { Packet.AddBoolean(this.Add); Packet.AddBoolean(false); Packet.AddBoolean(false); Packet.EncodeData(this.ArenaData); Packet.AddString(this.Name); base.Encode(Packet); }
/// <summary> /// Encodes this instance. /// </summary> public override void Encode(ChecksumEncoder Stream) { Stream.WriteInt(this.HighId); Stream.WriteInt(this.LowId); Stream.WriteString(this.Name); Stream.EncodeData(this.BadgeData); Stream.WriteBoolean(this.Creation); base.Encode(Stream); }
/// <summary> /// Encodes this instance. /// </summary> public override void Encode(ChecksumEncoder Stream) { Stream.WriteBoolean(this.Add); Stream.WriteBoolean(false); Stream.WriteBoolean(false); Stream.EncodeData(this.ArenaData); Stream.WriteString(this.Name); Stream.WriteVInt(3); base.Encode(Stream); }
/// <summary> /// Encodes this instance. /// </summary> public virtual void Encode(ChecksumEncoder Stream) { /* * * * * * * * * * * * * * * * * * * * * * * * * 01 00 00 9A-05 96-02 05-01 1A-13 0F 00 00 B8-2E 00-00 * * 01 00 01 9A-05 AC-04 05-01 1A-0D 1E 00 00 B8-2E 00-00 * * 01 00 02 9A-05 B4-07 05-01 1A-31 32 00 00 B8-2E 00-00 * * 01 00 03 9A-05 A0-0C 05-01 1B-0A 08 01 00 B8-2E 00-01 * * 01 00 04 9A-05 B0-12 05-01 1C-03 0C 01 00 B8-2E 00-00 * * 01 00 05 9A-05 80-19 05-01 1A-03 10 01 00 B8-2E 00-00 * * * * * * * * * * * * * * * * * * * * * * * * */ Stream.WriteVInt(0); Stream.WriteVInt(this.ShopIndex); Stream.WriteVInt(0); Stream.WriteVInt(this.Cost); Stream.EncodeData(this.BuyResourceData); }
/// <summary> /// Encodes in the specified stream. /// </summary> /// <param name="Stream">The stream.</param> public void Encode(ChecksumEncoder Stream) { Stream.EncodeData(this.ChestData); Stream.WriteVInt(88); Stream.WriteVInt(0); Stream.WriteString(this.Type); Stream.WriteVInt(346); Stream.WriteVInt(this.Index); Stream.EncodeSpellList(this.FortuneSpells); Stream.WriteVInt(-1); Stream.WriteVInt(0); Stream.WriteVInt(-1); return; Stream.WriteVInt(19); Stream.WriteVInt(325); Stream.WriteVInt(88); Stream.WriteVInt(2); Stream.WriteString("Fortune"); Stream.WriteVInt(346); Stream.WriteVInt(1); // Index Stream.WriteVInt(4); // Array { Stream.AddRange("1A-02".HexaToBytes()); Stream.AddRange("1A-15".HexaToBytes()); Stream.AddRange("1A-26".HexaToBytes()); Stream.AddRange("1A-19".HexaToBytes()); } Stream.WriteVInt(90000005); Stream.WriteVInt(0); Stream.WriteVInt(-1); }
/// <summary> /// Encodes this instance. /// </summary> public override void Encode(ChecksumEncoder Stream) { base.Encode(Stream); Stream.WriteVInt(this.SpellDeckIndex); Stream.EncodeData(this.SpellData); Stream.WriteVInt(this.SpellIndex); if (this.Spell != null) { Stream.WriteBoolean(true); this.Spell.EncodeAttack(Stream); } else { Stream.WriteBoolean(false); } this.Coordinate.Encode(Stream); }
/// <summary> /// Encodes this instance. /// </summary> internal override void Encode(ChecksumEncoder Packet) { base.Encode(Packet); Packet.AddVInt(1); Packet.EncodeData(this.SpellData); if (true) { Packet.AddBoolean(true); Packet.EncodeLogicData(this.SpellData, 26); Packet.AddVInt(1); } else { Packet.AddBoolean(false); } Packet.AddVInt(this.X); Packet.AddVInt(this.Y); }
/// <summary> /// Encodes this instance. /// </summary> public override void Encode(ChecksumEncoder Stream) { base.Encode(Stream); Stream.EncodeData(this.ResourcePackData); }
/// <summary> /// Encodes this instance. /// </summary> public void Encode(ChecksumEncoder Stream) { Stream.EncodeData(this.Data); Stream.WriteVInt(this.Count); }
/// <summary> /// Encodes this instance. /// </summary> internal override void Encode(ChecksumEncoder Packet) { base.Encode(Packet); Packet.EncodeData(this.SpellData); }
/// <summary> /// Encodes this instance. /// </summary> public void Encode(ChecksumEncoder Stream, Player Player) { Stream.EncodeLogicData(this.LocationData, 15); Stream.WriteVInt(this.PlayerCount); Stream.EncodeLogicData(this.NpcData, 48); Stream.EncodeLogicData(this.ArenaData, 54); for (int I = 0; I < this.PlayerCount; I++) { Stream.WriteLogicLong(this.Players[I].HighId, this.Players[I].LowId); Stream.WriteVInt(0); } Stream.EncodeConstantSizeIntArray(new int[8], 8); { Stream.WriteVInt(1); Stream.WriteVInt(1); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(7); // EncodeLogicData (type=72) Stream.WriteVInt(0); // EncodeLogicData (type=79) Stream.WriteVInt(0); // EncodeLogicData (type=81) } Stream.WriteBoolean(this.EndedCalled); Stream.WriteBoolean(this.EndedWithTimeOut); Stream.WriteBoolean(false); // ? Stream.WriteBoolean(false); // hasPlayerFinishedNpcLevel Stream.WriteBoolean(this.InOvertime); Stream.WriteBoolean(false); // Live Stream.WriteVInt(this.Type); Stream.WriteVInt(0); Stream.WriteVInt(0); { // LogicGameObjectManager::encode(). Stream.AddRange("00-B9-03-C7-7C-00-00-06-7A".HexaToBytes()); Stream.WriteVInt(6); // Count Stream.EncodeData(CsvFiles.Get(Gamefile.Buildings).GetWithInstanceId(1)); // PrincessTower Stream.EncodeData(CsvFiles.Get(Gamefile.Buildings).GetWithInstanceId(1)); // PrincessTower Stream.EncodeData(CsvFiles.Get(Gamefile.Buildings).GetWithInstanceId(1)); // PrincessTower Stream.EncodeData(CsvFiles.Get(Gamefile.Buildings).GetWithInstanceId(1)); // PrincessTower Stream.EncodeData(CsvFiles.Get(Gamefile.Buildings).GetWithInstanceId(0)); // KingTower Stream.EncodeData(CsvFiles.Get(Gamefile.Buildings).GetWithInstanceId(0)); // KingTower // Type (Enemy, etc...) Stream.WriteVInt(1); Stream.WriteVInt(0); Stream.WriteVInt(1); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(1); // ID (Like 500xxxxxx for CoC) Stream.AddRange("05-00".HexaToBytes()); Stream.AddRange("05-01".HexaToBytes()); Stream.AddRange("05-02".HexaToBytes()); Stream.AddRange("05-03".HexaToBytes()); Stream.AddRange("05-04".HexaToBytes()); Stream.AddRange("05-05".HexaToBytes()); // LogicGameObject::encode(): vInt, Vector2, vInt // GameObjectType: // 0: LogicDeco // 1: LogicSpawnPoint // 2: LogicAreaEffectObject // 3: LogicProjectile // 4: LogicCharacter Stream.AddRange("00-0D-A4-E2-01-9C-8E-03-00-00-7F-00-C0-7C-00-00-02-00-00-00-00-00".HexaToBytes()); // LogicCharacter::encode Stream.AddRange("00-0D-AC-36-A4-65-00-00-7F-00-80-04-00-00-01-00-00-00-00-00".HexaToBytes()); // LogicCharacter::encode Stream.AddRange("00-0D-AC-36-9C-8E-03-00-00-7F-00-C0-7C-00-00-01-00-00-00-00-00".HexaToBytes()); // LogicCharacter::encode Stream.AddRange("00-0D-A4-E2-01-A4-65-00-00-7F-00-80-04-00-00-02-00-00-00-00-00".HexaToBytes()); // LogicCharacter::encode if (this.Players[1] == Player) { Stream.AddRange("00-0D-A8-8C-01-B8-2E-00-00-7F-00-80-04-00-00-00-00-00-00-00-00".HexaToBytes()); // LogicCharacter::encode Stream.AddRange("0C-00-00-A0-9A-0C-00-00-00-00-00-7F-7F-7F-7F-7F-7F-7F-7F-00-00-00-00".HexaToBytes()); // LogicSummoner::encode // LogicSummoner::encode Stream.AddRange("00-0D-A8-8C-01-88-C5-03-00-00-7F-00-C0-7C-00-00-00-00-00-00-00-00".HexaToBytes()); // LogicCharacter::encode Stream.WriteBoolean(true); // HAS DECK Stream.WriteBoolean(false); // ? Stream.WriteBoolean(true); // AI ENABLED ? if (true) { // If HAS DECK Stream.WriteVInt(4); { // ByteStreamHelper::writeConstantSizeIntArray(4) Stream.WriteVInt(6); Stream.WriteVInt(-1); Stream.WriteVInt(-4); Stream.WriteVInt(-1); } Stream.WriteVInt(4); { // Count Stream.WriteVInt(3); Stream.WriteVInt(4); Stream.WriteVInt(2); Stream.WriteVInt(7); } Stream.WriteVInt(0); { // Same, Is Count } Stream.WriteVInt(-1); Stream.WriteVInt(-1); Stream.WriteVInt(0); if (Globals.QuestsEnabled) { Stream.WriteVInt(0); // Count // LogicQuestManager::encode() } } Stream.WriteVInt(0); Stream.WriteVInt(0); // MsBeforeStartRegenMana Stream.WriteVInt(5); // Mana Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(0); { // LogicSpellAIBlackboard::encode Stream.WriteVInt(0); Stream.WriteVInt(0); } for (int I = 0; I < 8; I++) { Stream.WriteVInt(-1); } Stream.WriteBoolean(false); { // ? } Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(0); } else { Stream.AddRange("00-0D-A8-8C-01-B8-2E-00-00-7F-00-80-04-00-00-00-00-00-00-00-00".HexaToBytes()); // LogicCharacter::encode Stream.WriteBoolean(true); // HAS DECK Stream.WriteBoolean(false); // ? Stream.WriteBoolean(true); // AI ENABLED ? if (true) { // If HAS DECK Stream.WriteVInt(4); { // ByteStreamHelper::writeConstantSizeIntArray(4) Stream.WriteVInt(6); // 6 = SpellDeck[6] Stream.WriteVInt(-1); // 6 - 1 = SpellDeck[6 - 1] Stream.WriteVInt(-4); // 6 - 1 - 4 = SpellDeck[6 - 1 - 4] Stream.WriteVInt(-1); // 6 - 1 - 4 - 1 = = SpellDeck[6 - 1 - 4 - 1] } Stream.WriteVInt(4); { // Spell Queue Count Stream.WriteVInt(3); Stream.WriteVInt(4); Stream.WriteVInt(2); Stream.WriteVInt(7); } Stream.WriteVInt(0); { // Spell Queue 2 Count } Stream.WriteVInt(-1); Stream.WriteVInt(-1); Stream.WriteVInt(0); if (Globals.QuestsEnabled) { Stream.WriteVInt(0); // Count // LogicQuestManager::encode() } } Stream.WriteVInt(0); Stream.WriteVInt(0); // MsBeforeStartRegenMana Stream.WriteVInt(5); // Mana Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(0); { // LogicSpellAIBlackboard::encode Stream.WriteVInt(0); Stream.WriteVInt(0); } for (int I = 0; I < 8; I++) { Stream.WriteVInt(-1); } Stream.WriteBoolean(false); { // ? } Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.WriteVInt(0); Stream.AddRange("00-0D-A8-8C-01-88-C5-03-00-00-7F-00-C0-7C-00-00-00-00-00-00-00-00".HexaToBytes()); // LogicCharacter::encode Stream.AddRange("0C-00-00-A0-9A-0C-00-00-00-00-00-7F-7F-7F-7F-7F-7F-7F-7F-00-00-00-00".HexaToBytes()); // LogicSummoner::encode } // -- COMPONENT -- Stream.AddRange("00-00-00-00-00-00-00-00".HexaToBytes()); Stream.AddRange("00-00-00-00-00-00-00-00".HexaToBytes()); Stream.AddRange("00-00-00-00-00-00-00-00".HexaToBytes()); Stream.AddRange("00-00-00-00-00-00-00-00".HexaToBytes()); Stream.AddRange("00-00-00-00-00-00-00-00".HexaToBytes()); Stream.AddRange("00-00-00-00-00-00-00-00".HexaToBytes()); // LogicHitpointComponent Stream.AddRange("B8-15-00".HexaToBytes()); Stream.AddRange("B8-15-00".HexaToBytes()); Stream.AddRange("B8-15-00".HexaToBytes()); Stream.AddRange("B8-15-00".HexaToBytes()); Stream.AddRange("A0-25-00".HexaToBytes()); Stream.AddRange("A0-25-00".HexaToBytes()); // LogicCharacterBuffComponent Stream.AddRange("00-00-00-00-00-00-00-A4-01-A4-01-00".HexaToBytes()); Stream.AddRange("00-00-00-00-00-00-00-A4-01-A4-01-00".HexaToBytes()); Stream.AddRange("00-00-00-00-00-00-00-A4-01-A4-01-00".HexaToBytes()); Stream.AddRange("00-00-00-00-00-00-00-A4-01-A4-01-00".HexaToBytes()); Stream.AddRange("00-00-00-00-00-00-00-A4-01-A4-01-00".HexaToBytes()); Stream.AddRange("00-00-00-00-00-00-00-A4-01-A4-01-00".HexaToBytes()); } for (int I = 0; I < 2; I++) { if (this.Players[I] == Player) { Stream.WriteBoolean(true); this.Decks[I].EncodeAttack(Stream); break; } Stream.WriteBoolean(false); } Stream.AddRange("00-00-05-06-02-02-04-02-01-03-00-00-00-00-00-00-00-00".HexaToBytes()); }
/// <summary> /// Encodes this instance. /// </summary> public override void Encode(ChecksumEncoder Stream) { base.Encode(Stream); Stream.EncodeData(this.ChestData); }
/// <summary> /// Encodes this instance. /// </summary> public override void Encode(ChecksumEncoder Stream) { Stream.EncodeData(this.AchievementData); base.Encode(Stream); }