public override void OnSpeech( SpeechEventArgs e )
{
if ( CheckDecay() )
return;
Mobile from = e.Mobile;
if ( Contains( from ) )
{
for ( int i = 0; i < e.Keywords.Length; ++i )
{
int keyword = e.Keywords[i];
if ( keyword >= 0x42 && keyword <= 0x6B )
{
switch ( keyword )
{
case 0x42: SetName( e ); break;
case 0x43: RemoveName( e.Mobile ); break;
case 0x44: GiveName( ); break;
case 0x45: StartMove( Forward, true ); break;
case 0x46: StartMove( Backward, true ); break;
case 0x47: StartMove( Left, true ); break;
case 0x48: StartMove( Right, true ); break;
case 0x4B: StartMove( ForwardLeft, true ); break;
case 0x4C: StartMove( ForwardRight, true ); break;
case 0x4D: StartMove( BackwardLeft, true ); break;
case 0x4E: StartMove( BackwardRight, true ); break;
case 0x4F: StopMove( true ); break;
case 0x50: StartMove( Left, false ); break;
case 0x51: StartMove( Right, false ); break;
case 0x52: StartMove( Forward, false ); break;
case 0x53: StartMove( Backward, false ); break;
case 0x54: StartMove( ForwardLeft, false ); break;
case 0x55: StartMove( ForwardRight, false ); break;
case 0x56: StartMove( BackwardRight, false ); break;
case 0x57: StartMove( BackwardLeft, false ); break;
case 0x58: OneMove( Left ); break;
case 0x59: OneMove( Right ); break;
case 0x5A: OneMove( Forward ); break;
case 0x5B: OneMove( Backward ); break;
case 0x5C: OneMove( ForwardLeft ); break;
case 0x5D: OneMove( ForwardRight ); break;
case 0x5E: OneMove( BackwardRight ); break;
case 0x5F: OneMove( BackwardLeft ); break;
case 0x49: case 0x65: StartTurn( 2, true ); break; // turn right
case 0x4A: case 0x66: StartTurn( -2, true ); break; // turn left
case 0x67: StartTurn( -4, true ); break; // turn around, come about
case 0x68: StartMove( Forward, true ); break;
case 0x69: StopMove( true ); break;
case 0x6A: LowerAnchor( true ); break;
case 0x6B: RaiseAnchor( true ); break;
case 0x60: GiveNavPoint(); break; // nav
case 0x61: NextNavPoint = 0; StartCourse( false, true ); break; // start
case 0x62: StartCourse( false, true ); break; // continue
case 0x63: StartCourse( e.Speech, false, true ); break; // goto*
case 0x64: StartCourse( e.Speech, true, true ); break; // single*
}
break;
}
}
}
}