mirror of
https://github.com/YGGverse/hlsdk-portable.git
synced 2025-03-13 05:51:19 +00:00
Add suspicious parameter for talk monsters
This commit is contained in:
parent
97ba3e80e7
commit
c526fd2214
@ -365,7 +365,8 @@ void CBarney::Spawn()
|
||||
m_afCapability = bits_CAP_HEAR | bits_CAP_TURN_HEAD | bits_CAP_DOORS_GROUP;
|
||||
|
||||
MonsterInit();
|
||||
SetUse( &CTalkMonster::FollowerUse );
|
||||
if (!m_fStartSuspicious)
|
||||
SetUse( &CTalkMonster::FollowerUse );
|
||||
}
|
||||
|
||||
//=========================================================
|
||||
|
@ -73,7 +73,8 @@ void CCleansuitScientist::Spawn(void)
|
||||
pev->skin = 1;
|
||||
|
||||
MonsterInit();
|
||||
SetUse(&CScientist::FollowerUse);
|
||||
if (!m_fStartSuspicious)
|
||||
SetUse(&CScientist::FollowerUse);
|
||||
}
|
||||
|
||||
//=========================================================
|
||||
|
@ -205,7 +205,8 @@ void COtis::Spawn()
|
||||
}
|
||||
|
||||
MonsterInit();
|
||||
SetUse(&COtis::FollowerUse);
|
||||
if (!m_fStartSuspicious)
|
||||
SetUse(&COtis::FollowerUse);
|
||||
}
|
||||
|
||||
//=========================================================
|
||||
|
@ -588,7 +588,8 @@ void CScientist::Spawn( void )
|
||||
pev->skin = 1;
|
||||
|
||||
MonsterInit();
|
||||
SetUse( &CTalkMonster::FollowerUse );
|
||||
if (!m_fStartSuspicious)
|
||||
SetUse( &CTalkMonster::FollowerUse );
|
||||
}
|
||||
|
||||
//=========================================================
|
||||
|
@ -46,6 +46,7 @@ TYPEDESCRIPTION CTalkMonster::m_SaveData[] =
|
||||
DEFINE_FIELD( CTalkMonster, m_flLastSaidSmelled, FIELD_TIME ),
|
||||
DEFINE_FIELD( CTalkMonster, m_flStopTalkTime, FIELD_TIME ),
|
||||
DEFINE_FIELD( CTalkMonster, m_hTalkTarget, FIELD_EHANDLE ),
|
||||
DEFINE_FIELD( CTalkMonster, m_fStartSuspicious, FIELD_BOOLEAN ),
|
||||
};
|
||||
|
||||
IMPLEMENT_SAVERESTORE( CTalkMonster, CSquadMonster )
|
||||
@ -1298,6 +1299,15 @@ void CTalkMonster::TrySmellTalk( void )
|
||||
}
|
||||
}
|
||||
|
||||
void CTalkMonster::StartMonster()
|
||||
{
|
||||
CBaseMonster::StartMonster();
|
||||
if (m_fStartSuspicious) {
|
||||
ALERT(at_console, "Talk Monster Pre-Provoked\n");
|
||||
Remember(bits_MEMORY_PROVOKED);
|
||||
}
|
||||
}
|
||||
|
||||
int CTalkMonster::IRelationship( CBaseEntity *pTarget )
|
||||
{
|
||||
if( pTarget->IsPlayer() )
|
||||
@ -1401,6 +1411,11 @@ void CTalkMonster::KeyValue( KeyValueData *pkvd )
|
||||
m_iszUnUse = ALLOC_STRING( pkvd->szValue );
|
||||
pkvd->fHandled = TRUE;
|
||||
}
|
||||
else if( FStrEq( pkvd->szKeyName, "suspicious" ) )
|
||||
{
|
||||
m_fStartSuspicious = atoi( pkvd->szValue );
|
||||
pkvd->fHandled = TRUE;
|
||||
}
|
||||
else
|
||||
CBaseMonster::KeyValue( pkvd );
|
||||
}
|
||||
|
@ -109,6 +109,7 @@ public:
|
||||
int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
|
||||
void Touch( CBaseEntity *pOther );
|
||||
void Killed( entvars_t *pevAttacker, int iGib );
|
||||
void StartMonster( void );
|
||||
int IRelationship ( CBaseEntity *pTarget );
|
||||
virtual int CanPlaySentence( BOOL fDisregardState );
|
||||
virtual void PlaySentence( const char *pszSentence, float duration, float volume, float attenuation );
|
||||
@ -175,6 +176,7 @@ public:
|
||||
float m_flStopTalkTime;// when in the future that I'll be done saying this sentence.
|
||||
|
||||
EHANDLE m_hTalkTarget; // who to look at while talking
|
||||
BOOL m_fStartSuspicious;
|
||||
CUSTOM_SCHEDULES
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user