Example #1
0
 public DeleteTimer(StaffTool stone)
     : base(TimeSpan.FromSeconds(5.0))
 {
     me = stone;
 }
Example #2
0
        protected override void OnTarget(Mobile from, object o)
        {
            IPoint3D p = o as IPoint3D;
            m_Object = o;

            if (p != null)
            {
                if (m_Object is Mobile)
                {
                    Mobile m = (Mobile)m_Object;
                    Account acc = (Account)m.Account;
                    StaffTool stone = null;

                    StaffTool nstn = new StaffTool();

                    Container pack = from.Backpack;

                    if (pack != null)
                        m_Item = pack.FindItemByType(typeof(StaffTool), true);

                    if (m_Item != null)
                        stone = m_Item as StaffTool;

                    StaffTool thing = m.Backpack.FindItemByType(typeof(StaffTool), true) as StaffTool;
                    if (thing != null)
                    {
                        thing.deleting = true;
                        thing.DoDelete(thing);
                    }

                    if (stone != null)
                    {
                        m_SLevel = stone.GumpChoice;
                    }

                    if (!m.Deleted && m.Player)
                    {
                        if (SLevel == 0)
                        {
                            if (from.AccessLevel == AccessLevel.Player)
                            {
                                from.SendMessage("You can Not Change someones accesslevel who is equal to yours!");
                                return;
                            }
                            else if (from.AccessLevel < AccessLevel.Player)
                            {
                                from.SendMessage("You can Not Change someones accesslevel who is greater than yours!");
                                return;
                            }
                            else
                            {
                                from.SendMessage("You Changed someones accesslevel to a Player!");
                                acc.AccessLevel = m.AccessLevel = AccessLevel.Player;
                            }
                        }
                        if (SLevel == 1)
                        {
                            if (from.AccessLevel == AccessLevel.Counselor)
                            {
                                from.SendMessage("You can Not Change someones accesslevel who is equal to yours!");
                                return;
                            }
                            else if (from.AccessLevel < AccessLevel.Counselor)
                            {
                                from.SendMessage("You can Not Change someones accesslevel who is greater than yours!");
                                return;
                            }
                            else
                            {
                                from.SendMessage("You Changed someones accesslevel to a Counselor!");
                                acc.AccessLevel = m.AccessLevel = AccessLevel.Counselor;
                                nstn.Owner = m;
                                nstn.Name = m.Name + "'s Staff Stone";
                                nstn.StaffLevel = m.AccessLevel;
                                nstn.LootType = LootType.Blessed;
                                nstn.HomeLocation = m.Location;
                                nstn.HomeMap = m.Map;
                                if (m.Title != null)
                                    nstn.Title = m.Title;
                                m.AddToBackpack(nstn);
                                //m.BoltEffect( 0 );
                            }
                        }
                        if (SLevel == 2)
                        {
                            if (from.AccessLevel == AccessLevel.Seer)
                            {
                                from.SendMessage("You can Not Change someones accesslevel who is equal to yours!");
                                return;
                            }
                            else if (from.AccessLevel < AccessLevel.Seer)
                            {
                                from.SendMessage("You can Not Change someones accesslevel who is greater than yours!");
                                return;
                            }
                            else
                            {
                                from.SendMessage("You Changed someones accesslevel to a Seer!");
                                acc.AccessLevel = m.AccessLevel = AccessLevel.Seer;
                                nstn.Owner = m;
                                nstn.Name = m.Name + "'s Staff Stone";
                                nstn.StaffLevel = m.AccessLevel;
                                nstn.LootType = LootType.Blessed;
                                nstn.HomeLocation = m.Location;
                                nstn.HomeMap = m.Map;
                                if (m.Title != null)
                                    nstn.Title = m.Title;
                                m.AddToBackpack(nstn);
                                //m.BoltEffect( 0 );
                            }
						}
						if (SLevel == 3)
						{
							if (from.AccessLevel == AccessLevel.EventMaster)
							{
								from.SendMessage("You can Not Change someones accesslevel who is equal to yours!");
								return;
							}
							else if (from.AccessLevel < AccessLevel.EventMaster)
							{
								from.SendMessage("You can Not Change someones accesslevel who is greater than yours!");
								return;
							}
							else
							{
								from.SendMessage("You Changed someones accesslevel to a EventMaster!");
								acc.AccessLevel = m.AccessLevel = AccessLevel.EventMaster;
								nstn.Owner = m;
								nstn.Name = m.Name + "'s Staff Stone";
								nstn.StaffLevel = m.AccessLevel;
								nstn.LootType = LootType.Blessed;
								nstn.HomeLocation = m.Location;
								nstn.HomeMap = m.Map;
								if (m.Title != null)
									nstn.Title = m.Title;
								m.AddToBackpack(nstn);
								//m.BoltEffect( 0 );
							}
						}
						if (SLevel == 4)
						{
							if (from.AccessLevel == AccessLevel.GameMaster)
							{
								from.SendMessage("You can Not Change someones accesslevel who is equal to yours!");
								return;
							}
							else if (from.AccessLevel < AccessLevel.GameMaster)
							{
								from.SendMessage("You can Not Change someones accesslevel who is greater than yours!");
								return;
							}
							else
							{
								from.SendMessage("You Changed someones accesslevel to a GameMaster!");
								acc.AccessLevel = m.AccessLevel = AccessLevel.GameMaster;
								nstn.Owner = m;
								nstn.Name = m.Name + "'s Staff Stone";
								nstn.StaffLevel = m.AccessLevel;
								nstn.LootType = LootType.Blessed;
								nstn.HomeLocation = m.Location;
								nstn.HomeMap = m.Map;
								if (m.Title != null)
									nstn.Title = m.Title;
								m.AddToBackpack(nstn);
								//m.BoltEffect( 0 );
							}
						}
						if (SLevel == 5)
						{
							if (from.AccessLevel == AccessLevel.Lead)
							{
								from.SendMessage("You can Not Change someones accesslevel who is equal to yours!");
								return;
							}
							else if (from.AccessLevel < AccessLevel.Lead)
							{
								from.SendMessage("You can Not Change someones accesslevel who is greater than yours!");
								return;
							}
							else
							{
								from.SendMessage("You Changed someones accesslevel to a Lead!");
								acc.AccessLevel = m.AccessLevel = AccessLevel.Lead;
								nstn.Owner = m;
								nstn.Name = m.Name + "'s Staff Stone";
								nstn.StaffLevel = m.AccessLevel;
								nstn.LootType = LootType.Blessed;
								nstn.HomeLocation = m.Location;
								nstn.HomeMap = m.Map;
								if (m.Title != null)
									nstn.Title = m.Title;
								m.AddToBackpack(nstn);
								//m.BoltEffect( 0 );
							}
						}
						if (SLevel == 6)
						{
							if (from.AccessLevel < AccessLevel.Administrator)
							{
								from.SendMessage("You can Not Change someones accesslevel who is greater than yours!");
								return;
							}
							else
							{
								from.SendMessage("You Changed someones accesslevel to an Administrator!");
								acc.AccessLevel = m.AccessLevel = AccessLevel.Administrator;
								nstn.Owner = m;
								nstn.Name = m.Name + "'s Staff Stone";
								nstn.StaffLevel = m.AccessLevel;
								nstn.LootType = LootType.Blessed;
								nstn.HomeLocation = m.Location;
								nstn.HomeMap = m.Map;
								if (m.Title != null)
									nstn.Title = m.Title;
								m.AddToBackpack(nstn);
								//m.BoltEffect( 0 );
							}
						}
						if (SLevel == 7)
						{
							if (from.AccessLevel < AccessLevel.Developer)
							{
								from.SendMessage("You can Not Change someones accesslevel who is greater than yours!");
								return;
							}
							else
							{
								from.SendMessage("You Changed someones accesslevel to a Developer!");
								acc.AccessLevel = m.AccessLevel = AccessLevel.Developer;
								nstn.Owner = m;
								nstn.Name = m.Name + "'s Staff Stone";
								nstn.StaffLevel = m.AccessLevel;
								nstn.LootType = LootType.Blessed;
								nstn.HomeLocation = m.Location;
								nstn.HomeMap = m.Map;
								if (m.Title != null)
									nstn.Title = m.Title;
								m.AddToBackpack(nstn);
								//m.BoltEffect( 0 );
							}
						}
                        if (SLevel == 8)
                        {
                            if (from.AccessLevel < AccessLevel.Owner)
                            {
                                from.SendMessage("You can Not Change someones accesslevel who is greater than yours!");
                                return;
                            }
                            else
                            {
                                from.SendMessage("You Changed someones accesslevel to an Owner!");
                                acc.AccessLevel = m.AccessLevel = AccessLevel.Owner;
                                nstn.Owner = m;
                                nstn.Name = m.Name + "'s Staff Stone";
                                nstn.StaffLevel = m.AccessLevel;
                                nstn.LootType = LootType.Blessed;
                                nstn.HomeLocation = m.Location;
                                nstn.HomeMap = m.Map;
                                if (m.Title != null)
                                    nstn.Title = m.Title;
                                m.AddToBackpack(nstn);
                                //m.BoltEffect( 0 );
                            }
                        }
                    }
                    else if (!m.Player)
                    {
                        from.SendMessage("This can only be used on Players!");
                        return;
                    }
                }
            }
        }
