A few notes:
This is some nasty/inefficient code, but it's my first stab at Ruby and I'm still learning how everything works.
draw_item draws the player portrait
draw_itemNH draws the player's Name and HP
any duplicate function that ends with *gt is very similar except it draws it greyscale (having to change hue to a great value) and transparency. This is intensive and I want to remove this from in between every part of the attack phase. I can flip the draw_item and draw_itemNH so that the main call is of the name and HP, and then I tell it when to draw the portrait, but I have other issues as well
class Window_BattleStatus < Window_Selectable #--------------------------------------------------------------------------
 # * Draw All Items
 #--------------------------------------------------------------------------
 def draw_all_items
  item_max.times do |i|
   draw_item(item_max - i - 1)
   draw_item_gt(item_max - i - 1)
  end
  draw_item(0)
  item_max.times do |j|
   draw_itemNH(item_max-j-1)
  end
 end
 Â
 #--------------------------------------------------------------------------
 # * Draw Item
 #  ONLY PORTRAITS
 #--------------------------------------------------------------------------
 def draw_item(index)
  actor = $game_party.battle_members[index]
  draw_basic_area(basic_area_rect(index), actor)
 Â
#drawNameHP(basic_area_rect(index), actor)
 end
 Â
 #--------------------------------------------------------------------------
 # * Draw Item
 # NAMES and HP
 #--------------------------------------------------------------------------
 def draw_itemNH(index)
  actor = $game_party.battle_members[index]
 Â
#draw_basic_area(basic_area_rect(index), actor)
  drawNameHP(basic_area_rect(index), actor)
 end
 Â
  #--------------------------------------------------------------------------
 # * Redraw Item
 #--------------------------------------------------------------------------
 def redraw_item(index)
  clear_item(index) if index >= 0
  draw_item(index)  if index >= 0
  draw_itemNP(index) if index >= 0
 end
 #--------------------------------------------------------------------------
 # * Get Basic Area Retangle
 #--------------------------------------------------------------------------
 def basic_area_rect(index)
  rect = item_rect_for_text(index)
  # rect.width -= gauge_area_width + 10
  # above, original
  rect.width = 64
  rect
 endÂ
 Â
 #--------------------------------------------------------------------------
 # * Get Rectangle for Drawing Items (for Text)
 #--------------------------------------------------------------------------
 def item_rect_for_text(index)
  rect = item_rect(index)
  # rect.x += 4
  # rect.width -= 8
  # above, original
  rect.x = index * 60
  rect.width = 64
  rect
 end
Â
 #--------------------------------------------------------------------------
 # * Get Rectangle for Drawing Items
 #--------------------------------------------------------------------------
 def item_rect(index)
  rect = Rect.new
  rect.width = item_width
  rect.height = item_height
 Â
#rect.x = index * 60
  rect.x = index % col_max * (item_width + spacing)
  # rect.y = 0
  index / col_max * item_height
  rect
 end
 Â
 Â
 #--------------------------------------------------------------------------
 # * Get Item Width
 #--------------------------------------------------------------------------
 def item_width
   (width - standard_padding * 2 + spacing) / col_max - spacing
 Â
#96
 end
 Â
 #--------------------------------------------------------------------------
 # * Get Item Height
 #--------------------------------------------------------------------------
 def item_height
 Â
#line_height
  96
 end
 Â
 #--------------------------------------------------------------------------
 # * Draw HP
 #--------------------------------------------------------------------------
 def draw_actor_hp(actor, x, y, width = 96)
  # draw_gauge(x, y, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
  change_color(system_color)
  # draw_text(x, y, 30, line_height, Vocab::hp_a)
  draw_current_value(x, y, width, actor.hp, hp_color(actor))
 end
 Â
 #--------------------------------------------------------------------------
 # * Draw Current Value
 #   current : Current value
 #   color1  : Color of current value
 #--------------------------------------------------------------------------
 def draw_current_value(x, y, width, current, color1)
  change_color(color1)
  xr = x + width
  if width < 96
   draw_text(xr - 40, y, 42, line_height, current, 2)
  else
   draw_text(xr - 92, y, 42, line_height, current, 2)
  end
 end Â
 Â
 #--------------------------------------------------------------------------
 # * Get Row Count
 #--------------------------------------------------------------------------
 def row_max
  #[(item_max + col_max - 1) / col_max, 1].max
  1
 end
 Â
 #--------------------------------------------------------------------------
 # * Get Digit Count
 #  USING AS COLUMN COUNT
 #--------------------------------------------------------------------------
 def col_max
  return 6
 end
