Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

"Battle Report" edit request

Status
Not open for further replies.
It was recommended to me to post this in the request thread rather than asking about it in the corresponding script's thread.

I'm going to be using the Battle Report script. This is the version I am using:

Code:
#==============================================================================
# ** Battle Report v 1.6 by Illustrationism
#  * Posted & Edited by Raziel
#==============================================================================
#  A script that shows the battle result like in the Final Fantasy games.
#
#  Features
#  * Scrolling down Exp
#
#   Edits:
#  * Exp Bars filling up
#  * Possible displaying of Facesets instead of Charactersets
#  * Exp scrolling down faster, depending on how much exp you gain after battle.
#  * Play a ME as long as you want in the result window.
#==============================================================================

class Game_Actor < Game_Battler
  def exp=(exp)
    @exp = [[exp, 9999999].min, 0].max
    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
      @level += 1
      
      # NEW - David
      $d_new_skill = nil
      
      for j in $data_classes[@class_id].learnings
        if j.level == @level
          learn_skill(j.skill_id)
      
          # NEW - David
          skill = $data_skills[j.skill_id]
          $d_new_skill = skill.name
      
        end
      end
    end
    while @exp < @exp_list[@level]
      @level -= 1
    end
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
  end
  
  #--------------------------------------------------------------------------
  # * Get the current EXP
  #--------------------------------------------------------------------------
  def now_exp
    return @exp - @exp_list[@level]
  end
  #--------------------------------------------------------------------------
  # * Get the next level's EXP
  #--------------------------------------------------------------------------
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end

end

class Window_LevelUp < Window_Base

  #----------------------------------------------------------------
  def initialize(actor, pos)
    #change this to false to show the actor's graphic
    @face = false
    @actor = actor
    y = (pos * 120)
    super(280, y, 360, 120)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 255    
    if $d_dum == false
      refresh
    end
  end

  #----------------------------------------------------------------
  def dispose
    super
  end

  #----------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.size = 18
    if @face == true
    draw_actor_face(@actor, 4, 0)
    else
    draw_actor_graphic(@actor, 50, 80)
    end
    draw_actor_name(@actor, 111, 0)
    draw_actor_level(@actor, 186, 0)
    show_next_exp = @actor.level == 99 ? "---" : "#{@actor.next_exp}"
    min_bar = @actor.level == 99 ? 1 : @actor.now_exp
    max_bar = @actor.level == 99 ? 1 : @actor.next_exp
    draw_slant_bar(115, 80, min_bar, max_bar, 190, 6, bar_color = Color.new(0, 100, 0, 255), end_color = Color.new(0, 255, 0, 255))
    self.contents.draw_text(115, 24, 300, 32, "Exp:#{@actor.now_exp}")
    self.contents.draw_text(115, 48, 300, 32, "Level Up:" + show_next_exp)
  end

  
  #----------------------------------------------------------------
  def level_up
    self.contents.font.color = system_color
    self.contents.draw_text(230, 48, 80, 32, "LEVEL UP!")
  end
  #-----------------------------------------------------------------
   def learn_skill(skill)
    self.contents.font.color = normal_color
    unless $d_new_skill == nil
      Audio.se_play("Audio/SE/105-Heal01")
      self.contents.draw_text(186, 24, 80, 32, "Learned:")
      self.contents.font.color = system_color
      self.contents.draw_text(261, 24, 90, 32, skill)
    end
  end


  #----------------------------------------------------------------
  def update
    super
  end
  
end # of Window_LevelUp

#=================================
#Window_EXP
# Written by: David Schooley
#=================================

class Window_EXP < Window_Base

  #----------------------------------------------------------------
  def initialize(exp)
    super(0, 0, 280, 60)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 255
    refresh(exp)
  end

  #----------------------------------------------------------------
  def dispose
    super
  end

  #----------------------------------------------------------------
  def refresh(exp)
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 150, 32, "Exp Earned:")
    self.contents.font.color = normal_color
    self.contents.draw_text(180, 0, 54, 32, exp.to_s, 2)
  end
  
  #----------------------------------------------------------------
  def update
    super
  end
  
end # of Window_EXP

#=================================
#Window_Money_Items
# Written by: David Schooley
#=================================

