#==============================================================================
# ** Arc's Status Screen
#------------------------------------------------------------------------------
# Raziel
# 2007-07-02
# Version 1.00
#==============================================================================
#==============================================================================
# ** Module Status_Window
#==============================================================================
module Status_Window
# Insert the name of the background picture.
# BG Pictures are located in the pictures folder.
Status_Background = ""
Item_Background = ""
Skill_Background = ""
Equip_Background = ""
Save_Background = ""
# Change the value to something else to change the window's
# opacity in the screens with BG Pictures.
Window_Opacity = 75
# Change the value to change the portrait's x and y position.
Portrait_X = 300
Portrait_Y = 0
end
#==============================================================================
# ** Window_Base
#------------------------------------------------------------------------------
# This class is for all in-game windows.
#==============================================================================
class Window_Base
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias raz_opacity_window_ini initialize
#--------------------------------------------------------------------------
# * Object Initialization
# x : window x-coordinate
# y : window y-coordinate
# width : window width
# height : window height
#--------------------------------------------------------------------------
def initialize(x, y, width, height)
raz_opacity_window_ini(x, y, width, height)
@scene = [Scene_Item, Scene_Skill, Scene_Equip, Scene_File, Scene_Status]
@scene.each { |scene| self.opacity = Status_Window::Window_Opacity if $scene.is_a?(scene)}
end
#--------------------------------------------------------------------------
# * Draw Portrait
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# opacity : draw portrait opacity
#--------------------------------------------------------------------------
def draw_actor_portrait(actor, x, y, opacity = 255)
bitmap = RPG::Cache.picture("[#{actor.name}]status")
self.contents.blt(x, y, bitmap, Rect.new(0, 0, bitmap.width, bitmap.height), opacity)
end
end
#==============================================================================
# ** Window_Status
#------------------------------------------------------------------------------
# This window displays full status specs on the status screen.
#==============================================================================
class Window_Status < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 0, 640, 480)
self.contents = Bitmap.new(width - 32, height - 32)
self.opacity = 0
@background_image = Sprite.new
@background_image.bitmap = RPG::Cache.picture(Status_Window::Status_Background)
@parameter_window = Window_Base.new(10, 206, 220, 264)
@equipment_window = Window_Base.new(250, 272, 370, 132)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_portrait(@actor, Status_Window::Portrait_X, Status_Window::Portrait_Y)
draw_actor_state(@actor, 20, 32)
draw_actor_hp(@actor, 20, 64)
draw_actor_sp(@actor, 20, 96)
self.contents.font.color = system_color
self.contents.font.size = 20
self.contents.draw_text(100, 0, 150, 32, '"' + "#{@actor.class_name}" + '"')
self.contents.font.size = 26
self.contents.draw_text(20, 0, 120, 32, @actor.name)
self.contents.font.size = 22
self.contents.draw_text(300, 0, 150, 32, "Level #{@actor.level}")
self.contents.draw_text(20, 136, 80, 32, "EXP")
self.contents.draw_text(20, 156, 80, 32, "NEXT")
self.contents.draw_text(20, 188, 150, 32, $data_system.words.atk, 1)
self.contents.draw_text(20, 228, 150, 32, $data_system.words.pdef, 1)
self.contents.draw_text(20, 268, 150, 32, $data_system.words.str, 1)
self.contents.draw_text(20, 308, 150, 32, $data_system.words.dex, 1)
self.contents.draw_text(20, 348, 150, 32, $data_system.words.agi, 1)
self.contents.draw_text(20, 388, 150, 32, $data_system.words.int, 1)
self.contents.draw_text(244, 254, 96, 32, "Equipment")
self.contents.font.color = normal_color
self.contents.draw_text(20, 208, 150, 32, "#{@actor.atk}", 1)
self.contents.draw_text(20, 248, 150, 32, "#{@actor.pdef}", 1)
self.contents.draw_text(20, 288, 150, 32, "#{@actor.str}", 1)
self.contents.draw_text(20, 328, 150, 32, "#{@actor.dex}", 1)
self.contents.draw_text(20, 368, 150, 32, "#{@actor.agi}", 1)
self.contents.draw_text(20, 408, 150, 32, "#{@actor.int}", 1)
self.contents.draw_text(100, 136, 84, 32, @actor.exp_s, 2)
self.contents.draw_text(100, 156, 84, 32, @actor.next_rest_exp_s, 2)
draw_item_name($data_weapons[@actor.weapon_id], 244, 279)
draw_item_name($data_armors[@actor.armor2_id], 244, 304)
draw_item_name($data_armors[@actor.armor3_id], 244, 329)
draw_item_name($data_armors[@actor.armor4_id], 244, 354)
end
#--------------------------------------------------------------------------
# * Dispose
#--------------------------------------------------------------------------
def dispose
super
@background_image.dispose
@parameter_window.dispose
@equipment_window.dispose
end
end
#==============================================================================
# ** Scene_File
#------------------------------------------------------------------------------
# This is a superclass for the save screen and load screen.
#==============================================================================
class Scene_File
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias raz_background_file_main main
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
@background_image = Sprite.new
@background_image.bitmap = RPG::Cache.picture(Status_Window::Save_Background)
raz_background_file_main
@background_image.dispose
end
end
#==============================================================================
# ** Scene_Item
#------------------------------------------------------------------------------
# This class performs item screen processing.
#==============================================================================
class Scene_Item
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias raz_background_item_main main
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
@background_image = Sprite.new
@background_image.bitmap = RPG::Cache.picture(Status_Window::Item_Background)
raz_background_item_main
@background_image.dispose
end
end
#==============================================================================
# ** Scene_Skill
#------------------------------------------------------------------------------
# This class performs skill screen processing.
#==============================================================================
class Scene_Skill
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias raz_background_skill_main main
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
@background_image = Sprite.new
@background_image.bitmap = RPG::Cache.picture(Status_Window::Skill_Background)
raz_background_skill_main
@background_image.dispose
end
end
#==============================================================================
# ** Scene_Equip
#------------------------------------------------------------------------------
# This class performs equipment screen processing.
#==============================================================================
class Scene_Equip
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias raz_background_equip_main main
#--------------------------------------------------------------------------
# * Main Processing
#--------------------------------------------------------------------------
def main
@background_image = Sprite.new
@background_image.bitmap = RPG::Cache.picture(Status_Window::Equip_Background)
raz_background_equip_main
@background_image.dispose
end
end