#===============================================================================
# *[VX]Character Biography
# Displays a biography screen for each character by pressing the C decision
# key while in the Status menu.
#-------------------------------------------------------------------------------
# Author: Obsidian
#
obsidian_moonwolf@yahoo.com# Original Author for XP: Claimh
# Orignial translation/edits to XP version: TruthfulTiger & Italianstal1ion
#===============================================================================
# Set the key to open the biography screen
CHANGE_KEY = Input::C
# Set the Characters' ages.
CHAR_AGE = ["19", "17", "20", "16"]
# Set the Characters' Homelands
CHAR_HOMELAND = ["Elmwood", "Elmwood", "Valens", "Unknown"]
# Set the Characters' Heights
CHAR_HEIGHT = ["5'10", "5'8", "6'", "5'4"]
# Set the Characters' Weights
CHAR_WEIGHT = ["160", "110", "225", "102"]
# Set the Characters' Races
CHAR_RACE = ["Human", "Human", "Human", "Elf"]
# Set the Characters' Genders
CHAR_GENDER = ["Male", "Female", "Male", "Female"]
# Set the Characters' Weapon Styles
CHAR_WEAPON = ["Swords", "Staves", "Spears", "Wands"]
#===============================================================================
# Character Descriptions
#===============================================================================
#-------------------------------------------------------------------------------
# Character 1 Description
#-------------------------------------------------------------------------------
D1 = "Insert the first line of descriptive text here."
D2 = "Insert the second line of descriptive text here."
D3 = "Insert the third line of descriptive text here."
D4 = "Insert the fourth line of descriptive text here."
D5 = "Insert the fifth line of descriptive text here."
DESC_SET1 = [D1, D2, D3, D4, D5]
#-------------------------------------------------------------------------------
# Character 2 Description
#-------------------------------------------------------------------------------
D1 = "Insert the first line of descriptive text here."
D2 = "Insert the second line of descriptive text here."
D3 = "Insert the third line of descriptive text here."
D4 = "Insert the fourth line of descriptive text here."
D5 = "Insert the fifth line of descriptive text here."
DESC_SET2 = [D1, D2, D3, D4, D5]
#-------------------------------------------------------------------------------
# Character 3 Description
#-------------------------------------------------------------------------------
D1 = "Insert the first line of descriptive text here."
D2 = "Insert the second line of descriptive text here."
D3 = "Insert the third line of descriptive text here."
D4 = "Insert the fourth line of descriptive text here."
D5 = "Insert the fifth line of descriptive text here."
DESC_SET3 = [D1, D2, D3, D4, D5]
#-------------------------------------------------------------------------------
# Character 4 Description
#-------------------------------------------------------------------------------
D1 = "Insert the first line of descriptive text here."
D2 = "Insert the second line of descriptive text here."
D3 = "Insert the third line of descriptive text here."
D4 = "Insert the fourth line of descriptive text here."
D5 = "Insert the fifth line of descriptive text here."
DESC_SET4 = [D1, D2, D3, D4, D5]
CHAR_DESCRIPTION = [DESC_SET1, DESC_SET2, DESC_SET3, DESC_SET4]
#===============================================================================
# Start Window_Character
#===============================================================================
#-------------------------------------------------------------------------------
# Initialize
#-------------------------------------------------------------------------------
class Window_Character < Window_Base
def initialize(actor)
super(0, 0, 544, 416)
self.contents = Bitmap.new(width - 32, height - 32)
@actor = actor
refresh
# Ends initialize
end
#-------------------------------------------------------------------------------
# Refresh
#-------------------------------------------------------------------------------
def refresh
self.contents.clear
# Draw the characters' faces
draw_actor_face(@actor, 2, 2, 96)
# Set the category name colors
self.contents.font.color.set( 150, 150, 255)
# Draw the category names
self.contents.draw_text(150, 10, 80, 32, "Name:")
self.contents.draw_text(320, 10, 100, 32, "Class:")
self.contents.draw_text(150, 50, 80, 32, "Race:")
self.contents.draw_text(150, 90, 80, 32, "Age:")
self.contents.draw_text(150, 130, 80, 32, "Height:")
self.contents.draw_text(150, 170, 80, 32, "Homeland:")
self.contents.draw_text(320, 90, 100, 32, "Weapon:")
self.contents.draw_text(320, 50, 100, 32, "Gender:")
self.contents.draw_text(320, 130, 100, 32, "Weight:")
# Sets the Info listed to normal color
self.contents.font.color = normal_color
# Draw the Info for each category
draw_actor_class(@actor, 420, 10)
draw_actor_name(@actor, 240, 10)
draw_actor_race(@actor, 240, 50)
draw_actor_age(@actor, 240, 90)
draw_actor_height(@actor, 240, 130)
draw_actor_homeland(@actor, 240, 170)
draw_actor_weapon(@actor, 420, 90)
draw_actor_gender(@actor, 420, 50)
draw_actor_weight(@actor, 420, 130)
draw_actor_description(@actor, 10, 200)
# Ends refresh
end
# Ends Window_Character
end
#===============================================================================
# Class Window_Base
#===============================================================================
class Window_Base < Window
#-------------------------------------------------------------------------------
# Defines draw_actor_age
#-------------------------------------------------------------------------------
def draw_actor_age(actor, x, y)
self.contents.draw_text(x, y, 80, 32, CHAR_AGE[actor.id-1])
end
#-------------------------------------------------------------------------------
# Defines draw_actor_homeland
#-------------------------------------------------------------------------------
def draw_actor_homeland(actor, x, y)
self.contents.draw_text(x, y, 180, 32, CHAR_HOMELAND[actor.id-1])
end
#-------------------------------------------------------------------------------
# Defines draw_actor_height
#-------------------------------------------------------------------------------
def draw_actor_height(actor, x, y)
self.contents.draw_text(x, y , 200, 32, CHAR_HEIGHT[actor.id-1])
end
#-------------------------------------------------------------------------------
# Defines draw_actor_weight
#-------------------------------------------------------------------------------
def draw_actor_weight(actor, x, y)
self.contents.draw_text(x, y, 250, 32, CHAR_WEIGHT[actor.id-1])
end
#-------------------------------------------------------------------------------
# Defines draw_actor_race
#-------------------------------------------------------------------------------
def draw_actor_race(actor, x, y)
self.contents.draw_text(x, y, 280, 32, CHAR_RACE[actor.id-1])
end
#-------------------------------------------------------------------------------
# Defines draw_actor_weapon
#-------------------------------------------------------------------------------
def draw_actor_weapon(actor, x, y)
self.contents.draw_text(x, y, 540, 32, CHAR_WEAPON[actor.id-1])
end
#-------------------------------------------------------------------------------
# Define draw_actor_gender
#-------------------------------------------------------------------------------
def draw_actor_gender(actor, x, y)
self.contents.draw_text(x, y, 600, 32, CHAR_GENDER[actor.id-1])
end
#-------------------------------------------------------------------------------
# Define draw_actor_description
#-------------------------------------------------------------------------------
def draw_actor_description(actor, x, y)
info = CHAR_DESCRIPTION[actor.id-1]
self.contents.draw_text(x, y, 600, 32, info[0])
self.contents.draw_text(x, y+40, 600, 32, info[1])
self.contents.draw_text(x, y+80, 600, 32, info[2])
self.contents.draw_text(x, y+120, 600, 32, info[3])
self.contents.draw_text(x, y+160, 600, 32, info[4])
end
end
#===============================================================================
# Scene_Character
#===============================================================================
class Scene_Character
#-------------------------------------------------------------------------------
# Initialize
#-------------------------------------------------------------------------------
def initialize(actor_index = 0, equip_index = 0)
@actor_index = actor_index
end
#-------------------------------------------------------------------------------
# Main
#-------------------------------------------------------------------------------
def main
@actor = $game_party.members[@actor_index]
@status_window = Window_Character.new(@actor)
Graphics.transition
# Begin loop
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
# Dispose window
@status_window.dispose
end
#-------------------------------------------------------------------------------
# Update
#-------------------------------------------------------------------------------
def update
# If cancel button pressed(

if Input.trigger?(Input::

# Play decision SE
Sound.play_decision
$scene = Scene_Menu.new(3)
return
end
# If Right button pressed(W)
if Input.trigger?(Input::R)
#Play decision SE
Sound.play_decision
# Swith to next actor in list
@actor_index += 1
@actor_index %= $game_party.members.size
$scene = Scene_Character.new(@actor_index)
return
end
# If Left button pressed(Q)
if Input.trigger?(Input::L)
# Play decision SE
Sound.play_decision
# Switch to previous actor in list
@actor_index += $game_party.members.size - 1
@actor_index %= $game_party.members.size
$scene = Scene_Character.new(@actor_index)
return
end
end
end # End Scene
#===============================================================================
# Scene_Status
#===============================================================================
class Scene_Status
alias update_chara update
def update
# If activation button pressed(Set at top of script)
if Input.trigger?(CHANGE_KEY)
# Play decision SE
Sound.play_decision
$scene = Scene_Character.new(@actor_index)
return
end
update_chara
end
end