#ifndef MELEE_H
#define MELEE_H

// Regular Melee
#define MELEE_SWOOP_SPEED_TIME			  3
#define MIN_LOOKAT_TIME					  2
#define MELEE_SWOOP_HIT_TIME			 1.5
#define MELEE_BLOW_SPEED				 1500

// Sword
#define SWORD_SLICING_PERCENT			  .2
#define	SWORD_VIEW_FIELD		  (float)0.9
#define SWORD_BLOW_SPEED				 25

/**
* Melee Weapon
* @version 24-6-2001
* @author Joseph 'Pcjoe' Florencio
*/
class CMelee : public CBasePlayerWeapon
{	
public:
	/**
	* Init function
	*/
	virtual void Spawn( void );

	/**
	* Precaches sprites and sounds
	*/
	virtual void Precache( void );

	/**
	* Get melee slot
	* return int: the slot, is 1 for melee
	*/
	virtual int iItemSlot( void ) { return 1; }

	/**
	* Get melee item info
	* @param ItemInfo *p: The ItemInfo gets stored here
	* @return int: Always returns 1 (why???)
	*/
	virtual int GetItemInfo(ItemInfo *p);

	/*
	* Pcjoe : The weapons idle
	*/
	virtual void WeaponIdle( void );

	/**
	* Swoop
	*/
	virtual void PrimaryAttack( void );

	/**
	* Kicks
	*/
	virtual void SecondaryAttack( void );

	/**
	* Holsters Melee
	*/
	virtual void Holster(int skiplocal);


	/**
	* Deploys the melee attack
	*/
	virtual BOOL Deploy();

	/**
	* Can we Deploy?
	*/
	virtual BOOL CanDeploy(void);
};
#endif
