size_t CChar::NPC_OnHearName(LPCTSTR pszText) const { ADDTOCALLSTACK("CChar::NPC_OnHearName"); // Did I just hear my name in this text ? // should be able to deal with "hi Dennis" in the future. // RETURN: // index to skip past the name. LPCTSTR pszName = GetName(); size_t i = FindStrWord(pszText, pszName); if ( i ) return i; // Named the chars type ? (must come first !) CCharBase *pCharDef = Char_GetDef(); pszName = pCharDef->GetTradeName(); for ( i = 0; pszText[i] != '\0'; i++ ) { if ( pszName[i] == '\0' ) { // found name while ( ISWHITESPACE(pszText[i]) ) i++; return i; // char name found } if ( toupper(pszName[i]) != toupper(pszText[i]) ) // not the name break; } return 0; }
size_t CChar::NPC_OnHearName( LPCTSTR pszText ) const { ADDTOCALLSTACK("CChar::NPC_OnHearName"); // Did I just hear my name in this text ? // should be able to deal with "hi Dennis" in the future. // RETURN: // index to skip past the name. LPCTSTR pszName = GetName(); size_t i = FindStrWord( pszText, pszName ); if ( i ) return( i ); if ( m_pNPC ) { // My title ? if ( m_pNPC->m_Brain == NPCBRAIN_GUARD ) { if ( ! strnicmp( pszText, "GUARD ", 6 )) return 6; } else if ( NPC_IsVendor()) { if ( ! strnicmp( pszText, "VENDOR ", 7 )) return 7; } } CCharBase * pCharDef = Char_GetDef(); // Named the chars type ? (must come first !) pszName = pCharDef->GetTradeName(); for ( i = 0; pszText[i] != '\0'; i++ ) { if ( pszName[i] == '\0' ) { // found name. while ( ISWHITESPACE( pszText[i] )) i++; return( i ); // Char name found } if ( toupper( pszName[i] ) != toupper( pszText[i] )) // not the name. break; } return( 0 ); }