Example #1
0
        public GuildObject(BinaryReader reader)
        {
            int customversion = Envir.LoadCustomVersion;
            int version       = reader.ReadInt32();

            Guildindex = version;
            if (version == int.MaxValue)
            {
                version       = reader.ReadInt32();
                customversion = reader.ReadInt32();
                Guildindex    = reader.ReadInt32();
            }
            else
            {
                version  = Envir.LoadVersion;
                NeedSave = true;
            }
            Name            = reader.ReadString();
            Level           = reader.ReadByte();
            SparePoints     = reader.ReadByte();
            Experience      = reader.ReadInt64();
            Gold            = reader.ReadUInt32();
            Votes           = reader.ReadInt32();
            LastVoteAttempt = DateTime.FromBinary(reader.ReadInt64());
            Voting          = reader.ReadBoolean();
            int RankCount = reader.ReadInt32();

            Membercount = 0;
            for (int i = 0; i < RankCount; i++)
            {
                int index = i;
                Ranks.Add(new Rank(reader, true)
                {
                    Index = index
                });
                Membercount += Ranks[i].Members.Count;
            }
            int ItemCount = reader.ReadInt32();

            for (int j = 0; j < ItemCount; j++)
            {
                if (Envir.Version > 28)
                {
                    if (!reader.ReadBoolean())
                    {
                        continue;
                    }
                }
                GuildStorageItem Guilditem = new GuildStorageItem()
                {
                    Item   = new UserItem(reader, version, customversion),
                    UserId = reader.ReadInt64()
                };

                if (SMain.Envir.BindItem(Guilditem.Item) && j < StoredItems.Length)
                {
                    StoredItems[j] = Guilditem;
                }
            }
            int BuffCount = reader.ReadInt32();

            if (version < 61)
            {
                for (int j = 0; j < BuffCount; j++)
                {
                    new GuildBuffOld(reader);
                }
            }
            else
            {
                for (int j = 0; j < BuffCount; j++)
                {
                    //new GuildBuff(reader);
                    BuffList.Add(new GuildBuff(reader));
                }
            }
            for (int j = 0; j < BuffList.Count; j++)
            {
                BuffList[j].Info = Envir.FindGuildBuffInfo(BuffList[j].Id);
            }
            int NoticeCount = reader.ReadInt32();

            for (int j = 0; j < NoticeCount; j++)
            {
                Notice.Add(reader.ReadString());
            }
            if (Level < Settings.Guild_ExperienceList.Count)
            {
                MaxExperience = Settings.Guild_ExperienceList[Level];
            }
            if (Level < Settings.Guild_MembercapList.Count)
            {
                MemberCap = Settings.Guild_MembercapList[Level];
            }

            if (version > 72)
            {
                FlagImage  = reader.ReadUInt16();
                FlagColour = Color.FromArgb(reader.ReadInt32());
            }
        }
