void CGargantua::StartTask( Task_t *pTask ) { switch ( pTask->iTask ) { case TASK_FLAME_SWEEP: FlameCreate(); m_flWaitFinished = gpGlobals->time + pTask->flData; m_flameTime = gpGlobals->time + 6; m_flameX = 0; m_flameY = 0; break; case TASK_SOUND_ATTACK: if ( RANDOM_LONG(0,100) < 30 ) EMIT_SOUND_DYN( ENT(pev), CHAN_VOICE, pAttackSounds[ RANDOM_LONG(0,ARRAYSIZE(pAttackSounds)-1) ], 1.0, ATTN_GARG, 0, PITCH_NORM ); TaskComplete(); break; case TASK_DIE: m_flWaitFinished = gpGlobals->time + 1.6; DeathEffect(); // FALL THROUGH default: CBaseMonster::StartTask( pTask ); break; } }
void CNPC_Gargantua::StartTask( const Task_t *pTask ) { switch ( pTask->iTask ) { case TASK_FLAME_SWEEP: //TEMP TEMP FlameCreate(); m_flWaitFinished = gpGlobals->curtime + pTask->flTaskData; m_flameTime = gpGlobals->curtime + 6; m_flameX = 0; m_flameY = 0; break; case TASK_SOUND_ATTACK: if ( random->RandomInt(0,100) < 30 ) { CPASAttenuationFilter filter( this ); EmitSound( filter, entindex(), "Garg.Attack" ); } TaskComplete(); break; case TASK_DIE: m_flWaitFinished = gpGlobals->curtime + 1.6; DeathEffect(); // FALL THROUGH default: BaseClass::StartTask( pTask ); break; } }
void CNPC_Gargantua::StartTask( const Task_t *pTask ) { switch ( pTask->iTask ) { case TASK_FLAME_SWEEP: //TEMP TEMP FlameCreate(); m_flWaitFinished = gpGlobals->curtime + pTask->flTaskData; m_flameTime = gpGlobals->curtime + 6; m_flameX = 0; m_flameY = 0; break; case TASK_SOUND_ATTACK: if ( random->RandomInt(0,100) < 30 ) { CPASAttenuationFilter filter( this ); enginesound->EmitSound( filter, entindex(), CHAN_VOICE, pAttackSounds[ random->RandomInt(0,ARRAYSIZE(pAttackSounds)-1) ], 1.0, ATTN_GARG, 0, PITCH_NORM ); } TaskComplete(); break; case TASK_DIE: m_flWaitFinished = gpGlobals->curtime + 1.6; DeathEffect(); // FALL THROUGH default: BaseClass::StartTask( pTask ); break; } }
// 更新 void CSmallEnemy::Update(AppEnv &app_env,Random &random){ Death(); DeathEffect(random); FireWorksUpdate(app_env, random); }