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
8 years ago
|
// ---------------------------------------------------------------
|
||
|
// 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
|