//###################################
//Show-Damage Par KouKou
//###################################

////////////////////////////////////////////////////////
//  ATAMAH' (ICQ: 305-839) /////////////
////////////////////////////////////////////////////////
// Modified by ATAMAH (ICQ: 305-839) ///////////////////
////////////////////////////////////////////////////////

block load
{
	es_xload popup
	es_xsetinfo showdamage_text 0

	es_xset showdamagemod 1.0
	es_xmakepublic showdamagemod

	es_keygroupcreate temp_showdamage
	
	es_keygroupcreate serial_damage
	es_keygroupcreate last_damage

	es_msg #multi #lightgreen[ShowDamage Mod]#default Plugin loaded
}

event round_start
{
	es_keygroupdelete serial_damage
	es_keygroupdelete last_damage

	es_keygroupcreate serial_damage
	es_keygroupcreate last_damage
}

event player_hurt
{
	if (event_var(es_attackersteamid) != 0) do
	{
		es_xset temp_steamid_hurt 0
		es_getplayersteamid temp_steamid_hurt event_var(attacker)
		
		es_xset flag_exist 0

		es_exists flag_exist key last_damage event_var(attacker)

		ifx false(flag_exist) do
		{
			es_keycreate last_damage event_var(attacker)
		}

		es_xset flag_exist 0

		es_exists flag_exist key serial_damage event_var(attacker)

		ifx false(flag_exist) do
		{
			es_keycreate serial_damage event_var(attacker)
		}

		es_xset last_damage_sec 0

		es_keygetvalue last_damage_sec last_damage event_var(attacker) event_var(userid)

		es_xset timenow 0
		es_xgettime timenow

		if (server_var(last_damage_sec) > 0) do
		{
			es_math timenow - server_var(last_damage_sec)
			es_math last_damage_sec = server_var(timenow)
		}

		es_xgettime timenow

		es_keysetvalue last_damage event_var(attacker) event_var(userid) server_var(timenow)

		if (server_var(last_damage_sec) < 3) do
		{
			es_xset last_damage_val 0

			es_keygetvalue last_damage_val serial_damage event_var(attacker) event_var(userid)
			es_keysetvalue serial_damage event_var(attacker) event_var(userid) server_var(last_damage_val)
			es_keygetvalue last_damage_val serial_damage event_var(attacker) event_var(userid)

			if (server_var(last_damage_val) != 0) do
			{
				es_math last_damage_val + event_var(dmg_health)
			}
			else do
			{
				es_math last_damage_val = event_var(dmg_health)
			}

			es_keysetvalue serial_damage event_var(attacker) event_var(userid) server_var(last_damage_val)

			es_centertell event_var(attacker) - server_var(last_damage_val) HP
		}
		else do
		{
			es_keysetvalue serial_damage event_var(attacker) event_var(userid) event_var(dmg_health)

			es_centertell event_var(attacker) - event_var(dmg_health) HP
		}

		es_xset flag_exist 0

		es_exists flag_exist key temp_showdamage event_var(attacker)

		ifx false(flag_exist) do
		{
			es_keycreate temp_showdamage event_var(attacker)
		}

		es_xset showdamage_total_value 0
		es_keygetvalue showdamage_total_value temp_showdamage event_var(attacker) total_damage

		if (server_var(showdamage_total_value) > 0) do
		{			
			es_math showdamage_total_value + event_var(dmg_health)
		}
		else do
		{
			es_math showdamage_total_value = event_var(dmg_health)
		}

		es_keysetvalue temp_showdamage event_var(attacker) total_damage server_var(showdamage_total_value)
	}
}

event round_start
{
	es foreach player tempuserid_round_start #all#human "es_keysetvalue temp_showdamage server_var(tempuserid_round_start) total_damage 0"
}

event player_activate
{
	if (event_var(es_steamid) != 0) do
	{
		es_keycreate temp_showdamage event_var(userid)
		es_keysetvalue temp_showdamage event_var(userid) total_damage 0
	}
}

event player_disconnect
{
	es_xset flag_exist 0

	es_exists flag_exist key temp_showdamage event_var(userid)

	ifx true(flag_exist) do
	{
		es_keydelete temp_showdamage event_var(userid)
	}	 
}

block unload
{
	es_keygroupdelete temp_showdamage
	es_msg #multi #lightgreen[ShowDamage Mod]#default Plugin unloaded
}