class Window_Money_Items < Window_Base

  #----------------------------------------------------------------
  def initialize(money, treasures)
    @treasures = treasures
    super(0, 60, 280, 420)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 255
    refresh(money)
  end

  #----------------------------------------------------------------
  def dispose
    super
  end

  #----------------------------------------------------------------
  def refresh(money)
    @money = money
    self.contents.clear
    
    self.contents.font.color = system_color
    self.contents.draw_text(4, 4, 100, 32, "Items Found:")
    self.contents.font.color = normal_color
    
    y = 32
    for item in @treasures
      draw_item_name(item, 4, y)
      y += 32
    end
    
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 340, 220-cx-2, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 300, 220-cx-2, 32, "+ " + @money.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(124-cx, 340, cx + 100, 32, $data_system.words.gold, 2)
  end

  def update
    super
  end
  
end # of Window_Money_Items


class Scene_Battle
  alias raz_battle_report_main main
  alias raz_battle_report_be battle_end

  def main
    # NEW - David
    #$battle_end = false
    @lvup_window = []
    @show_dummies = true # Show dummy windows or not?
    raz_battle_report_main
    # NEW - David
    @lvup_window = nil
    @level_up = nil
    @ch_stats = nil
    @ch_compare_stats = nil
    Audio.me_stop
  end

  def battle_end(result)
    raz_battle_report_be(result)
    # NEW - David
    @status_window.visible = false
    @spriteset.dispose

=begin    
    # Added for RTAB Patch version
    @actor_command_window.dispose
    @party_command_window.dispose
    @help_window.dispose
    @status_window.dispose
    @message_window.dispose
    # End of RTAB Patch Version
=end                   

    Graphics.transition
    if result == 0
      display_lv_up(@exp, @gold, @treasures)
      loop do
        Graphics.update
        Input.update
        if Input.trigger?(Input::C)
          break
        end
      end
      trash_lv_up
    end

  end
    
  def start_phase5
    @phase = 5
    $game_system.me_play($game_system.battle_end_me)
    $game_system.bgm_play($game_temp.map_bgm)
    exp = 0
    gold = 0
    treasures = []
    for enemy in $game_troop.enemies
      unless enemy.hidden
        exp += enemy.exp
        gold += enemy.gold
        if rand(100) < enemy.treasure_prob
          if enemy.item_id > 0
            treasures.push($data_items[enemy.item_id])
          end
          if enemy.weapon_id > 0
            treasures.push($data_weapons[enemy.weapon_id])
          end
          if enemy.armor_id > 0
            treasures.push($data_armors[enemy.armor_id])
          end
        end
      end
    end
    treasures = treasures[0..5]

    # NEW - David
    @treasures = treasures
    @exp  = exp
    @gold = gold

    
    for item in treasures
      case item
      when RPG::Item
        $game_party.gain_item(item.id, 1)
      when RPG::Weapon
        $game_party.gain_weapon(item.id, 1)
      when RPG::Armor
        $game_party.gain_armor(item.id, 1)
      end
    end
    @phase5_wait_count = 10
  end

  def update_phase5
    if @phase5_wait_count > 0
      @phase5_wait_count -= 1
      if @phase5_wait_count == 0
        
        # NEW - David
        $game_temp.battle_main_phase = false        
      end
      return
    end

    # NEW - David
      battle_end(0)

  end

  def display_lv_up(exp, gold, treasures)
    
    $d_dum = false
    d_extra = 0
    i = 0
    for actor in $game_party.actors
        # Fill up the Lv up windows
        @lvup_window[i] = Window_LevelUp.new($game_party.actors[i], i)
        i += 1
    end

    # Make Dummies
    if @show_dummies == true
      $d_dum = true
      for m in i..3
        @lvup_window[m] = Window_LevelUp.new(m, m)
      end
    end
    
    @exp_window = Window_EXP.new(exp)
    @m_i_window = Window_Money_Items.new(gold, treasures)
    @press_enter = nil
    gainedexp = exp
    @level_up = [0, 0, 0, 0]
    @d_new_skill = ["", "", "", ""]
    @d_breakout = false
    @m_i_window.refresh(gold)
    wait_for_OK

    @d_remember = $game_system.bgs_memorize
    Audio.bgs_play("Audio/SE/032-Switch01", 100, 300)
    
    # NEW - David
    max_exp = exp
    value = 28
    if exp < value
      value = exp
    end
    if value == 0
      value = 1
    end
    for n in 0..gainedexp - (max_exp / value)
      exp -= (max_exp / value)
      if @d_breakout == false
        Input.update
      end
      
      for i in 0...$game_party.actors.size
        actor = $game_party.actors[i]
        if actor.cant_get_exp? == false
          last_level = actor.level
          actor.exp += (max_exp / value)
          # Fill up the Lv up windows
          if @d_breakout == false
            @lvup_window[i].refresh
            @exp_window.refresh(exp)
          end
          
          if actor.level > last_level
            @level_up[i] = 5
            Audio.se_play("Audio/SE/056-Right02.ogg", 70, 150)
            if $d_new_skill
              @d_new_skill[i] = $d_new_skill
            end
          end
          
          if @level_up[i] == 0
            @d_new_skill[i] = ""
          end
          
          if @level_up[i] > 0
            @lvup_window[i].level_up
            if @d_new_skill[i] != ""
              @lvup_window[i].learn_skill(@d_new_skill[i])
            end
          end
          
          if Input.trigger?(Input::C) or exp <= 0
            @d_breakout = true
          end
        end
        
        if @d_breakout == false
          if @level_up[i] >0
            @level_up[i] -= 1
          end
          Graphics.update
        end
      end
      
      if @d_breakout == true
        for i in 0...$game_party.actors.size
          actor = $game_party.actors[i]
          if actor.cant_get_exp? == false
            actor.exp += exp
          end
        end
        exp = 0
        break
      end
    end
    Audio.bgs_stop
    @d_remember = $game_system.bgs_restore
    
    for i in 0...$game_party.actors.size
      @lvup_window[i].refresh
    end
    @exp_window.refresh(exp)
    Audio.se_play("Audio/SE/006-System06.ogg", 70, 150)
    $game_party.gain_gold(gold)
    @m_i_window.refresh(0)
    Graphics.update
  end
  
  def trash_lv_up
    # NEW - David
    i=0
    
    for i in 0 ... 4
      @lvup_window[i].visible = false
    end
    @exp_window.visible = false
    @m_i_window.visible = false
    @lvup_window = nil
    @exp_window = nil
    @m_i_window = nil
  end

  # Wait until OK key is pressed
  def wait_for_OK
    loop do
      Input.update
      Graphics.update
      if Input.trigger?(Input::C)
        break
      end
    end
  end

