All pastes #386920 Raw Edit

Untitled

public text v1 · immutable
·published 2007-03-08 23:36 UTC
rendered paste body
FIRST_VARIABLE = 1
SECOND_VARIABLE = 2
THRID_VARIABLE = 3

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# < Clive's Gradient Bars [Starts] =
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  #==============================================================================
  # ** Window_Base
  #------------------------------------------------------------------------------
  #  This class is for all in-game windows.
  #==============================================================================

  class Window_Base < Window  
    alias raz_bars_base_exp draw_actor_exp
    alias raz_bars_base_parameter draw_actor_parameter
    
    def draw_map_image(x, y)
        bitmap = RPG::Cache.picture("Map_"+$game_map.map_id.to_s)
        cw = bitmap.width
        ch = bitmap.height
        src_rect = Rect.new(0, 0, cw, ch)
        self.contents.blt(x, y, bitmap, src_rect)
      end
    #==========================================================================
    # * Draw Slant Bar(by Sephiroth Spawn)
    #==========================================================================
    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
    #==========================================================================
    # * Draw HP
    #     actor : actor
    #     x     : draw spot x-coordinate
    #     y     : draw spot y-coordinate
    #     width : draw spot width
    #==========================================================================
    alias :draw_actor_hp_hpsp :draw_actor_hp
    def draw_actor_hp(actor, x, y, width = 144)
      # Calculate if there is draw space for MaxHP
      if width - 32 >= 108
        hp_x = x + width - 108
        flag = true
      elsif width - 32 >= 48
        hp_x = x + width - 48
        flag = false
      end
      if $game_temp.in_battle
        bar_width = hp_x - x + 50
        else
        bar_width = hp_x - x + 100
      end
      # Draw HP
      draw_slant_bar(x, y + 12, actor.hp, actor.maxhp, bar_width, 6, bar_color = Color.new(150, 0, 0, 255), end_color = Color.new(255, 255, 60, 255))
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
      self.contents.font.color = actor.hp == 0 ? knockout_color :
        actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
      self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
      # Draw MaxHP
      if flag
        self.contents.font.color = normal_color
        self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
        self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
      end
       draw_actor_hp_hpsp(actor, x, y, width)
     end
    #==========================================================================
    # * Draw SP
    #     actor : actor
    #     x     : draw spot x-coordinate
    #     y     : draw spot y-coordinate
    #     width : draw spot width
    #==========================================================================
    alias :draw_actor_sp_hpsp :draw_actor_sp
    def draw_actor_sp(actor, x, y, width = 144)
      # Calculate if there is draw space for MaxHP
      if width - 32 >= 108
        sp_x = x + width - 108
        flag = true
      elsif width - 32 >= 48
        sp_x = x + width - 48
        flag = false
      end
      if $game_temp.in_battle
        bar_width = sp_x - x + 50
        else
        bar_width = sp_x - x + 100
      end
      # Draw SP
      draw_slant_bar(x, y + 12, actor.sp, actor.maxsp, bar_width, 6, bar_color = Color.new(0, 0, 155, 255), end_color = Color.new(255, 255, 255, 255))
      # Draw "SP" text string
      self.contents.font.color = system_color
      self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
      self.contents.font.color = actor.sp == 0 ? knockout_color :
        actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
      self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
      # Draw MaxSP
      if flag
        self.contents.font.color = normal_color
        self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
        self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
      end
    end
    #==========================================================================
    # * Draw EXP
    #     actor : actor
    #     x     : draw spot x-coordinate
    #     y     : draw spot y-coordinate
    #==========================================================================
    def draw_actor_exp(actor, x, y)
      if actor.level == 99
        draw_slant_bar(x, y + 18, 1, 1, 190, 6, bar_color = Color.new(0, 100, 0, 255), end_color = Color.new(0, 255, 0, 255))
      else
        draw_slant_bar(x, y + 18, actor.now_exp, actor.next_exp, 190, 6, bar_color = Color.new(0, 100, 0, 255), end_color = Color.new(255, 255, 255, 255))
      end
      raz_bars_base_exp(actor, x, y)
    end
    #==========================================================================
    # * Draw Parameter
    #     actor : actor
    #     x     : draw spot x-coordinate
    #     y     : draw spot y-coordinate
    #     type  : parameter type (0-6)
    #==========================================================================
    def draw_actor_parameter(actor, x, y, type)
      case type
      when 0
        para_color1 = Color.new(100,0,0)
        para_color2 = Color.new(255,0,0)
        para_begin = actor.atk
      when 1
        para_color1 = Color.new(100,100,0)
        para_color2 = Color.new(255,255,0)
        para_begin = actor.pdef
      when 2
        para_color1 = Color.new(100,0,100)
        para_color2 = Color.new(255,0,255)
        para_begin = actor.mdef
      when 3
        para_color1 = Color.new(50,0,100)
        para_color2 = Color.new(50,0,255)
        para_begin = actor.str
      when 4
        para_color1 = Color.new(0,100,0)
        para_color2 = Color.new(0,255,0)
        para_begin = actor.dex
      when 5
        para_color1 = Color.new(50,0,50)
        para_color2 = Color.new(255,0,255)
        para_begin = actor.agi
      when 6
        para_color1 = Color.new(0,100,100)
        para_color2 = Color.new(0,255,255)
        para_begin = actor.int
      end
      draw_slant_bar(x, y + 18, para_begin, 999, 155, 4, bar_color = para_color1,
        end_color = para_color2)
      raz_bars_base_parameter(actor, x, y, type)
    end
    #=========================================================================
    # * Draw Actor ATG
    #     actor : Actor
    #     x     : draw spot x-coordinate
    #     y     : draw spot y-coordinate
    #     width : draw spot width
    #=========================================================================
    def draw_actor_atg(actor, x, y, width = 144, height = 5)
      if @at_gauge == nil
        # plus_x:     revised x-coordinate
        # rate_x:     revised X-coordinate as (%)
        # plus_y:     revised y-coordinate
        # plus_width: revised width
        # rate_width: revised width as (%)
        # height:     Vertical width
        # align1: Type 1 ( 0: left justify  1: center justify 2: right justify )
        # align2: Type 2 ( 0: Upper stuffing 1: Central arranging  2:Lower stuffing )
        # align3: Gauge type 0:Left justify 1: Right justify
        @plus_x = 0
        @rate_x = 0
        @plus_y = 16
        @plus_width = 0
        @rate_width = 100
        @width = @plus_width + width * @rate_width / 100
        @height = 5
        @align1 = 0
        @align2 = 1
        @align3 = 0
        # Gradation settings:  grade1: Empty gauge   grade2:Actual gauge
        # (0:On side gradation   1:Vertically gradation    2: Slantedly gradation&#65289;
        grade1 = 1
        grade2 = 0
        # Color setting. color1: Outermost framework, color2: Medium framework
        # color3: Empty framework dark color, color4: Empty framework light/write color
        color1 = Color.new(0, 0, 0)
        color2 = Color.new(255, 255, 192)
        color3 = Color.new(0, 0, 0, 192)
        color4 = Color.new(0, 0, 64, 192)
        # Color setting of gauge
        # Usually color setting of the time
        color5 = Color.new(0, 64, 80)
        color6 = Color.new(255, 255, 255)#(0, 128, 160)
        # When gauge is MAX, color setting
        color7 = Color.new(80, 0, 0)
        color8 = Color.new(255, 255,255) #(240,0,0)
        # Color setting at time of cooperation skill use
        color9 = Color.new(80, 64, 32)
        color10 = Color.new(255, 255, 255) #(240, 192, 96)
        # Color setting at time of skill permanent residence
        color11 = Color.new(80, 0, 64)
        color12 = Color.new(255,255, 255) #(240, 0, 192)
        # Drawing of gauge
        gauge_rect_at(@width, @height, @align3, color1, color2, color3, color4,
            color5, color6, color7, color8, color9, color10, color11, color12,
            grade1, grade2)
      end
      # Variable at substituting the width of the gauge which is drawn
      if actor.rtp == 0
        at = (width + @plus_width) * actor.atp * @rate_width / 10000
      else
        at = (width + @plus_width) * actor.rt * @rate_width / actor.rtp / 100
      end
      # AT Width Check
      if at > width
        at = width
      end
      # Revision such as the left stuffing central posture of gauge
      case @align1
      when 1
        x += (@rect_width - width) / 2
      when 2
        x += @rect_width - width
      end
      case @align2
      when 1
        y -= @height / 2
      when 2
        y -= @height
      end
      # Draw Border
      for i in 0..height
        self.contents.fill_rect(x + 1.5 + i, y + 12 + height - i, width - 2 , 3,
          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 + 1.5 + i, y + 12 + height - i, width - 3, 3, 
          Color.new(r, b, g, a))
        end
        # Rect_X control
        if @align3 == 0
          rect_x = 0
        else
          x += @width - at - 1
          rect_x = @width - at - 1
      end
      # Color setting of gauge
      if at == width 
      #Gauge drawing at the time of MAX
        for i in 0..height
          self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y -i + 
          @plus_y, @at_gauge, Rect.new(rect_x, @height * 2, at, @height))
        end
      else
        if actor.rtp == 0
          for i in 0..height
            # Usually gauge drawing of the time
            self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y- i + 
              @plus_y, @at_gauge,Rect.new(rect_x, @height, at, @height))
          end
        else
          if actor.spell == true
            for i in 0..height
              #Gauge drawing at time of cooperation skill use
              self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y - i + 
                @plus_y, @at_gauge, Rect.new(rect_x, @height * 3, at, @height))
            end
          else
            for i in 0..height              
              # Gauge drawing at time of skill permanent residence
              self.contents.blt(x + i + @plus_x + @width * @rate_x / 100, y - i +
                @plus_y, @at_gauge, Rect.new(rect_x, @height * 4, at, @height))
            end
          end
        end
      end
    end
  end
  
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#  < Clive's Gradient Bars [Ends]  =
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#  < Prefixs's Window_Hud [Starts] =
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

