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.

Removing the level up feature in the Remodeled Damage Script

In my game, the characters level up silently.  That is, they slowly gain HP based on there experience.  In order for this to work properly I need to remove the 'Level Up!" notice from the Remodeled Damage Script.  It usually just requires me to remove a few line of code, but I can figure this one out.  Any ideas?

Here's the script.  As you can see, I've removed the two obvious lines.  That didn't work.

class Scene_Battle
  alias :atb_setup_original :atb_setup
  def atb_setup
    for path in ["num", "critical", "miss", "levelup", "newskill", "learning"]
      RPG::Cache.numeric(path)
    end
    atb_setup_original
  end
end

module RPG
  class Sprite < ::Sprite
    WIDTH = 18                    # Width of individual number in number image.
    HEIGHT = 12                  # Height of individual number in number image.
    def damage(value, critical, type = 0)
      if value.is_a?(Numeric)
        damage_string = value.abs.to_s
      else
        damage_string = value.to_s
      end
      if value.is_a?(Numeric) and value >= 0
        if type == 0
          if critical
            d_bitmap = draw_damage(value, 1)
          else
            d_bitmap = draw_damage(value, 0)
          end
        else
          d_bitmap = draw_damage(value, 2)
        end
      else
        if type == 0
          d_bitmap = draw_damage(value, 3)
        else
          d_bitmap = draw_damage(value, 4)
        end
      end
      if type == 2
        d_bitmap = draw_damage(value, 5)
      end
      num = @_damage.size
      if type != 2
        @_damage.push([::Sprite.new, 40, 0, rand(40) - 20, rand(30) + 50])
      else
        @_damage.push([::Sprite.new, 40, 0, rand(20) - 10, rand(20) + 60])
      end
      @_damage[num][0].bitmap = d_bitmap
      @_damage[num][0].ox = d_bitmap.width / 2
      @_damage[num][0].oy = d_bitmap.height / 2
      if self.battler.is_a?(Game_Actor)
        @_damage[num][0].x = self.x + self.viewport.ox
        @_damage[num][0].y = self.y - self.oy / 2
      else
        @_damage[num][0].x = self.x + self.viewport.rect.x -
                            self.ox + self.src_rect.width / 2
        @_damage[num][0].y = self.y - self.oy * self.zoom_y / 2 +
                            self.viewport.rect.y
        @_damage[num][0].zoom_x = self.zoom_x
        @_damage[num][0].zoom_y = self.zoom_y
        @_damage[num][0].z = 3000
      end
    end
    def draw_damage(value, element)
      width = 0
      if value.is_a?(Numeric)
        value = value.abs
        fig = value.to_s.size - 1
        file = RPG::Cache.numeric("num")
        d_width = WIDTH * fig + file.rect.width / 10
        if element == 1
          critical = RPG::Cache.numeric("critical")
          d_width = [d_width, critical.rect.width].max
          d_bitmap = Bitmap.new(d_width, HEIGHT + file.rect.height / 5)
          d_x = (width - critical.rect.width / 10) / 2
          d_bitmap.blt(d_x, 0, critical, critical.rect)
        else
          d_bitmap = Bitmap.new(d_width, HEIGHT + file.rect.height / 5)
        end
        d_x = ((d_width) - (WIDTH * fig + file.rect.width / 10)) / 2
        while fig >= 0
          d_bitmap.blt(d_x, HEIGHT, file, Rect.new((value / (10 ** fig)) *
            file.rect.width / 10, element * file.rect.height / 5,
            file.rect.width / 10, file.rect.height / 5))
          d_x += WIDTH
          value %= 10 ** fig
          fig -= 1
        end
      else
        case value
        when ""
          return Bitmap.new(1, 1)
        when "Miss"
          file = RPG::Cache.numeric("miss")
#        when "Level up!"
#          file = RPG::Cache.numeric("levelup")
        when "New Skill!"
          file = RPG::Cache.numeric("newskill")
        when "Learning!"
          file = RPG::Cache.numeric("learning")
        else
          file = RPG::Cache.numeric(value)
        end
        d_bitmap = file
      end
      return d_bitmap
    end
  end
  module Cache
    def self.numeric(filename)
      self.load_bitmap("Graphics/Pictures/", filename)
    end
  end
end
 
In that 'case' statement, you are inputting 'value' ("Level up!").
Since you are not checking to see if value == "Level up!", it's using the 'else' statement, which sets file= RPG::Cache.numeric(value).

Try this...

Code:
        case value
        when ""
          return Bitmap.new(1, 1)
        when "Miss"
          file = RPG::Cache.numeric("miss")
        when "Level up!"
          return Bitmap.new(1, 1)
        when "New Skill!"
          file = RPG::Cache.numeric("newskill")
        when "Learning!"
          file = RPG::Cache.numeric("learning")
        else
          file = RPG::Cache.numeric(value)
        end
 

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