//========= Copyright Valve Corporation, All rights reserved. ============//
//
//
//=============================================================================
#include "cbase.h"
#include "tf_weapon_decoy.h"


#if !defined( CLIENT_DLL )
	#include "tf_player.h"
	#include "bot_npc/bot_npc_decoy.h"
#else
	#include "c_tf_player.h"
#endif


IMPLEMENT_NETWORKCLASS_ALIASED( TFDecoy, DT_WeaponDecoy )

BEGIN_NETWORK_TABLE( CTFDecoy, DT_WeaponDecoy )
END_NETWORK_TABLE()


/*
// Server specific.
#ifndef CLIENT_DLL
BEGIN_DATADESC( CTFDecoy )
END_DATADESC()
#endif
*/

LINK_ENTITY_TO_CLASS( tf_weapon_decoy, CTFDecoy );
PRECACHE_WEAPON_REGISTER( tf_weapon_decoy );


//-----------------------------------------------------------------------------
CTFDecoy::CTFDecoy()
{
}


//-----------------------------------------------------------------------------
void CTFDecoy::PrimaryAttack( void )
{
	// Are we capable of firing again?
	if ( m_flNextPrimaryAttack > gpGlobals->curtime )
		return;

#if !defined( CLIENT_DLL )
	CTFPlayer *pOwner = ToTFPlayer( GetOwner() );
	if ( !pOwner )
	{
		return;
	}

	if ( !CanAttack() )
		return;

	CBotNPCDecoy *decoy = (CBotNPCDecoy *)CreateEntityByName( "bot_npc_decoy" );
	if ( decoy )
	{
		decoy->SetOwnerEntity( pOwner );
		DispatchSpawn( decoy );

		m_flNextPrimaryAttack = gpGlobals->curtime + 5.0f;
	}
#endif // CLIENT_DLL
}