diff options
Diffstat (limited to 'mp/src/game/server/ai_basenpc_flyer_new.cpp')
| -rw-r--r-- | mp/src/game/server/ai_basenpc_flyer_new.cpp | 280 |
1 files changed, 140 insertions, 140 deletions
diff --git a/mp/src/game/server/ai_basenpc_flyer_new.cpp b/mp/src/game/server/ai_basenpc_flyer_new.cpp index 0f147fa1..ef03fb45 100644 --- a/mp/src/game/server/ai_basenpc_flyer_new.cpp +++ b/mp/src/game/server/ai_basenpc_flyer_new.cpp @@ -1,140 +1,140 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose: Base class for many flying NPCs
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#include "cbase.h"
-#include "ai_basenpc_flyer_new.h"
-#include "ai_route.h"
-#include "ai_navigator.h"
-
-// memdbgon must be the last include file in a .cpp file!!!
-#include "tier0/memdbgon.h"
-
-#define FLYER_ROUTE_REBUILD_TIME 3.0 // Time between route rebuilds
-
-
-// NOTE: Never instantiate ai_base_npc_flyer_new directly!!
-//IMPLEMENT_CUSTOM_AI( ai_base_npc_flyer_new, CAI_BaseNPCFlyerNew);
-
-
-//------------------------------------------------------------------------------
-// Purpose :
-// Input :
-// Output :
-//------------------------------------------------------------------------------
-CAI_BaseNPCFlyerNew::CAI_BaseNPCFlyerNew()
-{
-}
-
-
-//------------------------------------------------------------------------------
-// Used to set up a flyer
-//------------------------------------------------------------------------------
-void CAI_BaseNPCFlyerNew::SpawnFlyer()
-{
- SetNavType( NAV_FLY );
- AddFlag( FL_FLY );
- SetMoveType( MOVETYPE_STEP );
- CapabilitiesAdd( bits_CAP_MOVE_FLY );
-}
-
-
-/*
-void CAI_BaseNPCFlyerNew::InitCustomSchedules(void)
-{
- INIT_CUSTOM_AI(CAI_BaseNPCFlyerNew);
-
- ADD_CUSTOM_CONDITION(CAI_BaseNPCFlyerNew, COND_FLYER_MOVE_BLOCKED);
- ADD_CUSTOM_CONDITION(CAI_BaseNPCFlyerNew, COND_FLYER_MOVE_IMPOSSIBLE);
-}
-*/
-
-//------------------------------------------------------------------------------
-// Should be called during Select Schedule (BLEAH!)
-//------------------------------------------------------------------------------
-void CAI_BaseNPCFlyerNew::ClearFlyerConditions(void)
-{
-// ClearCondition( COND_FLYER_MOVE_BLOCKED );
-// ClearCondition( COND_FLYER_MOVE_IMPOSSIBLE );
-}
-
-
-
-//------------------------------------------------------------------------------
-// Purpose :
-// Input :
-// Output :
-//------------------------------------------------------------------------------
-float CAI_BaseNPCFlyerNew::MinGroundDist(void)
-{
- return 0;
-}
-
-
-//-----------------------------------------------------------------------------
-// Sets the ground speed appropriately:
-//-----------------------------------------------------------------------------
-float CAI_BaseNPCFlyerNew::GetIdealSpeed( ) const
-{
- return m_flSpeed;
-}
-
-
-//------------------------------------------------------------------------------
-// Purpose :
-// Input :
-// Output :
-//------------------------------------------------------------------------------
-void CAI_BaseNPCFlyerNew::StartTask( const Task_t *pTask )
-{
- switch (pTask->iTask)
- {
- // Activity is just idle (have no run)
- case TASK_RUN_PATH:
- {
- GetNavigator()->SetMovementActivity(ACT_IDLE);
- TaskComplete();
- break;
- }
-
- // Don't check for run/walk activity
- case TASK_SCRIPT_RUN_TO_TARGET:
- case TASK_SCRIPT_WALK_TO_TARGET:
- {
- if (GetTarget() == NULL)
- {
- TaskFail(FAIL_NO_TARGET);
- }
- else
- {
- if (!GetNavigator()->SetGoal( GOALTYPE_TARGETENT ) )
- {
- TaskFail(FAIL_NO_ROUTE);
- GetNavigator()->ClearGoal();
- }
- }
- TaskComplete();
- break;
- }
-
- default:
- {
- BaseClass::StartTask(pTask);
- }
- break;
- }
-}
-
-
-//-----------------------------------------------------------------------------
-// Purpose:
-//-----------------------------------------------------------------------------
-void CAI_BaseNPCFlyerNew::RunTask( const Task_t *pTask )
-{
- BaseClass::RunTask(pTask);
-}
-
-
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Base class for many flying NPCs +// +// $NoKeywords: $ +//=============================================================================// + +#include "cbase.h" +#include "ai_basenpc_flyer_new.h" +#include "ai_route.h" +#include "ai_navigator.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +#define FLYER_ROUTE_REBUILD_TIME 3.0 // Time between route rebuilds + + +// NOTE: Never instantiate ai_base_npc_flyer_new directly!! +//IMPLEMENT_CUSTOM_AI( ai_base_npc_flyer_new, CAI_BaseNPCFlyerNew); + + +//------------------------------------------------------------------------------ +// Purpose : +// Input : +// Output : +//------------------------------------------------------------------------------ +CAI_BaseNPCFlyerNew::CAI_BaseNPCFlyerNew() +{ +} + + +//------------------------------------------------------------------------------ +// Used to set up a flyer +//------------------------------------------------------------------------------ +void CAI_BaseNPCFlyerNew::SpawnFlyer() +{ + SetNavType( NAV_FLY ); + AddFlag( FL_FLY ); + SetMoveType( MOVETYPE_STEP ); + CapabilitiesAdd( bits_CAP_MOVE_FLY ); +} + + +/* +void CAI_BaseNPCFlyerNew::InitCustomSchedules(void) +{ + INIT_CUSTOM_AI(CAI_BaseNPCFlyerNew); + + ADD_CUSTOM_CONDITION(CAI_BaseNPCFlyerNew, COND_FLYER_MOVE_BLOCKED); + ADD_CUSTOM_CONDITION(CAI_BaseNPCFlyerNew, COND_FLYER_MOVE_IMPOSSIBLE); +} +*/ + +//------------------------------------------------------------------------------ +// Should be called during Select Schedule (BLEAH!) +//------------------------------------------------------------------------------ +void CAI_BaseNPCFlyerNew::ClearFlyerConditions(void) +{ +// ClearCondition( COND_FLYER_MOVE_BLOCKED ); +// ClearCondition( COND_FLYER_MOVE_IMPOSSIBLE ); +} + + + +//------------------------------------------------------------------------------ +// Purpose : +// Input : +// Output : +//------------------------------------------------------------------------------ +float CAI_BaseNPCFlyerNew::MinGroundDist(void) +{ + return 0; +} + + +//----------------------------------------------------------------------------- +// Sets the ground speed appropriately: +//----------------------------------------------------------------------------- +float CAI_BaseNPCFlyerNew::GetIdealSpeed( ) const +{ + return m_flSpeed; +} + + +//------------------------------------------------------------------------------ +// Purpose : +// Input : +// Output : +//------------------------------------------------------------------------------ +void CAI_BaseNPCFlyerNew::StartTask( const Task_t *pTask ) +{ + switch (pTask->iTask) + { + // Activity is just idle (have no run) + case TASK_RUN_PATH: + { + GetNavigator()->SetMovementActivity(ACT_IDLE); + TaskComplete(); + break; + } + + // Don't check for run/walk activity + case TASK_SCRIPT_RUN_TO_TARGET: + case TASK_SCRIPT_WALK_TO_TARGET: + { + if (GetTarget() == NULL) + { + TaskFail(FAIL_NO_TARGET); + } + else + { + if (!GetNavigator()->SetGoal( GOALTYPE_TARGETENT ) ) + { + TaskFail(FAIL_NO_ROUTE); + GetNavigator()->ClearGoal(); + } + } + TaskComplete(); + break; + } + + default: + { + BaseClass::StartTask(pTask); + } + break; + } +} + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CAI_BaseNPCFlyerNew::RunTask( const Task_t *pTask ) +{ + BaseClass::RunTask(pTask); +} + + |