aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/hl2/npc_crow.h
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /mp/src/game/server/hl2/npc_crow.h
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/game/server/hl2/npc_crow.h')
-rw-r--r--mp/src/game/server/hl2/npc_crow.h512
1 files changed, 256 insertions, 256 deletions
diff --git a/mp/src/game/server/hl2/npc_crow.h b/mp/src/game/server/hl2/npc_crow.h
index cba2e6c5..4ecac535 100644
--- a/mp/src/game/server/hl2/npc_crow.h
+++ b/mp/src/game/server/hl2/npc_crow.h
@@ -1,256 +1,256 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-//=============================================================================//
-
-#ifndef NPC_CROW_H
-#define NPC_CROW_H
-#ifdef _WIN32
-#pragma once
-#endif
-
-#define BIRDTYPE_CROW 1
-#define BIRDTYPE_PIGEON 2
-#define BIRDTYPE_SEAGULL 3
-
-//
-// Spawnflags.
-//
-#define SF_CROW_FLYING 16
-
-#define CROW_TAKEOFF_SPEED 170
-#define CROW_AIRSPEED 220 // FIXME: should be about 440, but I need to add acceleration
-
-//
-// Custom schedules.
-//
-enum
-{
- SCHED_CROW_IDLE_WALK = LAST_SHARED_SCHEDULE,
- SCHED_CROW_IDLE_FLY,
-
- //
- // Various levels of wanting to get away from something, selected
- // by current value of m_nMorale.
- //
- SCHED_CROW_WALK_AWAY,
- SCHED_CROW_RUN_AWAY,
- SCHED_CROW_HOP_AWAY,
- SCHED_CROW_FLY_AWAY,
-
- SCHED_CROW_FLY,
- SCHED_CROW_FLY_FAIL,
-
- SCHED_CROW_BARNACLED,
-};
-
-
-//
-// Custom tasks.
-//
-enum
-{
- TASK_CROW_FIND_FLYTO_NODE = LAST_SHARED_TASK,
- //TASK_CROW_PREPARE_TO_FLY,
- TASK_CROW_TAKEOFF,
- //TASK_CROW_LAND,
- TASK_CROW_FLY,
- TASK_CROW_FLY_TO_HINT,
- TASK_CROW_PICK_RANDOM_GOAL,
- TASK_CROW_PICK_EVADE_GOAL,
- TASK_CROW_HOP,
-
- TASK_CROW_FALL_TO_GROUND,
- TASK_CROW_PREPARE_TO_FLY_RANDOM,
-
- TASK_CROW_WAIT_FOR_BARNACLE_KILL,
-};
-
-
-//
-// Custom conditions.
-//
-enum
-{
- COND_CROW_ENEMY_TOO_CLOSE = LAST_SHARED_CONDITION,
- COND_CROW_ENEMY_WAY_TOO_CLOSE,
- COND_CROW_FORCED_FLY,
- COND_CROW_BARNACLED,
-};
-
-enum FlyState_t
-{
- FlyState_Walking = 0,
- FlyState_Flying,
- FlyState_Falling,
- FlyState_Landing,
-};
-
-
-//-----------------------------------------------------------------------------
-// The crow class.
-//-----------------------------------------------------------------------------
-class CNPC_Crow : public CAI_BaseNPC
-{
- DECLARE_CLASS( CNPC_Crow, CAI_BaseNPC );
-
-public:
-
- //
- // CBaseEntity:
- //
- virtual void Spawn( void );
- virtual void Precache( void );
-
- virtual Vector BodyTarget( const Vector &posSrc, bool bNoisy = true );
-
- virtual int DrawDebugTextOverlays( void );
-
- //
- // CBaseCombatCharacter:
- //
- virtual int OnTakeDamage_Alive( const CTakeDamageInfo &info );
- virtual bool CorpseGib( const CTakeDamageInfo &info );
- bool BecomeRagdollOnClient( const Vector &force );
-
- //
- // CAI_BaseNPC:
- //
- virtual float MaxYawSpeed( void ) { return 120.0f; }
-
- virtual Class_T Classify( void );
- virtual void GatherEnemyConditions( CBaseEntity *pEnemy );
-
- virtual void HandleAnimEvent( animevent_t *pEvent );
- virtual int GetSoundInterests( void );
- virtual int SelectSchedule( void );
- virtual void StartTask( const Task_t *pTask );
- virtual void RunTask( const Task_t *pTask );
-
- virtual bool HandleInteraction( int interactionType, void *data, CBaseCombatCharacter *sourceEnt );
-
- virtual void OnChangeActivity( Activity eNewActivity );
-
- virtual bool OverrideMove( float flInterval );
-
- virtual bool FValidateHintType( CAI_Hint *pHint );
- virtual Activity GetHintActivity( short sHintType, Activity HintsActivity );
-
- virtual void PainSound( const CTakeDamageInfo &info );
- virtual void DeathSound( const CTakeDamageInfo &info );
- virtual void IdleSound( void );
- virtual void AlertSound( void );
- virtual void StopLoopingSounds( void );
- virtual void UpdateEfficiency( bool bInPVS );
-
- virtual bool QueryHearSound( CSound *pSound );
-
- void InputFlyAway( inputdata_t &inputdata );
-
- void TraceAttack( const CTakeDamageInfo &info, const Vector &vecDir, trace_t *ptr, CDmgAccumulator *pAccumulator );
- void StartTargetHandling( CBaseEntity *pTargetEnt );
-
- DEFINE_CUSTOM_AI;
- DECLARE_DATADESC();
-
- int m_iBirdType;
- bool m_bOnJeep;
-
-protected:
- void SetFlyingState( FlyState_t eState );
- inline bool IsFlying( void ) const { return GetNavType() == NAV_FLY; }
-
- void Takeoff( const Vector &vGoal );
- void FlapSound( void );
-
- void MoveCrowFly( float flInterval );
- bool Probe( const Vector &vecMoveDir, float flSpeed, Vector &vecDeflect );
-
- bool IsDeaf() { return m_bIsDeaf; }
-
-protected:
- float m_flGroundIdleMoveTime;
-
- float m_flEnemyDist; // Distance to GetEnemy(), cached in GatherEnemyConditions.
- int m_nMorale; // Used to determine which avoidance schedule to pick. Degrades as I pick avoidance schedules.
-
- bool m_bReachedMoveGoal;
-
- float m_flHopStartZ; // Our Z coordinate when we started a hop. Used to check for accidentally hopping off things.
-
- bool m_bPlayedLoopingSound;
-
-private:
-
- Activity NPC_TranslateActivity( Activity eNewActivity );
-
- float m_flSoarTime;
- bool m_bSoar;
- Vector m_vLastStoredOrigin;
- float m_flLastStuckCheck;
-
- float m_flDangerSoundTime;
-
- Vector m_vDesiredTarget;
- Vector m_vCurrentTarget;
-
- bool m_bIsDeaf;
-};
-
-//-----------------------------------------------------------------------------
-// Purpose: Seagull. Crow with a different model.
-//-----------------------------------------------------------------------------
-class CNPC_Seagull : public CNPC_Crow
-{
- DECLARE_CLASS( CNPC_Seagull, CNPC_Crow );
-
-public:
-
- void Spawn( void )
- {
- SetModelName( AllocPooledString("models/seagull.mdl") );
- BaseClass::Spawn();
-
- m_iBirdType = BIRDTYPE_SEAGULL;
- }
-
- void PainSound( const CTakeDamageInfo &info )
- {
- EmitSound( "NPC_Seagull.Pain" );
- }
-
- void DeathSound( const CTakeDamageInfo &info )
- {
- EmitSound( "NPC_Seagull.Pain" );
- }
-
- void IdleSound( void )
- {
- EmitSound( "NPC_Seagull.Idle" );
- }
-};
-
-//-----------------------------------------------------------------------------
-// Purpose: Pigeon. Crow with a different model.
-//-----------------------------------------------------------------------------
-class CNPC_Pigeon : public CNPC_Crow
-{
- DECLARE_CLASS( CNPC_Pigeon, CNPC_Crow );
-
-public:
- void Spawn( void )
- {
- SetModelName( AllocPooledString("models/pigeon.mdl") );
- BaseClass::Spawn();
-
- m_iBirdType = BIRDTYPE_PIGEON;
- }
-
- void IdleSound( void )
- {
- EmitSound( "NPC_Pigeon.Idle" );
- }
-};
-
-#endif // NPC_CROW_H
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+//=============================================================================//
+
+#ifndef NPC_CROW_H
+#define NPC_CROW_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+#define BIRDTYPE_CROW 1
+#define BIRDTYPE_PIGEON 2
+#define BIRDTYPE_SEAGULL 3
+
+//
+// Spawnflags.
+//
+#define SF_CROW_FLYING 16
+
+#define CROW_TAKEOFF_SPEED 170
+#define CROW_AIRSPEED 220 // FIXME: should be about 440, but I need to add acceleration
+
+//
+// Custom schedules.
+//
+enum
+{
+ SCHED_CROW_IDLE_WALK = LAST_SHARED_SCHEDULE,
+ SCHED_CROW_IDLE_FLY,
+
+ //
+ // Various levels of wanting to get away from something, selected
+ // by current value of m_nMorale.
+ //
+ SCHED_CROW_WALK_AWAY,
+ SCHED_CROW_RUN_AWAY,
+ SCHED_CROW_HOP_AWAY,
+ SCHED_CROW_FLY_AWAY,
+
+ SCHED_CROW_FLY,
+ SCHED_CROW_FLY_FAIL,
+
+ SCHED_CROW_BARNACLED,
+};
+
+
+//
+// Custom tasks.
+//
+enum
+{
+ TASK_CROW_FIND_FLYTO_NODE = LAST_SHARED_TASK,
+ //TASK_CROW_PREPARE_TO_FLY,
+ TASK_CROW_TAKEOFF,
+ //TASK_CROW_LAND,
+ TASK_CROW_FLY,
+ TASK_CROW_FLY_TO_HINT,
+ TASK_CROW_PICK_RANDOM_GOAL,
+ TASK_CROW_PICK_EVADE_GOAL,
+ TASK_CROW_HOP,
+
+ TASK_CROW_FALL_TO_GROUND,
+ TASK_CROW_PREPARE_TO_FLY_RANDOM,
+
+ TASK_CROW_WAIT_FOR_BARNACLE_KILL,
+};
+
+
+//
+// Custom conditions.
+//
+enum
+{
+ COND_CROW_ENEMY_TOO_CLOSE = LAST_SHARED_CONDITION,
+ COND_CROW_ENEMY_WAY_TOO_CLOSE,
+ COND_CROW_FORCED_FLY,
+ COND_CROW_BARNACLED,
+};
+
+enum FlyState_t
+{
+ FlyState_Walking = 0,
+ FlyState_Flying,
+ FlyState_Falling,
+ FlyState_Landing,
+};
+
+
+//-----------------------------------------------------------------------------
+// The crow class.
+//-----------------------------------------------------------------------------
+class CNPC_Crow : public CAI_BaseNPC
+{
+ DECLARE_CLASS( CNPC_Crow, CAI_BaseNPC );
+
+public:
+
+ //
+ // CBaseEntity:
+ //
+ virtual void Spawn( void );
+ virtual void Precache( void );
+
+ virtual Vector BodyTarget( const Vector &posSrc, bool bNoisy = true );
+
+ virtual int DrawDebugTextOverlays( void );
+
+ //
+ // CBaseCombatCharacter:
+ //
+ virtual int OnTakeDamage_Alive( const CTakeDamageInfo &info );
+ virtual bool CorpseGib( const CTakeDamageInfo &info );
+ bool BecomeRagdollOnClient( const Vector &force );
+
+ //
+ // CAI_BaseNPC:
+ //
+ virtual float MaxYawSpeed( void ) { return 120.0f; }
+
+ virtual Class_T Classify( void );
+ virtual void GatherEnemyConditions( CBaseEntity *pEnemy );
+
+ virtual void HandleAnimEvent( animevent_t *pEvent );
+ virtual int GetSoundInterests( void );
+ virtual int SelectSchedule( void );
+ virtual void StartTask( const Task_t *pTask );
+ virtual void RunTask( const Task_t *pTask );
+
+ virtual bool HandleInteraction( int interactionType, void *data, CBaseCombatCharacter *sourceEnt );
+
+ virtual void OnChangeActivity( Activity eNewActivity );
+
+ virtual bool OverrideMove( float flInterval );
+
+ virtual bool FValidateHintType( CAI_Hint *pHint );
+ virtual Activity GetHintActivity( short sHintType, Activity HintsActivity );
+
+ virtual void PainSound( const CTakeDamageInfo &info );
+ virtual void DeathSound( const CTakeDamageInfo &info );
+ virtual void IdleSound( void );
+ virtual void AlertSound( void );
+ virtual void StopLoopingSounds( void );
+ virtual void UpdateEfficiency( bool bInPVS );
+
+ virtual bool QueryHearSound( CSound *pSound );
+
+ void InputFlyAway( inputdata_t &inputdata );
+
+ void TraceAttack( const CTakeDamageInfo &info, const Vector &vecDir, trace_t *ptr, CDmgAccumulator *pAccumulator );
+ void StartTargetHandling( CBaseEntity *pTargetEnt );
+
+ DEFINE_CUSTOM_AI;
+ DECLARE_DATADESC();
+
+ int m_iBirdType;
+ bool m_bOnJeep;
+
+protected:
+ void SetFlyingState( FlyState_t eState );
+ inline bool IsFlying( void ) const { return GetNavType() == NAV_FLY; }
+
+ void Takeoff( const Vector &vGoal );
+ void FlapSound( void );
+
+ void MoveCrowFly( float flInterval );
+ bool Probe( const Vector &vecMoveDir, float flSpeed, Vector &vecDeflect );
+
+ bool IsDeaf() { return m_bIsDeaf; }
+
+protected:
+ float m_flGroundIdleMoveTime;
+
+ float m_flEnemyDist; // Distance to GetEnemy(), cached in GatherEnemyConditions.
+ int m_nMorale; // Used to determine which avoidance schedule to pick. Degrades as I pick avoidance schedules.
+
+ bool m_bReachedMoveGoal;
+
+ float m_flHopStartZ; // Our Z coordinate when we started a hop. Used to check for accidentally hopping off things.
+
+ bool m_bPlayedLoopingSound;
+
+private:
+
+ Activity NPC_TranslateActivity( Activity eNewActivity );
+
+ float m_flSoarTime;
+ bool m_bSoar;
+ Vector m_vLastStoredOrigin;
+ float m_flLastStuckCheck;
+
+ float m_flDangerSoundTime;
+
+ Vector m_vDesiredTarget;
+ Vector m_vCurrentTarget;
+
+ bool m_bIsDeaf;
+};
+
+//-----------------------------------------------------------------------------
+// Purpose: Seagull. Crow with a different model.
+//-----------------------------------------------------------------------------
+class CNPC_Seagull : public CNPC_Crow
+{
+ DECLARE_CLASS( CNPC_Seagull, CNPC_Crow );
+
+public:
+
+ void Spawn( void )
+ {
+ SetModelName( AllocPooledString("models/seagull.mdl") );
+ BaseClass::Spawn();
+
+ m_iBirdType = BIRDTYPE_SEAGULL;
+ }
+
+ void PainSound( const CTakeDamageInfo &info )
+ {
+ EmitSound( "NPC_Seagull.Pain" );
+ }
+
+ void DeathSound( const CTakeDamageInfo &info )
+ {
+ EmitSound( "NPC_Seagull.Pain" );
+ }
+
+ void IdleSound( void )
+ {
+ EmitSound( "NPC_Seagull.Idle" );
+ }
+};
+
+//-----------------------------------------------------------------------------
+// Purpose: Pigeon. Crow with a different model.
+//-----------------------------------------------------------------------------
+class CNPC_Pigeon : public CNPC_Crow
+{
+ DECLARE_CLASS( CNPC_Pigeon, CNPC_Crow );
+
+public:
+ void Spawn( void )
+ {
+ SetModelName( AllocPooledString("models/pigeon.mdl") );
+ BaseClass::Spawn();
+
+ m_iBirdType = BIRDTYPE_PIGEON;
+ }
+
+ void IdleSound( void )
+ {
+ EmitSound( "NPC_Pigeon.Idle" );
+ }
+};
+
+#endif // NPC_CROW_H