Exemple #1
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 #2
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 #3
0
 /// <summary>
 /// Encodes this instance.
 /// </summary>
 public override void Encode(ChecksumEncoder Stream)
 {
     base.Encode(Stream);
     Stream.WriteBool(this.Seen);
 }