//----------------------------------------------------------------------------- // Purpose: // Input : *pTask - //----------------------------------------------------------------------------- void CAI_RappelBehavior::StartTask( const Task_t *pTask ) { switch( pTask->iTask ) { case TASK_MOVE_AWAY_PATH: GetOuter()->GetMotor()->SetIdealYaw( UTIL_AngleMod( GetOuter()->GetLocalAngles().y - 180.0f ) ); BaseClass::StartTask( pTask ); break; case TASK_RANGE_ATTACK1: BaseClass::StartTask( pTask ); break; case TASK_RAPPEL: { CreateZipline(); SetDescentSpeed(); } break; case TASK_HIT_GROUND: m_bOnGround = true; TaskComplete(); break; default: BaseClass::StartTask( pTask ); break; } }
//----------------------------------------------------------------------------- // Purpose: // Input : *pTask - //----------------------------------------------------------------------------- void CAI_RappelBehavior::StartTask( const Task_t *pTask ) { switch( pTask->iTask ) { case TASK_MOVE_AWAY_PATH: GetOuter()->GetMotor()->SetIdealYaw( UTIL_AngleMod( GetOuter()->GetLocalAngles().y - 180.0f ) ); BaseClass::StartTask( pTask ); break; case TASK_RANGE_ATTACK1: BaseClass::StartTask( pTask ); break; case TASK_RAPPEL: { CreateZipline(); SetDescentSpeed(); } break; case TASK_HIT_GROUND: m_bOnGround = true; if( GetOuter()->GetGroundEntity() != NULL && GetOuter()->GetGroundEntity()->IsNPC() && GetOuter()->GetGroundEntity()->m_iClassname == GetOuter()->m_iClassname ) { // Although I tried to get NPC's out from under me, I landed on one. Kill it, so long as it's the same type of character as me. variant_t val; val.SetFloat( 0 ); g_EventQueue.AddEvent( GetOuter()->GetGroundEntity(), "sethealth", val, 0, GetOuter(), GetOuter() ); } TaskComplete(); break; default: BaseClass::StartTask( pTask ); break; } }