CTB - A Final Fantasy X-like Battle System, Version 3.2
edit: Thanks a lot , everything works now. I re-downloaded your file and pasted my map onto it. My map was needing a summon system or a transformation system and this is really perfect. Much respect.

I have a few more questions and hope you can answer :)

1. When my hero kills the enemy when summoned as Adel+, he gains I think 80% exp from the battle. May I ask where is the integer to control that exp factor? Just so I can change it back to 100%.

2. would you know how to implement HP refresh support for damage graphic remodding? when i add this it won't refresh the HP bars.
It would be great if it's possible to merge this with the Bouncing damage Mod .. but I can't script :S

(looks like this
[Image: 2chx3wk.png] )

Code:
# Remodeled Damage Display (Normal Variant) ver 1.02b
# Distribution original support URL
# http://members.jcom.home.ne.jp/cogwheel/

=begin

Usually,  the damage is displayed on the screen using the default font in white
lettering.   This system is different in that  it applies images on screen,  in
place of the generic text.

To install this system,  the graphics MUST  be placed in the "pictures" folder,
instead of the  "String"  folder as originally designed by the original author.
This is so a fully encrypted version will work (wouldn't the other way...).

With line 32 and 33, you can change or set the height & width of the numbers in
the .png file holding the individual numbers displayed during battle.

NOTE BY DERVVULFMAN:
Besides changing the directory where the .png files are kept,  I added a condi-
tional branch for displaying damage.  This fix (required for effects that don't
display damage)  only activates the damage display  if there IS a damage bitmap
to show.  

=end


class Scene_Battle
  alias :main_damage :main
  def main
    for path in ["num", "critical", "miss"]
      RPG::Cache.numeric(path)
    end
    main_damage
  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)
      dispose_damage
      if value.is_a?(Numeric)
        damage_string = value.abs.to_s
      else
        damage_string = value.to_s
      end
      if value.is_a?(Numeric)
        damage_string = value.abs.to_s
      else
        damage_string = value.to_s
      end
      if value.is_a?(Numeric)
        if value >= 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
        d_bitmap = draw_damage(value, 3)
      end
      # Added Fix (Only show damage if there IS a damage value to show.)
      if d_bitmap != nil
        @_damage_sprite = ::Sprite.new
        @_damage_sprite.bitmap = d_bitmap
        @_damage_sprite.ox = d_bitmap.width / 2
        @_damage_sprite.oy = d_bitmap.height / 2
        @_damage_sprite.x = self.x + self.viewport.rect.x
        @_damage_sprite.y = self.y - self.oy / 2 + self.viewport.rect.y
        @_damage_sprite.z = 3000
        @_damage_duration = 40
      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 / 3)
          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 / 3)
        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 / 3,
            file.rect.width / 10, file.rect.height / 3))
          d_x += WIDTH
          value %= 10 ** fig
          fig -= 1
        end
      else
        case value
        when ""
          return
        when "Miss"
          file = RPG::Cache.numeric("miss")
        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
Reply }


Messages In This Thread
CTB - A Final Fantasy X-like Battle System, version 3.1 (NEW Jul 4 2010) - by archerrin - 08-01-2009, 06:03 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
   The Wanderers: The Customizable Encounters System DerVVulfman 0 264 08-24-2024, 07:12 PM
Last Post: DerVVulfman
   Battle Item Count kyonides 4 2,167 02-04-2024, 05:49 AM
Last Post: kyonides
   Super Simple Vehicle System - Enhanced DerVVulfman 65 94,819 06-02-2023, 06:16 PM
Last Post: Sujabes467
   Dalissa's Battle Cry DerVVulfman 2 7,437 05-09-2023, 03:07 AM
Last Post: DerVVulfman
   Zenith Tactical Battle System Plus (ZTBS+) DerVVulfman 0 2,851 05-10-2022, 10:42 PM
Last Post: DerVVulfman
   Actor Battle Items DerVVulfman 4 6,094 11-08-2020, 12:36 PM
Last Post: Mel
   Battle Report Raziel 1 6,987 05-29-2020, 02:27 AM
Last Post: Whisper
   Commercial System Package DerVVulfman 11 14,323 01-04-2020, 12:37 AM
Last Post: Pelip
   KItemDesc XP Zilsel Version kyonides 4 7,719 12-01-2019, 06:11 AM
Last Post: kyonides
   ZLSL's Battle Portraits DerVVulfman 4 7,525 11-12-2019, 04:10 AM
Last Post: DerVVulfman



Users browsing this thread: 66 Guest(s)