Server.Mobiles.BaseCreature.CheckIdle C# (CSharp) Method

CheckIdle() public method

public CheckIdle ( ) : bool
return bool
        public virtual bool CheckIdle()
        {
            if ( Combatant != null )
                return false; // in combat.. not idling

            if ( m_IdleReleaseTime > DateTime.MinValue )
            {
                // idling...

                if ( DateTime.Now >= m_IdleReleaseTime )
                {
                    m_IdleReleaseTime = DateTime.MinValue;
                    return false; // idle is over
                }

                return true; // still idling
            }

            if ( 95 > Utility.Random( 100 ) )
                return false; // not idling, but don't want to enter idle state

            m_IdleReleaseTime = DateTime.Now + TimeSpan.FromSeconds( Utility.RandomMinMax( 15, 25 ) );

            if ( Body.IsHuman )
            {
                switch ( Utility.Random( 2 ) )
                {
                    case 0: Animate( 5, 5, 1, true,  true, 1 ); break;
                    case 1: Animate( 6, 5, 1, true, false, 1 ); break;
                }
            }
            else if ( Body.IsAnimal )
            {
                switch ( Utility.Random( 3 ) )
                {
                    case 0: Animate(  3, 3, 1, true, false, 1 ); break;
                    case 1: Animate(  9, 5, 1, true, false, 1 ); break;
                    case 2: Animate( 10, 5, 1, true, false, 1 ); break;
                }
            }
            else if ( Body.IsMonster )
            {
                switch ( Utility.Random( 2 ) )
                {
                    case 0: Animate( 17, 5, 1, true, false, 1 ); break;
                    case 1: Animate( 18, 5, 1, true, false, 1 ); break;
                }
            }

            PlaySound( GetIdleSound() );
            return true; // entered idle state
        }

Usage Example

コード例 #1
0
 public void Wander()
 {
     if (m_AI.CheckMove())
     {
         if (!m_Mobile.CheckIdle())
         {
             m_AI.WalkRandomInHome(2, 2, 1);
         }
     }
 }
BaseCreature