/// <summary>
 /// Encodes this instance.
 /// </summary>
 internal override void Encode(ChecksumEncoder Packet)
 {
     base.Encode(Packet);
     Packet.AddInt(this.Diamonds);
 }
 public virtual void Encode(ChecksumEncoder encoder)
 {
     encoder.WriteInt(this.m_executeSubTick);
 }
Exemple #3
0
 /// <summary>
 /// Encodes this instance.
 /// </summary>
 public void EncodeAttack(ChecksumEncoder Stream)
 {
     Stream.EncodeLogicData(this.Data, 26);
     Stream.WriteVInt(this.Level);
 }
 public override void Encode(ChecksumEncoder encoder)
 {
     ByteStreamHelper.WriteDataReference(encoder, this.m_achievementData);
     base.Encode(encoder);
 }
 public override void Encode(ChecksumEncoder encoder)
 {
     encoder.WriteInt(this.m_gameObjectId);
     base.Encode(encoder);
 }
Exemple #6
0
 /// <summary>
 /// Encodes this instance.
 /// </summary>
 /// <param name="Stream">The stream.</param>
 public override void Encode(ChecksumEncoder Stream)
 {
     Stream.WriteVInt(this.Id);
     base.Encode(Stream);
 }
Exemple #7
0
        /// <summary>
        /// Encodes this instance.
        /// </summary>
        internal override void Encode(ChecksumEncoder Packet)
        {
            base.Encode(Packet);

            Packet.EncodeData(this.SpellData);
        }
 public static void WriteDataReference(ChecksumEncoder encoder, LogicData data)
 {
     encoder.WriteInt(data != null ? data.GetGlobalID() : 0);
 }
Exemple #9
0
 /// <summary>
 /// Encodes this instance.
 /// </summary>
 internal void Encode(ChecksumEncoder Packet)
 {
     Packet.AddVInt(this.SubTick);
 }
 /// <summary>
 /// Encodes this instance.
 /// </summary>
 internal override void Encode(ChecksumEncoder Packet)
 {
     Packet.AddVInt(this.Id);
     base.Encode(Packet);
 }
 public override void Encode(ChecksumEncoder encoder)
 {
     base.Encode(encoder);
     encoder.WriteVInt(this.m_offerId);
 }
Exemple #12
0
 /// <summary>
 /// Encodes this instance.
 /// </summary>
 public override void Encode(ChecksumEncoder Stream)
 {
     base.Encode(Stream);
     Stream.EncodeData(this.ResourcePackData);
 }
Exemple #13
0
 public override void Encode(ChecksumEncoder encoder)
 {
     base.Encode(encoder);
     encoder.WriteInt(this.m_diamondCount);
 }
Exemple #14
0
 /// <summary>
 /// Encodes this instance.
 /// </summary>
 public void Encode(ChecksumEncoder Stream)
 {
     Stream.WriteVInt(this._HighInteger);
     Stream.WriteVInt(this._LowInteger);
 }
 /// <summary>
 /// Adds a compressed string.
 /// </summary>
 internal static void AddCompressedString(this ChecksumEncoder Writer, string Value)
 {
     Writer.AddCompressed(Encoding.UTF8.GetBytes(Value));
 }
 /// <summary>
 /// Encodes this instance.
 /// </summary>
 public override void Encode(ChecksumEncoder Stream)
 {
     base.Encode(Stream);
     Stream.WriteInt(this.Diamonds);
 }
 /// <summary>
 /// Adds a data logic long.
 /// </summary>
 internal static void AddLogicLong(this ChecksumEncoder ByteStream, int High, int Low)
 {
     ByteStream.AddVInt(High);
     ByteStream.AddVInt(Low);
 }
Exemple #18
0
 public override void Encode(ChecksumEncoder encoder)
 {
     encoder.WriteString(this.m_message);
     base.Encode(encoder);
 }
Exemple #19
0
        /// <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());
        }
Exemple #20
0
 public void Encode(ChecksumEncoder stream)
 {
     stream.WriteInt(this.m_x);
     stream.WriteInt(this.m_y);
 }
Exemple #21
0
 /// <summary>
 ///     Encodes this instance.
 /// </summary>
 public override void Encode(ChecksumEncoder encoder)
 {
     base.Encode(encoder);
     encoder.WriteString(this._name);
 }
        /// <summary>
        /// Encodes this instance.
        /// </summary>
        public override void Encode(ChecksumEncoder Stream)
        {
            base.Encode(Stream);

            Stream.WriteVInt(this.Page);
        }
 public override void Encode(ChecksumEncoder encoder)
 {
     base.Encode(encoder);
 }