class Window_Hud < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(640-142, 480-129, 142, 129)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.size = 16
    self.contents.draw_text(4, 0 - 5, 80, 32,  "Text:") #Edit This text
    self.contents.draw_text(4, 28 - 5, 80, 32, "Text:") #Edit this text
    self.contents.draw_text(4, 52 - 5, 80, 32, "Text:") #Edit this text
    draw_slant_bar(1, 82, $game_variables[8], 200, width = 98, height = 10,
    bar_color = Color.new(150, 0, 0, 255),
    end_color = Color.new(255, 255, 60, 255))
    self.contents.draw_text(8, 71, 140, 32, "Alignment: " + $game_variables[8].to_s,3)
    self.contents.font.color = normal_color
    self.contents.draw_text(65, 0 - 5, 80, 32,  $game_variables[FIRST_VARIABLE].to_s,3) #Edit This variable
    self.contents.draw_text(65, 28 - 5, 80, 32, $game_variables[SECOND_VARIABLE].to_s,3) #Edit this variable
    self.contents.draw_text(65, 52 - 5, 80, 32, $game_variables[THRID_VARIABLE].to_s,3) #Edit this variable
  end
end

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#  < Prefixs's Window_Hud [Ends]   =
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#  < Prefixs's Scene_Map(edits) [Starts]   =
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs map screen processing.
#==============================================================================

