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;
|
m_afCapability = bits_CAP_HEAR | bits_CAP_TURN_HEAD | bits_CAP_DOORS_GROUP;
|
||||||
|
|
||||||
MonsterInit();
|
MonsterInit();
|
||||||
SetUse( &CTalkMonster::FollowerUse );
|
if (!m_fStartSuspicious)
|
||||||
|
SetUse( &CTalkMonster::FollowerUse );
|
||||||
}
|
}
|
||||||
|
|
||||||
//=========================================================
|
//=========================================================
|
||||||
|
@ -73,7 +73,8 @@ void CCleansuitScientist::Spawn(void)
|
|||||||
pev->skin = 1;
|
pev->skin = 1;
|
||||||
|
|
||||||
MonsterInit();
|
MonsterInit();
|
||||||
SetUse(&CScientist::FollowerUse);
|
if (!m_fStartSuspicious)
|
||||||
|
SetUse(&CScientist::FollowerUse);
|
||||||
}
|
}
|
||||||
|
|
||||||
//=========================================================
|
//=========================================================
|
||||||
|
@ -205,7 +205,8 @@ void COtis::Spawn()
|
|||||||
}
|
}
|
||||||
|
|
||||||
MonsterInit();
|
MonsterInit();
|
||||||
SetUse(&COtis::FollowerUse);
|
if (!m_fStartSuspicious)
|
||||||
|
SetUse(&COtis::FollowerUse);
|
||||||
}
|
}
|
||||||
|
|
||||||
//=========================================================
|
//=========================================================
|
||||||
|
@ -588,7 +588,8 @@ void CScientist::Spawn( void )
|
|||||||
pev->skin = 1;
|
pev->skin = 1;
|
||||||
|
|
||||||
MonsterInit();
|
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_flLastSaidSmelled, FIELD_TIME ),
|
||||||
DEFINE_FIELD( CTalkMonster, m_flStopTalkTime, FIELD_TIME ),
|
DEFINE_FIELD( CTalkMonster, m_flStopTalkTime, FIELD_TIME ),
|
||||||
DEFINE_FIELD( CTalkMonster, m_hTalkTarget, FIELD_EHANDLE ),
|
DEFINE_FIELD( CTalkMonster, m_hTalkTarget, FIELD_EHANDLE ),
|
||||||
|
DEFINE_FIELD( CTalkMonster, m_fStartSuspicious, FIELD_BOOLEAN ),
|
||||||
};
|
};
|
||||||
|
|
||||||
IMPLEMENT_SAVERESTORE( CTalkMonster, CSquadMonster )
|
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 )
|
int CTalkMonster::IRelationship( CBaseEntity *pTarget )
|
||||||
{
|
{
|
||||||
if( pTarget->IsPlayer() )
|
if( pTarget->IsPlayer() )
|
||||||
@ -1401,6 +1411,11 @@ void CTalkMonster::KeyValue( KeyValueData *pkvd )
|
|||||||
m_iszUnUse = ALLOC_STRING( pkvd->szValue );
|
m_iszUnUse = ALLOC_STRING( pkvd->szValue );
|
||||||
pkvd->fHandled = TRUE;
|
pkvd->fHandled = TRUE;
|
||||||
}
|
}
|
||||||
|
else if( FStrEq( pkvd->szKeyName, "suspicious" ) )
|
||||||
|
{
|
||||||
|
m_fStartSuspicious = atoi( pkvd->szValue );
|
||||||
|
pkvd->fHandled = TRUE;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
CBaseMonster::KeyValue( pkvd );
|
CBaseMonster::KeyValue( pkvd );
|
||||||
}
|
}
|
||||||
|
@ -109,6 +109,7 @@ public:
|
|||||||
int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
|
int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType);
|
||||||
void Touch( CBaseEntity *pOther );
|
void Touch( CBaseEntity *pOther );
|
||||||
void Killed( entvars_t *pevAttacker, int iGib );
|
void Killed( entvars_t *pevAttacker, int iGib );
|
||||||
|
void StartMonster( void );
|
||||||
int IRelationship ( CBaseEntity *pTarget );
|
int IRelationship ( CBaseEntity *pTarget );
|
||||||
virtual int CanPlaySentence( BOOL fDisregardState );
|
virtual int CanPlaySentence( BOOL fDisregardState );
|
||||||
virtual void PlaySentence( const char *pszSentence, float duration, float volume, float attenuation );
|
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.
|
float m_flStopTalkTime;// when in the future that I'll be done saying this sentence.
|
||||||
|
|
||||||
EHANDLE m_hTalkTarget; // who to look at while talking
|
EHANDLE m_hTalkTarget; // who to look at while talking
|
||||||
|
BOOL m_fStartSuspicious;
|
||||||
CUSTOM_SCHEDULES
|
CUSTOM_SCHEDULES
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user