Exemple #24
0
 /// <summary>
 /// Encodes this instance.
 /// </summary>
 public void Encode(ChecksumEncoder Stream)
 {
     Stream.WriteInt(this.Seed);
 }
 public override void Encode(ChecksumEncoder encoder)
 {
     encoder.WriteInt(this.m_bound);
     base.Encode(encoder);
 }
Exemple #26
0
        /// <summary>
        /// Encodes in the specified stream.
        /// </summary>
        /// <param name="Stream">The stream.</param>
        /// <param name="BattleEncode">if set to <c>true</c> [battle encode].</param>
        public void Encode(ChecksumEncoder Stream, bool BattleEncode = false)
        {
            Stream.WriteLogicLong(this.HighId, this.LowId); // Avatar
            Stream.WriteLogicLong(this.HighId, this.LowId); // Account
            Stream.WriteLogicLong(this.HighId, this.LowId); // Home

            Stream.WriteString(this.Name);

            if (!BattleEncode)
            {
                Stream.WriteVInt(this.NameChangeState);
            }

            Stream.EncodeLogicData(this.Arena, 54);
            Stream.WriteVInt(this.Score);
            Stream.WriteVInt(0);
            Stream.WriteVInt(this.MaxScore);

            if (!BattleEncode)
            {
                Stream.WriteVInt(0);
            }

            Stream.WriteVInt(0);
            Stream.WriteVInt(0);
            Stream.WriteVInt(0);
            Stream.WriteVInt(0);
            Stream.WriteVInt(0);

            Stream.WriteVInt(0); // 0x26

            Stream.WriteVInt(0);
            Stream.WriteVInt(0);
            Stream.WriteVInt(0);
            Stream.WriteVInt(0);
            Stream.WriteVInt(0);

            this.CommoditySlots.Encode(Stream);

            if (!BattleEncode)
            {
                Stream.WriteVInt(this.Diamonds);
                Stream.WriteVInt(this.FreeDiamonds);
                Stream.WriteVInt(this.ExpPoints);
                Stream.WriteVInt(this.ExpLevel);
                Stream.WriteVInt(0);



                Stream.WriteBoolean(this.IsNameSet);
                Stream.WriteBoolean(false); // ?
            }
            else
            {
                Stream.WriteVInt(this.ExpLevel);
            }

            Stream.WriteBoolean(false); // ?
            Stream.WriteBoolean(this.IsInAlliance);

            if (this.IsInAlliance)
            {
                Stream.WriteLogicLong(this.ClanHighId, this.ClanLowId);
                Stream.WriteString(this.AllianceName);
                Stream.EncodeLogicData(this.Badge, 16);

                if (!BattleEncode)
                {
                    Stream.WriteVInt(this.AllianceRole);
                }
            }

            Stream.WriteVInt(0);
            Stream.WriteVInt(0);
            Stream.WriteVInt(0);
            Stream.WriteVInt(0);
            Stream.WriteVInt(0);

            Stream.WriteBool(false);

            Stream.WriteVInt(7); // Training Step
            Stream.WriteVInt(1); // 0x00 = Training || bool (?)
            Stream.WriteVInt(0);
            Stream.WriteVInt(0);
            Stream.WriteVInt(1); // bool (?)
            Stream.WriteVInt(0);
        }
Exemple #27
0
 /// <summary>
 ///     Encodes a command.
 /// </summary>
 public static void EncodeCommand(ChecksumEncoder encoder, LogicCommand command)
 {
     encoder.WriteInt(command.GetCommandType());
     command.Encode(encoder);
 }
Exemple #28
0
 /// <summary>
 ///     Encodes the reward.
 /// </summary>
 public static void EncodeReward(ChecksumEncoder Stream, Reward Reward)
 {
     Stream.WriteVInt(Reward.Type);
     Reward.Encode(Stream);
 }
 /// <summary>
 /// Encodes the specified command.
 /// </summary>
 public static void EncodeCommand(Command Command, ChecksumEncoder Encoder)
 {
     Encoder.WriteVInt(Command.Type);
     Command.Encode(Encoder);
 }
Exemple #30
0
 public override void Encode(ChecksumEncoder encoder)
 {
     base.Encode(encoder);
     encoder.WriteInt(this.m_state);
 }