class Scene_Map
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    @hud = Window_Hud.new
    @variable1beforechange = $game_variables[FIRST_VARIABLE]
    @variable2beforechange = $game_variables[SECOND_VARIABLE]
    @variable3beforechange = $game_variables[THRID_VARIABLE]
    @variable8beforechange = $game_variables[8]
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    Graphics.freeze
    @hud.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    if $game_variables[FIRST_VARIABLE] > @variable1beforechange
                @variable1beforechange = $game_variables[FIRST_VARIABLE]
                @variable2beforechange = $game_variables[SECOND_VARIABLE]
                @variable3beforechange = $game_variables[THRID_VARIABLE]
                @hud.dispose
      return @hud= Window_Hud.new
    end
    if $game_variables[FIRST_VARIABLE] < @variable1beforechange
                @variable1beforechange = $game_variables[FIRST_VARIABLE]
                @variable2beforechange = $game_variables[SECOND_VARIABLE]
                @variable3beforechange = $game_variables[THRID_VARIABLE]
                @hud.dispose
      return @hud= Window_Hud.new
    end
    if $game_variables[SECOND_VARIABLE] > @variable2beforechange
                @variable1beforechange = $game_variables[FIRST_VARIABLE]
                @variable2beforechange = $game_variables[SECOND_VARIABLE]
                @variable3beforechange = $game_variables[THRID_VARIABLE]
                @hud.dispose
      return @hud= Window_Hud.new
    end
    if $game_variables[SECOND_VARIABLE] < @variable2beforechange
          @variable1beforechange = $game_variables[FIRST_VARIABLE]
          @variable2beforechange = $game_variables[SECOND_VARIABLE]
          @variable3beforechange = $game_variables[THRID_VARIABLE]
                @hud.dispose
      return @hud= Window_Hud.new
    end
    if $game_variables[THRID_VARIABLE] > @variable3beforechange
                @variable1beforechange = $game_variables[FIRST_VARIABLE]
                @variable2beforechange = $game_variables[SECOND_VARIABLE]
                @variable3beforechange = $game_variables[THRID_VARIABLE]
                @hud.dispose
      return @hud= Window_Hud.new
    end
    if $game_variables[THRID_VARIABLE] < @variable3beforechange
                @variable1beforechange = $game_variables[FIRST_VARIABLE]
                @variable2beforechange = $game_variables[SECOND_VARIABLE]
                @variable3beforechange = $game_variables[THRID_VARIABLE]
                @hud.dispose
      return @hud = Window_Hud.new
    end
    if $game_variables[8] < @variable8beforechange
                @variable1beforechange = $game_variables[FIRST_VARIABLE]
                @variable2beforechange = $game_variables[SECOND_VARIABLE]
                @variable3beforechange = $game_variables[THRID_VARIABLE]
                @variable8beforechange = $game_variables[8]
                @hud.dispose
      return @hud = Window_Hud.new
    end
    if $game_variables[8] > @variable8beforechange
                @variable1beforechange = $game_variables[FIRST_VARIABLE]
                @variable2beforechange = $game_variables[SECOND_VARIABLE]
                @variable3beforechange = $game_variables[THRID_VARIABLE]
                @variable8beforechange = $game_variables[8]
                @hud.dispose
      return @hud = Window_Hud.new
    end
  end
end

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#  < Prefixs's Scene_Map(edits) [Ends]     =
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=