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; }
//----------------------------------------------------------------------------- // 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 ); }
//----------------------------------------------------------------------------- // 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 ); }
//----------------------------------------------------------------------------- // 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 ); }
//----------------------------------------------------------------------------- //----------------------------------------------------------------------------- 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(); }