#==============================================================================
# â– SephirothSpawn's Slanted bars in VX
# 25.4.2008
#------------------------------------------------------------------------------
# Script by: Kylock (Based on SephirothSpawn's Original Slanted Bars)
#==============================================================================
# Inspired by Syvkal (http://rmvxpuniverse.com) who ported Cogwheel Style
# bars to VX, I realized how much I missed Seph's Slanted Bars. So here they
# are. Just add this script and it'll automagically transform your HP and MP
# bars. Bar colors are easily customized in the following module.
#==============================================================================
# Change Log
# 1.0 - Original Release.
# 1.1 - Added option to use default window skin colors.
#==============================================================================
module SLANT_BARS
USE_WINDOWSKIN = false # If set to true, the colors will be taken from the
# current system skin and the following settings
# will be ignored.
DEFAULT_HP_BAR_COLOR = Color.new(208,48,65,255) # Beginning color of HP bar
DEFAULT_HP_END_COLOR = Color.new(231,185,94,255)# Ending color of HP bar
DEFAULT_MP_BAR_COLOR = Color.new (38,47,187,255) # Begenning color of MP bar
DEFAULT_MP_END_COLOR = Color.new(153,57,204,255) # Ending color of MP bar
end
class Window_Base < Window
#==========================================================================
# * 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 = 78 * (height - i) / height + 0 * i / height
g = 29 * (height - i) / height + 0 * i / height
b = 1 * (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 gauge
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : Width
#--------------------------------------------------------------------------
def draw_actor_hp_gauge(actor, x, y, width = 131)
if SLANT_BARS::USE_WINDOWSKIN
draw_slant_bar(x-3,y+13,actor.hp,actor.maxhp,width,8,
hp_gauge_color1,hp_gauge_color2)
else
draw_slant_bar(x-3,y+13,actor.hp,actor.maxhp,width,8,
SLANT_BARS::DEFAULT_HP_BAR_COLOR,SLANT_BARS::DEFAULT_HP_END_COLOR)
end
end
#--------------------------------------------------------------------------
# * Draw MP Gauge
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : Width
#--------------------------------------------------------------------------
def draw_actor_mp_gauge(actor, x, y, width = 131)
if SLANT_BARS::USE_WINDOWSKIN
draw_slant_bar(x-3,y+13,actor.mp,actor.maxmp,width,8,
mp_gauge_color1,mp_gauge_color2)
else
draw_slant_bar(x-3,y+13,actor.mp,actor.maxmp,width,8,
SLANT_BARS::DEFAULT_MP_BAR_COLOR,SLANT_BARS::DEFAULT_MP_END_COLOR)
end
end
end