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() ); } }
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 ); }
void CASW_Spawner::SpawnOneAlien() { SpawnAlien( STRING( m_AlienClassName ), GetAlienMins(), GetAlienMaxs() ); }
//adds an alien to the list of aliens void NewAlien(int big) { PlaySoundIndex(SND_SPAWN_ALIEN); SpawnAlien(NewListNode(&g_alien_list, sizeof(ALIEN)), big); }