- #============================================================================== 
- #  
- # ▼ Yanfly Engine Ace - Victory Aftermath v1.03 
- # -- Last Updated: 2012.01.07 
- # -- Level: Easy, Normal, Hard 
- # -- Requires: n/a 
- #  
- #============================================================================== 
-   
- $imported = {} if $imported.nil? 
- $imported["YEA-VictoryAftermath"] = true 
-   
- #============================================================================== 
- # ▼ Updates 
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 
- # 2012.01.07 - Compatibility Update: JP Manager 
- # 2012.01.01 - Bug Fixed: Quote tags were mislabeled. 
- # 2011.12.26 - Compatibility Update: Command Autobattle 
- # 2011.12.16 - Started Script and Finished. 
- #  
- #============================================================================== 
- # ▼ Introduction 
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 
- # At the end of each battle, RPG Maker VX Ace by default shows text saying that 
- # the party has gained so-and-so EXP while this person leveled up and your 
- # party happened to find these drops. This script changes that text into 
- # something more visual for your players to see. Active battle members will be 
- # seen gaining EXP, any kind of level up changes, and a list of the items 
- # obtained through drops. 
- #  
- #============================================================================== 
- # ▼ Instructions 
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 
- # To install this script, open up your script editor and copy/paste this script 
- # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save. 
- #  
- # ----------------------------------------------------------------------------- 
- # Actor Notetags - These notetags go in the actors notebox in the database. 
- # ----------------------------------------------------------------------------- 
- # <win quotes> 
- #  string 
- #  string 
- # </win quotes> 
- # Sets the win quote for the actor. The strings are continuous and can use 
- # text codes. Use \n for a line break. Type in what you want the actor to say 
- # for the particular win quote. Use [New Quote] in between the two tags to 
- # start up a new quote. 
- #  
- # <level quotes> 
- #  string 
- #  string 
- # </level quotes> 
- # Sets the level up quote for the actor. The strings are continuous and can use 
- # text codes. Use \n for a line break. Type in what you want the actor to say 
- # for the particular win quote. Use [New Quote] in between the two tags to 
- # start up a new quote. 
- #  
- # <drops quotes> 
- #  string 
- #  string 
- # </drops quotes> 
- # Sets the drops quote for the actor. The strings are continuous and can use 
- # text codes. Use \n for a line break. Type in what you want the actor to say 
- # for the particular win quote. Use [New Quote] in between the two tags to 
- # start up a new quote. 
- #  
- # ----------------------------------------------------------------------------- 
- # Class Notetags - These notetags go in the class notebox in the database. 
- # ----------------------------------------------------------------------------- 
- # <win quotes> 
- #  string 
- #  string 
- # </win quotes> 
- # Sets the win quote for the class. The strings are continuous and can use 
- # text codes. Use \n for a line break. Type in what you want the actor to say 
- # for the particular win quote. Use [New Quote] in between the two tags to 
- # start up a new quote. 
- #  
- # <level quotes> 
- #  string 
- #  string 
- # </level quotes> 
- # Sets the level up quote for the class. The strings are continuous and can use 
- # text codes. Use \n for a line break. Type in what you want the actor to say 
- # for the particular win quote. Use [New Quote] in between the two tags to 
- # start up a new quote. 
- #  
- # <drops quotes> 
- #  string 
- #  string 
- # </drops quotes> 
- # Sets the drops quote for the class. The strings are continuous and can use 
- # text codes. Use \n for a line break. Type in what you want the actor to say 
- # for the particular win quote. Use [New Quote] in between the two tags to 
- # start up a new quote. 
- #  
- #============================================================================== 
- # ▼ Compatibility 
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= 
- # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that 
- # it will run with RPG Maker VX without adjusting. 
- #  
- #============================================================================== 
-   
- module YEA 
-   module VICTORY_AFTERMATH 
-   
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     # - General Settings - 
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     # These are various settings that are used throughout the Victory Aftermath 
-     # portion of a battle. Adjust them as you see fit. 
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     VICTORY_BGM  = RPG::BGM.new("Field1", 100, 100)    # Victory BGM 
-     VICTORY_TICK = RPG::SE.new("Decision1", 100, 150)  # EXP ticking SFX 
-     LEVEL_SOUND  = RPG::SE.new("Up4", 80, 150)         # Level Up SFX 
-     SKILLS_TEXT  = "新技能"                        # New skills text title. 
-   
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     # - Important Settings - 
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     # These are some important settings so please set them up properly. This 
-     # section includes a switch that allows you to skip the victory aftermath 
-     # phase (for those back to back battles and making them seamless) and it 
-     # also allows you to declare a common event to run after each battle. If 
-     # you do not wish to use either of these features, set them to 0. The 
-     # common event will run regardless of win or escape. 
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     SKIP_AFTERMATH_SWITCH  = 0  # If switch on, skip aftermath. 0 to disable. 
-     AFTERMATH_COMMON_EVENT = 0  # Runs common event after battle. 0 to disable. 
-   
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     # - Top Text Settings - 
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     # Here, you can adjust the various text that appears in the window that 
-     # appears at the top of the screen. 
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     TOP_TEAM         = "%s的队伍"           # Team name used. 
-     TOP_VICTORY_TEXT = "%s胜利了!"   # Text used to display victory. 
-     TOP_LEVEL_UP     = "%s升级!"  # Text used to display level up. 
-     TOP_SPOILS       = "胜利战利品!"     # Text used for spoils. 
-   
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     # - EXP Gauge Settings - 
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     # Adjust how the EXP Gauge appears for the Victory Aftermath here. This 
-     # includes the text display, the font size, the colour of the gauges, and 
-     # more. Adjust it all here. 
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     VICTORY_EXP  = "+%sEXP"      # Text used to display EXP. 
-     EXP_PERCENT  = "%1.2f%%"     # The way EXP percentage will be displayed. 
-     LEVELUP_TEXT = "LEVEL UP!"   # Text to replace percentage when leveled. 
-     MAX_LVL_TEXT = "MAX LEVEL"   # Text to replace percentage when max level. 
-     FONTSIZE_EXP = 20            # Font size used for EXP. 
-     EXP_TICKS    = 15            # Ticks to full EXP 
-     EXP_GAUGE1   = 12            # "Window" skin text colour for gauge. 
-     EXP_GAUGE2   = 4             # "Window" skin text colour for gauge. 
-     LEVEL_GAUGE1 = 13            # "Window" skin text colour for leveling. 
-     LEVEL_GAUGE2 = 5             # "Window" skin text colour for leveling. 
-   
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     # - Victory Messages - 
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     # In the Victory Aftermath, actors can say unique things. This is the pool 
-     # of quotes used for actors without any custom victory quotes. Note that 
-     # actors with custom quotes will take priority over classes with custom 
-     # quotes, which will take priority over these default quotes. Use \n for 
-     # a line break in the quotes. 
-     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- 
-     HEADER_TEXT = "\e>\eC[6]%s\eC[0]\e<\n"  # Always at start of messages. 
-     FOOTER_TEXT = ""                        # Always at end of messages. 
-   
-     # Win Quotes are what the actors say when a battle is won. 
-     VICTORY_QUOTES ={ 
-     # :type   => Quotes 
-       #------------------------------------------------------------------------ 
-       :win    => [ # Occurs as initial victory quote. 
-                    '"结束了吗。"', 
-                  ],# Do not remove this. 
-       #------------------------------------------------------------------------ 
-       :level  => [ # Occurs as initial victory quote. 
-                    '"我还需要更加强大!"', 
-                  ],# Do not remove this. 
-       #------------------------------------------------------------------------ 
-       :drops  => [ # Occurs as initial victory quote. 
-                    '"似乎获得了好东西。"', 
-                  ],# Do not remove this. 
-       #------------------------------------------------------------------------ 
-     } # Do not remove this. 
-   
-   end # VICTORY_AFTERMATH 
- end # YEA 
-   
- #============================================================================== 
- # ▼ Editting anything past this point may potentially result in causing 
- # computer damage, incontinence, explosion of user's head, coma, death, and/or 
- # halitosis so edit at your own risk. 
- #============================================================================== 
-   
- module YEA 
-   module REGEXP 
-   module BASEITEM 
-   
-     NEW_QUOTE = /\[(?:NEW_QUOTE|new quote)\]/i 
-   
-     WIN_QUOTE_ON    = /<(?:WIN_QUOTES|win quote|win quotes)>/i 
-     WIN_QUOTE_OFF   = /<\/(?:WIN_QUOTES|win quote|win quotes)>/i 
-     LEVEL_QUOTE_ON  = /<(?:LEVEL_QUOTES|level quote|level quotes)>/i 
-     LEVEL_QUOTE_OFF = /<\/(?:LEVEL_QUOTES|level quote|level quotes)>/i 
-     DROPS_QUOTE_ON  = /<(?:DROPS_QUOTES|drops quote|drops quotes)>/i 
-     DROPS_QUOTE_OFF = /<\/(?:DROPS_QUOTES|drops quote|drops quotes)>/i 
-   
-   end # BASEITEM 
-   end # REGEXP 
- end # YEA 
-   
- #============================================================================== 
- # ■ Switch 
- #============================================================================== 
-   
- module Switch 
-   
-   #-------------------------------------------------------------------------- 
-   # self.skip_aftermath 
-   #-------------------------------------------------------------------------- 
-   def self.skip_aftermath 
-     return false if YEA::VICTORY_AFTERMATH::SKIP_AFTERMATH_SWITCH <= 0 
-     return $game_switches[YEA::VICTORY_AFTERMATH::SKIP_AFTERMATH_SWITCH] 
-   end 
-   
- end # Switch 
-   
- #============================================================================== 
- # ■ Numeric 
- #============================================================================== 
-   
- class Numeric 
-   
-   #-------------------------------------------------------------------------- 
-   # new method: group_digits 
-   #-------------------------------------------------------------------------- 
-   unless $imported["YEA-CoreEngine"] 
-   def group; return self.to_s; end 
-   end # $imported["YEA-CoreEngine"] 
-   
- end # Numeric 
-   
- #============================================================================== 
- # ■ DataManager 
- #============================================================================== 
-   
- module DataManager 
-   
-   #-------------------------------------------------------------------------- 
-   # alias method: load_database 
-   #-------------------------------------------------------------------------- 
-   class <<self; alias load_database_va load_database; end 
-   def self.load_database 
-     load_database_va 
-     load_notetags_va 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # new method: load_notetags_va 
-   #-------------------------------------------------------------------------- 
-   def self.load_notetags_va 
-     groups = [$data_actors, $data_classes] 
-     for group in groups 
-       for obj in group 
-         next if obj.nil? 
-         obj.load_notetags_va 
-       end 
-     end 
-   end 
-   
- end # DataManager 
-   
- #============================================================================== 
- # ■ RPG::BaseItem 
- #============================================================================== 
-   
- class RPG::BaseItem 
-   
-   #-------------------------------------------------------------------------- 
-   # public instance variables 
-   #-------------------------------------------------------------------------- 
-   attr_accessor :win_quotes 
-   attr_accessor :level_quotes 
-   attr_accessor :drops_quotes 
-   
-   #-------------------------------------------------------------------------- 
-   # common cache: load_notetags_va 
-   #-------------------------------------------------------------------------- 
-   def load_notetags_va 
-     @win_quotes = [""] 
-     @level_quotes = [""] 
-     @drops_quotes = [""] 
-     @victory_quote_type = nil 
-     #--- 
-     self.note.split(/[\r\n]+/).each { |line| 
-       case line 
-       #--- 
-       when YEA::REGEXP::BASEITEM::WIN_QUOTE_ON 
-         @victory_quote_type = :win_quote 
-       when YEA::REGEXP::BASEITEM::WIN_QUOTE_OFF 
-         @victory_quote_type = nil 
-       when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_ON 
-         @victory_quote_type = :level_quote 
-       when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_OFF 
-         @victory_quote_type = nil 
-       when YEA::REGEXP::BASEITEM::DROPS_QUOTE_ON 
-         @victory_quote_type = :drops_quote 
-       when YEA::REGEXP::BASEITEM::DROPS_QUOTE_OFF 
-         @victory_quote_type = nil 
-       #--- 
-       when YEA::REGEXP::BASEITEM::NEW_QUOTE 
-         case @victory_quote_type 
-         when nil; next 
-         when :win_quote;   @win_quotes.push("") 
-         when :level_quote; @level_quotes.push("") 
-         when :drops_quote; @drops_quotes.push("") 
-         end 
-       #--- 
-       else 
-         case @victory_quote_type 
-         when nil; next 
-         when :win_quote;   @win_quotes[@win_quotes.size-1] += line.to_s 
-         when :level_quote; @level_quotes[@level_quotes.size-1] += line.to_s 
-         when :drops_quote; @drops_quotes[@drops_quotes.size-1] += line.to_s 
-         end 
-       end 
-     } # self.note.split 
-     #--- 
-     return unless self.is_a?(RPG::Class) 
-     quotes = YEA::VICTORY_AFTERMATH::VICTORY_QUOTES 
-     @win_quotes = quotes[:win].clone if @win_quotes == [""] 
-     @level_quotes = quotes[:level].clone if @level_quotes == [""] 
-     @drops_quotes = quotes[:drops].clone if @drops_quotes == [""] 
-   end 
-   
- end # RPG::BaseItem 
-   
- #============================================================================== 
- # ■ BattleManager 
- #============================================================================== 
-   
- module BattleManager 
-   
-   #-------------------------------------------------------------------------- 
-   # overwrite method: self.process_victory 
-   #-------------------------------------------------------------------------- 
-   def self.process_victory 
-     if $imported["YEA-CommandAutobattle"] 
-       SceneManager.scene.close_disable_autobattle_window 
-     end 
-     if Switch.skip_aftermath 
-       skip_aftermath 
-       return 
-     end 
-     play_battle_end_me 
-     gain_jp if $imported["YEA-JPManager"] 
-     display_exp 
-     gain_exp 
-     gain_gold 
-     gain_drop_items 
-     close_windows 
-     SceneManager.return 
-     replay_bgm_and_bgs 
-     battle_end(0) 
-     return true 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # new method: self.skip_aftermath 
-   #-------------------------------------------------------------------------- 
-   def self.skip_aftermath 
-     $game_party.all_members.each do |actor| 
-       actor.gain_exp($game_troop.exp_total) 
-     end 
-     $game_party.gain_gold($game_troop.gold_total) 
-     $game_troop.make_drop_items.each do |item| 
-       $game_party.gain_item(item, 1) 
-     end 
-     close_windows 
-     SceneManager.return 
-     replay_bgm_and_bgs 
-     battle_end(0) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # overwrite method: self.play_battle_end_me 
-   #-------------------------------------------------------------------------- 
-   def self.play_battle_end_me 
-     $game_system.battle_end_me.play 
-     YEA::VICTORY_AFTERMATH::VICTORY_BGM.play 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # new method: self.set_victory_text 
-   #-------------------------------------------------------------------------- 
-   def self.set_victory_text(actor, type) 
-     text = "" + sprintf(YEA::VICTORY_AFTERMATH::HEADER_TEXT, actor.name) 
-     text += actor.victory_quotes(type)[rand(actor.victory_quotes(type).size)] 
-     text += YEA::VICTORY_AFTERMATH::FOOTER_TEXT 
-     $game_message.face_name = actor.face_name 
-     $game_message.face_index = actor.face_index 
-     $game_message.add(text) 
-     wait_for_message 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # overwrite method: self.display_exp 
-   #-------------------------------------------------------------------------- 
-   def self.display_exp 
-     SceneManager.scene.show_victory_display_exp 
-     actor = $game_party.random_target 
-     @victory_actor = actor 
-     set_victory_text(@victory_actor, :win) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # overwrite method: self.gain_exp 
-   #-------------------------------------------------------------------------- 
-   def self.gain_exp 
-     $game_party.all_members.each do |actor| 
-       temp_actor = Marshal.load(Marshal.dump(actor)) 
-       actor.gain_exp($game_troop.exp_total) 
-       next if actor.level == temp_actor.level 
-       SceneManager.scene.show_victory_level_up(actor, temp_actor) 
-       set_victory_text(actor, :level) 
-       wait_for_message 
-     end 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # overwrite method: self.gain_gold 
-   #-------------------------------------------------------------------------- 
-   def self.gain_gold 
-     $game_party.gain_gold($game_troop.gold_total) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # overwrite method: self.gain_drop_items 
-   #-------------------------------------------------------------------------- 
-   def self.gain_drop_items 
-     drops = [] 
-     $game_troop.make_drop_items.each do |item| 
-       $game_party.gain_item(item, 1) 
-       drops.push(item) 
-     end 
-     SceneManager.scene.show_victory_spoils($game_troop.gold_total, drops) 
-     set_victory_text(@victory_actor, :drops) 
-     wait_for_message 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # new method: self.close_windows 
-   #-------------------------------------------------------------------------- 
-   def self.close_windows 
-     SceneManager.scene.close_victory_windows 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # alias method: load_database 
-   #-------------------------------------------------------------------------- 
-   class <<self; alias battle_end_va battle_end; end 
-   def self.battle_end(result) 
-     battle_end_va(result) 
-     return if result == 2 
-     return if YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT <= 0 
-     event_id = YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT 
-     $game_temp.reserve_common_event(event_id) 
-   end 
-   
- end # BattleManager 
-   
- #============================================================================== 
- # ■ Game_Actor 
- #============================================================================== 
-   
- class Game_Actor < Game_Battler 
-   
-   #-------------------------------------------------------------------------- 
-   # overwrite method: gain_exp 
-   #-------------------------------------------------------------------------- 
-   def gain_exp(exp) 
-     enabled = !SceneManager.scene_is?(Scene_Battle) 
-     change_exp(self.exp + (exp * final_exp_rate).to_i, enabled) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # new method: victory_quotes 
-   #-------------------------------------------------------------------------- 
-   def victory_quotes(type) 
-     case type 
-     when :win 
-       return self.actor.win_quotes if self.actor.win_quotes != [""] 
-       return self.class.win_quotes 
-     when :level 
-       return self.actor.level_quotes if self.actor.level_quotes != [""] 
-       return self.class.level_quotes 
-     when :drops 
-       return self.actor.drops_quotes if self.actor.drops_quotes != [""] 
-       return self.class.drops_quotes 
-     else 
-       return ["NOTEXT"] 
-     end 
-   end 
-   
- end # Game_Actor 
-   
- #============================================================================== 
- # ■ Window_VictoryTitle 
- #============================================================================== 
-   
- class Window_VictoryTitle < Window_Base 
-   
-   #-------------------------------------------------------------------------- 
-   # initialize 
-   #-------------------------------------------------------------------------- 
-   def initialize 
-     super(0, 0, Graphics.width, fitting_height(1)) 
-     self.z = 200 
-     self.openness = 0 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # refresh 
-   #-------------------------------------------------------------------------- 
-   def refresh(message = "") 
-     contents.clear 
-     draw_text(0, 0, contents.width, line_height, message, 1) 
-   end 
-   
- end # Window_VictoryTitle 
-   
- #============================================================================== 
- # ■ Window_VictoryEXP_Back 
- #============================================================================== 
-   
- class Window_VictoryEXP_Back < Window_Selectable 
-   
-   #-------------------------------------------------------------------------- 
-   # initialize 
-   #-------------------------------------------------------------------------- 
-   def initialize 
-     super(0, fitting_height(1), Graphics.width, window_height) 
-     self.z = 200 
-     self.openness = 0 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # window_height 
-   #-------------------------------------------------------------------------- 
-   def window_height 
-     return Graphics.height - fitting_height(4) - fitting_height(1) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # col_max 
-   #-------------------------------------------------------------------------- 
-   def col_max; return item_max; end 
-   
-   #-------------------------------------------------------------------------- 
-   # spacing 
-   #-------------------------------------------------------------------------- 
-   def spacing; return 8; end 
-   
-   #-------------------------------------------------------------------------- 
-   # item_max 
-   #-------------------------------------------------------------------------- 
-   def item_max; return $game_party.battle_members.size; end 
-   
-   #-------------------------------------------------------------------------- 
-   # open 
-   #-------------------------------------------------------------------------- 
-   def open 
-     @exp_total = $game_troop.exp_total 
-     super 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # item_rect 
-   #-------------------------------------------------------------------------- 
-   def item_rect(index) 
-     rect = Rect.new 
-     rect.width = item_width 
-     rect.height = contents.height 
-     rect.x = index % col_max * (item_width + spacing) 
-     rect.y = index / col_max * item_height 
-     return rect 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_item 
-   #-------------------------------------------------------------------------- 
-   def draw_item(index) 
-     actor = $game_party.battle_members[index] 
-     return if actor.nil? 
-     rect = item_rect(index) 
-     reset_font_settings 
-     draw_actor_name(actor, rect) 
-     draw_exp_gain(actor, rect) 
-     draw_jp_gain(actor, rect) 
-     draw_actor_face(actor, rect) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_actor_name 
-   #-------------------------------------------------------------------------- 
-   def draw_actor_name(actor, rect) 
-     name = actor.name 
-     draw_text(rect.x, rect.y+line_height, rect.width, line_height, name, 1) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_actor_face 
-   #-------------------------------------------------------------------------- 
-   def draw_actor_face(actor, rect) 
-     face_name = actor.face_name 
-     face_index = actor.face_index 
-     bitmap = Cache.face(face_name) 
-     rw = [rect.width, 96].min 
-     face_rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, rw, 96) 
-     rx = (rect.width - rw) / 2 + rect.x 
-     contents.blt(rx, rect.y + line_height * 2, bitmap, face_rect, 255) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_exp_gain 
-   #-------------------------------------------------------------------------- 
-   def draw_exp_gain(actor, rect) 
-     dw = rect.width - (rect.width - [rect.width, 96].min) / 2 
-     dy = rect.y + line_height * 3 + 96 
-     fmt = YEA::VICTORY_AFTERMATH::VICTORY_EXP 
-     text = sprintf(fmt, actor_exp_gain(actor).group) 
-     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP 
-     change_color(power_up_color) 
-     draw_text(rect.x, dy, dw, line_height, text, 2) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # actor_exp_gain 
-   #-------------------------------------------------------------------------- 
-   def actor_exp_gain(actor) 
-     n = @exp_total * actor.final_exp_rate 
-     return n.to_i 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_jp_gain 
-   #-------------------------------------------------------------------------- 
-   def draw_jp_gain(actor, rect) 
-     return unless $imported["YEA-JPManager"] 
-     dw = rect.width - (rect.width - [rect.width, 96].min) / 2 
-     dy = rect.y + line_height * 4 + 96 
-     fmt = YEA::JP::VICTORY_AFTERMATH 
-     text = sprintf(fmt, actor_jp_gain(actor).group, Vocab::jp) 
-     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP 
-     change_color(power_up_color) 
-     draw_text(rect.x, dy, dw, line_height, text, 2) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # actor_jp_gain 
-   #-------------------------------------------------------------------------- 
-   def actor_jp_gain(actor) 
-     n = actor.battle_jp_earned 
-     if actor.exp + actor_exp_gain(actor) > actor.exp_for_level(actor.level + 1) 
-       n += YEA::JP::LEVEL_UP unless actor.max_level? 
-     end 
-     return n 
-   end 
-   
- end # Window_VictoryEXP_Back 
-   
- #============================================================================== 
- # ■ Window_VictoryEXP_Front 
- #============================================================================== 
-   
- class Window_VictoryEXP_Front < Window_VictoryEXP_Back 
-   
-   #-------------------------------------------------------------------------- 
-   # initialize 
-   #-------------------------------------------------------------------------- 
-   def initialize 
-     super 
-     self.back_opacity = 0 
-     @ticks = 0 
-     @counter = 30 
-     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # update 
-   #-------------------------------------------------------------------------- 
-   def update 
-     super 
-     update_tick 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # update_tick 
-   #-------------------------------------------------------------------------- 
-   def update_tick 
-     return unless self.openness >= 255 
-     return unless self.visible 
-     return if complete_ticks? 
-     @counter -= 1 
-     return unless @counter <= 0 
-     return if @ticks >= YEA::VICTORY_AFTERMATH::EXP_TICKS 
-     YEA::VICTORY_AFTERMATH::VICTORY_TICK.play 
-     @counter = 4 
-     @ticks += 1 
-     refresh 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # complete_ticks? 
-   #-------------------------------------------------------------------------- 
-   def complete_ticks? 
-     for actor in $game_party.battle_members 
-       total_ticks = YEA::VICTORY_AFTERMATH::EXP_TICKS 
-       bonus_exp = actor_exp_gain(actor) * @ticks / total_ticks 
-       now_exp = actor.exp - actor.current_level_exp + bonus_exp 
-       next_exp = actor.next_level_exp - actor.current_level_exp 
-       rate = now_exp * 1.0 / next_exp 
-       return false if rate < 1.0 
-     end 
-     return true 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_item 
-   #-------------------------------------------------------------------------- 
-   def draw_item(index) 
-     actor = $game_party.battle_members[index] 
-     return if actor.nil? 
-     rect = item_rect(index) 
-     draw_actor_exp(actor, rect) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # exp_gauge1 
-   #-------------------------------------------------------------------------- 
-   def exp_gauge1; return text_color(YEA::VICTORY_AFTERMATH::EXP_GAUGE1); end 
-   
-   #-------------------------------------------------------------------------- 
-   # exp_gauge2 
-   #-------------------------------------------------------------------------- 
-   def exp_gauge2; return text_color(YEA::VICTORY_AFTERMATH::EXP_GAUGE2); end 
-   
-   #-------------------------------------------------------------------------- 
-   # lvl_gauge1 
-   #-------------------------------------------------------------------------- 
-   def lvl_gauge1; return text_color(YEA::VICTORY_AFTERMATH::LEVEL_GAUGE1); end 
-   
-   #-------------------------------------------------------------------------- 
-   # lvl_gauge2 
-   #-------------------------------------------------------------------------- 
-   def lvl_gauge2; return text_color(YEA::VICTORY_AFTERMATH::LEVEL_GAUGE2); end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_actor_exp 
-   #-------------------------------------------------------------------------- 
-   def draw_actor_exp(actor, rect) 
-     if actor.max_level? 
-       draw_exp_gauge(actor, rect, 1.0) 
-       return 
-     end 
-     total_ticks = YEA::VICTORY_AFTERMATH::EXP_TICKS 
-     bonus_exp = actor_exp_gain(actor) * @ticks / total_ticks 
-     now_exp = actor.exp - actor.current_level_exp + bonus_exp 
-     next_exp = actor.next_level_exp - actor.current_level_exp 
-     rate = now_exp * 1.0 / next_exp 
-     draw_exp_gauge(actor, rect, rate) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_exp_gauge 
-   #-------------------------------------------------------------------------- 
-   def draw_exp_gauge(actor, rect, rate) 
-     rate = [[rate, 1.0].min, 0.0].max 
-     dx = (rect.width - [rect.width, 96].min) / 2 + rect.x 
-     dy = rect.y + line_height * 2 + 96 
-     dw = [rect.width, 96].min 
-     colour1 = rate >= 1.0 ? lvl_gauge1 : exp_gauge1 
-     colour2 = rate >= 1.0 ? lvl_gauge2 : exp_gauge2 
-     draw_gauge(dx, dy, dw, rate, colour1, colour2) 
-     fmt = YEA::VICTORY_AFTERMATH::EXP_PERCENT 
-     text = sprintf(fmt, [rate * 100, 100.00].min) 
-     if [rate * 100, 100.00].min == 100.00 
-       text = YEA::VICTORY_AFTERMATH::LEVELUP_TEXT 
-       text = YEA::VICTORY_AFTERMATH::MAX_LVL_TEXT if actor.max_level? 
-     end 
-     draw_text(dx, dy, dw, line_height, text, 1) 
-   end 
-   
- end # Window_VictoryEXP_Front 
-   
- #============================================================================== 
- # ■ Window_VictoryLevelUp 
- #============================================================================== 
-   
- class Window_VictoryLevelUp < Window_Base 
-   
-   #-------------------------------------------------------------------------- 
-   # initialize 
-   #-------------------------------------------------------------------------- 
-   def initialize 
-     super(0, fitting_height(1), Graphics.width, window_height) 
-     self.z = 200 
-     hide 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # window_height 
-   #-------------------------------------------------------------------------- 
-   def window_height 
-     return Graphics.height - fitting_height(4) - fitting_height(1) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # refresh 
-   #-------------------------------------------------------------------------- 
-   def refresh(actor, temp_actor) 
-     contents.clear 
-     reset_font_settings 
-     YEA::VICTORY_AFTERMATH::LEVEL_SOUND.play 
-     draw_actor_changes(actor, temp_actor) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_actor_changes 
-   #-------------------------------------------------------------------------- 
-   def draw_actor_changes(actor, temp_actor) 
-     dx = contents.width / 16 
-     draw_actor_image(actor, temp_actor, dx) 
-     draw_param_names(actor, dx) 
-     draw_former_stats(temp_actor) 
-     draw_arrows 
-     draw_newer_stats(actor, temp_actor) 
-     draw_new_skills(actor, temp_actor) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_actor_image 
-   #-------------------------------------------------------------------------- 
-   def draw_actor_image(actor, temp_actor, dx) 
-     draw_text(dx, line_height, 96, line_height, actor.name, 1) 
-     draw_actor_face(actor, dx, line_height * 2) 
-     exp = actor.exp - temp_actor.exp 
-     text = sprintf(YEA::VICTORY_AFTERMATH::VICTORY_EXP, exp.group) 
-     change_color(power_up_color) 
-     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP 
-     draw_text(0, line_height * 2 + 96, dx + 96, line_height, text, 2) 
-     reset_font_settings 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_param_names 
-   #-------------------------------------------------------------------------- 
-   def draw_param_names(actor, dx) 
-     dx += 108 
-     change_color(system_color) 
-     text = Vocab.level 
-     draw_text(dx, 0, contents.width - dx, line_height, text) 
-     dy = 0 
-     for i in 0...8 
-       dy += line_height 
-       text = Vocab.param(i) 
-       draw_text(dx, dy, contents.width - dx, line_height, text) 
-     end 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_former_stats 
-   #-------------------------------------------------------------------------- 
-   def draw_former_stats(actor) 
-     dw = contents.width / 2 - 12 
-     dy = 0 
-     change_color(normal_color) 
-     draw_text(0, dy, dw, line_height, actor.level.group, 2) 
-     for i in 0...8 
-       dy += line_height 
-       draw_text(0, dy, dw, line_height, actor.param(i).group, 2) 
-     end 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_arrows 
-   #-------------------------------------------------------------------------- 
-   def draw_arrows 
-     dx = contents.width / 2 - 12 
-     dy = 0 
-     change_color(system_color) 
-     for i in 0..8 
-       draw_text(dx, dy, 24, line_height, "→", 1) 
-       dy += line_height 
-     end 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_newer_stats 
-   #-------------------------------------------------------------------------- 
-   def draw_newer_stats(actor, temp_actor) 
-     dx = contents.width / 2 + 12 
-     dw = contents.width - dx 
-     dy = 0 
-     change_color(param_change_color(actor.level - temp_actor.level)) 
-     draw_text(dx, dy, dw, line_height, actor.level.group, 0) 
-     for i in 0...8 
-       dy += line_height 
-       change_color(param_change_color(actor.param(i) - temp_actor.param(i))) 
-       draw_text(dx, dy, dw, line_height, actor.param(i).group, 0) 
-     end 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_new_skills 
-   #-------------------------------------------------------------------------- 
-   def draw_new_skills(actor, temp_actor) 
-     return if temp_actor.skills.size == actor.skills.size 
-     dw = 172 + 24 
-     dx = contents.width - dw 
-     change_color(system_color) 
-     text = YEA::VICTORY_AFTERMATH::SKILLS_TEXT 
-     draw_text(dx, 0, dw, line_height, text, 0) 
-   end 
-   
- end # Window_VictoryLevelUp 
-   
- #============================================================================== 
- # ■ Window_VictorySkills 
- #============================================================================== 
-   
- class Window_VictorySkills < Window_Selectable 
-   
-   #-------------------------------------------------------------------------- 
-   # initialize 
-   #-------------------------------------------------------------------------- 
-   def initialize 
-     dy = fitting_height(1) + 24 
-     dw = 172 + 24 + 24 
-     dh = Graphics.height - fitting_height(4) - fitting_height(1) - 24 
-     super(Graphics.width - dw, dy, dw, dh) 
-     self.opacity = 0 
-     self.z = 200 
-     hide 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # item_max 
-   #-------------------------------------------------------------------------- 
-   def item_max; return @data.nil? ? 0 : @data.size; end 
-   
-   #-------------------------------------------------------------------------- 
-   # refresh 
-   #-------------------------------------------------------------------------- 
-   def refresh(actor, temp_actor) 
-     contents.clear 
-     if actor.skills.size == temp_actor.skills.size 
-       unselect 
-       @data = [] 
-       create_contents 
-       return 
-     end 
-     @data = actor.skills - temp_actor.skills 
-     if @data.size > 8 
-       select(0) 
-       activate 
-     else 
-       unselect 
-       deactivate 
-     end 
-     create_contents 
-     draw_all_items 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # refresh 
-   #-------------------------------------------------------------------------- 
-   def draw_item(index) 
-     rect = item_rect(index) 
-     skill = @data[index] 
-     return if skill.nil? 
-     rect.width -= 4 
-     draw_item_name(skill, rect.x, rect.y, true) 
-   end 
-   
- end # Window_VictorySkills 
-   
- #============================================================================== 
- # ■ Window_VictorySpoils 
- #============================================================================== 
-   
- class Window_VictorySpoils < Window_ItemList 
-   
-   #-------------------------------------------------------------------------- 
-   # initialize 
-   #-------------------------------------------------------------------------- 
-   def initialize 
-     super(0, fitting_height(1), Graphics.width, window_height) 
-     self.z = 200 
-     hide 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # window_height 
-   #-------------------------------------------------------------------------- 
-   def window_height 
-     return Graphics.height - fitting_height(4) - fitting_height(1) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # spacing 
-   #-------------------------------------------------------------------------- 
-   def spacing; return 32; end 
-   
-   #-------------------------------------------------------------------------- 
-   # make 
-   #-------------------------------------------------------------------------- 
-   def make(gold, drops) 
-     @gold = gold 
-     [url=home.php?mod=space&uid=2637905]@Drops[/url] = drops 
-     refresh 
-     select(0) 
-     activate 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # make_item_list 
-   #-------------------------------------------------------------------------- 
-   def make_item_list 
-     @data = [nil] 
-     items = {} 
-     weapons = {} 
-     armours = {} 
-     @goods = {} 
-     for item in @drops 
-       case item 
-       when RPG::Item 
-         items[item] = 0 if items[item].nil? 
-         items[item] += 1 
-       when RPG::Weapon 
-         weapons[item] = 0 if weapons[item].nil? 
-         weapons[item] += 1 
-       when RPG::Armor 
-         armours[item] = 0 if armours[item].nil? 
-         armours[item] += 1 
-       end 
-     end 
-     items = items.sort { |a,b| a[0].id <=> b[0].id } 
-     weapons = weapons.sort { |a,b| a[0].id <=> b[0].id } 
-     armours = armours.sort { |a,b| a[0].id <=> b[0].id } 
-     for key in items; @goods[key[0]] = key[1]; @data.push(key[0]); end 
-     for key in weapons; @goods[key[0]] = key[1]; @data.push(key[0]); end 
-     for key in armours; @goods[key[0]] = key[1]; @data.push(key[0]); end 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_item 
-   #-------------------------------------------------------------------------- 
-   def draw_item(index) 
-     item = @data[index] 
-     rect = item_rect(index) 
-     reset_font_settings 
-     if item.nil? 
-       draw_gold(rect) 
-       return 
-     end 
-     rect.width -= 4 
-     draw_item_name(item, rect.x, rect.y, true, rect.width - 24) 
-     draw_item_number(rect, item) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_gold 
-   #-------------------------------------------------------------------------- 
-   def draw_gold(rect) 
-     text = Vocab.currency_unit 
-     draw_currency_value(@gold, text, rect.x, rect.y, rect.width) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # draw_item_number 
-   #-------------------------------------------------------------------------- 
-   def draw_item_number(rect, item) 
-     number = @goods[item].group 
-     if $imported["YEA-AdjustLimits"] 
-       contents.font.size = YEA::LIMIT::ITEM_FONT 
-       text = sprintf(YEA::LIMIT::ITEM_PREFIX, number) 
-       draw_text(rect, text, 2) 
-     else 
-       draw_text(rect, sprintf(":%s", number), 2) 
-     end 
-   end 
-   
- end # Window_VictorySpoils 
-   
- #============================================================================== 
- # ■ Scene_Battle 
- #============================================================================== 
-   
- class Scene_Battle < Scene_Base 
-   
-   #-------------------------------------------------------------------------- 
-   # alias method: create_all_windows 
-   #-------------------------------------------------------------------------- 
-   alias scene_battle_create_all_windows_va create_all_windows 
-   def create_all_windows 
-     scene_battle_create_all_windows_va 
-     create_victory_aftermath_windows 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # new method: create_victory_aftermath_windows 
-   #-------------------------------------------------------------------------- 
-   def create_victory_aftermath_windows 
-     @victory_title_window = Window_VictoryTitle.new 
-     @victory_exp_window_back = Window_VictoryEXP_Back.new 
-     @victory_exp_window_front = Window_VictoryEXP_Front.new 
-     @victory_level_window = Window_VictoryLevelUp.new 
-     @victory_level_skills = Window_VictorySkills.new 
-     @victory_spoils_window = Window_VictorySpoils.new 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # new method: show_victory_display_exp 
-   #-------------------------------------------------------------------------- 
-   def show_victory_display_exp 
-     @victory_title_window.open 
-     name = $game_party.battle_members[0].name 
-     fmt = YEA::VICTORY_AFTERMATH::TOP_TEAM 
-     name = sprintf(fmt, name) if $game_party.battle_members.size > 1 
-     fmt = YEA::VICTORY_AFTERMATH::TOP_VICTORY_TEXT 
-     text = sprintf(fmt, name) 
-     @victory_title_window.refresh(text) 
-     #--- 
-     @victory_exp_window_back.open 
-     @victory_exp_window_back.refresh 
-     @victory_exp_window_front.open 
-     @victory_exp_window_front.refresh 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # new method: show_victory_level_up 
-   #-------------------------------------------------------------------------- 
-   def show_victory_level_up(actor, temp_actor) 
-     @victory_exp_window_back.hide 
-     @victory_exp_window_front.hide 
-     #--- 
-     fmt = YEA::VICTORY_AFTERMATH::TOP_LEVEL_UP 
-     text = sprintf(fmt, actor.name) 
-     @victory_title_window.refresh(text) 
-     #--- 
-     @victory_level_window.show 
-     @victory_level_window.refresh(actor, temp_actor) 
-     @victory_level_skills.show 
-     @victory_level_skills.refresh(actor, temp_actor) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # new method: show_victory_spoils 
-   #-------------------------------------------------------------------------- 
-   def show_victory_spoils(gold, drops) 
-     @victory_exp_window_back.hide 
-     @victory_exp_window_front.hide 
-     @victory_level_window.hide 
-     @victory_level_skills.hide 
-     #--- 
-     text = YEA::VICTORY_AFTERMATH::TOP_SPOILS 
-     @victory_title_window.refresh(text) 
-     #--- 
-     @victory_spoils_window.show 
-     @victory_spoils_window.make(gold, drops) 
-   end 
-   
-   #-------------------------------------------------------------------------- 
-   # new method: close_victory_windows 
-   #-------------------------------------------------------------------------- 
-   def close_victory_windows 
-     @victory_title_window.close 
-     @victory_exp_window_back.close 
-     @victory_exp_window_front.close 
-     @victory_level_window.close 
-     @victory_level_skills.close 
-     @victory_spoils_window.close 
-     wait(16) 
-   end 
-   
- end # Scene_Battle 
-   
- #============================================================================== 
- #  
- # ▼ End of File 
- #  
- #==============================================================================