Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if true # << Make true to use this script, false to disable.
- #===============================================================================
- #
- # ☆ $D13x - Skill Scene
- # -- Author : Dekita
- # -- Version : 1.8
- # -- Level : Easy / Normal
- # -- Requires : $D13x - Core v1.3+
- # -- Engine : RPG Maker VX Ace.
- #
- #===============================================================================
- # ☆ Import
- #-------------------------------------------------------------------------------
- $D13x={}if$D13x==nil
- $D13x[:Skill_Scene]=true
- #===============================================================================
- # ☆ Updates
- #-------------------------------------------------------------------------------
- # D /M /Y
- # o1/o2/2o14 - Update, (Compatibility - Skill Upgrade)
- # 15/07/2o13 - Bugfixx, (Crash when used without Elements Control)
- # 28/o5/2o13 - Bugfixx, (Debuff Effect Error)
- # 19/o5/2o13 - Small Update, (reposition stat info)
- # o6/o4/2o13 - Bugfixx(s),
- # ^- Crash when used without $D13x Skill Lv,
- # ^- Crash when used without $D13x Skill Proficiency,
- # 26/o3/2o13 - Compatibility, (Elements Control)
- # - Compatibility, ($D13x Core v1.2)
- # 21/o3/2o13 - Compatibility (Proficiency Skills)
- # - Bug Fix, (no longer requires Skill Levels)
- # - Mp gauge, (no longer overflows)
- # - Added "Scope" information,
- # 2o/o3/2o13 - Finished,
- # 1o/o3/2o13 - Started
- #
- #===============================================================================
- # ☆ Introduction
- #-------------------------------------------------------------------------------
- # This script overwrites the default skill screen for a more informative one.
- # Plug-N-Play.
- # Requires $D13x Core Script v 1.3+
- #
- #===============================================================================
- # ★☆★☆★☆★☆★☆★☆★☆★ TERMS AND CONDITIONS: ☆★☆★☆★☆★☆★☆★☆★☆★☆
- #===============================================================================
- # 1. You MUST give credit to "Dekita" !!
- # 2. You are NOT allowed to repost this script.(or modified versions)
- # 3. You are NOT allowed to convert this script.
- # 4. You are NOT allowed to use this script for Commercial games.
- # 5. ENJOY!
- #
- # "FINE PRINT"
- # By using this script you hereby agree to the above terms and conditions,
- # if any violation of the above terms occurs "legal action" may be taken.
- # Not understanding the above terms and conditions does NOT mean that
- # they do not apply to you.
- # If you wish to discuss the terms and conditions in further detail you can
- # contact me at http://dekitarpg.wordpress.com/
- #
- #===============================================================================
- # ☆ Instructions
- #-------------------------------------------------------------------------------
- # Place Below " ▼ Materials " and Above " ▼ Main " in your script editor.
- # Place Under My $D13x - Core Script.
- #
- #===============================================================================
- module Skill_Scene
- # Turn this on to show the skill damage formula
- Show_Formula = false # true
- end# << Keep
- module Vocab
- def self.skill_dmg_type(id)
- case id
- when 0 then "Passive Skill" # "None"
- when 1 then "HP Damage Skill"
- when 2 then "MP Damage Skill"
- when 3 then "HP Recover Skill"
- when 4 then "MP Recover Skill"
- when 5 then "HP Drain Skill"
- when 6 then "MP Drain Skill"
- end
- end
- def self.scope(id)
- case id
- when 0 then "N/A" # << If item is scope 0 it will not show.
- when 1 then "One Enemy"
- when 2 then "All Enemies"
- when 3 then "One Random Enemies"
- when 4 then "Two Random Enemies"
- when 5 then "Three Random Enemies"
- when 6 then "Four Random Enemies"
- when 7 then "One Ally"
- when 8 then "All Allies"
- when 9 then "One Ally (dead)"
- when 10 then "All allies (dead)"
- when 11 then "Self"
- else ; ""
- end
- end
- end #####################
- # CUSTOMISATION END #
- #####################
- #☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★#
- # #
- # http://dekitarpg.wordpress.com/ #
- # #
- #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆#
- #===============================================================================#
- # ARE YOU MODIFYING BEYOND THIS POINT? \.\. #
- # YES?\.\. #
- # OMG, REALLY? \| #
- # WELL SLAP MY FACE AND CALL ME A DRAGONITE.\..\.. #
- # I REALLY DIDN'T THINK YOU HAD IT IN YOU.\..\.. #
- #===============================================================================#
- class Window_SkillCommand < Window_Command
- #===============================================================================
- #--------------------------------------------------------------------------
- # ALias List
- #--------------------------------------------------------------------------
- alias :mcl_sug_window :make_command_list
- #--------------------------------------------------------------------------
- # Get Window Width
- #--------------------------------------------------------------------------
- def window_width
- return Graphics.width / 4
- end
- #--------------------------------------------------------------------------
- # Get Number of Lines to Show
- #--------------------------------------------------------------------------
- def visible_line_number
- return 2
- end
- #--------------------------------------------------------------------------
- # Make Commands
- #--------------------------------------------------------------------------
- alias :mcl_sug_window :make_command_list
- def make_command_list
- mcl_sug_window
- if $D13x[:SUG]
- # add_command("Skill Tree", :tree, true)
- end
- end
- #--------------------------------------------------------------------------
- # Draws Items
- #--------------------------------------------------------------------------
- def draw_item(index)
- self.contents.font.name = General::Fonts
- self.contents.font.size = General::Font_Size
- self.contents.font.bold = General::Font_Bold
- draw_text(item_rect_for_text(index), command_name(index), 0)
- end
- end
- #==============================================================================
- class Window_SkillStatus < Window_Base
- #==============================================================================
- #--------------------------------------------------------------------------
- # Set/Get Window Width
- #--------------------------------------------------------------------------
- def window_width
- Graphics.width / 2
- end
- #--------------------------------------------------------------------------
- # Do Refresh
- #--------------------------------------------------------------------------
- def refresh
- contents.clear
- return unless @actor
- if !General::Fonts.include?(self.contents.font.name)
- self.contents.font.name = General::Fonts
- end
- if self.contents.font.size != General::Font_Size
- self.contents.font.size = General::Font_Size
- end
- if self.contents.font.bold != General::Font_Bold
- self.contents.font.bold = General::Font_Bold
- end
- wid = self.width - (standard_padding*2)
- draw_actor_face(@actor,0,-2,enabled = true)
- draw_text(100, 0, self.width - (standard_padding*2), line_height, @actor.name.to_s)
- lvtxt = "Lv #{@actor.level} #{@actor.class.name}"
- draw_text(100, line_height, self.width - (standard_padding*2), line_height, lvtxt)
- draw_de_hp(100, line_height * 2, wid)
- draw_de_mp(100, line_height * 3, wid)
- end
- #--------------------------------------------------------------------------
- # Line Height
- #--------------------------------------------------------------------------
- def line_height
- return 22
- end
- #--------------------------------------------------------------------------
- # Window Padding
- #--------------------------------------------------------------------------
- def standard_padding
- return 8
- end
- end
- #==============================================================================
- class Deki_SkillList < Window_SkillList
- #==============================================================================
- #--------------------------------------------------------------------------
- # Initialize Window
- #--------------------------------------------------------------------------
- def initialize(x, y, width, height)
- @skill_info_wind = nil
- super(x, y, Graphics.width / 2, height)
- end
- #--------------------------------------------------------------------------
- # Get Digit Count
- #--------------------------------------------------------------------------
- def col_max
- return 1
- end
- #--------------------------------------------------------------------------
- # Update DeHalp
- #--------------------------------------------------------------------------
- def update_help
- @help_window.set_item(item)
- @skill_info_wind.item = item if @skill_info_wind != nil
- end
- #--------------------------------------------------------------------------
- # Set Skill Info window
- #--------------------------------------------------------------------------
- def skill_info_wind=(wind)
- @skill_info_wind = wind
- end
- #--------------------------------------------------------------------------
- # Draw Skill Use Cost
- #--------------------------------------------------------------------------
- def draw_skill_cost(rect, skill)
- end
- #--------------------------------------------------------------------------
- # Refresh Font
- #--------------------------------------------------------------------------
- def refresh_font
- if !General::Fonts.include?(self.contents.font.name)
- self.contents.font.name = General::Fonts
- end
- if self.contents.font.size != General::Font_Size
- self.contents.font.size = General::Font_Size
- end
- if self.contents.font.bold != General::Font_Bold
- self.contents.font.bold = General::Font_Bold
- end
- end
- end
- #==============================================================================
- class Window_DekiSkillStatus < Window_Selectable
- #==============================================================================
- #--------------------------------------------------------------------------
- # Initialization
- #--------------------------------------------------------------------------
- def initialize(actor, x, y, w, h)
- @wid = w - (standard_padding*2)
- super(x, y, w, h)
- @actor = actor
- @item = nil
- refresh
- end
- #--------------------------------------------------------------------------
- # Set Actor
- #--------------------------------------------------------------------------
- def actor=(actor)
- return if @actor == actor
- @actor = actor
- refresh
- end
- #--------------------------------------------------------------------------
- # Set Item
- #--------------------------------------------------------------------------
- def item=(item)
- return if @item == item
- @item = item
- refresh
- end
- #--------------------------------------------------------------------------
- # Get Item
- #--------------------------------------------------------------------------
- def item
- @item
- end
- #--------------------------------------------------------------------------
- # Refresh
- #--------------------------------------------------------------------------
- def refresh
- contents.clear
- freshen
- draw_block(0, line_height * 0)
- end
- #--------------------------------------------------------------------------
- # Refresh Fonts
- #--------------------------------------------------------------------------
- def freshen
- if !General::Fonts.include?(self.contents.font.name)
- self.contents.font.name = General::Fonts
- end
- if self.contents.font.size != General::Font_Size
- self.contents.font.size = General::Font_Size
- end
- if self.contents.font.bold != General::Font_Bold
- self.contents.font.bold = General::Font_Bold
- end
- end
- #--------------------------------------------------------------------------
- # Draw Block
- #--------------------------------------------------------------------------
- def draw_block(x,y)
- return unless @item
- draw_item_name(@item, x, y)
- y = draw_skill_exp(x, y) if $D13x[:Skill_Lv] && @item.show_exp_data
- y = draw_main_damage_info(x,y)
- y = draw_damage_info(x,y)
- y = draw_skill_costs(x,y)
- y = draw_req_pars(x, y)
- y = draw_effects(x, y)
- y = draw_profic(x, y)
- y = draw_pars(x, y)
- y = draw_max_pars(x, y)
- end
- #--------------------------------------------------------------------------
- # Draw Damage Info
- #--------------------------------------------------------------------------
- def draw_main_damage_info(x,y)
- id = @item.damage.type
- draw_text(x, y, @wid, line_height, "#{Vocab::skill_dmg_type(id)}")
- if @item.scope != 0
- y += line_height
- draw_text(x, y, @wid, line_height, "Scope : #{Vocab::scope(@item.scope)}")
- end
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Skill Exp
- #--------------------------------------------------------------------------
- def draw_skill_exp(x,y)
- set = Skill_Levels::Exp_Set[@item.exp_set]
- lv_text = set[ @actor.skills_lv( @item.id ) ][1]
- draw_text(x, y, @wid, line_height, "#{lv_text}", 2)
- if @actor.skills_lv(item.id) < $data_skills[item.id].max_lv
- exp = @actor.skills_exp(item.id)
- exp_req = set[ @actor.skills_lv(@item.id)+1 ][0]
- y += line_height
- draw_text(x, y, @wid, line_height, "Exp: #{exp}/#{exp_req}", 2)
- else
- y += line_height
- draw_text(x, y, @wid, line_height, "Exp: MASTERED", 2)
- end
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Skill Costs
- #--------------------------------------------------------------------------
- def draw_skill_costs(x,y)
- if Skill_Scene::Show_Formula
- y += line_height
- draw_text(x, y, @wid, line_height, "Formula: #{@item.damage.formula}")
- end
- if @actor.skill_mp_cost(@item) != 0 && @item.damage.type != 0
- y += line_height
- text = "MP Cost: #{@actor.skill_mp_cost(@item)}"
- draw_text(x, y, @wid, line_height, text)
- end
- if @actor.skill_tp_cost(@item) != 0 && @item.damage.type != 0
- y += line_height
- text = "TP Cost: #{@actor.skill_tp_cost(@item)}"
- draw_text(x, y, @wid, line_height, text)
- end
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Element Info
- #--------------------------------------------------------------------------
- def draw_damage_info(x,y)
- if @item.damage.element_id != 0 && @item.damage.type != 0
- y += line_height
- text = "Element: #{$data_system.elements[@item.damage.element_id]}"
- draw_text(x, y, @wid, line_height, text)
- end
- if @item.damage.type != 0
- y += line_height
- text = "#{Vocab::x_param(2)}: #{@item.damage.critical ? "Yes" : "No" }"
- draw_text(x, y, @wid, line_height, text)
- end
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Deki Statistics
- #--------------------------------------------------------------------------
- def draw_pars(x, y)
- return y unless $D13x[:Stats_Control]
- mul = Skill_Levels::Exp_Set[@item.exp_set][@actor.skills_lv(item.id)][2]
- 8.times do |i|
- next unless @item.pars[i] != 0
- y += line_height
- text = "#{Vocab::param(i)}: +#{(@item.pars[i] * mul).to_i}"
- draw_text(x, y, @wid, line_height, text)
- end
- 10.times do |i|
- next unless @item.xpars[i] != 0
- y += line_height
- text = "#{Vocab::x_param(i)}: +#{(@item.xpars[i] * mul * 100).to_f}%"
- end
- 10.times do |i|
- next unless @item.spars[i] != 0
- y += line_height
- text = "#{Vocab::s_param(i)}: +#{(@item.spars[i] * mul * 100).to_f}%"
- draw_text(x, y, @wid, line_height, text)
- end
- if $D13x[:Elems_Control]
- $data_system.elements.size.times do |i|
- next unless @item.atk_ele[i] != 0.0
- y += line_height
- text = "#{$data_system.elements[i]} Attack: +#{(@item.atk_ele[i] * mul * 100).to_f}%"
- draw_text(x, y, @wid, line_height, text)
- end
- $data_system.elements.size.times do |i|
- next unless @item.def_ele[i] != 0.0
- y += line_height
- text = "#{$data_system.elements[i]} Defence: +#{(@item.def_ele[i] * mul * 100).to_f}%"
- draw_text(x, y, @wid, line_height, text)
- end
- end
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Max Deki Statistics
- #--------------------------------------------------------------------------
- def draw_max_pars(x, y)
- return y unless $D13x[:Stats_Control]
- mul = Skill_Levels::Exp_Set[@item.exp_set][@actor.skills_lv(item.id)][2]
- 8.times do |i|
- next unless @item.max_pars[i] != 0
- y += line_height
- text = "Max #{Vocab::param(i)}: +#{@item.max_pars[i] * mul}"
- draw_text(x, y, @wid, line_height, text)
- end
- 10.times do |i|
- next unless @item.max_xpars[i] != 0
- y += line_height
- text = "Max #{Vocab::x_param(i)}: +#{@item.max_xpars[i] * mul * 100}%"
- draw_text(x, y, @wid, line_height, text)
- end
- 10.times do |i|
- next unless @item.max_spars[i] != 0
- y += line_height
- text = "Max #{Vocab::s_param(i)}: +#{@item.max_spars[i] * mul * 100}%"
- draw_text(x, y, @wid, line_height, text)
- end
- if $D13x[:Elems_Control]
- $data_system.elements.size.times do |i|
- next unless @item.max_atk_ele[i] != 0.0
- y += line_height
- text = "Max #{$data_system.elements[i]} Attack: +#{(@item.max_atk_ele[i] * mul * 100).to_f}%"
- draw_text(x, y, @wid, line_height, text)
- end
- $data_system.elements.size.times do |i|
- next unless @item.def_ele[i] != 0.0
- y += line_height
- text = "Max #{$data_system.elements[i]} Defence: +#{(@item.max_def_ele[i] * mul * 100).to_f}%"
- draw_text(x, y, @wid, line_height, text)
- end
- end
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Proficiency Statistics
- #--------------------------------------------------------------------------
- def draw_profic(x, y)
- return y unless $D13x[:Proficiency]
- y = draw_styp_profic(x, y)
- y = draw_elem_profic(x, y)
- y = draw_weap_profic(x, y)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Weapon Proficiency
- #--------------------------------------------------------------------------
- def draw_weap_profic(x, y)
- return y unless @item.weap_prof[0] != nil
- return y unless @item.weap_prof[0] != 0
- mul = Skill_Levels::Exp_Set[@item.exp_set][@actor.skills_lv(@item.id)][2]
- y += line_height
- _A = $data_system.weapon_types[@item.weap_prof[0]]
- _B = "#{sprintf("%1.2f%%", (@item.weap_prof[1] * mul)*100)}"
- text = "#{_A} Weapon Damage: +#{_B}"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Element Proficiency
- #--------------------------------------------------------------------------
- def draw_elem_profic(x, y)
- return y unless @item.elem_prof[0] != nil
- return y unless @item.elem_prof[0] != 0
- mul = Skill_Levels::Exp_Set[@item.exp_set][@actor.skills_lv(@item.id)][2]
- y += line_height
- _A = $data_system.elements[@item.elem_prof[0]]
- _B = "#{sprintf("%1.2f%%", (@item.elem_prof[1] * mul)*100)}"
- text = "#{_A} Skill Damage: +#{_B}"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Skill Type Proficiency
- #--------------------------------------------------------------------------
- def draw_styp_profic(x, y)
- return y unless @item.styp_prof[0] != nil
- return y unless @item.styp_prof[0] != 0
- mul = Skill_Levels::Exp_Set[@item.exp_set][@actor.skills_lv(@item.id)][2]
- y += line_height
- _A = $data_system.skill_types[@item.styp_prof[0]]
- _B = "#{sprintf("%1.2f%%", (@item.styp_prof[1] * mul)*100)}"
- text = "#{_A} Skill Damage: +#{_B}"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Deki Requirements
- #--------------------------------------------------------------------------
- def draw_req_pars(x, y)
- return y unless $D13x[:Skill_Reqs]
- @actor.class.learnings.each do |skil|
- next unless skil.skill_id == @item.id
- 8.times do |i|
- next unless skil.param_req[i] > 0
- y += line_height
- text = "Req #{Vocab::param(i)}: #{skil.param_req[i]}"
- draw_text(x, y, @wid, line_height, text)
- end
- 10.times do |i|
- next unless skil.xpars_req[i] > 0.0
- y += line_height
- text = "Req #{Vocab::x_param(i)}: #{skil.xpars_req[i] * 100}%"
- draw_text(x, y, @wid, line_height, text)
- end
- 10.times do |i|
- next unless skil.spars_req[i] > 0.0
- y += line_height
- text = "Req #{Vocab::s_param(i)}: #{skil.spars_req[i] * 100}%"
- draw_text(x, y, @wid, line_height, text)
- end
- if $D13x[:Elems_Control]
- $data_system.elements.size.times do |i|
- next unless skil.atk_ele_req[i] > 0.0
- y += line_height
- text = "Req #{$data_system.elements[i]} Attack: #{(skil.atk_ele_req[i]* 100).to_f}%"
- draw_text(x, y, @wid, line_height, text)
- end
- $data_system.elements.size.times do |i|
- next unless skil.def_ele_req[i] > 0.0
- y += line_height
- text = "Req #{$data_system.elements[i]} Defence: #{(skil.def_ele_req[i]* 100).to_f}%"
- draw_text(x, y, @wid, line_height, text)
- end
- end
- end
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Effects
- #--------------------------------------------------------------------------
- def draw_effects(x, y)
- y += line_height
- draw_text(x, y, @wid, line_height, "Added Effects :")
- @item.effects.each do |eff|
- next if eff == nil
- case eff.code
- when 11 then y = draw_hp_rec(x,y,eff.data_id,eff.value1,eff.value2)
- when 12 then y = draw_mp_rec(x,y,eff.data_id,eff.value1,eff.value2)
- when 13 then y = draw_tp_mod(x,y,eff.data_id,eff.value1)
- when 21 then y = draw_atk_statuss(x,y, eff.data_id, eff.value1)
- when 22 then y = draw_rem_statuss(x,y, eff.data_id, eff.value1)
- when 31 then y = draw_add_buff(x,y,eff.data_id,eff.value1)
- when 32 then y = draw_add_debuff(x,y,eff.data_id,eff.value1)
- when 33 then y = draw_rem_buff(x,y,eff.data_id)
- when 34 then y = draw_rem_debuff(x,y,eff.data_id)
- end
- end
- return y
- end
- #--------------------------------------------------------------------------
- # Draw HP Recovery
- #--------------------------------------------------------------------------
- def draw_hp_rec(x,y,val1,val2,val3)
- y += line_height
- text = "HP Recover: #{((@actor.mhp+val3)*val2).to_i}"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw MP Recovery
- #--------------------------------------------------------------------------
- def draw_mp_rec(x,y,val1,val2,val3)
- y += line_height
- text = "MP Recover: #{((@actor.mmp+val3)*val2).to_i}"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw TP Gain
- #--------------------------------------------------------------------------
- def draw_tp_mod(x,y,val1,val2)
- y += line_height
- text = "TP Gain: #{val2}%"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Attack Status'
- #--------------------------------------------------------------------------
- def draw_atk_statuss(x,y,val1,val2)
- y += line_height
- text = "Inflicts #{$data_states[val1].name} #{sprintf("%1.0f%%", val2*100)}"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Remove Status'
- #--------------------------------------------------------------------------
- def draw_rem_statuss(x,y,val1,val2)
- y += line_height
- text = "Removes #{$data_states[val1].name} #{sprintf("%1.0f%%", val2*100)}"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Add Buff
- #--------------------------------------------------------------------------
- def draw_add_buff(x,y,val1,val2)
- y += line_height
- text = "Add #{Vocab::param(val1)} Buff for #{val2.to_i} Turns"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Add Debuff
- #--------------------------------------------------------------------------
- def draw_add_debuff(x,y,val1,val2)
- y += line_height
- text = "Add #{Vocab::param(val1)} Debuff for #{val2.to_i} Turns"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Remove Buff
- #--------------------------------------------------------------------------
- def draw_rem_buff(x,y,val1)
- y += line_height
- text = "Removes #{Vocab::param(val1)} Buff"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- #--------------------------------------------------------------------------
- # Draw Remove Debuff
- #--------------------------------------------------------------------------
- def draw_rem_debuff(x,y,val1)
- y += line_height
- text = "Removes #{Vocab::param(val1)} Debuff"
- draw_text(x, y, @wid, line_height, text)
- return y
- end
- end
- #==============================================================================
- class Scene_Skill < Scene_ItemBase
- #==============================================================================
- #--------------------------------------------------------------------------
- # Alias List
- #--------------------------------------------------------------------------
- alias :start_scene_skill :start
- alias :ccmwindskillwind :create_command_window
- # alias :csw_scene_skill :create_status_window
- #--------------------------------------------------------------------------
- # Start Processing
- #--------------------------------------------------------------------------
- def start
- start_scene_skill
- create_item_status_window
- end
- #--------------------------------------------------------------------------
- # Create Halp Window (overwrite)
- #--------------------------------------------------------------------------
- def create_help_window
- @help_window = Deki_Help.new
- @help_window.viewport = @viewport
- @help_window.x = Graphics.width / 4
- end
- #--------------------------------------------------------------------------
- # Create Command Window
- #--------------------------------------------------------------------------
- def create_command_window
- ccmwindskillwind
- @command_window.y = 0
- if $D13x[:SUG]
- @command_window.set_handler(:tree, method(:command_tree))
- end
- end
- #--------------------------------------------------------------------------
- # Create Status Window
- #--------------------------------------------------------------------------
- def create_status_window
- y = @help_window.height
- @status_window = Window_StatusDekita.new(@actor, y)
- end
- #--------------------------------------------------------------------------
- # Create Item Window
- #--------------------------------------------------------------------------
- def create_item_window
- wx = 0
- wy = @status_window.y + @status_window.height
- ww = Graphics.width / 2
- wh = Graphics.height - wy
- @item_window = Deki_SkillList.new(wx, wy, ww, wh)
- @item_window.actor = @actor
- @item_window.viewport = @viewport
- @item_window.help_window = @help_window
- @item_window.set_handler(:ok, method(:on_item_ok))
- @item_window.set_handler(:cancel, method(:on_item_cancel))
- @command_window.skill_window = @item_window
- end
- #--------------------------------------------------------------------------
- # Create Item Status Window
- #--------------------------------------------------------------------------
- def create_item_status_window
- y = @command_window.height + @status_window.height
- w = Graphics.width / 2
- h = Graphics.height - y
- x = @status_window.x + (@status_window.width/2)
- @skinf_wind = Window_DekiSkillStatus.new(@actor, x, y, w, h)
- @item_window.skill_info_wind = @skinf_wind
- end
- #--------------------------------------------------------------------------
- # Update
- #--------------------------------------------------------------------------
- def update
- super
- end
- #-----------------------------------------------------------------------------
- # Item [Cancel]
- #-----------------------------------------------------------------------------
- def on_item_cancel
- @item_window.unselect
- @skinf_wind.item = nil
- @command_window.activate
- end
- #-----------------------------------------------------------------------------
- # Change Actors
- #-----------------------------------------------------------------------------
- def on_actor_change
- @command_window.actor = @actor
- @status_window.actor = @actor
- @item_window.actor = @actor
- @skinf_wind.actor = @actor
- @skinf_wind.item = nil
- # @skinf_wind.refresh
- @command_window.activate
- end
- #-----------------------------------------------------------------------------
- # Command Tree
- #-----------------------------------------------------------------------------
- def command_tree
- SceneManager.call(SUG_Scene)
- end
- end
- #==============================================================================#
- # http://dekitarpg.wordpress.com/ #
- #==============================================================================#
- end # if true # << Make true to use this script, false to disable.
Add Comment
Please, Sign In to add comment