//////////////////////////////////////////////////////////////////////////////////////////////////////////
//                                         Medical Kit v1.0												//
// 											     __														//
//										        |  |													//
//									    	____|__|____												//
//									       |____|__|____|												//
//											    |  |													//
//											    |_ |													//
//																										//
//*Description: Gives a medical kit to each player, when used it i'll give 25 HP to you in 3 seconds. 	//
//				You also can give your kit to a friend near to you.										//
//																										//
//*Commands : !medkit (to use your medkit) 																//
//			  !medkitgive (to give your medkit to any friend)											//
//																										//
//*Information : You can change the medical kit life with medkit_life in block load (Standard: 25)		//
//																										//
//*by: Kana.																							//
//////////////////////////////////////////////////////////////////////////////////////////////////////////


block load
{
	es_xset medkit_life "25"
	es_xkeygroupcreate medkit_users
	es_xregsaycmd !medkit medicalkit/medkitcheck
	es_xregclientcmd !medkit medicalkit/medkitcheck
	es_xregsaycmd !medkitgive medicalkit/medkitgivecheck
	es_xregclientcmd !medkitgive medicalkit/medkitgivecheck
	es_xmsg #multi #lightgreen[Medical Kit]#default - Loaded...
	es_xset medkit_menuloaded 0
	es_xexists medkit_menuloaded script keymenu
	ifx false(medkit_menuloaded) do
	{
		es_xload keymenu
	}
}

block unload
{
	es repeat delete server_var(_repeat_name)
	es_xkeygroupdelete medkit_users
	es_xunregsaycmd !medkit
	es_xunregclientcmd !medkit
	es_xunregclientcmd !medkitgive
	es_xunregsaycmd !medkitgive
	es_xmsg #multi #lightgreen[Medical Kit]#default - Unloaded...
}

event es_map_start
{
	downloadable sound/KANA_SCRIPT/medicalkit/smallmedkit1.wav
}

event player_spawn
{
	es_xset medkit_keyexist 0
	es_exists medkit_keyexist key medkit_users event_var(userid)
	if (server_var(medkit_keyexist) = 1) then es_keydelete medkit_users event_var(userid)
	es_keycreate medkit_users event_var(userid)
	es_xkeycreate medkit_users active
	es_keysetvalue medkit_users event_var(userid) medkit 1
	es_keysetvalue medkit_users event_var(userid) medkit_active 1
	es_keysetvalue medkit_users event_var(userid) name event_var(es_username)
	es_tell event_var(userid) #multi #lightgreen[Medical Kit]#default - You gained a medical kit.
	es_xset checkhealth 0
	es_xdelayed 3.1 es_xdoblock medicalkit/checkhealth
}

event player_death
{
	es_keysetvalue medkit_users event_var(userid) medkit_active 0
}

event player_activate
{
	es_keysetvalue medkit_users event_var(userid) medkit_active 0
}

event round_end
{
	es_xset medkit_keyexist 0
	es_xexists medkit_keyexist key medkit_users active
	if (server_var(medkit_keyexist) = 1) then es_keydelete medkit_users active
}

event player_disconnect
{
	es_xset medkit_keyexist 0
	es_exists medkit_keyexist key medkit_users event_var(userid)
	if (server_var(medkit_keyexist) = 1) then es_keydelete medkit_users event_var(userid)
}

block resetvar
{
	es_xset medkit_getmedkit 0
	es_xset medkit_getmedkitactive 0
	es_xset medkit_id 0
	es_format medkit_id "medkit_%1" event_var(userid)
	es_xset medkit_getdead 0
	es_xset medkit_gethealth 0
	es_xset medkit_keyexist 0
}

block medkitcheck
{
	es_xdoblock medicalkit/resetvar
	es_xgetcmduserid medkit_id
	es_xexists medkit_keyexist key medkit_users active
	es_keygetvalue medkit_getmedkit medkit_users server_var(medkit_id) medkit
	es_keygetvalue medkit_getmedkitactive medkit_users server_var(medkit_id) medkit_active
	es playerget isdead medkit_getdead server_var(medkit_id)
	if (server_var(medkit_getmedkitactive) = 1) do
	{
		if (server_var(medkit_getdead) = 0) do
		{
			if (server_var(medkit_getmedkit) > 0) do
			{
				es_xdoblock medicalkit/medkitwaste
			}
			else do
			{
				es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You already used your medical kit.
			}
		}
		else do
		{
			es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You must be alive to give your medical kit to your friend.
		}
	}
	if (server_var(medkit_getmedkitactive) = 0) then es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You must be alive to give your medical kit to your friend.
	if (server_var(medkit_keyexist) = 0) then es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You can't use it right now.
}

