/*********************************************************************//**
*	Zraneni.
*	Zrani entitu do cilove pozice pokud do tohoto objektu vstoupi.
*	
*	author: Michal Jirous
*	date: 23.04.2009
*	file: ent_triggerhurt.cpp
**********************************************************************/

#include "ent_triggers.h"
#include "damage_types.h"

TriggerHurt::TriggerHurt() : CBaseTrigger()
{
	m_sClassName = "trigger_hurt";
	m_iDamage = 0;
	m_iDamageType = dmg::GENERIC;
}

void TriggerHurt::setParameters( parameters_t &parametersMap )
{
	CBaseTrigger::setParameters( parametersMap );

	std::string sValue = getParameterValue( parametersMap, "damagetype" );
	if( !sValue.empty() )
		m_iDamageType = atoi( sValue.c_str() );

	sValue = getParameterValue( parametersMap, "dmg" );
	if( !sValue.empty() )
		m_iDamage = atoi( sValue.c_str() );
}

#include "ent_creatures.h"

void TriggerHurt::trigger()
{
	if( m_pTriggeredObject && m_pTriggeredObject->getProperties() & ENT_PARM_DYNAMIC_MODEL_USAGE )
	{
		AttackInfo attInfo;
		attInfo.m_pInitiator = this;
		attInfo.m_iDamageType = m_iDamageType;
		attInfo.m_iDamage = m_iDamage;
		m_pTriggeredObject->onAttack( attInfo );
	}
}
