text: #ifndef __GAME_DEATHWRAITH_H__
  #define __GAME_DEATHWRAITH_H__
  
  class hhDeathWraith : public hhWraith {
  	public:
  		CLASS_PROTOTYPE( hhDeathWraith );
  
  		void 			Spawn();
  		virtual void	FlyToEnemy();
  		virtual void	SetEnemy( idActor *newEnemy ) { enemy = newEnemy; }
  		virtual void	Damage( idEntity *inflictor, idEntity *attacker, const idVec3 &dir, const char *damageDefName, const float damageScale, const int location );
  		virtual void	Think( void );
  
  	protected:
  		virtual int		PlayAnim( const char *name, int blendFrame );
  		virtual void	PlayCycle( const char *name, int blendFrame );
  		virtual void	Killed( idEntity *inflictor, idEntity *attacker, int damage, const idVec3 &dir, int location );
  		virtual void	NotifyDeath( idEntity *inflictor, idEntity *attacker );
  		void			SpawnEnergy(hhPlayer *player);
  		void			EnterAttackState();
  		void			ExitAttackState();
  		virtual bool	ChargeEnemy();
  		bool			CheckEnemy();
  		void			HitEnemy();
  		void			ApplyImpulseToEnemy();
  		virtual void	FlyUp();
  		virtual void	FlyMove( void );
  		virtual void	EnemyDead();
  		void			Event_FindEnemy( int useFOV );
  		void			TeleportIn( idEntity *activator );
  
  	protected:
  		// Variables for controlling the movement of the wraith around the anchor point
  		// These variables are unique for each wraith for variety
  		float			circleDist;			// Distance to stay from the anchor point
  		float			circleSpeed;		// Orbit speed
  		float			circleHeight;		// Height above the point
  		bool			circleClockwise;	// if true, orbit clockwise
  
  		int				attackTimeMin;		// Range for the attack time
  		int				attackTimeDelta;	// Range for the attack time
  
  		idMat3			chargeAxis;
  
  		bool			healthWraith;	// true if a health type
  };
  
  #endif