block load
{
  es_xmath mb_charload + 5
}
block ghost
{
  if (server_var(mb_currentability) == 1) do
  {
    es_xsetinfo mb_ghostheal 30
    es_xdoblock mb_matrix/characters/ghost/ghost_execute
  }
  else do
  {
    if (server_var(mb_currentability) == 2) do
    {
      es_xset mb_ghostheal 40
      es_xdoblock mb_matrix/characters/ghost/ghost_execute
    }
    else do
    {
      if (server_var(mb_currentability) == 3) do
      {
        es_xset mb_ghostheal 50
        es_xdoblock mb_matrix/characters/ghost/ghost_execute
      }
      else do
      {
        if (server_var(mb_currentability) == 4) do
        {
          es_xset mb_ghostheal 60
          es_xdoblock mb_matrix/characters/ghost/ghost_execute
        }
        else do
        {
          if (server_var(mb_currentability) == 5) do
          {
            es_xset mb_ghostheal 75
            es_xdoblock mb_matrix/characters/ghost/ghost_execute
          }
        }
      }
    }
  }
}
block ghost_execute
{
  if (server_var(mb_dead) == 0) do
  {
    if (server_var(mb_focus) > 2) do
    {
      es_getplayerprop mb_ghostability server_var(mb_userid) "CCSPlayer.baseclass.m_iHealth"
      if (server_var(mb_ghostability) <= 425) do
      {
        es_math mb_ghostability + server_var(mb_ghostheal)
        es_setplayerprop server_var(mb_userid) CCSPlayer.baseclass.m_iHealth server_var(mb_ghostability)
        es_formatv mb_formatmsg "#lightgreen[Ability Level %1] #defaultYou have been regenerated#green %2 #defaulthealth" mb_currentability mb_ghostheal
        es_tell server_var(mb_userid) #multi server_var(mb_formatmsg)
        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
            es_keysetvalue server_var(mb_currentclass)
          }
          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[Ghost] #defaultYou cannot regenerate HP if your health is above 425.
      }
    }
    else do
    {
      es_tell server_var(mb_userid) #multi #lightgreen[Failure] #defaultYou need 3 focus points to perform #green"Ghost's" regeneration.
    }
  }
  else do
  {
    es_tell server_var(mb_userid) #multi #lightgreen[Failure] #defaultYou cannot use abilities while dead.
  }
}


