public static void Load(Game.ConquerStructures.Society.Guild g) { MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT); cmd.Select("guild_arsenalsdonation").Where("guild_uid", g.ID); MySqlReader r = new MySqlReader(cmd); SafeDictionary<uint, ArsenalSingle> ass = new SafeDictionary<uint, ArsenalSingle>(1000); while (r.Read()) { ArsenalSingle s = new ArsenalSingle(); s.D_UID = r.ReadUInt32("d_uid"); s.Name = r.ReadString("name"); s.UID = r.ReadUInt32("item_uid"); s.Donation = r.ReadUInt32("item_donation"); s.Type = (ArsenalType)r.ReadByte("item_arsenal_type"); ass.Add(s.UID, s); } r.Close(); foreach (ArsenalSingle s in ass.Values) { s.Item = ConquerItemTable.GetSingleItem(s.UID); g.Arsenal.Inscribe(s.Type, s); } ass = new SafeDictionary<uint, ArsenalSingle>(1000); ass = null; cmd = new MySqlCommand(MySqlCommandType.SELECT); cmd.Select("guild_arsenals").Where("guild_uid", g.ID); r = new MySqlReader(cmd); if (r.Read()) { g.A_Packet.Headgear_Avaliable = r.ReadByte("head_allowed") == 1; g.A_Packet.Armor_Avaliable = r.ReadByte("armor_allowed") == 1; g.A_Packet.Weapon_Avaliable = r.ReadByte("weapon_allowed") == 1; g.A_Packet.Ring_Avaliable = r.ReadByte("ring_allowed") == 1; g.A_Packet.Boots_Avaliable = r.ReadByte("boots_allowed") == 1; g.A_Packet.Necklace_Avaliable = r.ReadByte("neck_allowed") == 1; g.A_Packet.Fan_Avaliable = r.ReadByte("fan_allowed") == 1; g.A_Packet.Tower_Avaliable = r.ReadByte("tower_allowed") == 1; } r.Close(); }
public void Inscribe(ArsenalType Type, ArsenalSingle Inscriber) { if (!Inscribed[Type].ContainsKey(Inscriber.UID)) { Inscribed[Type].Add(Inscriber.UID, Inscriber); Donation[Type] += Inscriber.Donation; } }
public void Uninscribe(ArsenalType Type, ArsenalSingle AS, Client.GameState client) { if (Inscribed[Type].ContainsKey(AS.Item.UID)) { AS.Item.Mode = Enums.ItemMode.Update; AS.Item.Inscribed = false; AS.Item.Send(client); AS.Item.Mode = Enums.ItemMode.Default; Inscribed[Type].Remove(AS.Item.UID); Database.ArsenalsTable.Delete(AS.Item.UID); Donation[Type] -= AS.Donation; } else { client.Send(new Network.GamePackets.Message("This item isn't inscribed!", System.Drawing.Color.Red, 2005)); return; } }
public void Inscribe(ArsenalType Type, Interfaces.IConquerItem Item, Client.GameState client) { if (!Inscribed[Type].ContainsKey(Item.UID)) { Item.Mode = Enums.ItemMode.Update; Item.Inscribed = true; Item.Send(client); Item.Mode = Enums.ItemMode.Default; ArsenalSingle Inscriber = new ArsenalSingle(); Inscriber.D_UID = client.Entity.UID; Inscriber.Item = Item; Inscriber.Name = client.Entity.Name; Inscriber.UID = Item.UID; Inscriber.Type = Type; Inscriber.Donation = GetDonation(Item); Inscribed[Type].Add(Inscriber.UID, Inscriber); Database.ArsenalsTable.Inscribe(Type, Inscriber.Donation, Item, client.Entity); Donation[Type] += Inscriber.Donation; } else { client.Send(new Network.GamePackets.Message("This item is already inscribed!", System.Drawing.Color.Red, 2005)); return; } }