|
|
|
@ -119,6 +119,7 @@ private:
@@ -119,6 +119,7 @@ private:
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
LINK_ENTITY_TO_CLASS( monster_scientist, CScientist ) |
|
|
|
|
LINK_ENTITY_TO_CLASS( monster_gus, CScientist ) |
|
|
|
|
|
|
|
|
|
TYPEDESCRIPTION CScientist::m_SaveData[] = |
|
|
|
|
{ |
|
|
|
@ -639,7 +640,10 @@ void CScientist::Spawn( void )
@@ -639,7 +640,10 @@ void CScientist::Spawn( void )
|
|
|
|
|
{ |
|
|
|
|
Precache(); |
|
|
|
|
|
|
|
|
|
SET_MODEL( ENT( pev ), "models/scientist.mdl" ); |
|
|
|
|
if( FClassnameIs( pev, "monster_gus" ) ) |
|
|
|
|
SET_MODEL( ENT( pev ), "models/gus.mdl" ); |
|
|
|
|
else |
|
|
|
|
SET_MODEL( ENT( pev ), "models/scientist.mdl" ); |
|
|
|
|
UTIL_SetSize( pev, VEC_HUMAN_HULL_MIN, VEC_HUMAN_HULL_MAX ); |
|
|
|
|
|
|
|
|
|
pev->solid = SOLID_SLIDEBOX; |
|
|
|
@ -676,7 +680,11 @@ void CScientist::Spawn( void )
@@ -676,7 +680,11 @@ void CScientist::Spawn( void )
|
|
|
|
|
//=========================================================
|
|
|
|
|
void CScientist::Precache( void ) |
|
|
|
|
{ |
|
|
|
|
PRECACHE_MODEL( "models/scientist.mdl" ); |
|
|
|
|
if( FClassnameIs( pev, "monster_gus" ) ) |
|
|
|
|
PRECACHE_MODEL( "models/gus.mdl" ); |
|
|
|
|
else |
|
|
|
|
PRECACHE_MODEL( "models/scientist.mdl" ); |
|
|
|
|
|
|
|
|
|
PRECACHE_SOUND( "scientist/sci_pain1.wav" ); |
|
|
|
|
PRECACHE_SOUND( "scientist/sci_pain2.wav" ); |
|
|
|
|
PRECACHE_SOUND( "scientist/sci_pain3.wav" ); |
|
|
|
@ -1052,7 +1060,10 @@ MONSTERSTATE CScientist::GetIdealState( void )
@@ -1052,7 +1060,10 @@ MONSTERSTATE CScientist::GetIdealState( void )
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
BOOL CScientist::CanHeal( void ) |
|
|
|
|
{ |
|
|
|
|
{ |
|
|
|
|
if( FClassnameIs( pev, "monster_gus" ) ) |
|
|
|
|
return FALSE; |
|
|
|
|
|
|
|
|
|
if( ( m_healTime > gpGlobals->time ) || ( m_hTargetEnt == 0 ) || ( m_hTargetEnt->pev->health > ( m_hTargetEnt->pev->max_health * 0.5 ) ) ) |
|
|
|
|
return FALSE; |
|
|
|
|
|
|
|
|
@ -1121,14 +1132,23 @@ void CDeadScientist::KeyValue( KeyValueData *pkvd )
@@ -1121,14 +1132,23 @@ void CDeadScientist::KeyValue( KeyValueData *pkvd )
|
|
|
|
|
CBaseMonster::KeyValue( pkvd ); |
|
|
|
|
} |
|
|
|
|
LINK_ENTITY_TO_CLASS( monster_scientist_dead, CDeadScientist ) |
|
|
|
|
LINK_ENTITY_TO_CLASS( monster_gus_dead, CDeadScientist ) |
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
// ********** DeadScientist SPAWN **********
|
|
|
|
|
//
|
|
|
|
|
void CDeadScientist::Spawn() |
|
|
|
|
{ |
|
|
|
|
PRECACHE_MODEL( "models/scientist.mdl" ); |
|
|
|
|
SET_MODEL( ENT( pev ), "models/scientist.mdl" ); |
|
|
|
|
if( FClassnameIs( pev, "monster_gus" ) ) |
|
|
|
|
{ |
|
|
|
|
PRECACHE_MODEL( "models/gus.mdl" ); |
|
|
|
|
SET_MODEL( ENT( pev ), "models/gus.mdl" ); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
PRECACHE_MODEL( "models/scientist.mdl" ); |
|
|
|
|
SET_MODEL( ENT( pev ), "models/scientist.mdl" ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
pev->effects = 0; |
|
|
|
|
pev->sequence = 0; |
|
|
|
|