Exemple #1
0
        /// <summary>
        /// Encodes the first bytes of LogicGameMode.
        /// </summary>
        public void EncodeOnce(ChecksumEncoder Stream)
        {
            Stream.WriteVInt(42); // Value != 42: decodeOnce stream is corrupted! #1

            Stream.AddRange("02-02-01-02-04-01-00  00-00-00-19  54-49-44-5F-43-41-53-54-5F-51-55-45-53-54-5F-4D-49-4E-5F-45-4C-49-58-49-52  00-00-00-00-1E-00-00-00-00-00-06-00-01-01-00-04-04-00  00-00-00-19  54-49-44-5F-43-41-53-54-5F-51-55-45-53-54-5F-4D-41-58-5F-45-4C-49-58-49-52  00-00-00-00-32-00-00-00-00-00-00-02-01-01-00  01 	7F-7F-7F-7F-00-00-00-00-00-00-01-32-00-00-00-00-00-00-00-00-00-00-00-00-00-08-00-00-00-00-00-00-00-00-02-00-00-00-00-00-00-00-00-00-00-00-01 02 	00-01  00-01  00-01  00-00-00-06-42-65-72-6B-61-6E-0A-9D-25-98-04-98-24-00-00-00-00-00-26-00-00-00-00-00-08-0E-05-01-83-B9-01-05-02-B2-04-05-03-00-05-04-00-05-0C-A3-0E-05-0D-00-05-0E-00-05-0F-8F-06-05-16-90-06-05-19-B0-DD-9E-F2-01-05-1A-09-05-1C-00-05-1D-B3-88-D5-44-05-23-01-00-00-00-05-05-06-BF-28-05-07-95-02-05-0B-26-05-14-08-05-1B-09-08-1A-17-8A-01-1A-1D-04-1A-23-26-1A-25-11-1A-2A-15-1A-2E-04-1A-36-05-1C-0B-3E-00-00-09-02-1E-97-8D-69-00-00-00-0B-6C-6F-73-20-70-69-74-75-64-6F-73-B3-01-99-0E-9C-02-00-A9-06-BA-05-01-B6-01-03-00-00-00-01".HexaToBytes());

            // TODO : Implement the Events.

            /* Stream.WriteBoolean(false);
             *
             * if (this.Battle != null)
             * {
             *  for (int I = 0; I < 4; I++)
             *  {
             *      if (this.Battle.Players[I] != null)
             *      {
             *          Stream.WriteBoolean(true);
             *          this.Battle.Players[I].Encode(Stream, true);
             *
             *          continue;
             *      }
             *
             *      Stream.WriteBoolean(false);
             *  }
             * } */

            Stream.WriteVInt(43); // Value != 43: decodeOnce stream is corrupted! #2
        }
        /// <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 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 this instance.
        /// </summary>
        public override void Encode(ChecksumEncoder Stream)
        {
            base.Encode(Stream);

            Stream.WriteVInt(this.QuestIndex);
            Stream.WriteVInt(this.QuestUnknown);
        }
        /// <summary>
        /// Encodes this instance.
        /// </summary>
        public override void Encode(ChecksumEncoder Stream)
        {
            base.Encode(Stream);

            Stream.WriteVInt(-1);
            Stream.WriteVInt(8);
            Stream.WriteVInt(-1);
        }
Exemple #6
0
        public override void Encode(ChecksumEncoder encoder)
        {
            encoder.WriteVInt(this.m_id);
            encoder.WriteVInt(this.m_data.GetGlobalID());
            encoder.WriteString(LogicJSONParser.CreateJSONString(this.m_json));

            base.Encode(encoder);
        }
