/*** * * 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; };