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.
84 lines
2.7 KiB
84 lines
2.7 KiB
// --------------------------------------------------------------- |
|
// BubbleMod |
|
// |
|
// AUTHOR |
|
// Tyler Lund <halflife@bubblemod.org> |
|
// |
|
// LICENSE |
|
// |
|
// Permission is granted to anyone to use this software for |
|
// any purpose on any computer system, and to redistribute it |
|
// in any way, subject to the following restrictions: |
|
// |
|
// 1. The author is not responsible for the consequences of |
|
// use of this software, no matter how awful, even if they |
|
// arise from defects in it. |
|
// 2. The origin of this software must not be misrepresented, |
|
// either by explicit claim or by omission. |
|
// 3. Altered versions must be plainly marked as such, and |
|
// must not be misrepresented (by explicit claim or |
|
// omission) as being the original software. |
|
// 3a. It would be nice if I got a copy of your improved |
|
// version sent to halflife@bubblemod.org. |
|
// 4. This notice must not be removed or altered. |
|
// |
|
// --------------------------------------------------------------- |
|
// Snark Mines |
|
|
|
#ifndef SNARKMINE_H |
|
#define SNARKMINE_H |
|
|
|
#include "extdll.h" |
|
#include "monsters.h" |
|
#include "weapons.h" |
|
#include "nodes.h" |
|
#include "player.h" |
|
#include "effects.h" |
|
|
|
class CTripSnarkGrenade : public CGrenade |
|
{ |
|
void Spawn( void ); |
|
void Precache( void ); |
|
|
|
virtual int Save( CSave &save ); |
|
virtual int Restore( CRestore &restore ); |
|
|
|
static TYPEDESCRIPTION m_SaveData[]; |
|
|
|
int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType ); |
|
|
|
void EXPORT WarningThink( void ); |
|
void EXPORT PowerupThink( void ); |
|
void EXPORT BeamBreakThink( void ); |
|
void EXPORT DelayDeathThink( void ); |
|
void EXPORT RiftThink( void ); |
|
void Killed( entvars_t *pevAttacker, int iGib ); |
|
void Explode( TraceResult *pTrace ); |
|
|
|
void MakeBeam( void ); |
|
void KillBeam( void ); |
|
BOOL IsSpawnMine( void ); |
|
|
|
float m_flPowerUp; |
|
Vector m_vecDir; |
|
Vector m_vecEnd; |
|
float m_flBeamLength; |
|
|
|
EHANDLE m_hOwner; |
|
CBeam *m_pBeam; |
|
Vector m_posOwner; |
|
Vector m_angleOwner; |
|
edict_t *m_pRealOwner;// tracelines don't hit PEV->OWNER, which means a player couldn't detonate his own trip mine, so we store the owner here. |
|
|
|
private: |
|
|
|
int m_RiftTime; |
|
CSprite *m_pSprite; |
|
short m_LaserSprite; |
|
|
|
public: |
|
void Deactivate( void ); |
|
edict_t *Owner( void ) { return m_pRealOwner; }; |
|
}; |
|
|
|
#endif |