/*********************************************************************//**
*	Informace o utoku
*	Implementace jednotky utoku pomoci projektilu s okamzitym ucinkem,
*	tj. s nekonecnou rychlosti.
*
*	author: Michal Jirous
*	date: 8.12.2008
*	file: attack_info.cpp
**********************************************************************/

#include "attack_info.h"

/**
*	@param start Pocatecni bod.
*	@param direction Smer pohybu strely. 
*	@param who	Vlastnik strely.
*	@param damage Velikost zraneni.
*	@param distance Maximalni cilova vzdalenost .
*	@param damage_type Typ utoku.
*	@param dispersion Maximalni rozptyl strely.
*/
void AttackInfo::create( Point &start, Vector &direction, CBaseEntity *who, int damage, float distance , int damage_type, float dispersion )
{
	m_Start = start;
	m_pInitiator = who;
	
	m_iDamageType = damage_type;
	m_iDamage = damage;

	m_fDistance = distance;

	if( dispersion > 0 )
	{
		int degree = (int)(dispersion * 1000.0f);
		
		float horizontal = ((float)(rand() % degree)) / 1000.0f;
		float vertical = ((float)(rand() % degree)) / 1000.0f;

		//otoceni dle uhlu...no..pockame az bude quaternion





	}
	else
		m_vecDirection = direction;

	m_bSoundPlayed = false;
	m_iMaterial = 0;
}



/**
*	@param start Pocatecni bod.
*	@param direction Smer pohybu strely. 
*	@param who	Vlastnik strely.
*	@param damage Velikost zraneni.
*	@param distance Maximalni cilova vzdalenost .
*	@param damage_type Typ utoku.
*	@param dispersion Maximalni rozptyl strely.
*/
AttackInfo::AttackInfo(alg::Point &start, alg::Vector &direction, CBaseEntity *who, int damage, float distance, int damage_type, float dispersion)
{
	m_Start = start;
	m_pInitiator = who;
	
	m_iDamageType = damage_type;
	m_iDamage = damage;

	m_fDistance = distance;

	if( dispersion > 0 )
	{
		int degree = (int)(dispersion * 1000.0f);
		
		float horizontal = ((float)(rand() % degree)) / 1000.0f;
		float vertical = ((float)(rand() % degree)) / 1000.0f;

		//otoceni dle uhlu...no..pockame az bude quaternion





	}
	else
		m_vecDirection = direction;

	m_bSoundPlayed = false;
	m_iMaterial = 0;
}

