Пример #1
0
void CASW_Spawner::SpawnerThink()
{	
	// calculate jitter
	float fInterval = random->RandomFloat(1.0f - m_flSpawnIntervalJitter, 1.0f + m_flSpawnIntervalJitter) * m_flSpawnInterval;
	SetNextThink( gpGlobals->curtime + fInterval );

	if ( ASWDirector() && ASWDirector()->CanSpawnAlien( this ) )
	{
		SpawnAlien( STRING( m_AlienClassName ), GetAlienMins(), GetAlienMaxs() );
	}
}
Пример #2
0
void CASW_Harvester::HandleAnimEvent( animevent_t *pEvent )
{
	int nEvent = pEvent->Event();

	if ( nEvent == AE_HARVESTER_SPAWN_CRITTER )
	{
		// The point in our laying animation where we should actually spawn the critter		
		SpawnAlien();
		float spawn_interval = asw_harvester_spawn_interval.GetFloat();
		m_flNextAttack = gpGlobals->curtime + spawn_interval;
		return;
	}
	if ( nEvent == AE_HARVESTER_SPAWN_SOUND )
	{
		AttackSound();
		return;
	}

	BaseClass::HandleAnimEvent( pEvent );
}
Пример #3
0
void CASW_Spawner::SpawnOneAlien()
{
	SpawnAlien( STRING( m_AlienClassName ), GetAlienMins(), GetAlienMaxs() );
}
Пример #4
0
//adds an alien to the list of aliens
void NewAlien(int big)
{
   PlaySoundIndex(SND_SPAWN_ALIEN);

   SpawnAlien(NewListNode(&g_alien_list, sizeof(ALIEN)), big);
}