blob: b032f8f985165d9a84d9802f2a54f201c1fa69b6 (
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// TF Pumpkin Bomb
//
//=============================================================================
#ifndef TF_PUMPKIN_BOMB_H
#define TF_PUMPKIN_BOMB_H
#ifdef _WIN32
#pragma once
#endif
#ifdef CLIENT_DLL
#define CTFPumpkinBomb C_TFPumpkinBomb
#endif
class CTFPumpkinBombShim : public CBaseAnimating
{
virtual void PumpkinTouch( CBaseEntity *pOther ) = 0;
public:
void Touch( CBaseEntity *pOther ) { return PumpkinTouch( pOther ) ; }
};
DECLARE_AUTO_LIST( ITFPumpkinBomb );
class CTFPumpkinBomb : public CTFPumpkinBombShim, public ITFPumpkinBomb
{
DECLARE_CLASS( CTFPumpkinBomb, CBaseAnimating );
DECLARE_NETWORKCLASS();
public:
CTFPumpkinBomb();
~CTFPumpkinBomb() {}
virtual void Precache( void );
virtual void Spawn( void );
void Break( void );
virtual void PumpkinTouch( CBaseEntity *pOther ) OVERRIDE;
void SetInitParams( float scale, float damage, float radius, int iTeam, float flLifeTime );
void RemovePumpkin();
#ifdef GAME_DLL
virtual void Event_Killed( const CTakeDamageInfo &info );
virtual int OnTakeDamage( const CTakeDamageInfo &info );
void SetSpell( bool bSpell ) { m_bIsSpell = bSpell; }
#endif
private:
#ifdef GAME_DLL
bool m_bIsSpell;
#endif
bool m_bDead;
bool m_bPrecached;
int m_iTeam;
float m_flDamage;
float m_flScale;
float m_flRadius;
float m_flLifeTime;
};
#endif //TF_PUMPKIN_BOMB_H
|