Example #3
0
 public ToggleVisEntry(Mobile from, Item item)
     : base(0510) // uses "Toggle Vis" entry
 {
     m_Item = item as StaffTool;
     m_Mobile = from;
 }
Example #4
0
 public void DoDelete(StaffTool me)
 {
     if (deleting)
     {
         me.Say(String.Format("Oh what a cruel world we live in! They are purging me from the system!"));
         new DeleteTimer(me).Start();
     }
 }
Example #5
0
 public SetTitleEntry(Mobile from, Item item)
     : base(0165) // uses "Title" entry
 {
     m_Item = (StaffTool)item;
     m_Mobile = from;
 }
Example #6
0
 public MenuEntry(Mobile from, Item item)
     : base(2132) // uses "Configure" entry
 {
     m_Item = item as StaffTool;
     m_Mobile = from;
 }
Example #7
0
 public SetHomeEntry(Mobile from, Item item)
     : base(2055) // uses "Mark" entry
 {
     m_Item = (StaffTool)item;
     m_Mobile = from;
 }
Example #8
0
 public GoHomeEntry(Mobile from, Item item)
     : base(5134) // uses "Goto Loc" entry
 {
     m_Item = (StaffTool)item;
     m_Mobile = from;
 }
Example #9
0
 // uses "Mark" entry
 public SetHomeEntry(Mobile from, Item item)
     : base(2055)
 {
     m_Item = (StaffTool)item;
     m_Mobile = from;
 }
Example #10
0
 // uses "Configure" entry
 public MenuEntry(Mobile from, Item item)
     : base(2132)
 {
     m_Item = item as StaffTool;
     m_Mobile = from;
 }
Example #11
0
 // uses "Goto Loc" entry
 public GoHomeEntry(Mobile from, Item item)
     : base(5134)
 {
     m_Item = (StaffTool)item;
     m_Mobile = from;
 }