aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/hl2/vehicle_apc.h
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/server/hl2/vehicle_apc.h')
-rw-r--r--mp/src/game/server/hl2/vehicle_apc.h324
1 files changed, 162 insertions, 162 deletions
diff --git a/mp/src/game/server/hl2/vehicle_apc.h b/mp/src/game/server/hl2/vehicle_apc.h
index f7021536..5c7aa561 100644
--- a/mp/src/game/server/hl2/vehicle_apc.h
+++ b/mp/src/game/server/hl2/vehicle_apc.h
@@ -1,162 +1,162 @@
-//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef VEHICLE_APC_H
-#define VEHICLE_APC_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include "vehicle_base.h"
-#include "smoke_trail.h"
-
-//-----------------------------------------------------------------------------
-// Purpose: Four wheel physics vehicle server vehicle with weaponry
-//-----------------------------------------------------------------------------
-class CAPCFourWheelServerVehicle : public CFourWheelServerVehicle
-{
- typedef CFourWheelServerVehicle BaseClass;
-// IServerVehicle
-public:
- bool NPC_HasPrimaryWeapon( void ) { return true; }
- void NPC_AimPrimaryWeapon( Vector vecTarget );
- bool NPC_HasSecondaryWeapon( void ) { return true; }
- void NPC_AimSecondaryWeapon( Vector vecTarget );
-
- // Weaponry
- void Weapon_PrimaryRanges( float *flMinRange, float *flMaxRange );
- void Weapon_SecondaryRanges( float *flMinRange, float *flMaxRange );
- float Weapon_PrimaryCanFireAt( void ); // Return the time at which this vehicle's primary weapon can fire again
- float Weapon_SecondaryCanFireAt( void ); // Return the time at which this vehicle's secondary weapon can fire again
-};
-
-
-//-----------------------------------------------------------------------------
-// A driveable vehicle with a gun that shoots wherever the driver looks.
-//-----------------------------------------------------------------------------
-class CPropAPC : public CPropVehicleDriveable
-{
- DECLARE_CLASS( CPropAPC, CPropVehicleDriveable );
-public:
- // CBaseEntity
- virtual void Precache( void );
- void Think( void );
- virtual void Spawn(void);
- virtual void Activate();
- virtual void UpdateOnRemove( void );
- virtual void OnRestore( void );
-
- // CPropVehicle
- virtual void CreateServerVehicle( void );
- virtual void DriveVehicle( float flFrameTime, CUserCmd *ucmd, int iButtonsDown, int iButtonsReleased );
- virtual void ProcessMovement( CBasePlayer *pPlayer, CMoveData *pMoveData );
- virtual Class_T ClassifyPassenger( CBaseCombatCharacter *pPassenger, Class_T defaultClassification );
- virtual int OnTakeDamage( const CTakeDamageInfo &info );
- virtual float PassengerDamageModifier( const CTakeDamageInfo &info );
-
- // Weaponry
- const Vector &GetPrimaryGunOrigin( void );
- void AimPrimaryWeapon( const Vector &vecForward );
- void AimSecondaryWeaponAt( CBaseEntity *pTarget );
- float PrimaryWeaponFireTime( void ) { return m_flMachineGunTime; }
- float SecondaryWeaponFireTime( void ) { return m_flRocketTime; }
- float MaxAttackRange() const;
- bool IsInPrimaryFiringCone() const { return m_bInFiringCone; }
-
- // Muzzle flashes
- const char *GetTracerType( void ) ;
- void DoImpactEffect( trace_t &tr, int nDamageType );
- void DoMuzzleFlash( void );
-
- virtual Vector EyePosition( ); // position of eyes
- Vector BodyTarget( const Vector &posSrc, bool bNoisy );
-
-
- virtual void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
-
-private:
- enum
- {
- MAX_SMOKE_TRAILS = 4,
- MAX_EXPLOSIONS = 4,
- };
-
- // Should we trigger a damage effect?
- bool ShouldTriggerDamageEffect( int nPrevHealth, int nEffectCount ) const;
-
- // Add a smoke trail since we've taken more damage
- void AddSmokeTrail( const Vector &vecPos );
-
- // Creates the breakable husk of an attack chopper
- void CreateChopperHusk();
-
- // Pow!
- void ExplodeAndThrowChunk( const Vector &vecExplosionPos );
-
- void Event_Killed( const CTakeDamageInfo &info );
-
- // Purpose:
- void GetRocketShootPosition( Vector *pPosition );
-
- void FireMachineGun( void );
- void FireRocket( void );
-
- // Death volley
- void FireDying( );
-
- // Create a corpse
- void CreateCorpse( );
-
- // Blows da shizzle up
- void InputDestroy( inputdata_t &inputdata );
- void InputFireMissileAt( inputdata_t &inputdata );
-
- void CreateAPCLaserDot( void );
-
- virtual bool ShouldAttractAutoAim( CBaseEntity *pAimingEnt );
-
-
-private:
- // Danger sounds made by the APC
- float m_flDangerSoundTime;
-
- // handbrake after the fact to keep vehicles from rolling
- float m_flHandbrakeTime;
- bool m_bInitialHandbrake;
-
- // Damage effects
- int m_nSmokeTrailCount;
-
- // Machine gun attacks
- int m_nMachineGunMuzzleAttachment;
- int m_nMachineGunBaseAttachment;
- float m_flMachineGunTime;
- int m_iMachineGunBurstLeft;
- Vector m_vecBarrelPos;
- bool m_bInFiringCone;
-
- // Rocket attacks
- EHANDLE m_hLaserDot;
- EHANDLE m_hRocketTarget;
- int m_iRocketSalvoLeft;
- float m_flRocketTime;
- int m_nRocketAttachment;
- int m_nRocketSide;
- EHANDLE m_hSpecificRocketTarget;
- string_t m_strMissileHint;
-
- COutputEvent m_OnDeath;
- COutputEvent m_OnFiredMissile;
- COutputEvent m_OnDamaged;
- COutputEvent m_OnDamagedByPlayer;
-
- DECLARE_DATADESC();
-};
-
-#endif // VEHICLE_APC_H
-
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose:
+//
+// $NoKeywords: $
+//=============================================================================//
+
+#ifndef VEHICLE_APC_H
+#define VEHICLE_APC_H
+
+#ifdef _WIN32
+#pragma once
+#endif
+
+#include "vehicle_base.h"
+#include "smoke_trail.h"
+
+//-----------------------------------------------------------------------------
+// Purpose: Four wheel physics vehicle server vehicle with weaponry
+//-----------------------------------------------------------------------------
+class CAPCFourWheelServerVehicle : public CFourWheelServerVehicle
+{
+ typedef CFourWheelServerVehicle BaseClass;
+// IServerVehicle
+public:
+ bool NPC_HasPrimaryWeapon( void ) { return true; }
+ void NPC_AimPrimaryWeapon( Vector vecTarget );
+ bool NPC_HasSecondaryWeapon( void ) { return true; }
+ void NPC_AimSecondaryWeapon( Vector vecTarget );
+
+ // Weaponry
+ void Weapon_PrimaryRanges( float *flMinRange, float *flMaxRange );
+ void Weapon_SecondaryRanges( float *flMinRange, float *flMaxRange );
+ float Weapon_PrimaryCanFireAt( void ); // Return the time at which this vehicle's primary weapon can fire again
+ float Weapon_SecondaryCanFireAt( void ); // Return the time at which this vehicle's secondary weapon can fire again
+};
+
+
+//-----------------------------------------------------------------------------
+// A driveable vehicle with a gun that shoots wherever the driver looks.
+//-----------------------------------------------------------------------------
+class CPropAPC : public CPropVehicleDriveable
+{
+ DECLARE_CLASS( CPropAPC, CPropVehicleDriveable );
+public:
+ // CBaseEntity
+ virtual void Precache( void );
+ void Think( void );
+ virtual void Spawn(void);
+ virtual void Activate();
+ virtual void UpdateOnRemove( void );
+ virtual void OnRestore( void );
+
+ // CPropVehicle
+ virtual void CreateServerVehicle( void );
+ virtual void DriveVehicle( float flFrameTime, CUserCmd *ucmd, int iButtonsDown, int iButtonsReleased );
+ virtual void ProcessMovement( CBasePlayer *pPlayer, CMoveData *pMoveData );
+ virtual Class_T ClassifyPassenger( CBaseCombatCharacter *pPassenger, Class_T defaultClassification );
+ virtual int OnTakeDamage( const CTakeDamageInfo &info );
+ virtual float PassengerDamageModifier( const CTakeDamageInfo &info );
+
+ // Weaponry
+ const Vector &GetPrimaryGunOrigin( void );
+ void AimPrimaryWeapon( const Vector &vecForward );
+ void AimSecondaryWeaponAt( CBaseEntity *pTarget );
+ float PrimaryWeaponFireTime( void ) { return m_flMachineGunTime; }
+ float SecondaryWeaponFireTime( void ) { return m_flRocketTime; }
+ float MaxAttackRange() const;
+ bool IsInPrimaryFiringCone() const { return m_bInFiringCone; }
+
+ // Muzzle flashes
+ const char *GetTracerType( void ) ;
+ void DoImpactEffect( trace_t &tr, int nDamageType );
+ void DoMuzzleFlash( void );
+
+ virtual Vector EyePosition( ); // position of eyes
+ Vector BodyTarget( const Vector &posSrc, bool bNoisy );
+
+
+ virtual void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
+
+private:
+ enum
+ {
+ MAX_SMOKE_TRAILS = 4,
+ MAX_EXPLOSIONS = 4,
+ };
+
+ // Should we trigger a damage effect?
+ bool ShouldTriggerDamageEffect( int nPrevHealth, int nEffectCount ) const;
+
+ // Add a smoke trail since we've taken more damage
+ void AddSmokeTrail( const Vector &vecPos );
+
+ // Creates the breakable husk of an attack chopper
+ void CreateChopperHusk();
+
+ // Pow!
+ void ExplodeAndThrowChunk( const Vector &vecExplosionPos );
+
+ void Event_Killed( const CTakeDamageInfo &info );
+
+ // Purpose:
+ void GetRocketShootPosition( Vector *pPosition );
+
+ void FireMachineGun( void );
+ void FireRocket( void );
+
+ // Death volley
+ void FireDying( );
+
+ // Create a corpse
+ void CreateCorpse( );
+
+ // Blows da shizzle up
+ void InputDestroy( inputdata_t &inputdata );
+ void InputFireMissileAt( inputdata_t &inputdata );
+
+ void CreateAPCLaserDot( void );
+
+ virtual bool ShouldAttractAutoAim( CBaseEntity *pAimingEnt );
+
+
+private:
+ // Danger sounds made by the APC
+ float m_flDangerSoundTime;
+
+ // handbrake after the fact to keep vehicles from rolling
+ float m_flHandbrakeTime;
+ bool m_bInitialHandbrake;
+
+ // Damage effects
+ int m_nSmokeTrailCount;
+
+ // Machine gun attacks
+ int m_nMachineGunMuzzleAttachment;
+ int m_nMachineGunBaseAttachment;
+ float m_flMachineGunTime;
+ int m_iMachineGunBurstLeft;
+ Vector m_vecBarrelPos;
+ bool m_bInFiringCone;
+
+ // Rocket attacks
+ EHANDLE m_hLaserDot;
+ EHANDLE m_hRocketTarget;
+ int m_iRocketSalvoLeft;
+ float m_flRocketTime;
+ int m_nRocketAttachment;
+ int m_nRocketSide;
+ EHANDLE m_hSpecificRocketTarget;
+ string_t m_strMissileHint;
+
+ COutputEvent m_OnDeath;
+ COutputEvent m_OnFiredMissile;
+ COutputEvent m_OnDamaged;
+ COutputEvent m_OnDamagedByPlayer;
+
+ DECLARE_DATADESC();
+};
+
+#endif // VEHICLE_APC_H
+