public override void Deserialize(GenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); m_WarStone = (WarStone)reader.ReadItem(); }
public WarStoneGump(Mobile beholder, WarStone warStone) : base(20, 30) { m_Player = beholder; m_WarStone = warStone; Dragable = true; AddPage(0); AddBackground(0, 0, 550, 400, 5054); AddBackground(10, 10, 530, 380, 3000); AddHtml(20, 15, 200, 35, warStone.Name, false, false); AddHtml(220, 15, 250, 35, warStone.Leader.Name + " " + warStone.Leader.Title, false, false); AddHtml(55, 50, 100, 20, "Loyal to:", false, false); AddHtml(55, 70, 470, 20, warStone.Leader.Name, false, false); AddHtml(250, 50, 170, 20, "Current state of affairs:", false, false); AddHtml(250, 70, 200, 20, "Population: " + warStone.Members.Count, false, false); AddHtml(250, 90, 200, 20, "Gold: " + warStone.Gold, false, false); AddHtml(250, 110, 200, 20, "Wood: " + warStone.Wood, false, false); AddHtml(250, 130, 200, 20, "Guards / Max: " + warStone.Guards.Count + " / " + warStone.MaxGuards, false, false); AddHtml(250, 150, 200, 20, "Siege Weapons / Max: " + warStone.SiegeWeapons.Count + " / " + warStone.MaxSiegeWeapons, false, false); AddHtml(250, 170, 200, 20, "Guard Points: " + warStone.GuardPoints.Count, false, false); AddButton(20, 100, 4005, 4007, 1, GumpButtonType.Reply, 0); AddHtml(55, 100, 470, 30, "View the current citizens.", false, false); AddButton(20, 130, 4005, 4007, 2, GumpButtonType.Reply, 0); AddHtml(55, 130, 470, 30, "Add citizen to the town.", false, false); AddButton(20, 190, 4005, 4007, 3, GumpButtonType.Reply, 0); AddHtml(55, 190, 470, 30, "Deposit gold.", false, false); AddButton(20, 220, 4005, 4007, 4, GumpButtonType.Reply, 0); AddHtml(55, 220, 470, 30, "Deposit logs.", false, false); AddButton(20, 250, 4005, 4007, 5, GumpButtonType.Reply, 0); AddHtml(55, 250, 470, 30, "Hire guards. (250 gp / 20 logs)", false, false); AddButton(20, 280, 4005, 4007, 6, GumpButtonType.Reply, 0); AddHtml(55, 280, 470, 30, "Purchase guard point. (10 gp)", false, false); AddButton(20, 310, 4005, 4007, 7, GumpButtonType.Reply, 0); AddHtml(55, 310, 470, 30, "Purchase Siege Weapon. (Cannon/1000gp)", false, false); AddButton(20, 360, 4005, 4007, 0, GumpButtonType.Reply, 0); AddHtmlLocalized(55, 360, 470, 30, 1011441, false, false); // EXIT }
public InternalTarget(int task, WarStone theStone) : base(1, false, TargetFlags.None) { m_Task = task; m_WarStone = theStone; }
public static void Defrag(WarStone theStone) { ArrayList checkMembers = new ArrayList(); ArrayList checkGuards = new ArrayList(); ArrayList checkGuardPoints = new ArrayList(); ArrayList checkSiegeWeapons = new ArrayList(); foreach (Mobile m in theStone.Members) { TeiravonMobile m_Player = (TeiravonMobile)m; if (m.Deleted || m == null || !m.Player || m_Player.Town != theStone) { checkMembers.Add(m); } } foreach (Mobile m in theStone.Guards) { if (m == null || m.Player || !m.Alive || m.Deleted) { checkGuards.Add(m); } } foreach (Item m in theStone.GuardPoints) { if (m.Deleted || m == null) { checkGuardPoints.Add(m); } } foreach (Item m in theStone.SiegeWeapons) { if (m.Deleted || m == null) { checkSiegeWeapons.Add(m); } } for (int i = 0; i < checkMembers.Count; ++i) { theStone.Members.Remove(((Mobile)checkMembers[i])); } for (int i = 0; i < checkGuards.Count; ++i) { theStone.Guards.Remove(((Mobile)checkGuards[i])); } for (int i = 0; i < checkGuardPoints.Count; ++i) { theStone.GuardPoints.Remove(((Item)checkGuardPoints[i])); } for (int i = 0; i < checkSiegeWeapons.Count; ++i) { theStone.SiegeWeapons.Remove(((Item)checkSiegeWeapons[i])); } return; }