Exemple #7
0
        /// <summary>
        /// Encodes this instance.
        /// </summary>
        public override void Encode(ChecksumEncoder Stream)
        {
            base.Encode(Stream);

            Stream.WriteVInt(this.SpellOffset);
            Stream.WriteVInt(this.DeckOffset);
            Stream.WriteVInt(this.Deck2Offset);
        }
        /// <summary>
        /// Encodes the specified stream.
        /// </summary>
        /// <param name="Stream">The stream.</param>
        public override void Encode(ChecksumEncoder Stream)
        {
            base.Encode(Stream);

            Stream.WriteBoolean(this.Is2v2);
            Stream.WriteVInt(0);
            Stream.WriteVInt(-1);
        }
 /// <summary>
 /// Encodes in the specified stream.
 /// </summary>
 /// <param name="Stream">The stream.</param>
 public virtual void Encode(ChecksumEncoder Stream)
 {
     Stream.EncodeLogicLong(this.EntryId);
     Stream.WriteString(this.Name);
     Stream.WriteVInt(this.Order);
     Stream.WriteVInt(this.Score);
     Stream.WriteVInt(this.PreviousOrder);
 }
        /// <summary>
        /// Encodes this instance.
        /// </summary>
        public override void Encode(ChecksumEncoder Stream)
        {
            base.Encode(Stream);

            Stream.WriteVInt(this.EventType);
            Stream.WriteVInt(this.TargetHighId);
            Stream.WriteVInt(this.TargetLowId);
            Stream.WriteString(this.TargetName);
        }
        /// <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);
        }
Exemple #12
0
        /// <summary>
        ///     Encodes this instance.
        /// </summary>
        public override void Encode(ChecksumEncoder Stream)
        {
            base.Encode(Stream);

            Stream.WriteVInt(this.ChestId);
            Stream.WriteVInt(this.ChestGlobalId);
            Stream.WriteVInt(this.ChestType);
            Stream.WriteVInt(this.PaidGems);
            Stream.WriteVInt(this.FreeGems);
        }
Exemple #13
0
        /// <summary>
        /// Encodes the specified stream.
        /// </summary>
        /// <param name="Stream">The stream.</param>
        public virtual void Encode(ChecksumEncoder Stream)
        {
            Stream.EnableCheckSum(false);

            Stream.WriteVInt(this.TickWhenGiven);
            Stream.WriteVInt(this.ExecuteTick);

            Stream.EncodeLogicLong(this.ExecutorId);

            Stream.EnableCheckSum(true);
        }
Exemple #14
0
        /// <summary>
        ///     Encodes this instance.
        /// </summary>
        public void Encode(ChecksumEncoder Stream)
        {
            Stream.WriteVInt(8);

            for (int I = 0; I < 8; I++)
            {
                Stream.WriteVInt(this.Slots[I].Count);

                this.Slots[I].ForEach(Slot => { Slot.Encode(Stream); });
            }
        }
Exemple #15
0
 /// <summary>
 /// Encodes this instance.
 /// </summary>
 public void Encode(ChecksumEncoder Stream)
 {
     Stream.EncodeLogicData(this.Data, 26);
     Stream.WriteVInt(this.Level);
     Stream.WriteVInt(this.CreateTime);
     Stream.WriteVInt(this.Count);
     Stream.WriteVInt(this.NewCount);
     Stream.WriteVInt(this.RecentUseCount);
     Stream.WriteBool(this.NewUpgrade);
     Stream.WriteBool(this.NewFlag);
 }
Exemple #16
0
 /// <summary>
 /// Encodes a collection of spells.
 /// </summary>
 public static void EncodeSpellList(this ChecksumEncoder Stream, List <SpellData> Spells)
 {
     if (Spells.Count < 200)
     {
         Stream.WriteVInt(Spells.Count);
         Spells.ForEach(Stream.EncodeData);
     }
     else
     {
         Stream.WriteVInt(0);
     }
 }
Exemple #17
0
 /// <summary>
 /// Adds a data data reference.
 /// </summary>
 public static void EncodeData(this ChecksumEncoder Stream, CsvData CsvData)
 {
     if (CsvData != null)
     {
         Stream.WriteVInt(CsvData.Type);
         Stream.WriteVInt(CsvData.Instance);
     }
     else
     {
         Stream.WriteVInt(0);
     }
 }
