block load
{
  es_xmath mb_charload + 8
}
block smith
{
	if (server_var(mb_currentability) == 1) do
	{
		es_xset mb_smithspeed .5
		es_xset mb_smithdodgetime 3
		es_xdoblock mb_matrix/characters/smith/smith_execute
	}
	else do
	{
		if (server_var(mb_currentability) == 2) do
		{
			es_xset mb_smithspeed .6
			es_xset mb_smithdodgetime 3
			es_xdoblock mb_matrix/characters/smith/smith_execute
		}
		else do
		{
			if (server_var(mb_currentability) == 3) do
			{
				es_xset mb_smithspeed .7
				es_xset mb_smithdodgetime 4
				es_xdoblock mb_matrix/characters/smith/smith_execute
			}
			else do
			{
				if (server_var(mb_currentability) == 4) do
				{
					es_xset mb_smithspeed .8
					es_xset mb_smithdodgetime 4
					es_xdoblock mb_matrix/characters/smith/smith_execute
				}
				else do
				{
					if (server_var(mb_currentability) == 5) do
					{
						es_xset mb_smithspeed 1
						es_xset mb_smithdodgetime 5
						es_xdoblock mb_matrix/characters/smith/smith_execute
					}
				}
			}
		}
	}
}
block smith_execute
{
	if (server_var(mb_dead) == 0) do
	{
		if (server_var(mb_focus) > 2) do
		{
			es_keysetvalue Matrix server_var(mb_steamid) smithdodge 1
			es est_SetPlayerColor server_var(mb_userid) 255 255 255 140 1
			es est_speed server_var(mb_userid) server_var(mb_smithspeed)
			es est_god server_var(mb_userid) 1
			es_formatv mb_formatmsg "#lightgreen[Ability Level %1] #defaultYou focus on dodging incoming bullets for the next #green%2 #defaultseconds" mb_currentability mb_smithdodgetime
			es_tell server_var(mb_userid) #multi server_var(mb_formatmsg)
			es_delayed server_var(mb_smithdodgetime) est_god server_var(mb_userid) 0
			es_delayed server_var(mb_smithdodgetime) est_SetPlayerColor server_var(mb_userid) 255 255 255 255 1
			es_delayed server_var(mb_smithdodgetime) es_xtell server_var(mb_userid) #multi #lightgreen[Smith] #defaultYou are no longer dodging bullets.
			es_delayed server_var(mb_smithdodgetime) es_xkeysetvalue Matrix server_var(mb_steamid) smithdodge 0
			es_delayed server_var(mb_smithdodgetime) est_speed server_var(mb_userid) server_var(mb_currentspeed)
			es_xmath mb_focus - 3
			if (server_var(mb_count) >= server_var(mb_ability_exp_players)) do
			{
				if (server_var(mb_currentability) == 1) do
				{
					es_xmath mb_count float
					es_xmath mb_count * .5
					es est_trimdecimal mb_trimdec server_var(mb_count) 2
				}
				else do
				{
					if (server_var(mb_currentability) == 2) do
					{
						es_xmath mb_count float
						es_xmath mb_count * .4
						es est_trimdecimal mb_trimdec server_var(mb_count) 2
					}
					else do
					{
						if (server_var(mb_currentability) == 3) do
						{
							es_xmath mb_count float
							es_xmath mb_count * .3
							es est_trimdecimal mb_trimdec server_var(mb_count) 2
						}
						else do
						{
							if (server_var(mb_currentability) == 4) do
							{
								es_xmath mb_count float
								es_xmath mb_count * .2
								es est_trimdecimal mb_trimdec server_var(mb_count) 2
							}
							else do
							{
								if (server_var(mb_currentability) == 5) do
								{
									es_xmath mb_count float
									es_xmath mb_count * .1
									es est_trimdecimal mb_trimdec server_var(mb_count) 2
								}
							}
						}
					}
				}
			}
		}
		else do
		{
			es_tell server_var(mb_userid) #multi #lightgreen[Failure] #defaultYou need 3 focus points to perform #greenBullet Dodge.
		}
	}
	else do
	{
		es_tell server_var(mb_userid) #multi #lightgreen[Failure] #defaultYou cannot use abilities while dead.
	}
}





