Counter Strike : Global Offensive Source Code
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//====== Copyright � 1996-2005, Valve Corporation, All rights reserved. =======
//
// Purpose:
//
//=============================================================================
#ifndef BASEPROJECTILE_H
#define BASEPROJECTILE_H
#ifdef _WIN32
#pragma once
#endif
// Creation.
struct baseprojectilecreate_t { Vector vecOrigin; Vector vecVelocity; CBaseEntity *pOwner; string_t iszModel; float flDamage; int iDamageType; float flDamageScale; };
//=============================================================================
//
// Generic projectile
//
class CBaseProjectile : public CBaseAnimating { DECLARE_CLASS( CBaseProjectile, CBaseAnimating ); public: DECLARE_DATADESC();
void Spawn( void ); void Precache( void );
static CBaseProjectile *Create( baseprojectilecreate_t &pCreate );
void SetDamage( float flDamage ) { m_flDamage = flDamage; } void SetDamageScale( float &flScale ) { m_flDamageScale = flScale; } void SetDamageType( int iType ) { m_iDamageType = iType; }
private: // Damage
virtual float GetDamage() { return m_flDamage; } virtual float GetDamageScale( void ) { return m_flDamageScale; } virtual int GetDamageType( void ) { return m_iDamageType; }
unsigned int PhysicsSolidMaskForEntity( void ) const;
virtual void ProjectileTouch( CBaseEntity *pOther ); void FlyThink( void );
protected: float m_flDamage; int m_iDamageType; float m_flDamageScale; };
#endif // BASEPROJECTILE_H
|