//----------------------------------------------------------------------------- // Purpose: Placeholder for rules based response system // Input : concept - // Output : Returns true on success, false on failure. //----------------------------------------------------------------------------- bool CAI_Expresser::Speak( AIConcept_t concept, const char *modifiers /*= NULL*/, char *pszOutResponseChosen /* = NULL*/, size_t bufsize /* = 0 */, IRecipientFilter *filter /* = NULL */ ) { AI_Response *result = SpeakFindResponse( concept, modifiers ); if ( !result ) { return false; } SpeechMsg( GetOuter(), "%s (%x) spoke %s (%f)\n", STRING(GetOuter()->GetEntityName()), GetOuter(), concept, gpGlobals->curtime ); bool spoke = SpeakDispatchResponse( concept, result, filter ); if ( pszOutResponseChosen ) { result->GetResponse( pszOutResponseChosen, bufsize ); } return spoke; }
//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- AI_Response *CBaseMultiplayerPlayer::SpeakConcept( int iConcept ) { m_iCurrentConcept = iConcept; return SpeakFindResponse( g_pszMPConcepts[iConcept] ); }