block load
{
  es_xmath mb_charload + 1
}
block neo
{
  if (server_var(mb_currentability) == 1) do
  {
    es_xset mb_neotime 1
    es_xdoblock mb_matrix/characters/neo/neo_execute
  }
  else do
  {
    if (server_var(mb_currentability) == 2) do
    {
      es_xset mb_neotime 2
      es_xdoblock mb_matrix/characters/neo/neo_execute
    }
    else do
    {
      if (server_var(mb_currentability) == 3) do
      {
        es_xset mb_neotime 3
        es_xdoblock mb_matrix/characters/neo/neo_execute
      }
      else do
      {
        if (server_var(mb_currentability) == 4) do
        {
          es_xset mb_neotime 4
          es_xdoblock mb_matrix/characters/neo/neo_execute
        }
        else do
        {
          if (server_var(mb_currentability) == 5) do
          {
            es_xset mb_neotime 5
            es_xdoblock mb_matrix/characters/neo/neo_execute
          }
        }
      }
    }
  }
}
block neo_execute
{
  if (server_var(mb_dead) == 0) do
  {
    if (server_var(mb_focus) > 2) do
    {
      sv_cheats 1
      es_xcexec_all play mb_matrix/enter.mp3
      host_timescale .4
      es est_speed server_var(mb_userid) 2
      es_xset mb_bttracer 1
      es_delayed server_var(mb_neotime) est_speed server_var(mb_userid) server_var(mb_currentspeed)
      es_delayed server_var(mb_neotime) es_xset mb_bttracer 0
      es_delayed server_var(mb_neotime) host_timescale 1
      es_delayed server_var(mb_neotime) sv_cheats 0
      es_formatv mb_formatmsg "#lightgreen[Ability Level %1] #green%2 #defaulthas activated Neo's Bullet Time ability for #green%3 #defaultseconds" mb_currentability mb_playername mb_neotime
      es_msg #multi server_var(mb_formatmsg)
      es_xmath mb_focus - 3
      es_xdoblock mb_matrix/checksound
      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 Time.
    }
  }
  else do
  {
    es_tell server_var(mb_userid) #multi #lightgreen[Failure] #defaultYou cannot use abilities while dead.
  }
}
