Beispiel #1
0
        public void Reappear(Mobile target)
        {
            Hits  += 50;
            Frozen = false;

            if (!Alive || target == null || target.Deleted || !target.Alive || !target.InRange(m_NewLocation, 10))
            {
                MoveToWorld(m_NewLocation, m_NewMap);
            }
            else
            {
                Point3D location = target.Location;

                if (SpellHelper.FindValidSpawnLocation(m_NewMap, ref location, true))
                {
                    Hole hole = new Hole(0xF34);
                    hole.MoveToWorld(location, m_NewMap);
                    hole = new Hole(0x1363);
                    hole.MoveToWorld(location, m_NewMap);

                    MoveToWorld(location, m_NewMap);
                }
                else
                {
                    MoveToWorld(m_NewLocation, m_NewMap);
                }
            }

            Combatant = target;
        }
Beispiel #2
0
        public void EndTunneling(Mobile target)
        {
            Hole hole = new Hole(0x1363);

            hole.MoveToWorld(Location, Map);

            Internalize();

            m_TunnelTimer = Timer.DelayCall <Mobile>(TimeSpan.FromSeconds(3), new TimerStateCallback <Mobile>(Reappear), target);
        }
Beispiel #3
0
        public void BeginTunneling()
        {
            Mobile m = Combatant;

            if (m == null || m.Deleted || !m.Alive || !Alive || m_NextTunneling > DateTime.Now || !CanBeHarmful(m) || !m.InRange(this, 2))
            {
                return;
            }

            Frozen = true;

            Hole hole = new Hole(0xF34);

            hole.MoveToWorld(Location, Map);

            m_NewLocation = Location;
            m_NewMap      = Map;

            PlaySound(0x21E);
            Say("* The ant lion begins tunneling into the ground *");

            m_TunnelTimer   = Timer.DelayCall <Mobile>(TimeSpan.FromSeconds(3), new TimerStateCallback <Mobile>(EndTunneling), m);
            m_NextTunneling = DateTime.Now + TimeSpan.FromSeconds(Utility.RandomMinMax(12, 20));
        }
Beispiel #4
0
		public void Reappear( Mobile target )
		{
			Hits += 50;
			Frozen = false;

			if ( !Alive || target == null || target.Deleted || !target.Alive || !target.InRange( m_NewLocation, 10 ) )
			{
				MoveToWorld( m_NewLocation, m_NewMap );
			}
			else
			{
				Point3D location = target.Location;

				if ( SpellHelper.FindValidSpawnLocation( m_NewMap, ref location, true ) )
				{
					Hole hole = new Hole( 0xF34 );
					hole.MoveToWorld( location, m_NewMap );
					hole = new Hole( 0x1363 );
					hole.MoveToWorld( location, m_NewMap );

					MoveToWorld( location, m_NewMap );
				}
				else
					MoveToWorld( m_NewLocation, m_NewMap );
			}

			Combatant = target;
		}
Beispiel #5
0
		public void EndTunneling( Mobile target )
		{
			Hole hole = new Hole( 0x1363 );
			hole.MoveToWorld( Location, Map );

			Internalize();

			m_TunnelTimer = Timer.DelayCall<Mobile>( TimeSpan.FromSeconds( 3 ), new TimerStateCallback<Mobile>( Reappear ), target );
		}
Beispiel #6
0
		public void BeginTunneling()
		{
			Mobile m = Combatant;

			if ( m == null || m.Deleted || !m.Alive || !Alive || m_NextTunneling > DateTime.Now || !CanBeHarmful( m ) || !m.InRange( this, 2 ) )
				return;

			Frozen = true;

			Hole hole = new Hole( 0xF34 );
			hole.MoveToWorld( Location, Map );

			m_NewLocation = Location;
			m_NewMap = Map;

			PlaySound( 0x21E );
			Say( "* The ant lion begins tunneling into the ground *" );

			m_TunnelTimer = Timer.DelayCall<Mobile>( TimeSpan.FromSeconds( 3 ), new TimerStateCallback<Mobile>( EndTunneling ), m );
			m_NextTunneling = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 12, 20 ) );
		}