block medkitwaste
{
	es_xset medkit_id 0
	es_xgetcmduserid medkit_id
	es playerget health medkit_gethealth server_var(medkit_id)
	if (server_var(medkit_gethealth) > 75) do
	{
		if (server_var(medkit_gethealth) != 100) do
		{
			es keymath medkit_users server_var(medkit_id) medkit - 1
			es_give server_var(medkit_id) env_Smokestack
			es_fire server_var(medkit_id) env_Smokestack addoutput "targetname heal"
			es_fire server_var(medkit_id) heal addoutput "basespread 10"
			es_fire server_var(medkit_id) heal addoutput "spreadspeed 5"
			es_fire server_var(medkit_id) heal addoutput "speed 50"
			es_fire server_var(medkit_id) heal addoutput "startsize 1"
			es_fire server_var(medkit_id) heal addoutput "endsize 3"
			es_fire server_var(medkit_id) heal addoutput "rate 200"
			es_fire server_var(medkit_id) heal addoutput "jetlength 100"
			es_fire server_var(medkit_id) heal addoutput "SmokeMaterial particle\fire.vmt"
			es_fire server_var(medkit_id) heal addoutput "rendercolor 0 100 0"
			es_fire server_var(medkit_id) heal setparent !activator
			es_fire server_var(medkit_id) heal turnon
			es_delayed 3 es_fire server_var(medkit_id) heal kill
			es_delayed 3 es playerset health server_var(medkit_id) 100
			es_delayed 3 es_emitsound player server_var(medkit_id) KANA_SCRIPT/medicalkit/smallmedkit1.wav 1.0 0.5
			es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You just use your medical kit. You are fully restored!
			es_keygetvalue medkit_getmedkit medkit_users server_var(medkit_id) medkit
			es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You still have#green server_var(medkit_getmedkit) #defaultmedical kit(s).
		}
		else do
		{
			es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - Your life is full. Use in a critical situation.
		}
	}
	if (server_var(medkit_gethealth) < 75) do
	{
		es keymath medkit_users server_var(medkit_id) medkit - 1
		es_give server_var(medkit_id) env_Smokestack
		es_fire server_var(medkit_id) env_Smokestack addoutput "targetname heal"
		es_fire server_var(medkit_id) heal addoutput "basespread 10"
		es_fire server_var(medkit_id) heal addoutput "spreadspeed 5"
		es_fire server_var(medkit_id) heal addoutput "speed 50"
		es_fire server_var(medkit_id) heal addoutput "startsize 1"
		es_fire server_var(medkit_id) heal addoutput "endsize 3"
		es_fire server_var(medkit_id) heal addoutput "rate 200"
		es_fire server_var(medkit_id) heal addoutput "jetlength 100"
		es_fire server_var(medkit_id) heal addoutput "SmokeMaterial particle\fire.vmt"
		es_fire server_var(medkit_id) heal addoutput "rendercolor 0 100 0"
		es_fire server_var(medkit_id) heal setparent !activator
		es_fire server_var(medkit_id) heal turnon
		es_delayed 3 es_fire server_var(medkit_id) heal kill
		es_delayed 3 es playerset healthadd server_var(medkit_id) server_var(medkit_life)
		es_delayed 3 es_emitsound player server_var(medkit_id) KANA_SCRIPT/medicalkit/smallmedkit1.wav 1.0 0.5
		es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You just use your medical kit.
		es_keygetvalue medkit_getmedkit medkit_users server_var(medkit_id) medkit
		es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You still have#green server_var(medkit_getmedkit) #defaultmedical kit(s).
	}
	es_xdelayed 3.1 es_xdoblock medicalkit/checkhealth
}

block checkhealth
{
	es_xset medkit_gethealth 0
	es playerget health medkit_gethealth event_var(userid)
	if (server_var(medkit_gethealth) > 100) then es playerset health server_var(medkit_id) 100
}

block medkitgivecheck
{
	es_xdoblock medicalkit/resetvar
	es_xgetcmduserid medkit_id
	es_xexists medkit_keyexist key medkit_users active

	es_keygetvalue medkit_getmedkit medkit_users server_var(medkit_id) medkit
	es_keygetvalue medkit_getmedkitactive medkit_users server_var(medkit_id) medkit_active
	es playerget isdead medkit_getdead server_var(medkit_id)
	if (server_var(medkit_keyexist) = 1) do
	{
		if (server_var(medkit_getmedkitactive) = 1) do
		{
			if (server_var(medkit_getdead) = 0) do
			{
				if (server_var(medkit_getmedkit) > 0) do
				{
					es_xdoblock medicalkit/medkitgive
				}
				else do
				{
					es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You already used your medical kit.
				}
			}
			else do
			{
				es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You must be alive to give your medical kit to your friend.
			}
		}
		else do
		{
			es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You must be alive to give your medical kit to your friend.
		}
	}
	else do
	{
		es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You can't use it right now.
	}
}