Example #2
0
        public GuildObject(BinaryReader reader)
        {
            int customversion = Envir.LoadCustomVersion;
            int version = reader.ReadInt32();
            Guildindex = version;
            if (version == int.MaxValue)
            {
                version = reader.ReadInt32();
                customversion = reader.ReadInt32();
                Guildindex = reader.ReadInt32();
            }
            else
            {
                version = Envir.LoadVersion;
                NeedSave = true;
            }
            Name = reader.ReadString();
            Level = reader.ReadByte();
            SparePoints = reader.ReadByte();
            Experience = reader.ReadInt64();
            Gold = reader.ReadUInt32();
            Votes = reader.ReadInt32();
            LastVoteAttempt = DateTime.FromBinary(reader.ReadInt64());
            Voting = reader.ReadBoolean();
            int RankCount = reader.ReadInt32();
            Membercount = 0;
            for (int i = 0; i < RankCount; i++)
            {
                int index = i;
                Ranks.Add(new Rank(reader, true) { Index = index });
                Membercount += Ranks[i].Members.Count;
            }
            int ItemCount = reader.ReadInt32();
            for (int j = 0; j < ItemCount; j++)
            {
                if (Envir.Version > 28)
                    if (!reader.ReadBoolean()) continue;
                GuildStorageItem Guilditem = new GuildStorageItem()
                {
                    Item = new UserItem(reader, version, customversion),
                    UserId = reader.ReadInt64()
                };

                if (SMain.Envir.BindItem(Guilditem.Item) && j < StoredItems.Length)
                    StoredItems[j] = Guilditem;
            }
            int BuffCount = reader.ReadInt32();
            if (version < 61)
            {
                for (int j = 0; j < BuffCount; j++)
                    new GuildBuffOld(reader);
            }
            else
            {
                for (int j = 0; j < BuffCount; j++)
                {
                    //new GuildBuff(reader);
                    BuffList.Add(new GuildBuff(reader));
                }
            }
            for (int j = 0; j < BuffList.Count; j++)
                BuffList[j].Info = Envir.FindGuildBuffInfo(BuffList[j].Id);
            int  NoticeCount = reader.ReadInt32();
            for (int j = 0; j < NoticeCount; j++)
                Notice.Add(reader.ReadString());
            if (Level < Settings.Guild_ExperienceList.Count)
                MaxExperience = Settings.Guild_ExperienceList[Level];
            if (Level < Settings.Guild_MembercapList.Count)
                MemberCap = Settings.Guild_MembercapList[Level];
        }
Example #3
0
 protected override void ReadPacket(BinaryReader reader)
 {
     Type = reader.ReadByte();
     To = reader.ReadInt32();
     From = reader.ReadInt32();
     User = reader.ReadInt32();
     if (!reader.ReadBoolean()) return;
     Item = new GuildStorageItem();
     Item.UserId = reader.ReadInt64();
     Item.Item = new UserItem(reader);
 }
Example #4
0
 protected override void ReadPacket(BinaryReader reader)
 {
     Items = new GuildStorageItem[reader.ReadInt32()];
     for (int i = 0; i < Items.Length; i++)
     {
         if (reader.ReadBoolean() == true)
             Items[i] = new GuildStorageItem(reader);
     }
 }
Example #5
0
        public GuildObject(BinaryReader reader)
        {
            Guildindex      = reader.ReadInt32();
            Name            = reader.ReadString();
            Level           = reader.ReadByte();
            SparePoints     = reader.ReadByte();
            Experience      = reader.ReadInt64();
            Gold            = reader.ReadUInt32();
            Votes           = reader.ReadInt32();
            LastVoteAttempt = DateTime.FromBinary(reader.ReadInt64());
            Voting          = reader.ReadBoolean();
            int RankCount = reader.ReadInt32();

            Membercount = 0;
            for (int i = 0; i < RankCount; i++)
            {
                int index = i;
                Ranks.Add(new Rank(reader, true)
                {
                    Index = index
                });
                Membercount += Ranks[i].Members.Count;
            }
            int ItemCount = reader.ReadInt32();

            for (int j = 0; j < ItemCount; j++)
            {
                if (Envir.Version > 28)
                {
                    if (!reader.ReadBoolean())
                    {
                        continue;
                    }
                }
                GuildStorageItem Guilditem = new GuildStorageItem()
                {
                    Item   = new UserItem(reader, Envir.LoadVersion),
                    UserId = reader.ReadInt64()
                };

                if (SMain.Envir.BindItem(Guilditem.Item) && j < StoredItems.Length)
                {
                    StoredItems[j] = Guilditem;
                }
            }
            int BuffCount = reader.ReadInt32();

            for (int j = 0; j < BuffCount; j++)
            {
                BuffList.Add(new GuildBuff(reader));
            }

            int NoticeCount = reader.ReadInt32();

            for (int j = 0; j < NoticeCount; j++)
            {
                Notice.Add(reader.ReadString());
            }
            if (Level < Settings.Guild_ExperienceList.Count)
            {
                MaxExperience = Settings.Guild_ExperienceList[Level];
            }
            if (Level < Settings.Guild_MembercapList.Count)
            {
                MemberCap = Settings.Guild_MembercapList[Level];
            }
        }