View Single Post
Old 03-15-2007, 04:47 AM   #6 (permalink)
viront
Forum Novice
 
Join Date: Jan 2006
Location: Illinios
Age: 25
Posts: 162
Send a message via ICQ to viront
Default

Here is the script changes to broadcast a message when the sigil is taken or lost.

RunUO 2.0 RC1-
In Sigil.cs (changes in red)
Taken:
Code:
		public override void OnAdded( object parent )
		{
			base.OnAdded( parent );

			Mobile mob = FindOwner( parent );

			if ( mob != null )
				mob.SolidHueOverride = OwnershipHue;

            World.Broadcast(0xB, true, "{0} has taken {1}'s faction sigil!", mob, m_Town);

		}
Returned:
Code:
		public override void OnRemoved( object parent )
		{
			base.OnRemoved( parent );

			Mobile mob = FindOwner( parent );

			if ( mob != null )
				mob.SolidHueOverride = -1;

            World.Broadcast(0xB, true, "{0} has lost {1}'s faction sigil!", mob, m_Town);
		}
Lost:
Code:
		public bool ReturnHome()
		{
			BaseMonolith monolith = m_LastMonolith;

			if ( monolith == null && m_Town != null )
				monolith = m_Town.Monolith;

			if ( monolith != null && !monolith.Deleted )
				monolith.Sigil = this;

            World.Broadcast(0xB, true, "{0}'s faction sigil has been returned.", m_Town);

			return ( monolith != null && !monolith.Deleted );
		}
I'm taking a look at Knives' Chat to see if he has an easy and efficient way to send messages to specific factions.

You could also add change Stealing.cs if you only wanted the message displayed when the sigil is stolen:

Code:
							else
							{
								if ( sig.IsBeingCorrupted )
									sig.GraceStart = DateTime.Now; // begin grace period

								m_Thief.SendLocalizedMessage( 1010586 ); // YOU STOLE THE SIGIL!!!   (woah, calm down now)

                                World.Broadcast(0xB, true, "{0} has stolen the faction sigil from {1}!", m_Thief, sig.Town);

								if ( sig.LastMonolith != null )
									sig.LastMonolith.Sigil = null;

								sig.LastStolen = DateTime.Now;

								return sig;
							}
I like the idea of a gump Ilutzio, if you wanted to keep it 'RP' you could have an NPC that the players talk to or an item that you can purchase from an Event Vendor.
__________________
Meh.
viront is offline   Reply With Quote