#===============================================================================
#     *[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