summaryrefslogtreecommitdiff
path: root/game/server/tf2/mortar_round.h
blob: a4ecadbc3d241ce71c94a9b65559a073af6bc187 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: 
//
// $NoKeywords: $
//=============================================================================//

#ifndef MORTAR_ROUND_H
#define MORTAR_ROUND_H
#ifdef _WIN32
#pragma once
#endif


#include "tf_vehicle_mortar.h"
#include "smoke_trail.h"


class CMortarRound : public CBaseAnimating
{
public:
	DECLARE_CLASS( CMortarRound, CBaseAnimating );

	CMortarRound();

	DECLARE_DATADESC();

public:
	virtual void Spawn( void );
	virtual void Precache( void );
	virtual void MissileTouch( CBaseEntity *pOther );
	virtual void FallThink( void );
	virtual void SetLauncher( CVehicleMortar *pLauncher );
	virtual void SetFallTime( float flFallTime );
	virtual void SetRoundType( int iRoundType );

	// Damage type accessors
	virtual int GetDamageType() const { return DMG_BLAST; }

	static CMortarRound* CMortarRound::Create( const Vector &vecOrigin, const Vector &vecVelocity, edict_t *pentOwner );

	SmokeTrail				*m_pSmokeTrail;
	CHandle<CVehicleMortar>	m_pLauncher;
	int						m_iRoundType;
};


#endif // MORTAR_ROUND_H