Â
 Â
 #--------------------------------------------------------------------------
 # * Draw Face Graphic
 #   enabled : Enabled flag. When false, draw semi-transparently.
 #--------------------------------------------------------------------------
 def draw_face(face_name, face_index, x, y, enabled = true)
  bitmap = Cache.face(face_name)
  rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96)
  #bitmap.hue_change(900)
  contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  bitmap.dispose
 end
 #--------------------------------------------------------------------------
 # * Draw Face Graphic -Â
 #  GREY and transparent
 #   enabled : Enabled flag. When false, draw semi-transparently.
 #--------------------------------------------------------------------------
 def draw_face_gt(face_name, face_index, x, y, enabled = false)
  bitmap = Cache.face(face_name)
  rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, 96, 96)
  bitmap.hue_change(900)
  contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  bitmap.dispose
 end
Â
 Â
 Â
 #--------------------------------------------------------------------------
 # * Draw Actor Face Graphic
 #--------------------------------------------------------------------------
 def draw_actor_face(actor, x, y, enabled = true)
  draw_face(actor.face_name, actor.face_index, x, y, enabled)
 end
 #--------------------------------------------------------------------------
 # * Draw Actor Face GraphicÂ
 #  GREY & TRANSPARENT
 #--------------------------------------------------------------------------
 def draw_actor_face_gt(actor, x, y, enabled = true)
  draw_face_gt(actor.face_name, actor.face_index, x, y, enabled)
 end
 Â
 Â
 Â
 #--------------------------------------------------------------------------
 # * Draw Item
 #  GREY and transparent
 #--------------------------------------------------------------------------
 def draw_item_gt(index)
  actor = $game_party.battle_members[index]
  draw_basic_area_gt(basic_area_rect(index), actor)
 end
  #--------------------------------------------------------------------------
 # * Draw Item
 #  GREY and transparent
 #  NO PORTRAIT
 #--------------------------------------------------------------------------
 def draw_item_gt(index)
  actor = $game_party.battle_members[index]
  draw_basic_area_gt(basic_area_rect(index), actor)
 end
Â
 Â
  #--------------------------------------------------------------------------
 # * Draw Basic Area
 #--------------------------------------------------------------------------
 def draw_basic_area(rect, actor)
  draw_actor_face(actor, rect.x + 0, 0, true) #set to false for transparent
  #draw_actor_name(actor, rect.x + 10, rect.y, 100)
  #draw_actor_hp(actor, rect.x + 0, rect.y + 76, 100)
 end
 #--------------------------------------------------------------------------
 # * Draw Basic Area
 #  GREY & TRANSPARENT
 #--------------------------------------------------------------------------
 def draw_basic_area_gt(rect, actor)
  draw_actor_face_gt(actor, rect.x + 0, 0, false) #set to false for transparent
  #draw_actor_name(actor, rect.x + 10, rect.y, 100)
  #draw_actor_hp(actor, rect.x + 0, rect.y + 76, 100)
 end
  #--------------------------------------------------------------------------
 # * Draw Basic Area
 #  GREY & TRANSPARENT
 #  NO PORTRAIT
 #--------------------------------------------------------------------------
 def draw_basic_area_gtnp(rect, actor)
  #draw_actor_face_gt(actor, rect.x + 0, 0, false) #set to false for transparent
  draw_actor_name(actor, rect.x + 10, rect.y, 100)
  #draw_actor_hp(actor, rect.x + 0, rect.y + 76, 100)
 end
 #--------------------------------------------------------------------------
 # * Move Cursor Right
 #--------------------------------------------------------------------------
 def cursor_right(wrap = false)
  if col_max >= 2 && (index < item_max - 1 || (wrap && horizontal?))
   select((index + 1) % item_max)
   #added to provide highlight
   if index != 0
    draw_item_gt(index-1)
   else
    draw_item_gt(item_max-1)
   end
   draw_item(index)
   draw_itemNH(index)
   if index != 0
    draw_itemNH(index-1)
   else
    draw_itemNH(item_max-1)
   end
   if index != item_max-1
    draw_itemNH(index+1)
   else
    draw_itemNH(0)
   end
  end
 end
 #--------------------------------------------------------------------------
 # * Move Cursor Left
 #--------------------------------------------------------------------------
 def cursor_left(wrap = false)
  if col_max >= 2 && (index > 0 || (wrap && horizontal?))
   select((index - 1 + item_max) % item_max)
   if index != item_max-1
    draw_item_gt(index+1)
    if (index != item_max-2)
     draw_itemNH(index+2)
    end
   else
    draw_item_gt(0)
    draw_itemNH(1)
   end
   draw_item(index)
   draw_itemNH(index)
   if index != item_max-1
    draw_itemNH(index+1)
   else
    draw_itemNH(0)
   end
   if index != 0
    draw_itemNH(index-1)
   else
    draw_itemNH(item_max-1)
   end
  end
 end
Â
 #----------------
 #   Draw Name & HP
 #----------------
Â
 def drawNameHP(rect, actor)
   draw_actor_name(actor, rect.x + 10, rect.y, 100)
   draw_actor_hp(actor, rect.x + 0, rect.y + 76, 100)
  end
  Â
end