//----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- void CWeaponStriderBuster::Spawn( void ) { SetModelName( AllocPooledString("models/magnusson_device.mdl") ); BaseClass::Spawn(); // Setup for being shot by the player m_takedamage = DAMAGE_EVENTS_ONLY; // Ignore touches until launched. SetTouch ( NULL ); AddFlag( FL_AIMTARGET|FL_OBJECT ); m_hParticleEffect = CreateEntityByName( "info_particle_system" ); if ( m_hParticleEffect ) { m_hParticleEffect->KeyValue( "start_active", "1" ); m_hParticleEffect->KeyValue( "effect_name", "striderbuster_smoke" ); DispatchSpawn( m_hParticleEffect ); if ( gpGlobals->curtime > 0.2f ) { m_hParticleEffect->Activate(); } m_hParticleEffect->SetAbsOrigin( GetAbsOrigin() ); m_hParticleEffect->SetParent( this ); } SetHealth( striderbuster_health.GetFloat() ); SetNextThink(gpGlobals->curtime + 0.01f); }