block medkitgive
{
	es_xdoblock medicalkit/resetvar
	es_xgetcmduserid medkit_id
	keymenu exists medkitmenu_exist medkitmenu
	if (server_var(medkitmenu_exist) = 1) then keymenu delete medkitmenu
	es_xcreateplayerlist medkitplayerlist
	keymenu create medkitmenu medkit_user medicalkit/medkitselect medkitplayerlist #keyvalue name #key Medical Kit v1.0\nChoose a friend to give your medical kit:
	es keymenu send medkitmenu server_var(medkit_id)
	es_xkeygroupdelete medkitplayerlist
}

block medkitselect
{
	es_xset medkit_team 0
	es_xset medkit_getmedkitactive 0
	es_getplayerteam medkit_team server_var(medkit_user)
	es_keygetvalue medkit_getmedkit medkit_users server_var(_popup_userid) medkit
	es_keygetvalue medkit_getmedkitactive medkit_users server_var(medkit_id) medkit_active
	if (server_var(medkit_getmedkitactive) = 1) do
	{
		if (server_var(medkit_getmedkit) => 1) do
		{
			if (event_var(es_userteam) = server_var(medkit_team)) do
			{
				if (server_var(_popup_userid) != server_var(medkit_user)) do
				{
					es_xset medkit_near 0
					es est_near medkit_near server_var(medkit_user) 240 server_var(_popup_userid) "es_xset near_ok 1"
					if (server_var(near_ok) = 1) do
					{
						es_xset medkit_name 0
						es_xset medkit_givername 0
						es_xset medkit_dice 0
						es_keysetvalue medkit_users server_var(_popup_userid) medkit 0
						es keymath medkit_users server_var(medkit_user) medkit + 1
						es_getplayername medkit_name server_var(medkit_user)
						es_getplayername medkit_givername server_var(_popup_userid)
						es_tell server_var(_popup_userid) #multi #lightgreen[Medical Kit]#default - You gave your medical kit to#green server_var(medkit_name).
						es_keygetvalue medkit_getmedkit medkit_users server_var(_popup_userid) medkit
						es_tell server_var(_popup_userid) #multi #lightgreen[Medical Kit]#default - You still have#green server_var(medkit_getmedkit) #defaultmedical kit(s).
						es_tell server_var(medkit_user) #multi #lightgreen[Medical Kit]#default -#green server_var(medkit_givername) #defaultgave to you a medical kit.
						es_keygetvalue medkit_getmedkit medkit_users server_var(medkit_user) medkit
						es_tell server_var(medkit_user) #multi #lightgreen[Medical Kit]#default - You have now#green server_var(medkit_getmedkit) medical kit(s).
						es_xrand medkit_dice 1 5
						if (server_var(medkit_dice) = 1) then es_emitsound player server_var(_popup_userid) vo/npc/male01/health01.wav 1.0 0.5
						if (server_var(medkit_dice) = 2) then es_emitsound player server_var(_popup_userid) vo/npc/male01/health02.wav 1.0 0.5
						if (server_var(medkit_dice) = 3) then es_emitsound player server_var(_popup_userid) vo/npc/male01/health03.wav 1.0 0.5
						if (server_var(medkit_dice) = 4) then es_emitsound player server_var(_popup_userid) vo/npc/male01/health04.wav 1.0 0.5
						if (server_var(medkit_dice) = 5) then es_emitsound player server_var(_popup_userid) vo/npc/male01/health05.wav 1.0 0.5
						es_xset near_ok 0
					}
					else do
					{
						es_tell server_var(_popup_userid) #multi #lightgreen[Medical Kit]#default - You must be near to the target to give the medical kit.
					}
				}
				else do
				{
					es_tell server_var(_popup_userid) #multi #lightgreen[Medical Kit]#default - You can't choose yourself...
				}
			}
			else do
			{
				es_tell server_var(_popup_userid) #multi #lightgreen[Medical Kit]#default - You must choose a friend to give your medical kit.
			}
		}
		else do
		{
			es_tell server_var(_popup_userid) #multi #lightgreen[Medical Kit]#default - You must have at least 1 medical kit.
		}
	}
	else do
	{
		es_tell server_var(medkit_id) #multi #lightgreen[Medical Kit]#default - You must be alive to give your medical kit to your friend.
	}
}

