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.
65 lines
2.1 KiB
65 lines
2.1 KiB
/*** |
|
* |
|
* Copyright (c) 1996-2002, Valve LLC. All rights reserved. |
|
* |
|
* This product contains software technology licensed from Id |
|
* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc. |
|
* All Rights Reserved. |
|
* |
|
* Use, distribution, and modification of this source code and/or resulting |
|
* object code is restricted to non-commercial enhancements to products from |
|
* Valve LLC. All other use, distribution, or modification is prohibited |
|
* without written permission from Valve LLC. |
|
* |
|
****/ |
|
//========================================================= |
|
// Hornets |
|
//========================================================= |
|
|
|
//========================================================= |
|
// Hornet Defines |
|
//========================================================= |
|
#define HORNET_TYPE_RED 0 |
|
#define HORNET_TYPE_ORANGE 1 |
|
#define HORNET_RED_SPEED (float)600 |
|
#define HORNET_ORANGE_SPEED (float)800 |
|
#define HORNET_BUZZ_VOLUME (float)0.8 |
|
|
|
extern int iHornetPuff; |
|
|
|
//========================================================= |
|
// Hornet - this is the projectile that the Alien Grunt fires. |
|
//========================================================= |
|
class CHornet : public CBaseMonster |
|
{ |
|
public: |
|
void Spawn( void ); |
|
void Precache( void ); |
|
int Classify( void ); |
|
int IRelationship( CBaseEntity *pTarget ); |
|
virtual int Save( CSave &save ); |
|
virtual int Restore( CRestore &restore ); |
|
static TYPEDESCRIPTION m_SaveData[]; |
|
|
|
void IgniteTrail( void ); |
|
void EXPORT StartTrack( void ); |
|
void EXPORT StartDart( void ); |
|
void EXPORT TrackTarget( void ); |
|
void EXPORT TrackTouch( CBaseEntity *pOther ); |
|
void EXPORT DartTouch( CBaseEntity *pOther ); |
|
void EXPORT DieTouch( CBaseEntity *pOther ); |
|
virtual float TouchGravGun( CBaseEntity *attacker, int stage ) |
|
{ |
|
pev->owner = attacker->edict(); |
|
pev->dmg *= 2; |
|
if( m_pfnThink == &CBaseEntity::SUB_Remove ) |
|
pev->nextthink = gpGlobals->time + 1; |
|
return 1000; |
|
} |
|
|
|
int TakeDamage( entvars_t *pevInflictor, entvars_t *pevAttacker, float flDamage, int bitsDamageType ); |
|
|
|
float m_flStopAttack; |
|
int m_iHornetType; |
|
float m_flFlySpeed; |
|
};
|
|
|