Exemple #18
0
        /// <summary>
        /// Encodes in the specified stream.
        /// </summary>
        /// <param name="Stream">The stream.</param>
        public virtual void Encode(ChecksumEncoder Stream)
        {
            Stream.WriteLogicLong(this.HighId, this.LowId);
            Stream.WriteLogicLong(this.SenderHighId, this.SenderLowId);
            Stream.WriteLogicLong(this.SenderHighId, this.SenderLowId); // HomeID

            Stream.WriteString(this.SenderName);

            Stream.WriteVInt(this.SenderExpLevel);
            Stream.WriteVInt(this.SenderRole);
            Stream.WriteVInt(this.AgeSeconds);

            Stream.WriteBoolean(this.Removed);
        }
        /// <summary>
        /// Encodes this instance.
        /// </summary>
        public override void Encode(ChecksumEncoder Stream)
        {
            Stream.WriteLong(this.AllianceId);
            Stream.WriteVInt(this.NewRole);

            base.Encode(Stream);
        }
        /// <summary>
        /// Encodes this instance.
        /// </summary>
        public override void Encode(ChecksumEncoder Stream)
        {
            base.Encode(Stream);

            Stream.WriteVInt(this.CopyDeckId);
            Stream.WriteVInt(this.SpellIds.Length);

            foreach (int SpellId in this.SpellIds)
            {
                Stream.WriteVInt(SpellId);
            }

            Stream.WriteInt(0);
            Stream.WriteInt(3);
            Stream.WriteVInt(0);
        }
Exemple #21
0
 /// <summary>
 /// Adds a constant size int array.
 /// </summary>
 public static void EncodeConstantSizeIntArray(this ChecksumEncoder Stream, int[] Array, int Size)
 {
     for (int I = 0; I < Size; I++)
     {
         Stream.WriteVInt(Array[I]);
     }
 }
Exemple #22
0
        /// <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.WriteVInt(this.Amount);
            Stream.WriteBoolean(this.Free);
        }
        public override void Encode(ChecksumEncoder encoder)
        {
            ByteStreamHelper.WriteDataReference(encoder, this.m_buyResourceData);
            encoder.WriteVInt(this.m_buyResourceCount);

            base.Encode(encoder);
        }
Exemple #25
0
        /// <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);
        }
Exemple #26
0
        /// <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 this instance.
        /// </summary>
        public override void Encode(ChecksumEncoder Stream)
        {
            if (this.Reward != null)
            {
                Stream.WriteBoolean(true);
                Reward.EncodeReward(Stream, this.Reward);
            }
            else
            {
                Stream.WriteBoolean(false);
            }

            Stream.WriteVInt(this.LocationId);
            Stream.WriteVInt(this.ChestType);

            base.Encode(Stream);
        }
        /// <summary>
        /// Encodes this instance.
        /// </summary>
        public override void Encode(ChecksumEncoder Stream)
        {
            base.Encode(Stream);

            Stream.WriteString(this.SenderMessage);
            Stream.WriteString(this.ResponderName);
            Stream.WriteVInt(this.RequestState);
        }
Exemple #29
0
        public virtual void Encode(ChecksumEncoder encoder)
        {
            encoder.WriteBoolean(this.m_new);
            encoder.WriteBoolean(this.m_removed);

            if (!this.m_removed)
            {
                encoder.WriteLong(this.m_id);

                if (this.m_allianceId != null)
                {
                    encoder.WriteBoolean(true);
                    encoder.WriteLong(this.m_allianceId);
                    encoder.WriteString(this.m_allianceName);
                    encoder.WriteInt(this.m_allianceBadgeId);
                    encoder.WriteInt(this.m_allianceExpLevel);
                }
                else
                {
                    encoder.WriteBoolean(false);
                }

                encoder.WriteLong(this.m_accountId);
                encoder.WriteLong(this.m_avatarId);
                encoder.WriteString(this.m_name);
                encoder.WriteInt(-1);

                if (this.m_homeId != null)
                {
                    encoder.WriteBoolean(true);
                    encoder.WriteLong(this.m_homeId);
                }
                else
                {
                    encoder.WriteBoolean(false);
                }

                encoder.WriteVInt(5);
                encoder.WriteVInt(10);
                encoder.WriteVInt(15);
                encoder.WriteVInt(20);
                encoder.WriteBoolean(false);
                encoder.WriteVInt(this.m_remainingSeconds);
            }
        }
        /// <summary>
        /// Encodes in the specified stream.
        /// </summary>
        /// <param name="Stream">The stream.</param>
        public static void Encode(ChecksumEncoder Stream)
        {
            Stream.WriteVInt(ChestManager.Chests.Count);

            foreach (ChestEvent ChestEvent in ChestManager.Chests)
            {
                ChestEvent.Encode(Stream);
            }
        }