Example #1
0
        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;
 }
Example #4
0
        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;
        }