block load
{
  es_xmath mb_charload + 6
}
block niobe
{
  es_xcopy mb_niobespeed mb_currentspeed
  es_xmath mb_niobespeed float
  if (server_var(mb_currentability) == 1) do
  {
    es_xmath mb_niobespeed + .05
    es_xset mb_niobehealth 10
    es_xset mb_niobedistance 150
    es_xdoblock mb_matrix/characters/niobe/niobe_execute
  }
  else do
  {
    if (server_var(mb_currentability) == 2) do
    {
      es_xmath mb_niobespeed + .1
      es_xset mb_niobehealth 15
      es_xset mb_niobedistance 200
      es_xdoblock mb_matrix/characters/niobe/niobe_execute
    }
    else do
    {
      if (server_var(mb_currentability) == 3) do
      {
        es_xmath mb_niobespeed + .15
        es_xset mb_niobehealth 20
        es_xset mb_niobedistance 250
        es_xdoblock mb_matrix/characters/niobe/niobe_execute
      }
      else do
      {
        if (server_var(mb_currentability) == 4) do
        {
          es_xmath mb_niobespeed + .2
          es_xset mb_niobehealth 30
          es_xset mb_niobedistance 300
          es_xdoblock mb_matrix/characters/niobe/niobe_execute
        }
        else do
        {
          if (server_var(mb_currentability) == 5) do
          {
            es_xmath mb_niobespeed + .25
            es_xset mb_niobehealth 40
            es_xset mb_niobedistance 500
            es_xdoblock mb_matrix/characters/niobe/niobe_execute
          }
        }
      }
    }
  }
}
block loop
{
  es_getplayerprop mb_niobeability server_var(mb_nearcoord) "CCSPlayer.baseclass.m_iHealth"
  es_math mb_niobeability + server_var(mb_niobehealth)
  es est_healthadd server_var(mb_nearcoord) server_var(mb_niobehealth)
  es est_speed server_var(mb_nearcoord) server_var(mb_niobespeed)
  es est_SetArmor server_var(mb_nearcoord) 120
  es_formatv mb_formatmsg "#lightgreen[Ability Level %1] #defaultYour Health, Speed, and Armor have increased!" mb_currentability
  es_tell server_var(mb_nearcoord) #multi server_var(mb_formatmsg)
}
block niobe_execute
{
  if (server_var(mb_dead) == 0) do
  {
    if (server_var(mb_focus) > 2) do
    {
      es_getplayerprop mb_niobeability server_var(mb_userid) "CCSPlayer.baseclass.m_iHealth"
      if (server_var(mb_niobeability) <= 425) do
      {
        es_getplayerlocation mb_nx mb_ny mb_nz server_var(mb_userid)
        es_xmath mb_nz + 7
        es est_effect 10 #a 0 "sprites/lgtning.vmt" server_var(mb_nx) server_var(mb_ny) server_var(mb_nz) 0 server_var(mb_niobedistance) 2 2 2 1 255 0 0 255 0
        es_delayed .1 est_effect 10 #a 0 "sprites/lgtning.vmt" server_var(mb_nx) server_var(mb_ny) server_var(mb_nz) 0 server_var(mb_niobedistance) 2 2 2 1 255 0 0 255 0
        es_getplayerteam mb_getteam server_var(mb_userid)
        if (server_var(mb_getteam) == 2) then est_NearCoord mb_nearcoord #t server_var(mb_niobedistance) server_var(mb_nx) server_var(mb_ny) server_var(mb_nz) "es_xdoblock mb_matrix/characters/niobe/loop"
        if (server_var(mb_getteam) == 3) then est_NearCoord mb_nearcoord #ct server_var(mb_niobedistance) mb_nx mb_ny mb_nz "es_xdoblock mb_matrix/characters/niobe/loop"
        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[Niobe] #defaultYou cannot use#green "Niobe's" Courage 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"Niobe's" Courage
    }
  }
  else do
  {
    es_tell server_var(mb_userid) #multi #lightgreen[Failure] #defaultYou cannot use abilities while dead.
  }
}

