Esempio n. 1
0
		public virtual void BeginSequence( Mobile from )
		{							
			if ( m_Peerless == null )
			{
				// spawn boss
				m_Peerless = Boss;
					
				if ( m_Peerless != null )
				{
					m_Peerless.MoveToWorld( m_BossLocation, Map );
					m_Peerless.Altar = this;
				}
				else
					return;
						
				// set deadline								
				if ( m_Timer != null )
					m_Timer.Stop();
				
				if ( TimeToSlay != TimeSpan.Zero )
				{
					m_Deadline = DateTime.Now + TimeToSlay;
					m_Timer = Timer.DelayCall( TimeSpan.FromMinutes( 5 ), TimeSpan.FromMinutes( 5 ), new TimerCallback( DeadlineCheck ) );	
					m_Timer.Priority = TimerPriority.OneMinute;
				}
			}
				
			// teleport figters
			for ( int i = 0; i < m_Fighters.Count; i ++ )
			{
				Mobile fighter = m_Fighters[ i ];
				int counter = 1;
				
				if ( from.InRange( fighter.Location, 5 ) && CanEnter( fighter ) )
				{
					Timer.DelayCall( TimeSpan.FromSeconds( counter ), new TimerStateCallback( Enter_Callback ), fighter );
											
					counter += 1;
				}
			}		
		}