Advertisement
Archeia

Yanfly Engine Ace - Victory Aftermath v1.04

Mar 30th, 2014
1,263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 46.54 KB | None | 0 0
  1. #==============================================================================
  2. #
  3. # ▼ Yanfly Engine Ace - Victory Aftermath v1.04
  4. # -- Last Updated: 2014.03.019
  5. # -- Level: Easy, Normal, Hard
  6. # -- Requires: n/a
  7. # -- Special Thanks: Yami for Bug Fixes.
  8. #
  9. #==============================================================================
  10.  
  11. $imported = {} if $imported.nil?
  12. $imported["YEA-VictoryAftermath"] = true
  13.  
  14. #==============================================================================
  15. # ▼ Updates
  16. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  17. # 2014.03.19 - Fixed a bug where if the battle ends with a stat buff/debuff and
  18. #              it will display the wrong parameters.
  19. # 2012.01.07 - Compatibility Update: JP Manager
  20. # 2012.01.01 - Bug Fixed: Quote tags were mislabeled.
  21. # 2011.12.26 - Compatibility Update: Command Autobattle
  22. # 2011.12.16 - Started Script and Finished.
  23. #
  24. #==============================================================================
  25. # ▼ Introduction
  26. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  27. # At the end of each battle, RPG Maker VX Ace by default shows text saying that
  28. # the party has gained so-and-so EXP while this person leveled up and your
  29. # party happened to find these drops. This script changes that text into
  30. # something more visual for your players to see. Active battle members will be
  31. # seen gaining EXP, any kind of level up changes, and a list of the items
  32. # obtained through drops.
  33. #
  34. #==============================================================================
  35. # ▼ Instructions
  36. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  37. # To install this script, open up your script editor and copy/paste this script
  38. # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
  39. #
  40. # -----------------------------------------------------------------------------
  41. # Actor Notetags - These notetags go in the actors notebox in the database.
  42. # -----------------------------------------------------------------------------
  43. # <win quotes>
  44. #  string
  45. #  string
  46. # </win quotes>
  47. # Sets the win quote for the actor. The strings are continuous and can use
  48. # text codes. Use \n for a line break. Type in what you want the actor to say
  49. # for the particular win quote. Use [New Quote] in between the two tags to
  50. # start up a new quote.
  51. #
  52. # <level quotes>
  53. #  string
  54. #  string
  55. # </level quotes>
  56. # Sets the level up quote for the actor. The strings are continuous and can use
  57. # text codes. Use \n for a line break. Type in what you want the actor to say
  58. # for the particular win quote. Use [New Quote] in between the two tags to
  59. # start up a new quote.
  60. #
  61. # <drops quotes>
  62. #  string
  63. #  string
  64. # </drops quotes>
  65. # Sets the drops quote for the actor. The strings are continuous and can use
  66. # text codes. Use \n for a line break. Type in what you want the actor to say
  67. # for the particular win quote. Use [New Quote] in between the two tags to
  68. # start up a new quote.
  69. #
  70. # -----------------------------------------------------------------------------
  71. # Class Notetags - These notetags go in the class notebox in the database.
  72. # -----------------------------------------------------------------------------
  73. # <win quotes>
  74. #  string
  75. #  string
  76. # </win quotes>
  77. # Sets the win quote for the class. The strings are continuous and can use
  78. # text codes. Use \n for a line break. Type in what you want the actor to say
  79. # for the particular win quote. Use [New Quote] in between the two tags to
  80. # start up a new quote.
  81. #
  82. # <level quotes>
  83. #  string
  84. #  string
  85. # </level quotes>
  86. # Sets the level up quote for the class. The strings are continuous and can use
  87. # text codes. Use \n for a line break. Type in what you want the actor to say
  88. # for the particular win quote. Use [New Quote] in between the two tags to
  89. # start up a new quote.
  90. #
  91. # <drops quotes>
  92. #  string
  93. #  string
  94. # </drops quotes>
  95. # Sets the drops quote for the class. The strings are continuous and can use
  96. # text codes. Use \n for a line break. Type in what you want the actor to say
  97. # for the particular win quote. Use [New Quote] in between the two tags to
  98. # start up a new quote.
  99. #
  100. #==============================================================================
  101. # ▼ Compatibility
  102. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  103. # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
  104. # it will run with RPG Maker VX without adjusting.
  105. #
  106. #==============================================================================
  107.  
  108. module YEA
  109.   module VICTORY_AFTERMATH
  110.    
  111.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  112.     # - General Settings -
  113.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  114.     # These are various settings that are used throughout the Victory Aftermath
  115.     # portion of a battle. Adjust them as you see fit.
  116.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  117.     VICTORY_BGM  = RPG::BGM.new("Field1", 100, 100)    # Victory BGM
  118.     VICTORY_TICK = RPG::SE.new("Decision1", 100, 150)  # EXP ticking SFX
  119.     LEVEL_SOUND  = RPG::SE.new("Up4", 80, 150)         # Level Up SFX
  120.     SKILLS_TEXT  = "New Skills"                        # New skills text title.
  121.    
  122.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  123.     # - Important Settings -
  124.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  125.     # These are some important settings so please set them up properly. This
  126.     # section includes a switch that allows you to skip the victory aftermath
  127.     # phase (for those back to back battles and making them seamless) and it
  128.     # also allows you to declare a common event to run after each battle. If
  129.     # you do not wish to use either of these features, set them to 0. The
  130.     # common event will run regardless of win or escape.
  131.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  132.     SKIP_AFTERMATH_SWITCH  = 0  # If switch on, skip aftermath. 0 to disable.
  133.     SKIP_MUSIC_SWITCH      = 0  # If switch on, skip music. 0 to disable.
  134.     AFTERMATH_COMMON_EVENT = 0  # Runs common event after battle. 0 to disable.
  135.    
  136.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  137.     # - Top Text Settings -
  138.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  139.     # Here, you can adjust the various text that appears in the window that
  140.     # appears at the top of the screen.
  141.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  142.     TOP_TEAM         = "%s's team"           # Team name used.
  143.     TOP_VICTORY_TEXT = "%s is victorious!"   # Text used to display victory.
  144.     TOP_LEVEL_UP     = "%s has leveled up!"  # Text used to display level up.
  145.     TOP_SPOILS       = "Victory Spoils!"     # Text used for spoils.
  146.    
  147.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  148.     # - EXP Gauge Settings -
  149.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  150.     # Adjust how the EXP Gauge appears for the Victory Aftermath here. This
  151.     # includes the text display, the font size, the colour of the gauges, and
  152.     # more. Adjust it all here.
  153.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  154.     VICTORY_EXP  = "+%sEXP"      # Text used to display EXP.
  155.     EXP_PERCENT  = "%1.2f%%"     # The way EXP percentage will be displayed.
  156.     LEVELUP_TEXT = "LEVEL UP!"   # Text to replace percentage when leveled.
  157.     MAX_LVL_TEXT = "MAX LEVEL"   # Text to replace percentage when max level.
  158.     FONTSIZE_EXP = 20            # Font size used for EXP.
  159.     EXP_TICKS    = 15            # Ticks to full EXP
  160.     EXP_GAUGE1   = 12            # "Window" skin text colour for gauge.
  161.     EXP_GAUGE2   = 4             # "Window" skin text colour for gauge.
  162.     LEVEL_GAUGE1 = 13            # "Window" skin text colour for leveling.
  163.     LEVEL_GAUGE2 = 5             # "Window" skin text colour for leveling.
  164.    
  165.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  166.     # - Victory Messages -
  167.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  168.     # In the Victory Aftermath, actors can say unique things. This is the pool
  169.     # of quotes used for actors without any custom victory quotes. Note that
  170.     # actors with custom quotes will take priority over classes with custom
  171.     # quotes, which will take priority over these default quotes. Use \n for
  172.     # a line break in the quotes.
  173.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  174.     HEADER_TEXT = "\e>\eC[6]%s\eC[0]\e<\n"  # Always at start of messages.
  175.     FOOTER_TEXT = ""                        # Always at end of messages.
  176.    
  177.     # Win Quotes are what the actors say when a battle is won.
  178.     VICTORY_QUOTES ={
  179.     # :type   => Quotes
  180.       #------------------------------------------------------------------------
  181.       :win    => [ # Occurs as initial victory quote.
  182.                    '"We won! What an exciting fight!"',
  183.                    '"I didn\'t even break a sweat."',
  184.                    '"That wasn\'t so tough."',
  185.                    '"Let\'s fight something harder!"',
  186.                  ],# Do not remove this.
  187.       #------------------------------------------------------------------------
  188.       :level  => [ # Occurs as initial victory quote.
  189.                    '"Yes! Level up!"',
  190.                    '"I\'ve gotten stronger!"',
  191.                    '"Try to keep up with me!"',
  192.                    '"I\'ve grown again!"',
  193.                  ],# Do not remove this.
  194.       #------------------------------------------------------------------------
  195.       :drops  => [ # Occurs as initial victory quote.
  196.                    '"I\'ll be taking these."',
  197.                    '"To the victor goes the spoils."',
  198.                    '"The enemies dropped something!"',
  199.                    '"Hey, what\'s this?"',
  200.                  ],# Do not remove this.
  201.       #------------------------------------------------------------------------
  202.     } # Do not remove this.
  203.    
  204.   end # VICTORY_AFTERMATH
  205. end # YEA
  206.  
  207. #==============================================================================
  208. # ▼ Editting anything past this point may potentially result in causing
  209. # computer damage, incontinence, explosion of user's head, coma, death, and/or
  210. # halitosis so edit at your own risk.
  211. #==============================================================================
  212.  
  213. module YEA
  214.   module REGEXP
  215.   module BASEITEM
  216.    
  217.     NEW_QUOTE = /\[(?:NEW_QUOTE|new quote)\]/i
  218.    
  219.     WIN_QUOTE_ON    = /<(?:WIN_QUOTES|win quote|win quotes)>/i
  220.     WIN_QUOTE_OFF   = /<\/(?:WIN_QUOTES|win quote|win quotes)>/i
  221.     LEVEL_QUOTE_ON  = /<(?:LEVEL_QUOTES|level quote|level quotes)>/i
  222.     LEVEL_QUOTE_OFF = /<\/(?:LEVEL_QUOTES|level quote|level quotes)>/i
  223.     DROPS_QUOTE_ON  = /<(?:DROPS_QUOTES|drops quote|drops quotes)>/i
  224.     DROPS_QUOTE_OFF = /<\/(?:DROPS_QUOTES|drops quote|drops quotes)>/i
  225.    
  226.   end # BASEITEM
  227.   end # REGEXP
  228. end # YEA
  229.  
  230. #==============================================================================
  231. # ■ Switch
  232. #==============================================================================
  233.  
  234. module Switch
  235.  
  236.   #--------------------------------------------------------------------------
  237.   # self.skip_aftermath
  238.   #--------------------------------------------------------------------------
  239.   def self.skip_aftermath
  240.     return false if YEA::VICTORY_AFTERMATH::SKIP_AFTERMATH_SWITCH <= 0
  241.     return $game_switches[YEA::VICTORY_AFTERMATH::SKIP_AFTERMATH_SWITCH]
  242.   end
  243.  
  244.   #--------------------------------------------------------------------------
  245.   # self.skip_aftermath_music
  246.   #--------------------------------------------------------------------------
  247.   def self.skip_aftermath_music
  248.     return false if YEA::VICTORY_AFTERMATH::SKIP_MUSIC_SWITCH <=0
  249.     return $game_switches[YEA::VICTORY_AFTERMATH::SKIP_MUSIC_SWITCH]
  250.   end
  251.    
  252. end # Switch
  253.  
  254. #==============================================================================
  255. # ■ Numeric
  256. #==============================================================================
  257.  
  258. class Numeric
  259.  
  260.   #--------------------------------------------------------------------------
  261.   # new method: group_digits
  262.   #--------------------------------------------------------------------------
  263.   unless $imported["YEA-CoreEngine"]
  264.   def group; return self.to_s; end
  265.   end # $imported["YEA-CoreEngine"]
  266.    
  267. end # Numeric
  268.  
  269. #==============================================================================
  270. # ■ DataManager
  271. #==============================================================================
  272.  
  273. module DataManager
  274.  
  275.   #--------------------------------------------------------------------------
  276.   # alias method: load_database
  277.   #--------------------------------------------------------------------------
  278.   class <<self; alias load_database_va load_database; end
  279.   def self.load_database
  280.     load_database_va
  281.     load_notetags_va
  282.   end
  283.  
  284.   #--------------------------------------------------------------------------
  285.   # new method: load_notetags_va
  286.   #--------------------------------------------------------------------------
  287.   def self.load_notetags_va
  288.     groups = [$data_actors, $data_classes]
  289.     for group in groups
  290.       for obj in group
  291.         next if obj.nil?
  292.         obj.load_notetags_va
  293.       end
  294.     end
  295.   end
  296.  
  297. end # DataManager
  298.  
  299. #==============================================================================
  300. # ■ RPG::BaseItem
  301. #==============================================================================
  302.  
  303. class RPG::BaseItem
  304.  
  305.   #--------------------------------------------------------------------------
  306.   # public instance variables
  307.   #--------------------------------------------------------------------------
  308.   attr_accessor :win_quotes
  309.   attr_accessor :level_quotes
  310.   attr_accessor :drops_quotes
  311.  
  312.   #--------------------------------------------------------------------------
  313.   # common cache: load_notetags_va
  314.   #--------------------------------------------------------------------------
  315.   def load_notetags_va
  316.     @win_quotes = [""]
  317.     @level_quotes = [""]
  318.     @drops_quotes = [""]
  319.     @victory_quote_type = nil
  320.     #---
  321.     self.note.split(/[\r\n]+/).each { |line|
  322.       case line
  323.       #---
  324.       when YEA::REGEXP::BASEITEM::WIN_QUOTE_ON
  325.         @victory_quote_type = :win_quote
  326.       when YEA::REGEXP::BASEITEM::WIN_QUOTE_OFF
  327.         @victory_quote_type = nil
  328.       when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_ON
  329.         @victory_quote_type = :level_quote
  330.       when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_OFF
  331.         @victory_quote_type = nil
  332.       when YEA::REGEXP::BASEITEM::DROPS_QUOTE_ON
  333.         @victory_quote_type = :drops_quote
  334.       when YEA::REGEXP::BASEITEM::DROPS_QUOTE_OFF
  335.         @victory_quote_type = nil
  336.       #---
  337.       when YEA::REGEXP::BASEITEM::NEW_QUOTE
  338.         case @victory_quote_type
  339.         when nil; next
  340.         when :win_quote;   @win_quotes.push("")
  341.         when :level_quote; @level_quotes.push("")
  342.         when :drops_quote; @drops_quotes.push("")
  343.         end
  344.       #---
  345.       else
  346.         case @victory_quote_type
  347.         when nil; next
  348.         when :win_quote;   @win_quotes[@win_quotes.size-1] += line.to_s
  349.         when :level_quote; @level_quotes[@level_quotes.size-1] += line.to_s
  350.         when :drops_quote; @drops_quotes[@drops_quotes.size-1] += line.to_s
  351.         end
  352.       end
  353.     } # self.note.split
  354.     #---
  355.     return unless self.is_a?(RPG::Class)
  356.     quotes = YEA::VICTORY_AFTERMATH::VICTORY_QUOTES
  357.     @win_quotes = quotes[:win].clone if @win_quotes == [""]
  358.     @level_quotes = quotes[:level].clone if @level_quotes == [""]
  359.     @drops_quotes = quotes[:drops].clone if @drops_quotes == [""]
  360.   end
  361.  
  362. end # RPG::BaseItem
  363.  
  364. #==============================================================================
  365. # ■ BattleManager
  366. #==============================================================================
  367.  
  368. module BattleManager
  369.  
  370.   #--------------------------------------------------------------------------
  371.   # overwrite method: self.process_victory
  372.   #--------------------------------------------------------------------------
  373.   def self.process_victory
  374.     if $imported["YEA-CommandAutobattle"]
  375.       SceneManager.scene.close_disable_autobattle_window
  376.     end
  377.     return skip_aftermath if Switch.skip_aftermath
  378.     play_battle_end_me
  379.     gain_jp if $imported["YEA-JPManager"]
  380.     display_exp
  381.     gain_exp
  382.     gain_gold
  383.     gain_drop_items
  384.     close_windows
  385.     SceneManager.return
  386.     replay_bgm_and_bgs
  387.     battle_end(0)
  388.     return true
  389.   end
  390.  
  391.   #--------------------------------------------------------------------------
  392.   # new method: self.skip_aftermath
  393.   #--------------------------------------------------------------------------
  394.   def self.skip_aftermath
  395.     $game_party.all_members.each do |actor|
  396.       actor.gain_exp($game_troop.exp_total)
  397.     end
  398.     $game_party.gain_gold($game_troop.gold_total)
  399.     $game_troop.make_drop_items.each do |item|
  400.       $game_party.gain_item(item, 1)
  401.     end
  402.     close_windows
  403.     SceneManager.return
  404.     replay_bgm_and_bgs
  405.     battle_end(0)
  406.   end
  407.  
  408.   #--------------------------------------------------------------------------
  409.   # overwrite method: self.play_battle_end_me
  410.   #--------------------------------------------------------------------------
  411.   def self.play_battle_end_me
  412.     return if Switch.skip_aftermath_music
  413.     $game_system.battle_end_me.play
  414.     YEA::VICTORY_AFTERMATH::VICTORY_BGM.play
  415.   end
  416.  
  417.   #--------------------------------------------------------------------------
  418.   # new method: self.set_victory_text
  419.   #--------------------------------------------------------------------------
  420.   def self.set_victory_text(actor, type)
  421.     text = "" + sprintf(YEA::VICTORY_AFTERMATH::HEADER_TEXT, actor.name)
  422.     text += actor.victory_quotes(type)[rand(actor.victory_quotes(type).size)]
  423.     text += YEA::VICTORY_AFTERMATH::FOOTER_TEXT
  424.     $game_message.face_name = actor.face_name
  425.     $game_message.face_index = actor.face_index
  426.     $game_message.add(text)
  427.     wait_for_message
  428.   end
  429.  
  430.   #--------------------------------------------------------------------------
  431.   # overwrite method: self.display_exp
  432.   #--------------------------------------------------------------------------
  433.   def self.display_exp
  434.     SceneManager.scene.show_victory_display_exp
  435.     actor = $game_party.random_target
  436.     @victory_actor = actor
  437.     set_victory_text(@victory_actor, :win)
  438.   end
  439.  
  440.   #--------------------------------------------------------------------------
  441.   # overwrite method: self.gain_exp
  442.   #--------------------------------------------------------------------------
  443.   def self.gain_exp
  444.     $game_party.all_members.each do |actor|
  445.       temp_actor = Marshal.load(Marshal.dump(actor))
  446.       actor.gain_exp($game_troop.exp_total)
  447.       next if actor.level == temp_actor.level
  448.       SceneManager.scene.show_victory_level_up(actor, temp_actor)
  449.       set_victory_text(actor, :level)
  450.       wait_for_message
  451.     end
  452.   end
  453.  
  454.   #--------------------------------------------------------------------------
  455.   # overwrite method: self.gain_gold
  456.   #--------------------------------------------------------------------------
  457.   def self.gain_gold
  458.     $game_party.gain_gold($game_troop.gold_total)
  459.   end
  460.  
  461.   #--------------------------------------------------------------------------
  462.   # overwrite method: self.gain_drop_items
  463.   #--------------------------------------------------------------------------
  464.   def self.gain_drop_items
  465.     drops = []
  466.     $game_troop.make_drop_items.each do |item|
  467.       $game_party.gain_item(item, 1)
  468.       drops.push(item)
  469.     end
  470.     SceneManager.scene.show_victory_spoils($game_troop.gold_total, drops)
  471.     set_victory_text(@victory_actor, :drops)
  472.     wait_for_message
  473.   end
  474.  
  475.   #--------------------------------------------------------------------------
  476.   # new method: self.close_windows
  477.   #--------------------------------------------------------------------------
  478.   def self.close_windows
  479.     SceneManager.scene.close_victory_windows
  480.   end
  481.  
  482.   #--------------------------------------------------------------------------
  483.   # alias method: load_database
  484.   #--------------------------------------------------------------------------
  485.   class <<self; alias battle_end_va battle_end; end
  486.   def self.battle_end(result)
  487.     battle_end_va(result)
  488.     return if result == 2
  489.     return if YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT <= 0
  490.     event_id = YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT
  491.     $game_temp.reserve_common_event(event_id)
  492.   end
  493.  
  494. end # BattleManager
  495.  
  496. #==============================================================================
  497. # ■ Game_Actor
  498. #==============================================================================
  499.  
  500. class Game_Actor < Game_Battler
  501.  
  502.   #--------------------------------------------------------------------------
  503.   # overwrite method: gain_exp
  504.   #--------------------------------------------------------------------------
  505.   def gain_exp(exp)
  506.     enabled = !SceneManager.scene_is?(Scene_Battle)
  507.     change_exp(self.exp + (exp * final_exp_rate).to_i, enabled)
  508.   end
  509.  
  510.   #--------------------------------------------------------------------------
  511.   # new method: victory_quotes
  512.   #--------------------------------------------------------------------------
  513.   def victory_quotes(type)
  514.     case type
  515.     when :win
  516.       return self.actor.win_quotes if self.actor.win_quotes != [""]
  517.       return self.class.win_quotes
  518.     when :level
  519.       return self.actor.level_quotes if self.actor.level_quotes != [""]
  520.       return self.class.level_quotes
  521.     when :drops
  522.       return self.actor.drops_quotes if self.actor.drops_quotes != [""]
  523.       return self.class.drops_quotes
  524.     else
  525.       return ["NOTEXT"]
  526.     end
  527.   end
  528.  
  529. end # Game_Actor
  530.  
  531. #==============================================================================
  532. # ■ Window_VictoryTitle
  533. #==============================================================================
  534.  
  535. class Window_VictoryTitle < Window_Base
  536.  
  537.   #--------------------------------------------------------------------------
  538.   # initialize
  539.   #--------------------------------------------------------------------------
  540.   def initialize
  541.     super(0, 0, Graphics.width, fitting_height(1))
  542.     self.z = 200
  543.     self.openness = 0
  544.   end
  545.  
  546.   #--------------------------------------------------------------------------
  547.   # refresh
  548.   #--------------------------------------------------------------------------
  549.   def refresh(message = "")
  550.     contents.clear
  551.     draw_text(0, 0, contents.width, line_height, message, 1)
  552.   end
  553.  
  554. end # Window_VictoryTitle
  555.  
  556. #==============================================================================
  557. # ■ Window_VictoryEXP_Back
  558. #==============================================================================
  559.  
  560. class Window_VictoryEXP_Back < Window_Selectable
  561.  
  562.   #--------------------------------------------------------------------------
  563.   # initialize
  564.   #--------------------------------------------------------------------------
  565.   def initialize
  566.     super(0, fitting_height(1), Graphics.width, window_height)
  567.     self.z = 200
  568.     self.openness = 0
  569.   end
  570.  
  571.   #--------------------------------------------------------------------------
  572.   # window_height
  573.   #--------------------------------------------------------------------------
  574.   def window_height
  575.     return Graphics.height - fitting_height(4) - fitting_height(1)
  576.   end
  577.  
  578.   #--------------------------------------------------------------------------
  579.   # col_max
  580.   #--------------------------------------------------------------------------
  581.   def col_max; return item_max; end
  582.  
  583.   #--------------------------------------------------------------------------
  584.   # spacing
  585.   #--------------------------------------------------------------------------
  586.   def spacing; return 8; end
  587.  
  588.   #--------------------------------------------------------------------------
  589.   # item_max
  590.   #--------------------------------------------------------------------------
  591.   def item_max; return $game_party.battle_members.size; end
  592.  
  593.   #--------------------------------------------------------------------------
  594.   # open
  595.   #--------------------------------------------------------------------------
  596.   def open
  597.     @exp_total = $game_troop.exp_total
  598.     super
  599.   end
  600.  
  601.   #--------------------------------------------------------------------------
  602.   # item_rect
  603.   #--------------------------------------------------------------------------
  604.   def item_rect(index)
  605.     rect = Rect.new
  606.     rect.width = item_width
  607.     rect.height = contents.height
  608.     rect.x = index % col_max * (item_width + spacing)
  609.     rect.y = index / col_max * item_height
  610.     return rect
  611.   end
  612.  
  613.   #--------------------------------------------------------------------------
  614.   # draw_item
  615.   #--------------------------------------------------------------------------
  616.   def draw_item(index)
  617.     actor = $game_party.battle_members[index]
  618.     return if actor.nil?
  619.     rect = item_rect(index)
  620.     reset_font_settings
  621.     draw_actor_name(actor, rect)
  622.     draw_exp_gain(actor, rect)
  623.     draw_jp_gain(actor, rect)
  624.     draw_actor_face(actor, rect)
  625.   end
  626.  
  627.   #--------------------------------------------------------------------------
  628.   # draw_actor_name
  629.   #--------------------------------------------------------------------------
  630.   def draw_actor_name(actor, rect)
  631.     name = actor.name
  632.     draw_text(rect.x, rect.y+line_height, rect.width, line_height, name, 1)
  633.   end
  634.  
  635.   #--------------------------------------------------------------------------
  636.   # draw_actor_face
  637.   #--------------------------------------------------------------------------
  638.   def draw_actor_face(actor, rect)
  639.     face_name = actor.face_name
  640.     face_index = actor.face_index
  641.     bitmap = Cache.face(face_name)
  642.     rw = [rect.width, 96].min
  643.     face_rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, rw, 96)
  644.     rx = (rect.width - rw) / 2 + rect.x
  645.     contents.blt(rx, rect.y + line_height * 2, bitmap, face_rect, 255)
  646.   end
  647.  
  648.   #--------------------------------------------------------------------------
  649.   # draw_exp_gain
  650.   #--------------------------------------------------------------------------
  651.   def draw_exp_gain(actor, rect)
  652.     dw = rect.width - (rect.width - [rect.width, 96].min) / 2
  653.     dy = rect.y + line_height * 3 + 96
  654.     fmt = YEA::VICTORY_AFTERMATH::VICTORY_EXP
  655.     text = sprintf(fmt, actor_exp_gain(actor).group)
  656.     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
  657.     change_color(power_up_color)
  658.     draw_text(rect.x, dy, dw, line_height, text, 2)
  659.   end
  660.  
  661.   #--------------------------------------------------------------------------
  662.   # actor_exp_gain
  663.   #--------------------------------------------------------------------------
  664.   def actor_exp_gain(actor)
  665.     n = @exp_total * actor.final_exp_rate
  666.     return n.to_i
  667.   end
  668.  
  669.   #--------------------------------------------------------------------------
  670.   # draw_jp_gain
  671.   #--------------------------------------------------------------------------
  672.   def draw_jp_gain(actor, rect)
  673.     return unless $imported["YEA-JPManager"]
  674.     dw = rect.width - (rect.width - [rect.width, 96].min) / 2
  675.     dy = rect.y + line_height * 4 + 96
  676.     fmt = YEA::JP::VICTORY_AFTERMATH
  677.     text = sprintf(fmt, actor_jp_gain(actor).group, Vocab::jp)
  678.     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
  679.     change_color(power_up_color)
  680.     draw_text(rect.x, dy, dw, line_height, text, 2)
  681.   end
  682.  
  683.   #--------------------------------------------------------------------------
  684.   # actor_jp_gain
  685.   #--------------------------------------------------------------------------
  686.   def actor_jp_gain(actor)
  687.     n = actor.battle_jp_earned
  688.     if actor.exp + actor_exp_gain(actor) > actor.exp_for_level(actor.level + 1)
  689.       n += YEA::JP::LEVEL_UP unless actor.max_level?
  690.     end
  691.     return n
  692.   end
  693.  
  694. end # Window_VictoryEXP_Back
  695.  
  696. #==============================================================================
  697. # ■ Window_VictoryEXP_Front
  698. #==============================================================================
  699.  
  700. class Window_VictoryEXP_Front < Window_VictoryEXP_Back
  701.  
  702.   #--------------------------------------------------------------------------
  703.   # initialize
  704.   #--------------------------------------------------------------------------
  705.   def initialize
  706.     super
  707.     self.back_opacity = 0
  708.     @ticks = 0
  709.     @counter = 30
  710.     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
  711.   end
  712.  
  713.   #--------------------------------------------------------------------------
  714.   # update
  715.   #--------------------------------------------------------------------------
  716.   def update
  717.     super
  718.     update_tick
  719.   end
  720.  
  721.   #--------------------------------------------------------------------------
  722.   # update_tick
  723.   #--------------------------------------------------------------------------
  724.   def update_tick
  725.     return unless self.openness >= 255
  726.     return unless self.visible
  727.     return if complete_ticks?
  728.     @counter -= 1
  729.     return unless @counter <= 0
  730.     return if @ticks >= YEA::VICTORY_AFTERMATH::EXP_TICKS
  731.     YEA::VICTORY_AFTERMATH::VICTORY_TICK.play
  732.     @counter = 4
  733.     @ticks += 1
  734.     refresh
  735.   end
  736.  
  737.   #--------------------------------------------------------------------------
  738.   # complete_ticks?
  739.   #--------------------------------------------------------------------------
  740.   def complete_ticks?
  741.     for actor in $game_party.battle_members
  742.       total_ticks = YEA::VICTORY_AFTERMATH::EXP_TICKS
  743.       bonus_exp = actor_exp_gain(actor) * @ticks / total_ticks
  744.       now_exp = actor.exp - actor.current_level_exp + bonus_exp
  745.       next_exp = actor.next_level_exp - actor.current_level_exp
  746.       rate = now_exp * 1.0 / next_exp
  747.       return false if rate < 1.0
  748.     end
  749.     return true
  750.   end
  751.  
  752.   #--------------------------------------------------------------------------
  753.   # draw_item
  754.   #--------------------------------------------------------------------------
  755.   def draw_item(index)
  756.     actor = $game_party.battle_members[index]
  757.     return if actor.nil?
  758.     rect = item_rect(index)
  759.     draw_actor_exp(actor, rect)
  760.   end
  761.  
  762.   #--------------------------------------------------------------------------
  763.   # exp_gauge1
  764.   #--------------------------------------------------------------------------
  765.   def exp_gauge1; return text_color(YEA::VICTORY_AFTERMATH::EXP_GAUGE1); end
  766.  
  767.   #--------------------------------------------------------------------------
  768.   # exp_gauge2
  769.   #--------------------------------------------------------------------------
  770.   def exp_gauge2; return text_color(YEA::VICTORY_AFTERMATH::EXP_GAUGE2); end
  771.  
  772.   #--------------------------------------------------------------------------
  773.   # lvl_gauge1
  774.   #--------------------------------------------------------------------------
  775.   def lvl_gauge1; return text_color(YEA::VICTORY_AFTERMATH::LEVEL_GAUGE1); end
  776.  
  777.   #--------------------------------------------------------------------------
  778.   # lvl_gauge2
  779.   #--------------------------------------------------------------------------
  780.   def lvl_gauge2; return text_color(YEA::VICTORY_AFTERMATH::LEVEL_GAUGE2); end
  781.  
  782.   #--------------------------------------------------------------------------
  783.   # draw_actor_exp
  784.   #--------------------------------------------------------------------------
  785.   def draw_actor_exp(actor, rect)
  786.     if actor.max_level?
  787.       draw_exp_gauge(actor, rect, 1.0)
  788.       return
  789.     end
  790.     total_ticks = YEA::VICTORY_AFTERMATH::EXP_TICKS
  791.     bonus_exp = actor_exp_gain(actor) * @ticks / total_ticks
  792.     now_exp = actor.exp - actor.current_level_exp + bonus_exp
  793.     next_exp = actor.next_level_exp - actor.current_level_exp
  794.     rate = now_exp * 1.0 / next_exp
  795.     draw_exp_gauge(actor, rect, rate)
  796.   end
  797.  
  798.   #--------------------------------------------------------------------------
  799.   # draw_exp_gauge
  800.   #--------------------------------------------------------------------------
  801.   def draw_exp_gauge(actor, rect, rate)
  802.     rate = [[rate, 1.0].min, 0.0].max
  803.     dx = (rect.width - [rect.width, 96].min) / 2 + rect.x
  804.     dy = rect.y + line_height * 2 + 96
  805.     dw = [rect.width, 96].min
  806.     colour1 = rate >= 1.0 ? lvl_gauge1 : exp_gauge1
  807.     colour2 = rate >= 1.0 ? lvl_gauge2 : exp_gauge2
  808.     draw_gauge(dx, dy, dw, rate, colour1, colour2)
  809.     fmt = YEA::VICTORY_AFTERMATH::EXP_PERCENT
  810.     text = sprintf(fmt, [rate * 100, 100.00].min)
  811.     if [rate * 100, 100.00].min == 100.00
  812.       text = YEA::VICTORY_AFTERMATH::LEVELUP_TEXT
  813.       text = YEA::VICTORY_AFTERMATH::MAX_LVL_TEXT if actor.max_level?
  814.     end
  815.     draw_text(dx, dy, dw, line_height, text, 1)
  816.   end
  817.  
  818. end # Window_VictoryEXP_Front
  819.  
  820. #==============================================================================
  821. # ■ Window_VictoryLevelUp
  822. #==============================================================================
  823.  
  824. class Window_VictoryLevelUp < Window_Base
  825.  
  826.   #--------------------------------------------------------------------------
  827.   # initialize
  828.   #--------------------------------------------------------------------------
  829.   def initialize
  830.     super(0, fitting_height(1), Graphics.width, window_height)
  831.     self.z = 200
  832.     hide
  833.   end
  834.  
  835.   #--------------------------------------------------------------------------
  836.   # window_height
  837.   #--------------------------------------------------------------------------
  838.   def window_height
  839.     return Graphics.height - fitting_height(4) - fitting_height(1)
  840.   end
  841.  
  842.   #--------------------------------------------------------------------------
  843.   # refresh
  844.   #--------------------------------------------------------------------------
  845.   def refresh(actor, temp_actor)
  846.     contents.clear
  847.     reset_font_settings
  848.     YEA::VICTORY_AFTERMATH::LEVEL_SOUND.play
  849.     draw_actor_changes(actor, temp_actor)
  850.   end
  851.  
  852.   #--------------------------------------------------------------------------
  853.   # draw_actor_changes
  854.   #--------------------------------------------------------------------------
  855.   def draw_actor_changes(actor, temp_actor)
  856.     dx = contents.width / 16
  857.     draw_actor_image(actor, temp_actor, dx)
  858.     draw_param_names(actor, dx)
  859.     draw_former_stats(temp_actor)
  860.     draw_arrows
  861.     draw_newer_stats(actor, temp_actor)
  862.     draw_new_skills(actor, temp_actor)
  863.   end
  864.  
  865.   #--------------------------------------------------------------------------
  866.   # draw_actor_image
  867.   #--------------------------------------------------------------------------
  868.   def draw_actor_image(actor, temp_actor, dx)
  869.     draw_text(dx, line_height, 96, line_height, actor.name, 1)
  870.     draw_actor_face(actor, dx, line_height * 2)
  871.     exp = actor.exp - temp_actor.exp
  872.     text = sprintf(YEA::VICTORY_AFTERMATH::VICTORY_EXP, exp.group)
  873.     change_color(power_up_color)
  874.     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
  875.     draw_text(0, line_height * 2 + 96, dx + 96, line_height, text, 2)
  876.     reset_font_settings
  877.   end
  878.  
  879.   #--------------------------------------------------------------------------
  880.   # draw_param_names
  881.   #--------------------------------------------------------------------------
  882.   def draw_param_names(actor, dx)
  883.     dx += 108
  884.     change_color(system_color)
  885.     text = Vocab.level
  886.     draw_text(dx, 0, contents.width - dx, line_height, text)
  887.     dy = 0
  888.     for i in 0...8
  889.       dy += line_height
  890.       text = Vocab.param(i)
  891.       draw_text(dx, dy, contents.width - dx, line_height, text)
  892.     end
  893.   end
  894.  
  895.   #--------------------------------------------------------------------------
  896.   # draw_former_stats
  897.   #--------------------------------------------------------------------------
  898.   def draw_former_stats(actor)
  899.     dw = contents.width / 2 - 12
  900.     dy = 0
  901.     change_color(normal_color)
  902.     draw_text(0, dy, dw, line_height, actor.level.group, 2)
  903.     for i in 0...8
  904.       dy += line_height
  905.       draw_text(0, dy, dw, line_height, actor.param_base(i).group, 2)
  906.     end
  907.   end
  908.  
  909.   #--------------------------------------------------------------------------
  910.   # draw_arrows
  911.   #--------------------------------------------------------------------------
  912.   def draw_arrows
  913.     dx = contents.width / 2 - 12
  914.     dy = 0
  915.     change_color(system_color)
  916.     for i in 0..8
  917.       draw_text(dx, dy, 24, line_height, "→", 1)
  918.       dy += line_height
  919.     end
  920.   end
  921.  
  922.   #--------------------------------------------------------------------------
  923.   # draw_newer_stats
  924.   #--------------------------------------------------------------------------
  925.   def draw_newer_stats(actor, temp_actor)
  926.     dx = contents.width / 2 + 12
  927.     dw = contents.width - dx
  928.     dy = 0
  929.     change_color(param_change_color(actor.level - temp_actor.level))
  930.     draw_text(dx, dy, dw, line_height, actor.level.group, 0)
  931.     for i in 0...8
  932.       dy += line_height
  933.       change_color(param_change_color(actor.param_base(i) - temp_actor.param_base(i)))
  934.       draw_text(dx, dy, dw, line_height, actor.param_base(i).group, 0)
  935.     end
  936.   end
  937.   #--------------------------------------------------------------------------
  938.   # draw_new_skills
  939.   #--------------------------------------------------------------------------
  940.   def draw_new_skills(actor, temp_actor)
  941.     return if temp_actor.skills.size == actor.skills.size
  942.     dw = 172 + 24
  943.     dx = contents.width - dw
  944.     change_color(system_color)
  945.     text = YEA::VICTORY_AFTERMATH::SKILLS_TEXT
  946.     draw_text(dx, 0, dw, line_height, text, 0)
  947.   end
  948.  
  949. end # Window_VictoryLevelUp
  950.  
  951. #==============================================================================
  952. # ■ Window_VictorySkills
  953. #==============================================================================
  954.  
  955. class Window_VictorySkills < Window_Selectable
  956.  
  957.   #--------------------------------------------------------------------------
  958.   # initialize
  959.   #--------------------------------------------------------------------------
  960.   def initialize
  961.     dy = fitting_height(1) + 24
  962.     dw = 172 + 24 + 24
  963.     dh = Graphics.height - fitting_height(4) - fitting_height(1) - 24
  964.     super(Graphics.width - dw, dy, dw, dh)
  965.     self.opacity = 0
  966.     self.z = 200
  967.     hide
  968.   end
  969.  
  970.   #--------------------------------------------------------------------------
  971.   # item_max
  972.   #--------------------------------------------------------------------------
  973.   def item_max; return @data.nil? ? 0 : @data.size; end
  974.  
  975.   #--------------------------------------------------------------------------
  976.   # refresh
  977.   #--------------------------------------------------------------------------
  978.   def refresh(actor, temp_actor)
  979.     contents.clear
  980.     if actor.skills.size == temp_actor.skills.size
  981.       unselect
  982.       @data = []
  983.       create_contents
  984.       return
  985.     end
  986.     @data = actor.skills - temp_actor.skills
  987.     if @data.size > 8
  988.       select(0)
  989.       activate
  990.     else
  991.       unselect
  992.       deactivate
  993.     end
  994.     create_contents
  995.     draw_all_items
  996.   end
  997.  
  998.   #--------------------------------------------------------------------------
  999.   # refresh
  1000.   #--------------------------------------------------------------------------
  1001.   def draw_item(index)
  1002.     rect = item_rect(index)
  1003.     skill = @data[index]
  1004.     return if skill.nil?
  1005.     rect.width -= 4
  1006.     draw_item_name(skill, rect.x, rect.y, true)
  1007.   end
  1008.  
  1009. end # Window_VictorySkills
  1010.  
  1011. #==============================================================================
  1012. # ■ Window_VictorySpoils
  1013. #==============================================================================
  1014.  
  1015. class Window_VictorySpoils < Window_ItemList
  1016.  
  1017.   #--------------------------------------------------------------------------
  1018.   # initialize
  1019.   #--------------------------------------------------------------------------
  1020.   def initialize
  1021.     super(0, fitting_height(1), Graphics.width, window_height)
  1022.     self.z = 200
  1023.     hide
  1024.   end
  1025.  
  1026.   #--------------------------------------------------------------------------
  1027.   # window_height
  1028.   #--------------------------------------------------------------------------
  1029.   def window_height
  1030.     return Graphics.height - fitting_height(4) - fitting_height(1)
  1031.   end
  1032.  
  1033.   #--------------------------------------------------------------------------
  1034.   # spacing
  1035.   #--------------------------------------------------------------------------
  1036.   def spacing; return 32; end
  1037.  
  1038.   #--------------------------------------------------------------------------
  1039.   # make
  1040.   #--------------------------------------------------------------------------
  1041.   def make(gold, drops)
  1042.     @gold = gold
  1043.     @drops = drops
  1044.     refresh
  1045.     select(0)
  1046.     activate
  1047.   end
  1048.  
  1049.   #--------------------------------------------------------------------------
  1050.   # make_item_list
  1051.   #--------------------------------------------------------------------------
  1052.   def make_item_list
  1053.     @data = [nil]
  1054.     items = {}
  1055.     weapons = {}
  1056.     armours = {}
  1057.     @goods = {}
  1058.     for item in @drops
  1059.       case item
  1060.       when RPG::Item
  1061.         items[item] = 0 if items[item].nil?
  1062.         items[item] += 1
  1063.       when RPG::Weapon
  1064.         weapons[item] = 0 if weapons[item].nil?
  1065.         weapons[item] += 1
  1066.       when RPG::Armor
  1067.         armours[item] = 0 if armours[item].nil?
  1068.         armours[item] += 1
  1069.       end
  1070.     end
  1071.     items = items.sort { |a,b| a[0].id <=> b[0].id }
  1072.     weapons = weapons.sort { |a,b| a[0].id <=> b[0].id }
  1073.     armours = armours.sort { |a,b| a[0].id <=> b[0].id }
  1074.     for key in items; @goods[key[0]] = key[1]; @data.push(key[0]); end
  1075.     for key in weapons; @goods[key[0]] = key[1]; @data.push(key[0]); end
  1076.     for key in armours; @goods[key[0]] = key[1]; @data.push(key[0]); end
  1077.   end
  1078.  
  1079.   #--------------------------------------------------------------------------
  1080.   # draw_item
  1081.   #--------------------------------------------------------------------------
  1082.   def draw_item(index)
  1083.     item = @data[index]
  1084.     rect = item_rect(index)
  1085.     reset_font_settings
  1086.     if item.nil?
  1087.       draw_gold(rect)
  1088.       return
  1089.     end
  1090.     rect.width -= 4
  1091.     draw_item_name(item, rect.x, rect.y, true, rect.width - 24)
  1092.     draw_item_number(rect, item)
  1093.   end
  1094.  
  1095.   #--------------------------------------------------------------------------
  1096.   # draw_gold
  1097.   #--------------------------------------------------------------------------
  1098.   def draw_gold(rect)
  1099.     text = Vocab.currency_unit
  1100.     draw_currency_value(@gold, text, rect.x, rect.y, rect.width)
  1101.   end
  1102.  
  1103.   #--------------------------------------------------------------------------
  1104.   # draw_item_number
  1105.   #--------------------------------------------------------------------------
  1106.   def draw_item_number(rect, item)
  1107.     number = @goods[item].group
  1108.     if $imported["YEA-AdjustLimits"]
  1109.       contents.font.size = YEA::LIMIT::ITEM_FONT
  1110.       text = sprintf(YEA::LIMIT::ITEM_PREFIX, number)
  1111.       draw_text(rect, text, 2)
  1112.     else
  1113.       draw_text(rect, sprintf(":%s", number), 2)
  1114.     end
  1115.   end
  1116.  
  1117. end # Window_VictorySpoils
  1118.  
  1119. #==============================================================================
  1120. # ■ Scene_Battle
  1121. #==============================================================================
  1122.  
  1123. class Scene_Battle < Scene_Base
  1124.  
  1125.   #--------------------------------------------------------------------------
  1126.   # alias method: create_all_windows
  1127.   #--------------------------------------------------------------------------
  1128.   alias scene_battle_create_all_windows_va create_all_windows
  1129.   def create_all_windows
  1130.     scene_battle_create_all_windows_va
  1131.     create_victory_aftermath_windows
  1132.   end
  1133.  
  1134.   #--------------------------------------------------------------------------
  1135.   # new method: create_victory_aftermath_windows
  1136.   #--------------------------------------------------------------------------
  1137.   def create_victory_aftermath_windows
  1138.     @victory_title_window = Window_VictoryTitle.new
  1139.     @victory_exp_window_back = Window_VictoryEXP_Back.new
  1140.     @victory_exp_window_front = Window_VictoryEXP_Front.new
  1141.     @victory_level_window = Window_VictoryLevelUp.new
  1142.     @victory_level_skills = Window_VictorySkills.new
  1143.     @victory_spoils_window = Window_VictorySpoils.new
  1144.   end
  1145.  
  1146.   #--------------------------------------------------------------------------
  1147.   # new method: show_victory_display_exp
  1148.   #--------------------------------------------------------------------------
  1149.   def show_victory_display_exp
  1150.     @victory_title_window.open
  1151.     name = $game_party.battle_members[0].name
  1152.     fmt = YEA::VICTORY_AFTERMATH::TOP_TEAM
  1153.     name = sprintf(fmt, name) if $game_party.battle_members.size > 1
  1154.     fmt = YEA::VICTORY_AFTERMATH::TOP_VICTORY_TEXT
  1155.     text = sprintf(fmt, name)
  1156.     @victory_title_window.refresh(text)
  1157.     #---
  1158.     @victory_exp_window_back.open
  1159.     @victory_exp_window_back.refresh
  1160.     @victory_exp_window_front.open
  1161.     @victory_exp_window_front.refresh
  1162.   end
  1163.  
  1164.   #--------------------------------------------------------------------------
  1165.   # new method: show_victory_level_up
  1166.   #--------------------------------------------------------------------------
  1167.   def show_victory_level_up(actor, temp_actor)
  1168.     @victory_exp_window_back.hide
  1169.     @victory_exp_window_front.hide
  1170.     #---
  1171.     fmt = YEA::VICTORY_AFTERMATH::TOP_LEVEL_UP
  1172.     text = sprintf(fmt, actor.name)
  1173.     @victory_title_window.refresh(text)
  1174.     #---
  1175.     @victory_level_window.show
  1176.     @victory_level_window.refresh(actor, temp_actor)
  1177.     @victory_level_skills.show
  1178.     @victory_level_skills.refresh(actor, temp_actor)
  1179.   end
  1180.  
  1181.   #--------------------------------------------------------------------------
  1182.   # new method: show_victory_spoils
  1183.   #--------------------------------------------------------------------------
  1184.   def show_victory_spoils(gold, drops)
  1185.     @victory_exp_window_back.hide
  1186.     @victory_exp_window_front.hide
  1187.     @victory_level_window.hide
  1188.     @victory_level_skills.hide
  1189.     #---
  1190.     text = YEA::VICTORY_AFTERMATH::TOP_SPOILS
  1191.     @victory_title_window.refresh(text)
  1192.     #---
  1193.     @victory_spoils_window.show
  1194.     @victory_spoils_window.make(gold, drops)
  1195.   end
  1196.  
  1197.   #--------------------------------------------------------------------------
  1198.   # new method: close_victory_windows
  1199.   #--------------------------------------------------------------------------
  1200.   def close_victory_windows
  1201.     @victory_title_window.close
  1202.     @victory_exp_window_back.close
  1203.     @victory_exp_window_front.close
  1204.     @victory_level_window.close
  1205.     @victory_level_skills.close
  1206.     @victory_spoils_window.close
  1207.     wait(16)
  1208.   end
  1209.  
  1210. end # Scene_Battle
  1211.  
  1212. #==============================================================================
  1213. #
  1214. # ▼ End of File
  1215. #
  1216. #==============================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement