public void NewBuff(int Id, bool charge = true) { GuildBuffInfo info = Envir.FindGuildBuffInfo(Id); if (info == null) { return; } GuildBuff buff = new GuildBuff() { Id = Id, Info = info, Active = true, }; buff.ActiveTimeRemaining = buff.Info.TimeLimit; if (charge) { ChargeForBuff(buff); } BuffList.Add(buff); List <GuildBuff> NewBuff = new List <GuildBuff> { buff }; SendServerPacket(new ServerPackets.GuildBuffList { ActiveBuffs = NewBuff }); //now tell everyone our new sparepoints for (int i = 0; i < Ranks.Count; i++) { for (int j = 0; j < Ranks[i].Members.Count; j++) { if (Ranks[i].Members[j].Player != null) { SendGuildStatus((PlayerObject)Ranks[i].Members[j].Player); } } } NeedSave = true; RefreshAllStats(); }
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, Envir.LoadVersion) { 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 (Name == Settings.NewbieName) { MemberCap = 1000; } if (version >= 75) { FlagImage = reader.ReadUInt16(); FlagColour = Color.FromArgb(reader.ReadInt32()); } if (version > 110) { GTRent = DateTime.FromBinary(reader.ReadInt64()); GTIndex = reader.ReadInt32(); } if (version > 117) { WarWins = reader.ReadInt32(); WarLoses = reader.ReadInt32(); WarPoints = reader.ReadInt32(); } if (Envir.LoadVersion > 143) { TaxRate = reader.ReadByte(); } }