end

class Window_Base < Window
  def draw_actor_face(actor, x, y)
    bitmap = RPG::Cache.picture("Faces/" + actor.character_name)
    self.contents.blt(x, y, bitmap, Rect.new(0,0,96,96))
  end
  
  #--------------------------------------------------------------------------
  # * Draw Slant Bar(by SephirothSpawn)
  #--------------------------------------------------------------------------
  def draw_slant_bar(x, y, min, max, width = 152, height = 6,
      bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
    # Draw Border
    for i in 0..height
      self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
    end
    # Draw Background
    for i in 1..(height - 1)
      r = 100 * (height - i) / height + 0 * i / height
      g = 100 * (height - i) / height + 0 * i / height
      b = 100 * (height - i) / height + 0 * i / height
      a = 255 * (height - i) / height + 255 * i / height
      self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
    end
    # Draws Bar
    for i in 1..( (min / max.to_f) * width - 1)
      for j in 1..(height - 1)
        r = bar_color.red * (width - i) / width + end_color.red * i / width
        g = bar_color.green * (width - i) / width + end_color.green * i / width
        b = bar_color.blue * (width - i) / width + end_color.blue * i / width
        a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
        self.contents.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
      end
    end
  end
end

Note that this is NOT the SDK version (the version that is currently posted in the script's thread).

My request is for there the script to be edited in some way so that you can control which characters will be displayed in the Battle Report. The reason is that I sometimes have characters that truly aren't part of the main party, and only join the party temporarily. Showing them gaining exp and leveling up seems really unnecessary for these characters, and unprofessional.

I hope someone can edit the script some way so that this is possible, or that someone can come up with a method to achieve the same goal.
 
Do you mean like this?

Code:
#==============================================================================
# ** Battle Report v 1.6 by Illustrationism
#  * Posted & Edited by Raziel
#==============================================================================
#  A script that shows the battle result like in the Final Fantasy games.
#
#  Features
#  * Scrolling down Exp
#
#   Edits:
#  * Exp Bars filling up
#  * Possible displaying of Facesets instead of Charactersets
#  * Exp scrolling down faster, depending on how much exp you gain after battle.
#  * Play a ME as long as you want in the result window.
#==============================================================================

# EDIT
# Enlist here actor IDs who you do not wish to display on level-up window.
# Example as follows:
TEMPORARY_ACTORS = [2, 7]

class Game_Actor < Game_Battler
  def exp=(exp)
    @exp = [[exp, 9999999].min, 0].max
    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
      @level += 1
      
      # NEW - David
      $d_new_skill = nil
      
      for j in $data_classes[@class_id].learnings
        if j.level == @level
          learn_skill(j.skill_id)
      
          # NEW - David
          skill = $data_skills[j.skill_id]
          $d_new_skill = skill.name
      
        end
      end
    end
    while @exp < @exp_list[@level]
      @level -= 1
    end
    @hp = [@hp, self.maxhp].min
    @sp = [@sp, self.maxsp].min
  end
  
  #--------------------------------------------------------------------------
  # * Get the current EXP
  #--------------------------------------------------------------------------
  def now_exp
    return @exp - @exp_list[@level]
  end
  #--------------------------------------------------------------------------
  # * Get the next level's EXP
  #--------------------------------------------------------------------------
  def next_exp
    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
  end

end

class Window_LevelUp < Window_Base

  #----------------------------------------------------------------
  def initialize(actor, pos)
    #change this to false to show the actor's graphic
    @face = false
    @actor = actor
    y = (pos * 120)
    super(280, y, 360, 120)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 255    
    if $d_dum == false
      refresh
    end
  end

  #----------------------------------------------------------------
  def dispose
    super
  end

  #----------------------------------------------------------------
  def refresh
    return unless @actor.is_a?(Game_Actor)
    self.contents.clear
    self.contents.font.size = 18
    if @face == true
    draw_actor_face(@actor, 4, 0)
    else
    draw_actor_graphic(@actor, 50, 80)
    end
    draw_actor_name(@actor, 111, 0)
    draw_actor_level(@actor, 186, 0)
    show_next_exp = @actor.level == 99 ? "---" : "#{@actor.next_exp}"
    min_bar = @actor.level == 99 ? 1 : @actor.now_exp
    max_bar = @actor.level == 99 ? 1 : @actor.next_exp
    draw_slant_bar(115, 80, min_bar, max_bar, 190, 6, bar_color = Color.new(0, 100, 0, 255), end_color = Color.new(0, 255, 0, 255))
    self.contents.draw_text(115, 24, 300, 32, "Exp:#{@actor.now_exp}")
    self.contents.draw_text(115, 48, 300, 32, "Level Up:" + show_next_exp)
  end

  
  #----------------------------------------------------------------
  def level_up
    self.contents.font.color = system_color
    self.contents.draw_text(230, 48, 80, 32, "LEVEL UP!")
  end
  #-----------------------------------------------------------------
   def learn_skill(skill)
    self.contents.font.color = normal_color
    unless $d_new_skill == nil
      Audio.se_play("Audio/SE/105-Heal01")
      self.contents.draw_text(186, 24, 80, 32, "Learned:")
      self.contents.font.color = system_color
      self.contents.draw_text(261, 24, 90, 32, skill)
    end
  end


  #----------------------------------------------------------------
  def update
    super
  end
  
end # of Window_LevelUp

#=================================
#Window_EXP
# Written by: David Schooley
#=================================

class Window_EXP < Window_Base

  #----------------------------------------------------------------
  def initialize(exp)
    super(0, 0, 280, 60)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 255
    refresh(exp)
  end

  #----------------------------------------------------------------
  def dispose
    super
  end

  #----------------------------------------------------------------
  def refresh(exp)
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.draw_text(0, 0, 150, 32, "Exp Earned:")
    self.contents.font.color = normal_color
    self.contents.draw_text(180, 0, 54, 32, exp.to_s, 2)
  end
  
  #----------------------------------------------------------------
  def update
    super
  end
  
end # of Window_EXP

#=================================
#Window_Money_Items
# Written by: David Schooley
#=================================

class Window_Money_Items < Window_Base

  #----------------------------------------------------------------
  def initialize(money, treasures)
    @treasures = treasures
    super(0, 60, 280, 420)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.back_opacity = 255
    refresh(money)
  end

  #----------------------------------------------------------------
  def dispose
    super
  end

  #----------------------------------------------------------------
  def refresh(money)
    @money = money
    self.contents.clear
    
    self.contents.font.color = system_color
    self.contents.draw_text(4, 4, 100, 32, "Items Found:")
    self.contents.font.color = normal_color
    
    y = 32
    for item in @treasures
      draw_item_name(item, 4, y)
      y += 32
    end
    
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 340, 220-cx-2, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 300, 220-cx-2, 32, "+ " + @money.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(124-cx, 340, cx + 100, 32, $data_system.words.gold, 2)
  end

  def update
    super
  end
  
end # of Window_Money_Items


class Scene_Battle
  alias raz_battle_report_main main
  alias raz_battle_report_be battle_end

  def main
    # NEW - David
    #$battle_end = false
    @lvup_window = []
    @show_dummies = true # Show dummy windows or not?
    raz_battle_report_main
    # NEW - David
    @lvup_window = nil
    @level_up = nil
    @ch_stats = nil
    @ch_compare_stats = nil
    Audio.me_stop
  end

  def battle_end(result)
    raz_battle_report_be(result)
    # NEW - David
    @status_window.visible = false
    @spriteset.dispose

=begin    
    # Added for RTAB Patch version
    @actor_command_window.dispose
    @party_command_window.dispose
    @help_window.dispose
    @status_window.dispose
    @message_window.dispose
    # End of RTAB Patch Version
=end                   

    Graphics.transition
    if result == 0
      display_lv_up(@exp, @gold, @treasures)
      loop do
        Graphics.update
        Input.update
        if Input.trigger?(Input::C)
          break
        end
      end
      trash_lv_up
    end

  end
    
  def start_phase5
    @phase = 5
    $game_system.me_play($game_system.battle_end_me)
    $game_system.bgm_play($game_temp.map_bgm)
    exp = 0
    gold = 0
    treasures = []
    for enemy in $game_troop.enemies
      unless enemy.hidden
        exp += enemy.exp
        gold += enemy.gold
        if rand(100) < enemy.treasure_prob
          if enemy.item_id > 0
            treasures.push($data_items[enemy.item_id])
          end
          if enemy.weapon_id > 0
            treasures.push($data_weapons[enemy.weapon_id])
          end
          if enemy.armor_id > 0
            treasures.push($data_armors[enemy.armor_id])
          end
        end
      end
    end
    treasures = treasures[0..5]

    # NEW - David
    @treasures = treasures
    @exp  = exp
    @gold = gold

    
    for item in treasures
      case item
      when RPG::Item
        $game_party.gain_item(item.id, 1)
      when RPG::Weapon
        $game_party.gain_weapon(item.id, 1)
      when RPG::Armor
        $game_party.gain_armor(item.id, 1)
      end
    end
    @phase5_wait_count = 10
  end

  def update_phase5
    if @phase5_wait_count > 0
      @phase5_wait_count -= 1
      if @phase5_wait_count == 0
        
        # NEW - David
        $game_temp.battle_main_phase = false        
      end
      return
    end

    # NEW - David
      battle_end(0)

  end

  def display_lv_up(exp, gold, treasures)
    
    $d_dum = false
    d_extra = 0
    i = 0
    for actor in $game_party.actors
        # Fill up the Lv up windows
        # NEW - ONLY if s/he joins permanently
        next if TEMPORARY_ACTORS.include?(actor.id)
        @lvup_window[i] = Window_LevelUp.new(actor, i)
        i += 1
    end
    
    # Make Dummies
    if @show_dummies == true
      $d_dum = true
      for m in i..3
        @lvup_window[m] = Window_LevelUp.new(m, m)
      end
    end
    
    @exp_window = Window_EXP.new(exp)
    @m_i_window = Window_Money_Items.new(gold, treasures)
    @press_enter = nil
    gainedexp = exp
    @level_up = [0, 0, 0, 0]
    @d_new_skill = ["", "", "", ""]
    @d_breakout = false
    @m_i_window.refresh(gold)
    wait_for_OK

    @d_remember = $game_system.bgs_memorize
    Audio.bgs_play("Audio/SE/032-Switch01", 100, 300)
    
    # NEW - David
    max_exp = exp
    value = 28
    if exp < value
      value = exp
    end
    if value == 0
      value = 1
    end
    for n in 0..gainedexp - (max_exp / value)
      exp -= (max_exp / value)
      if @d_breakout == false
        Input.update
      end
      
      for i in 0...$game_party.actors.size
        actor = $game_party.actors[i]
        if actor.cant_get_exp? == false
          last_level = actor.level
          actor.exp += (max_exp / value)
          # Fill up the Lv up windows
          if @d_breakout == false
            @lvup_window[i].refresh unless @lvup_window[i] == nil
            @exp_window.refresh(exp)
          end
          
          if actor.level > last_level
            @level_up[i] = 5
            Audio.se_play("Audio/SE/056-Right02.ogg", 70, 150)
            if $d_new_skill
              @d_new_skill[i] = $d_new_skill
            end
          end
          
          if @level_up[i] == 0
            @d_new_skill[i] = ""
          end
          
          if @level_up[i] > 0
            @lvup_window[i].level_up
            if @d_new_skill[i] != ""
              @lvup_window[i].learn_skill(@d_new_skill[i])
            end
          end
          
          if Input.trigger?(Input::C) or exp <= 0
            @d_breakout = true
          end
        end
        
        if @d_breakout == false
          if @level_up[i] >0
            @level_up[i] -= 1
          end
          Graphics.update
        end
      end
      
      if @d_breakout == true
        for i in 0...$game_party.actors.size
          actor = $game_party.actors[i]
          if actor.cant_get_exp? == false
            actor.exp += exp
          end
        end
        exp = 0
        break
      end
    end
    Audio.bgs_stop
    @d_remember = $game_system.bgs_restore
    
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      @lvup_window[i].refresh unless @lvup_window[i] == nil
    end
    @exp_window.refresh(exp)
    Audio.se_play("Audio/SE/006-System06.ogg", 70, 150)
    $game_party.gain_gold(gold)
    @m_i_window.refresh(0)
    Graphics.update
  end
  
  def trash_lv_up
    # NEW - David
    i=0
    
    for i in 0 ... 4
      @lvup_window[i].visible = false unless @lvup_window[i] == nil
    end
    @exp_window.visible = false
    @m_i_window.visible = false
    @lvup_window = nil
    @exp_window = nil
    @m_i_window = nil
  end

  # Wait until OK key is pressed
  def wait_for_OK
    loop do
      Input.update
      Graphics.update
      if Input.trigger?(Input::C)
        break
      end
    end
  end

end

class Window_Base < Window
  def draw_actor_face(actor, x, y)
    bitmap = RPG::Cache.picture("Faces/" + actor.character_name)
    self.contents.blt(x, y, bitmap, Rect.new(0,0,96,96))
  end
  
  #--------------------------------------------------------------------------
  # * Draw Slant Bar(by SephirothSpawn)
  #--------------------------------------------------------------------------
  def draw_slant_bar(x, y, min, max, width = 152, height = 6,
      bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
    # Draw Border
    for i in 0..height
      self.contents.fill_rect(x + i, y + height - i, width + 1, 1, Color.new(50, 50, 50, 255))
    end
    # Draw Background
    for i in 1..(height - 1)
      r = 100 * (height - i) / height + 0 * i / height
      g = 100 * (height - i) / height + 0 * i / height
      b = 100 * (height - i) / height + 0 * i / height
      a = 255 * (height - i) / height + 255 * i / height
      self.contents.fill_rect(x + i, y + height - i, width, 1, Color.new(r, b, g, a))
    end
    # Draws Bar
    for i in 1..( (min / max.to_f) * width - 1)
      for j in 1..(height - 1)
        r = bar_color.red * (width - i) / width + end_color.red * i / width
        g = bar_color.green * (width - i) / width + end_color.green * i / width
        b = bar_color.blue * (width - i) / width + end_color.blue * i / width
        a = bar_color.alpha * (width - i) / width + end_color.alpha * i / width
        self.contents.fill_rect(x + i + j, y + height - j, 1, 1, Color.new(r, g, b, a))
      end
    end
  end
end
 
This topic has been resolved. If ImmuneEntity or any other users have any questions or further problems regarding this topic, please create a new thread about them.

Thank you!
 
Status
Not open for further replies.

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top