Initial import
This commit is contained in:
126
Scripts/RPG/Window_Status.rb
Normal file
126
Scripts/RPG/Window_Status.rb
Normal file
@@ -0,0 +1,126 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#==============================================================================
|
||||
# ** Window_Status
|
||||
#------------------------------------------------------------------------------
|
||||
# This window displays full status specs on the status screen.
|
||||
#==============================================================================
|
||||
|
||||
class Window_Status < Window_Selectable
|
||||
#--------------------------------------------------------------------------
|
||||
# * Object Initialization
|
||||
#--------------------------------------------------------------------------
|
||||
def initialize(actor)
|
||||
super(0, 0, Graphics.width, Graphics.height)
|
||||
@actor = actor
|
||||
refresh
|
||||
activate
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Set Actor
|
||||
#--------------------------------------------------------------------------
|
||||
def actor=(actor)
|
||||
return if @actor == actor
|
||||
@actor = actor
|
||||
refresh
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Refresh
|
||||
#--------------------------------------------------------------------------
|
||||
def refresh
|
||||
contents.clear
|
||||
draw_block1 (line_height * 0)
|
||||
draw_horz_line(line_height * 1)
|
||||
draw_block2 (line_height * 2)
|
||||
draw_horz_line(line_height * 6)
|
||||
draw_block3 (line_height * 7)
|
||||
draw_horz_line(line_height * 13)
|
||||
draw_block4 (line_height * 14)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Block 1
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_block1(y)
|
||||
draw_actor_name(@actor, 4, y)
|
||||
draw_actor_class(@actor, 128, y)
|
||||
draw_actor_nickname(@actor, 288, y)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Block 2
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_block2(y)
|
||||
draw_actor_face(@actor, 8, y)
|
||||
draw_basic_info(136, y)
|
||||
draw_exp_info(304, y)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Block 3
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_block3(y)
|
||||
draw_parameters(32, y)
|
||||
draw_equipments(288, y)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Block 4
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_block4(y)
|
||||
draw_description(4, y)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Horizontal Line
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_horz_line(y)
|
||||
line_y = y + line_height / 2 - 1
|
||||
contents.fill_rect(0, line_y, contents_width, 2, line_color)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Get Color of Horizontal Line
|
||||
#--------------------------------------------------------------------------
|
||||
def line_color
|
||||
color = normal_color
|
||||
color.alpha = 48
|
||||
color
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Basic Information
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_basic_info(x, y)
|
||||
draw_actor_level(@actor, x, y + line_height * 0)
|
||||
draw_actor_icons(@actor, x, y + line_height * 1)
|
||||
draw_actor_hp(@actor, x, y + line_height * 2)
|
||||
draw_actor_mp(@actor, x, y + line_height * 3)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Parameters
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_parameters(x, y)
|
||||
6.times {|i| draw_actor_param(@actor, x, y + line_height * i, i + 2) }
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Experience Information
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_exp_info(x, y)
|
||||
s1 = @actor.max_level? ? "-------" : @actor.exp
|
||||
s2 = @actor.max_level? ? "-------" : @actor.next_level_exp - @actor.exp
|
||||
s_next = sprintf(Vocab::ExpNext, Vocab::level)
|
||||
change_color(system_color)
|
||||
draw_text(x, y + line_height * 0, 180, line_height, Vocab::ExpTotal)
|
||||
draw_text(x, y + line_height * 2, 180, line_height, s_next)
|
||||
change_color(normal_color)
|
||||
draw_text(x, y + line_height * 1, 180, line_height, s1, 2)
|
||||
draw_text(x, y + line_height * 3, 180, line_height, s2, 2)
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Equipment
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_equipments(x, y)
|
||||
@actor.equips.each_with_index do |item, i|
|
||||
draw_item_name(item, x, y + line_height * i)
|
||||
end
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Draw Description
|
||||
#--------------------------------------------------------------------------
|
||||
def draw_description(x, y)
|
||||
draw_text_ex(x, y, @actor.description)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user