#ifndef BUDDY_AURA_H
#define BUDDY_AURA_H

class CBuddy;

class CBuddyAura:public CBaseMonster
{	
public:
	/**
	* spawns it
	*/
	void Spawn();

	/**
	* precaches the aura
	*/
	void Precache();

	/**
	* removes the aura
	*/
	void Destroy();

	/**
	* aura's thinking function
	*/
	void EXPORT RemoveThink();

	/**
	 * Take damage function, used to get the damage to the player using the aura
	 * @param entvars_t* pevInflictor: the entity doing damage
	 * @param entvars_t* pevAttacker: the attacking entity
	 * @param float flDamage: amount of damage done
	 * @param int bitsDamageType: damage type
	 */
	int	TakeDamage( entvars_t* pevInflictor, entvars_t* pevAttacker, float flDamage, int bitsDamageType );

	/**
	* creates an aura
	* @param CBasePlayer *player:the player who should get the aura
	*/
	static CBuddyAura *Create(CBuddy *pevOwner);

	/**
	 * Sets the right color for the aura
	 */
	void SetColor();

	// Removed by Pcjoe
//	BOOL m_fHasTrail;
private:
	CBuddy *m_pBuddy;
	short m_sTrailSprite;	
};
#endif