Esempio n. 1
0
void CASW_Parasite::Spawn( void )
{	
	SetHullType(HULL_TINY);

	BaseClass::Spawn();

	SetModel( SWARM_PARASITE_MODEL);

	if (FClassnameIs(this, "asw_parasite_defanged"))
	{
		m_bDefanged = true;
		SetBodygroup( 0, 1 );
		m_fSuicideTime = gpGlobals->curtime + 60;
	}
	else
	{
		m_bDefanged = false;
		SetBodygroup( 0, 0 );
		m_fSuicideTime = 0;
	}
	SetHealthByDifficultyLevel();

	SetMoveType( MOVETYPE_STEP );
	SetHullType(HULL_TINY);
	SetCollisionGroup( ASW_COLLISION_GROUP_PARASITE );
	SetViewOffset( Vector(6, 0, 11) ) ;		// Position of the eyes relative to NPC's origin.

	m_NPCState	= NPC_STATE_NONE;

	CapabilitiesAdd( bits_CAP_MOVE_GROUND | bits_CAP_INNATE_RANGE_ATTACK1 );

	m_bInfesting = false;
	
}
Esempio n. 2
0
//-----------------------------------------------------------------------------
// Purpose:	
// Input:	
// Output:	
//-----------------------------------------------------------------------------
void CASW_Boomer::Spawn( void )
{
	SetHullType( HULL_LARGE );

	BaseClass::Spawn();

	SetHullType( HULL_LARGE );
	SetCollisionGroup( ASW_COLLISION_GROUP_ALIEN );
	SetHealthByDifficultyLevel();
	CapabilitiesAdd( bits_CAP_MOVE_GROUND | bits_CAP_INNATE_MELEE_ATTACK1 | bits_CAP_INNATE_MELEE_ATTACK2 );
	
// 			"Health"	"435"
// 			"WalkSpeed"	"45"
// 			"RunSpeed"	"254"

	SetIdealState( NPC_STATE_ALERT );

	m_bNeverRagdoll = true;

	//softcopy: 
	//SetRenderColor(asw_boomer_color.GetColor().r(), asw_boomer_color.GetColor().g(), asw_boomer_color.GetColor().b());		//Ch1ckensCoop: Allow setting colors.
	alienLabel = "boomer";
	SetColorScale( alienLabel );

}
Esempio n. 3
0
//-----------------------------------------------------------------------------
// Purpose:	
// Input:	
// Output:	
//-----------------------------------------------------------------------------
void CASW_Ranger::Spawn( void )
{
	SetHullType( HULL_MEDIUMBIG );

	BaseClass::Spawn();

	SetHullType( HULL_MEDIUMBIG );
	SetHealthByDifficultyLevel();
	SetBloodColor( BLOOD_COLOR_GREEN );
	CapabilitiesAdd( bits_CAP_MOVE_GROUND | bits_CAP_INNATE_MELEE_ATTACK1 | bits_CAP_INNATE_RANGE_ATTACK1 );

	SetIdealState( NPC_STATE_ALERT );

	m_bNeverRagdoll = true;

	//
	// Firing patterns
	// 

	// 3 shots
	CASW_AlienVolley volley;
	volley.m_rounds.SetCount( 3 );
	volley.m_rounds[0].m_flTime				= 0;
	volley.m_rounds[0].m_nShot_type			= GetShotIndex( "shot1" );
	volley.m_rounds[0].m_flStartAngle		= 0;
	volley.m_rounds[0].m_flEndAngle			= 0;
	volley.m_rounds[0].m_nNumShots			= 1;
	volley.m_rounds[0].m_flShotDelay		= 0;
	volley.m_rounds[0].m_flSpeed			= 425;
	volley.m_rounds[0].m_flHorizontalOffset = 0;

	volley.m_rounds[1].m_flTime				= 0.1;
	volley.m_rounds[1].m_nShot_type			= GetShotIndex( "shot1" );
	volley.m_rounds[1].m_flStartAngle		= -4;
	volley.m_rounds[1].m_flEndAngle			= 0;
	volley.m_rounds[1].m_nNumShots			= 1;
	volley.m_rounds[1].m_flShotDelay		= 0;
	volley.m_rounds[1].m_flSpeed			= 425;
	volley.m_rounds[1].m_flHorizontalOffset = 0;

	volley.m_rounds[2].m_flTime				= 0.2;
	volley.m_rounds[2].m_nShot_type			= GetShotIndex( "shot1" );
	volley.m_rounds[2].m_flStartAngle		= 4;
	volley.m_rounds[2].m_flEndAngle			= 0;
	volley.m_rounds[2].m_nNumShots			= 1;
	volley.m_rounds[2].m_flShotDelay		= 0;
	volley.m_rounds[2].m_flSpeed			= 425;
	volley.m_rounds[2].m_flHorizontalOffset = 0;
	CreateVolley( "volley1", &volley );
}
Esempio n. 4
0
//-----------------------------------------------------------------------------
// Purpose:	
// Input:	
// Output:	
//-----------------------------------------------------------------------------
void CASW_Shaman::Spawn( void )
{
	SetHullType( HULL_MEDIUM );

	BaseClass::Spawn();

	SetHullType( HULL_MEDIUM );
	SetHealthByDifficultyLevel();
	SetBloodColor( BLOOD_COLOR_GREEN );
	CapabilitiesAdd( bits_CAP_MOVE_GROUND | bits_CAP_AUTO_DOORS );

	AddFactionRelationship( FACTION_MARINES, D_FEAR, 10 );

	SetIdealState( NPC_STATE_ALERT );
	m_bNeverRagdoll = true;

	SetCollisionGroup( ASW_COLLISION_GROUP_PARASITE );
}
Esempio n. 5
0
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
void CASW_Zombie::Spawn( void )
{
	Precache();

	// asw: no placing just torsos
	//if( FClassnameIs( this, "asw_zombie" ) )
	//{
		m_fIsTorso = false;
	//}
	//else
	//{
		// This was placed as an npc_zombie_torso
		//m_fIsTorso = true;
	//}


	m_fIsHeadless = false;

	SetBloodColor( BLOOD_COLOR_RED );
	SetHealthByDifficultyLevel();
	m_flFieldOfView		= 0.2;

	SetDistLook( 768.0f );
	m_flDistTooFar = 1024.0f;
	if ( HasSpawnFlags( SF_NPC_LONG_RANGE ) )
	{
		m_flDistTooFar = 2248.0f;
		SetDistLook( 1200.0f );
	}

	CapabilitiesClear();

	//GetNavigator()->SetRememberStaleNodes( false );

	BaseClass::Spawn();

	m_flNextMoanSound = gpGlobals->curtime + random->RandomFloat( 1.0, 4.0 );

	if (asw_zombie_eye_glow.GetBool())
		CreateEyeGlows();
}