#ifndef FOLLOWATTACK_H
#define FOLLOWATTACK_H

class CFollowAttack:public CMagicAttack
{	
public:
	/**
	* Create a followbeam attack 
	* @param entvars_t *pevOwner: Monster/Player who shoots it
	* @param Vector vecStart: Origin vector of the attack
	* @param Vector vecVelocity: Velocity of the attack
	* @param int damage: the amount of damage the attack does
	* @param short trail: the trail sprite nr
	* @param float size: relative size of the attack (0..1)
	* @param int radius: the radius of the attack
	* @return *CMagicAttack: The created MagicAttack 
	*/	
	static CFollowAttack* ShootFollowBeam( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity, int damage, short trail,float size);

	/**
	* Splits and autofollows enemies in the fov
	*/
	void EXPORT SplitThink( void );

	/**
	* Checks wether a certain entity is in the view. 3d version of the
	* standard CBaseMonster FInViewCone
	* @param pEntity: the entity to check for
	* @return BOOL: in view
	*/
	BOOL FInViewCone ( CBaseEntity *pEntity );
private:
	short m_iTrail;				//trail sprite
	CFollowAttack *m_pFirst, *m_pNext;
	entvars_t *m_pevFollower;
};
#endif
