Project1

标题: 【VA】獲勝選單強化 稍微改了一下內容>< [打印本页]

作者: asdrty123    时间: 2012-1-22 23:46
标题: 【VA】獲勝選單強化 稍微改了一下內容><
本帖最后由 asdrty123 于 2012-1-24 01:36 编辑

這是一個RM VX ACE專用的腳本

來源

可以設定隨機說話

#139 行可以修改關於獲勝時的視窗文字
#178 勝利感言(隨機)
#185 升級感言(隨機)
#192 戰利品感言(隨機)

也能自定義某個角色講什麼話

利用[new quote]來增加第二種感言
可以在數據庫=>角色=>備註欄內增加
<win quotes>
勝利感言
[new quote]
太難打了!
</win quotes>

<level quotes>
升級感言
</level quotes>

<drops quotes>
戰利品感言
</drops quotes>

可以自行更改文本

範本下載

腳本TXT下載
  1. #139行可以修改關於獲勝時的視窗效果
  2. #178 勝利感言(隨機)
  3. #185 升級感言(隨機)
  4. #192 戰利品感言(隨機)
  5. #如果你需要自定義角色說的話
  6. #可以在數據庫=>角色=>備註欄內修改
  7. #<win quotes>勝利感言</win quotes>
  8. #<level quotes>升級感言</level quotes>
  9. #<drops quotes>戰利品感言</drops quotes>
  10. #以上的感言會是連續的 如果需要換行請使用\n
  11. #==============================================================================
  12. #
  13. # ▼ Yanfly Engine Ace - Victory Aftermath v1.03
  14. # -- Last Updated: 2012.01.07
  15. # -- Level: Easy, Normal, Hard
  16. # -- Requires: n/a
  17. #
  18. #==============================================================================

  19. $imported = {} if $imported.nil?
  20. $imported["YEA-VictoryAftermath"] = true

  21. #==============================================================================
  22. # ▼ Updates
  23. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  24. # 2012.01.07 - Compatibility Update: JP Manager
  25. # 2012.01.01 - Bug Fixed: Quote tags were mislabeled.
  26. # 2011.12.26 - Compatibility Update: Command Autobattle
  27. # 2011.12.16 - Started Script and Finished.
  28. #
  29. #==============================================================================
  30. # ▼ Introduction
  31. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  32. # At the end of each battle, RPG Maker VX Ace by default shows text saying that
  33. # the party has gained so-and-so EXP while this person leveled up and your
  34. # party happened to find these drops. This script changes that text into
  35. # something more visual for your players to see. Active battle members will be
  36. # seen gaining EXP, any kind of level up changes, and a list of the items
  37. # obtained through drops.
  38. #
  39. #==============================================================================
  40. # ▼ Instructions
  41. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  42. # To install this script, open up your script editor and copy/paste this script
  43. # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
  44. #
  45. # -----------------------------------------------------------------------------
  46. # Actor Notetags - These notetags go in the actors notebox in the database.
  47. # -----------------------------------------------------------------------------
  48. # <win quotes>
  49. #  string
  50. #  string
  51. # </win quotes>
  52. # Sets the win quote for the actor. The strings are continuous and can use
  53. # text codes. Use \n for a line break. Type in what you want the actor to say
  54. # for the particular win quote. Use [New Quote] in between the two tags to
  55. # start up a new quote.
  56. #
  57. # <level quotes>
  58. #  string
  59. #  string
  60. # </level quotes>
  61. # Sets the level up quote for the actor. The strings are continuous and can use
  62. # text codes. Use \n for a line break. Type in what you want the actor to say
  63. # for the particular win quote. Use [New Quote] in between the two tags to
  64. # start up a new quote.
  65. #
  66. # <drops quotes>
  67. #  string
  68. #  string
  69. # </drops quotes>
  70. # Sets the drops quote for the actor. The strings are continuous and can use
  71. # text codes. Use \n for a line break. Type in what you want the actor to say
  72. # for the particular win quote. Use [New Quote] in between the two tags to
  73. # start up a new quote.
  74. #
  75. # -----------------------------------------------------------------------------
  76. # Class Notetags - These notetags go in the class notebox in the database.
  77. # -----------------------------------------------------------------------------
  78. # <win quotes>
  79. #  string
  80. #  string
  81. # </win quotes>
  82. # Sets the win quote for the class. The strings are continuous and can use
  83. # text codes. Use \n for a line break. Type in what you want the actor to say
  84. # for the particular win quote. Use [New Quote] in between the two tags to
  85. # start up a new quote.
  86. #
  87. # <level quotes>
  88. #  string
  89. #  string
  90. # </level quotes>
  91. # Sets the level up quote for the class. The strings are continuous and can use
  92. # text codes. Use \n for a line break. Type in what you want the actor to say
  93. # for the particular win quote. Use [New Quote] in between the two tags to
  94. # start up a new quote.
  95. #
  96. # <drops quotes>
  97. #  string
  98. #  string
  99. # </drops quotes>
  100. # Sets the drops quote for the class. The strings are continuous and can use
  101. # text codes. Use \n for a line break. Type in what you want the actor to say
  102. # for the particular win quote. Use [New Quote] in between the two tags to
  103. # start up a new quote.
  104. #
  105. #==============================================================================
  106. # ▼ Compatibility
  107. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  108. # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
  109. # it will run with RPG Maker VX without adjusting.
  110. #
  111. #==============================================================================

  112. module YEA
  113.   module VICTORY_AFTERMATH
  114.    
  115.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  116.     # - General Settings -
  117.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  118.     # These are various settings that are used throughout the Victory Aftermath
  119.     # portion of a battle. Adjust them as you see fit.
  120.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  121.     VICTORY_BGM  = RPG::BGM.new("Field1", 100, 100)    # Victory BGM
  122.     VICTORY_TICK = RPG::SE.new("Decision1", 100, 150)  # EXP ticking SFX
  123.     LEVEL_SOUND  = RPG::SE.new("Up4", 80, 150)         # Level Up SFX
  124.     SKILLS_TEXT  = "New Skills"                        # New skills text title.
  125.    
  126.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  127.     # - Important Settings -
  128.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  129.     # These are some important settings so please set them up properly. This
  130.     # section includes a switch that allows you to skip the victory aftermath
  131.     # phase (for those back to back battles and making them seamless) and it
  132.     # also allows you to declare a common event to run after each battle. If
  133.     # you do not wish to use either of these features, set them to 0. The
  134.     # common event will run regardless of win or escape.
  135.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  136.     SKIP_AFTERMATH_SWITCH  = 0  # If switch on, skip aftermath. 0 to disable.
  137.     SKIP_MUSIC_SWITCH      = 0  # If switch on, skip music. 0 to disable.
  138.     AFTERMATH_COMMON_EVENT = 0  # Runs common event after battle. 0 to disable.
  139.    
  140.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  141.     # - Top Text Settings -
  142.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  143.     # Here, you can adjust the various text that appears in the window that
  144.     # appears at the top of the screen.
  145.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  146.     TOP_TEAM         = "%s 的隊伍"           # Team name used.
  147.     TOP_VICTORY_TEXT = "%s 勝利!"   # Text used to display victory.
  148.     TOP_LEVEL_UP     = "%s 等級提升!"  # Text used to display level up.
  149.     TOP_SPOILS       = "勝利的戰利品!"     # Text used for spoils.
  150.    
  151.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  152.     # - EXP Gauge Settings -
  153.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  154.     # Adjust how the EXP Gauge appears for the Victory Aftermath here. This
  155.     # includes the text display, the font size, the colour of the gauges, and
  156.     # more. Adjust it all here.
  157.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  158.     VICTORY_EXP  = "+%s經驗值"      # Text used to display EXP.
  159.     EXP_PERCENT  = "%1.2f%%"     # The way EXP percentage will be displayed.
  160.     LEVELUP_TEXT = "等級上升!"   # Text to replace percentage when leveled.
  161.     MAX_LVL_TEXT = "最高等級"   # Text to replace percentage when max level.
  162.     FONTSIZE_EXP = 20            # Font size used for EXP.
  163.     EXP_TICKS    = 15            # Ticks to full EXP
  164.     EXP_GAUGE1   = 12            # "Window" skin text colour for gauge.
  165.     EXP_GAUGE2   = 4             # "Window" skin text colour for gauge.
  166.     LEVEL_GAUGE1 = 13            # "Window" skin text colour for leveling.
  167.     LEVEL_GAUGE2 = 5             # "Window" skin text colour for leveling.
  168.    
  169.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  170.     # - Victory Messages -
  171.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  172.     # In the Victory Aftermath, actors can say unique things. This is the pool
  173.     # of quotes used for actors without any custom victory quotes. Note that
  174.     # actors with custom quotes will take priority over classes with custom
  175.     # quotes, which will take priority over these default quotes. Use \n for
  176.     # a line break in the quotes.
  177.     #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  178.     HEADER_TEXT = "\e>\eC[6]%s\eC[0]\e<\n"  # Always at start of messages.
  179.     FOOTER_TEXT = ""                        # Always at end of messages.
  180.    
  181.     # Win Quotes are what the actors say when a battle is won.
  182.     VICTORY_QUOTES ={
  183.     # :type   => Quotes
  184.       #------------------------------------------------------------------------
  185.       :win    => [ # Occurs as initial victory quote.
  186.                    '我們贏了!大家做得很好。',
  187.                    '好驚險...還好贏了。',
  188.                    '我們以後還會遇到更艱難的戰鬥。',
  189.                    '讓我們挑戰更難的戰鬥吧!',
  190.                  ],# Do not remove this.
  191.       #------------------------------------------------------------------------
  192.       :level  => [ # Occurs as initial victory quote.
  193.                    '很好!升級了!',
  194.                    '力量逐漸增強!',
  195.                    '繼續前進吧!',
  196.                    '我們成功了!',
  197.                  ],# Do not remove this.
  198.       #------------------------------------------------------------------------
  199.       :drops  => [ # Occurs as initial victory quote.
  200.                    '這次的戰利品。',
  201.                    '不知道有什麼值錢的...',
  202.                    '這樣的戰利品沒問題嗎?',
  203.                    '嘿,這個是什麼?',
  204.                  ],# Do not remove this.
  205.       #------------------------------------------------------------------------
  206.     } # Do not remove this.
  207.    
  208.   end # VICTORY_AFTERMATH
  209. end # YEA

  210. #==============================================================================
  211. # ▼ Editting anything past this point may potentially result in causing
  212. # computer damage, incontinence, explosion of user's head, coma, death, and/or
  213. # halitosis so edit at your own risk.
  214. #==============================================================================

  215. module YEA
  216.   module REGEXP
  217.   module BASEITEM
  218.    
  219.     NEW_QUOTE = /\[(?:NEW_QUOTE|new quote)\]/i
  220.    
  221.     WIN_QUOTE_ON    = /<(?:WIN_QUOTES|win quote|win quotes)>/i
  222.     WIN_QUOTE_OFF   = /<\/(?:WIN_QUOTES|win quote|win quotes)>/i
  223.     LEVEL_QUOTE_ON  = /<(?:LEVEL_QUOTES|level quote|level quotes)>/i
  224.     LEVEL_QUOTE_OFF = /<\/(?:LEVEL_QUOTES|level quote|level quotes)>/i
  225.     DROPS_QUOTE_ON  = /<(?:DROPS_QUOTES|drops quote|drops quotes)>/i
  226.     DROPS_QUOTE_OFF = /<\/(?:DROPS_QUOTES|drops quote|drops quotes)>/i
  227.    
  228.   end # BASEITEM
  229.   end # REGEXP
  230. end # YEA

  231. #==============================================================================
  232. # ■ Switch
  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. # ■ Numeric
  255. #==============================================================================

  256. class Numeric
  257.   
  258.   #--------------------------------------------------------------------------
  259.   # new method: group_digits
  260.   #--------------------------------------------------------------------------
  261.   unless $imported["YEA-CoreEngine"]
  262.   def group; return self.to_s; end
  263.   end # $imported["YEA-CoreEngine"]
  264.    
  265. end # Numeric

  266. #==============================================================================
  267. # ■ DataManager
  268. #==============================================================================

  269. module DataManager
  270.   
  271.   #--------------------------------------------------------------------------
  272.   # alias method: load_database
  273.   #--------------------------------------------------------------------------
  274.   class <<self; alias load_database_va load_database; end
  275.   def self.load_database
  276.     load_database_va
  277.     load_notetags_va
  278.   end
  279.   
  280.   #--------------------------------------------------------------------------
  281.   # new method: load_notetags_va
  282.   #--------------------------------------------------------------------------
  283.   def self.load_notetags_va
  284.     groups = [$data_actors, $data_classes]
  285.     for group in groups
  286.       for obj in group
  287.         next if obj.nil?
  288.         obj.load_notetags_va
  289.       end
  290.     end
  291.   end
  292.   
  293. end # DataManager

  294. #==============================================================================
  295. # ■ RPG::BaseItem
  296. #==============================================================================

  297. class RPG::BaseItem
  298.   
  299.   #--------------------------------------------------------------------------
  300.   # public instance variables
  301.   #--------------------------------------------------------------------------
  302.   attr_accessor :win_quotes
  303.   attr_accessor :level_quotes
  304.   attr_accessor :drops_quotes
  305.   
  306.   #--------------------------------------------------------------------------
  307.   # common cache: load_notetags_va
  308.   #--------------------------------------------------------------------------
  309.   def load_notetags_va
  310.     @win_quotes = [""]
  311.     @level_quotes = [""]
  312.     @drops_quotes = [""]
  313.     @victory_quote_type = nil
  314.     #---
  315.     self.note.split(/[\r\n]+/).each { |line|
  316.       case line
  317.       #---
  318.       when YEA::REGEXP::BASEITEM::WIN_QUOTE_ON
  319.         @victory_quote_type = :win_quote
  320.       when YEA::REGEXP::BASEITEM::WIN_QUOTE_OFF
  321.         @victory_quote_type = nil
  322.       when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_ON
  323.         @victory_quote_type = :level_quote
  324.       when YEA::REGEXP::BASEITEM::LEVEL_QUOTE_OFF
  325.         @victory_quote_type = nil
  326.       when YEA::REGEXP::BASEITEM::DROPS_QUOTE_ON
  327.         @victory_quote_type = :drops_quote
  328.       when YEA::REGEXP::BASEITEM::DROPS_QUOTE_OFF
  329.         @victory_quote_type = nil
  330.       #---
  331.       when YEA::REGEXP::BASEITEM::NEW_QUOTE
  332.         case @victory_quote_type
  333.         when nil; next
  334.         when :win_quote;   @win_quotes.push("")
  335.         when :level_quote; @level_quotes.push("")
  336.         when :drops_quote; @drops_quotes.push("")
  337.         end
  338.       #---
  339.       else
  340.         case @victory_quote_type
  341.         when nil; next
  342.         when :win_quote;   @win_quotes[@win_quotes.size-1] += line.to_s
  343.         when :level_quote; @level_quotes[@level_quotes.size-1] += line.to_s
  344.         when :drops_quote; @drops_quotes[@drops_quotes.size-1] += line.to_s
  345.         end
  346.       end
  347.     } # self.note.split
  348.     #---
  349.     return unless self.is_a?(RPG::Class)
  350.     quotes = YEA::VICTORY_AFTERMATH::VICTORY_QUOTES
  351.     @win_quotes = quotes[:win].clone if @win_quotes == [""]
  352.     @level_quotes = quotes[:level].clone if @level_quotes == [""]
  353.     @drops_quotes = quotes[:drops].clone if @drops_quotes == [""]
  354.   end
  355.   
  356. end # RPG::BaseItem

  357. #==============================================================================
  358. # ■ BattleManager
  359. #==============================================================================

  360. module BattleManager
  361.   
  362.   #--------------------------------------------------------------------------
  363.   # overwrite method: self.process_victory
  364.   #--------------------------------------------------------------------------
  365.   def self.process_victory
  366.     if $imported["YEA-CommandAutobattle"]
  367.       SceneManager.scene.close_disable_autobattle_window
  368.     end
  369.     return skip_aftermath if Switch.skip_aftermath
  370.     play_battle_end_me
  371.     gain_jp if $imported["YEA-JPManager"]
  372.     display_exp
  373.     gain_exp
  374.     gain_gold
  375.     gain_drop_items
  376.     close_windows
  377.     SceneManager.return
  378.     replay_bgm_and_bgs
  379.     battle_end(0)
  380.     return true
  381.   end
  382.   
  383.   #--------------------------------------------------------------------------
  384.   # new method: self.skip_aftermath
  385.   #--------------------------------------------------------------------------
  386.   def self.skip_aftermath
  387.     $game_party.all_members.each do |actor|
  388.       actor.gain_exp($game_troop.exp_total)
  389.     end
  390.     $game_party.gain_gold($game_troop.gold_total)
  391.     $game_troop.make_drop_items.each do |item|
  392.       $game_party.gain_item(item, 1)
  393.     end
  394.     close_windows
  395.     SceneManager.return
  396.     replay_bgm_and_bgs
  397.     battle_end(0)
  398.   end
  399.   
  400.   #--------------------------------------------------------------------------
  401.   # overwrite method: self.play_battle_end_me
  402.   #--------------------------------------------------------------------------
  403.   def self.play_battle_end_me
  404.     return if Switch.skip_aftermath_music
  405.     $game_system.battle_end_me.play
  406.     YEA::VICTORY_AFTERMATH::VICTORY_BGM.play
  407.   end
  408.   
  409.   #--------------------------------------------------------------------------
  410.   # new method: self.set_victory_text
  411.   #--------------------------------------------------------------------------
  412.   def self.set_victory_text(actor, type)
  413.     text = "" + sprintf(YEA::VICTORY_AFTERMATH::HEADER_TEXT, actor.name)
  414.     text += actor.victory_quotes(type)[rand(actor.victory_quotes(type).size)]
  415.     text += YEA::VICTORY_AFTERMATH::FOOTER_TEXT
  416.     $game_message.face_name = actor.face_name
  417.     $game_message.face_index = actor.face_index
  418.     $game_message.add(text)
  419.     wait_for_message
  420.   end
  421.   
  422.   #--------------------------------------------------------------------------
  423.   # overwrite method: self.display_exp
  424.   #--------------------------------------------------------------------------
  425.   def self.display_exp
  426.     SceneManager.scene.show_victory_display_exp
  427.     actor = $game_party.random_target
  428.     @victory_actor = actor
  429.     set_victory_text(@victory_actor, :win)
  430.   end
  431.   
  432.   #--------------------------------------------------------------------------
  433.   # overwrite method: self.gain_exp
  434.   #--------------------------------------------------------------------------
  435.   def self.gain_exp
  436.     $game_party.all_members.each do |actor|
  437.       temp_actor = Marshal.load(Marshal.dump(actor))
  438.       actor.gain_exp($game_troop.exp_total)
  439.       next if actor.level == temp_actor.level
  440.       SceneManager.scene.show_victory_level_up(actor, temp_actor)
  441.       set_victory_text(actor, :level)
  442.       wait_for_message
  443.     end
  444.   end
  445.   
  446.   #--------------------------------------------------------------------------
  447.   # overwrite method: self.gain_gold
  448.   #--------------------------------------------------------------------------
  449.   def self.gain_gold
  450.     $game_party.gain_gold($game_troop.gold_total)
  451.   end
  452.   
  453.   #--------------------------------------------------------------------------
  454.   # overwrite method: self.gain_drop_items
  455.   #--------------------------------------------------------------------------
  456.   def self.gain_drop_items
  457.     drops = []
  458.     $game_troop.make_drop_items.each do |item|
  459.       $game_party.gain_item(item, 1)
  460.       drops.push(item)
  461.     end
  462.     SceneManager.scene.show_victory_spoils($game_troop.gold_total, drops)
  463.     set_victory_text(@victory_actor, :drops)
  464.     wait_for_message
  465.   end
  466.   
  467.   #--------------------------------------------------------------------------
  468.   # new method: self.close_windows
  469.   #--------------------------------------------------------------------------
  470.   def self.close_windows
  471.     SceneManager.scene.close_victory_windows
  472.   end
  473.   
  474.   #--------------------------------------------------------------------------
  475.   # alias method: load_database
  476.   #--------------------------------------------------------------------------
  477.   class <<self; alias battle_end_va battle_end; end
  478.   def self.battle_end(result)
  479.     battle_end_va(result)
  480.     return if result == 2
  481.     return if YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT <= 0
  482.     event_id = YEA::VICTORY_AFTERMATH::AFTERMATH_COMMON_EVENT
  483.     $game_temp.reserve_common_event(event_id)
  484.   end
  485.   
  486. end # BattleManager

  487. #==============================================================================
  488. # ■ Game_Actor
  489. #==============================================================================

  490. class Game_Actor < Game_Battler
  491.   
  492.   #--------------------------------------------------------------------------
  493.   # overwrite method: gain_exp
  494.   #--------------------------------------------------------------------------
  495.   def gain_exp(exp)
  496.     enabled = !SceneManager.scene_is?(Scene_Battle)
  497.     change_exp(self.exp + (exp * final_exp_rate).to_i, enabled)
  498.   end
  499.   
  500.   #--------------------------------------------------------------------------
  501.   # new method: victory_quotes
  502.   #--------------------------------------------------------------------------
  503.   def victory_quotes(type)
  504.     case type
  505.     when :win
  506.       return self.actor.win_quotes if self.actor.win_quotes != [""]
  507.       return self.class.win_quotes
  508.     when :level
  509.       return self.actor.level_quotes if self.actor.level_quotes != [""]
  510.       return self.class.level_quotes
  511.     when :drops
  512.       return self.actor.drops_quotes if self.actor.drops_quotes != [""]
  513.       return self.class.drops_quotes
  514.     else
  515.       return ["NOTEXT"]
  516.     end
  517.   end
  518.   
  519. end # Game_Actor

  520. #==============================================================================
  521. # ■ Window_VictoryTitle
  522. #==============================================================================

  523. class Window_VictoryTitle < Window_Base
  524.   
  525.   #--------------------------------------------------------------------------
  526.   # initialize
  527.   #--------------------------------------------------------------------------
  528.   def initialize
  529.     super(0, 0, Graphics.width, fitting_height(1))
  530.     self.z = 200
  531.     self.openness = 0
  532.   end
  533.   
  534.   #--------------------------------------------------------------------------
  535.   # refresh
  536.   #--------------------------------------------------------------------------
  537.   def refresh(message = "")
  538.     contents.clear
  539.     draw_text(0, 0, contents.width, line_height, message, 1)
  540.   end
  541.   
  542. end # Window_VictoryTitle

  543. #==============================================================================
  544. # ■ Window_VictoryEXP_Back
  545. #==============================================================================

  546. class Window_VictoryEXP_Back < Window_Selectable
  547.   
  548.   #--------------------------------------------------------------------------
  549.   # initialize
  550.   #--------------------------------------------------------------------------
  551.   def initialize
  552.     super(0, fitting_height(1), Graphics.width, window_height)
  553.     self.z = 200
  554.     self.openness = 0
  555.   end
  556.   
  557.   #--------------------------------------------------------------------------
  558.   # window_height
  559.   #--------------------------------------------------------------------------
  560.   def window_height
  561.     return Graphics.height - fitting_height(4) - fitting_height(1)
  562.   end
  563.   
  564.   #--------------------------------------------------------------------------
  565.   # col_max
  566.   #--------------------------------------------------------------------------
  567.   def col_max; return item_max; end
  568.   
  569.   #--------------------------------------------------------------------------
  570.   # spacing
  571.   #--------------------------------------------------------------------------
  572.   def spacing; return 8; end
  573.   
  574.   #--------------------------------------------------------------------------
  575.   # item_max
  576.   #--------------------------------------------------------------------------
  577.   def item_max; return $game_party.battle_members.size; end
  578.   
  579.   #--------------------------------------------------------------------------
  580.   # open
  581.   #--------------------------------------------------------------------------
  582.   def open
  583.     @exp_total = $game_troop.exp_total
  584.     super
  585.   end
  586.   
  587.   #--------------------------------------------------------------------------
  588.   # item_rect
  589.   #--------------------------------------------------------------------------
  590.   def item_rect(index)
  591.     rect = Rect.new
  592.     rect.width = item_width
  593.     rect.height = contents.height
  594.     rect.x = index % col_max * (item_width + spacing)
  595.     rect.y = index / col_max * item_height
  596.     return rect
  597.   end
  598.   
  599.   #--------------------------------------------------------------------------
  600.   # draw_item
  601.   #--------------------------------------------------------------------------
  602.   def draw_item(index)
  603.     actor = $game_party.battle_members[index]
  604.     return if actor.nil?
  605.     rect = item_rect(index)
  606.     reset_font_settings
  607.     draw_actor_name(actor, rect)
  608.     draw_exp_gain(actor, rect)
  609.     draw_jp_gain(actor, rect)
  610.     draw_actor_face(actor, rect)
  611.   end
  612.   
  613.   #--------------------------------------------------------------------------
  614.   # draw_actor_name
  615.   #--------------------------------------------------------------------------
  616.   def draw_actor_name(actor, rect)
  617.     name = actor.name
  618.     draw_text(rect.x, rect.y+line_height, rect.width, line_height, name, 1)
  619.   end
  620.   
  621.   #--------------------------------------------------------------------------
  622.   # draw_actor_face
  623.   #--------------------------------------------------------------------------
  624.   def draw_actor_face(actor, rect)
  625.     face_name = actor.face_name
  626.     face_index = actor.face_index
  627.     bitmap = Cache.face(face_name)
  628.     rw = [rect.width, 96].min
  629.     face_rect = Rect.new(face_index % 4 * 96, face_index / 4 * 96, rw, 96)
  630.     rx = (rect.width - rw) / 2 + rect.x
  631.     contents.blt(rx, rect.y + line_height * 2, bitmap, face_rect, 255)
  632.   end
  633.   
  634.   #--------------------------------------------------------------------------
  635.   # draw_exp_gain
  636.   #--------------------------------------------------------------------------
  637.   def draw_exp_gain(actor, rect)
  638.     dw = rect.width - (rect.width - [rect.width, 96].min) / 2
  639.     dy = rect.y + line_height * 3 + 96
  640.     fmt = YEA::VICTORY_AFTERMATH::VICTORY_EXP
  641.     text = sprintf(fmt, actor_exp_gain(actor).group)
  642.     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
  643.     change_color(power_up_color)
  644.     draw_text(rect.x, dy, dw, line_height, text, 2)
  645.   end
  646.   
  647.   #--------------------------------------------------------------------------
  648.   # actor_exp_gain
  649.   #--------------------------------------------------------------------------
  650.   def actor_exp_gain(actor)
  651.     n = @exp_total * actor.final_exp_rate
  652.     return n.to_i
  653.   end
  654.   
  655.   #--------------------------------------------------------------------------
  656.   # draw_jp_gain
  657.   #--------------------------------------------------------------------------
  658.   def draw_jp_gain(actor, rect)
  659.     return unless $imported["YEA-JPManager"]
  660.     dw = rect.width - (rect.width - [rect.width, 96].min) / 2
  661.     dy = rect.y + line_height * 4 + 96
  662.     fmt = YEA::JP::VICTORY_AFTERMATH
  663.     text = sprintf(fmt, actor_jp_gain(actor).group, Vocab::jp)
  664.     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
  665.     change_color(power_up_color)
  666.     draw_text(rect.x, dy, dw, line_height, text, 2)
  667.   end
  668.   
  669.   #--------------------------------------------------------------------------
  670.   # actor_jp_gain
  671.   #--------------------------------------------------------------------------
  672.   def actor_jp_gain(actor)
  673.     n = actor.battle_jp_earned
  674.     if actor.exp + actor_exp_gain(actor) > actor.exp_for_level(actor.level + 1)
  675.       n += YEA::JP::LEVEL_UP unless actor.max_level?
  676.     end
  677.     return n
  678.   end
  679.   
  680. end # Window_VictoryEXP_Back

  681. #==============================================================================
  682. # ■ Window_VictoryEXP_Front
  683. #==============================================================================

  684. class Window_VictoryEXP_Front < Window_VictoryEXP_Back
  685.   
  686.   #--------------------------------------------------------------------------
  687.   # initialize
  688.   #--------------------------------------------------------------------------
  689.   def initialize
  690.     super
  691.     self.back_opacity = 0
  692.     @ticks = 0
  693.     @counter = 30
  694.     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
  695.   end
  696.   
  697.   #--------------------------------------------------------------------------
  698.   # update
  699.   #--------------------------------------------------------------------------
  700.   def update
  701.     super
  702.     update_tick
  703.   end
  704.   
  705.   #--------------------------------------------------------------------------
  706.   # update_tick
  707.   #--------------------------------------------------------------------------
  708.   def update_tick
  709.     return unless self.openness >= 255
  710.     return unless self.visible
  711.     return if complete_ticks?
  712.     @counter -= 1
  713.     return unless @counter <= 0
  714.     return if @ticks >= YEA::VICTORY_AFTERMATH::EXP_TICKS
  715.     YEA::VICTORY_AFTERMATH::VICTORY_TICK.play
  716.     @counter = 4
  717.     @ticks += 1
  718.     refresh
  719.   end
  720.   
  721.   #--------------------------------------------------------------------------
  722.   # complete_ticks?
  723.   #--------------------------------------------------------------------------
  724.   def complete_ticks?
  725.     for actor in $game_party.battle_members
  726.       total_ticks = YEA::VICTORY_AFTERMATH::EXP_TICKS
  727.       bonus_exp = actor_exp_gain(actor) * @ticks / total_ticks
  728.       now_exp = actor.exp - actor.current_level_exp + bonus_exp
  729.       next_exp = actor.next_level_exp - actor.current_level_exp
  730.       rate = now_exp * 1.0 / next_exp
  731.       return false if rate < 1.0
  732.     end
  733.     return true
  734.   end
  735.   
  736.   #--------------------------------------------------------------------------
  737.   # draw_item
  738.   #--------------------------------------------------------------------------
  739.   def draw_item(index)
  740.     actor = $game_party.battle_members[index]
  741.     return if actor.nil?
  742.     rect = item_rect(index)
  743.     draw_actor_exp(actor, rect)
  744.   end
  745.   
  746.   #--------------------------------------------------------------------------
  747.   # exp_gauge1
  748.   #--------------------------------------------------------------------------
  749.   def exp_gauge1; return text_color(YEA::VICTORY_AFTERMATH::EXP_GAUGE1); end
  750.   
  751.   #--------------------------------------------------------------------------
  752.   # exp_gauge2
  753.   #--------------------------------------------------------------------------
  754.   def exp_gauge2; return text_color(YEA::VICTORY_AFTERMATH::EXP_GAUGE2); end
  755.   
  756.   #--------------------------------------------------------------------------
  757.   # lvl_gauge1
  758.   #--------------------------------------------------------------------------
  759.   def lvl_gauge1; return text_color(YEA::VICTORY_AFTERMATH::LEVEL_GAUGE1); end
  760.   
  761.   #--------------------------------------------------------------------------
  762.   # lvl_gauge2
  763.   #--------------------------------------------------------------------------
  764.   def lvl_gauge2; return text_color(YEA::VICTORY_AFTERMATH::LEVEL_GAUGE2); end
  765.   
  766.   #--------------------------------------------------------------------------
  767.   # draw_actor_exp
  768.   #--------------------------------------------------------------------------
  769.   def draw_actor_exp(actor, rect)
  770.     if actor.max_level?
  771.       draw_exp_gauge(actor, rect, 1.0)
  772.       return
  773.     end
  774.     total_ticks = YEA::VICTORY_AFTERMATH::EXP_TICKS
  775.     bonus_exp = actor_exp_gain(actor) * @ticks / total_ticks
  776.     now_exp = actor.exp - actor.current_level_exp + bonus_exp
  777.     next_exp = actor.next_level_exp - actor.current_level_exp
  778.     rate = now_exp * 1.0 / next_exp
  779.     draw_exp_gauge(actor, rect, rate)
  780.   end
  781.   
  782.   #--------------------------------------------------------------------------
  783.   # draw_exp_gauge
  784.   #--------------------------------------------------------------------------
  785.   def draw_exp_gauge(actor, rect, rate)
  786.     rate = [[rate, 1.0].min, 0.0].max
  787.     dx = (rect.width - [rect.width, 96].min) / 2 + rect.x
  788.     dy = rect.y + line_height * 2 + 96
  789.     dw = [rect.width, 96].min
  790.     colour1 = rate >= 1.0 ? lvl_gauge1 : exp_gauge1
  791.     colour2 = rate >= 1.0 ? lvl_gauge2 : exp_gauge2
  792.     draw_gauge(dx, dy, dw, rate, colour1, colour2)
  793.     fmt = YEA::VICTORY_AFTERMATH::EXP_PERCENT
  794.     text = sprintf(fmt, [rate * 100, 100.00].min)
  795.     if [rate * 100, 100.00].min == 100.00
  796.       text = YEA::VICTORY_AFTERMATH::LEVELUP_TEXT
  797.       text = YEA::VICTORY_AFTERMATH::MAX_LVL_TEXT if actor.max_level?
  798.     end
  799.     draw_text(dx, dy, dw, line_height, text, 1)
  800.   end
  801.   
  802. end # Window_VictoryEXP_Front

  803. #==============================================================================
  804. # ■ Window_VictoryLevelUp
  805. #==============================================================================

  806. class Window_VictoryLevelUp < Window_Base
  807.   
  808.   #--------------------------------------------------------------------------
  809.   # initialize
  810.   #--------------------------------------------------------------------------
  811.   def initialize
  812.     super(0, fitting_height(1), Graphics.width, window_height)
  813.     self.z = 200
  814.     hide
  815.   end
  816.   
  817.   #--------------------------------------------------------------------------
  818.   # window_height
  819.   #--------------------------------------------------------------------------
  820.   def window_height
  821.     return Graphics.height - fitting_height(4) - fitting_height(1)
  822.   end
  823.   
  824.   #--------------------------------------------------------------------------
  825.   # refresh
  826.   #--------------------------------------------------------------------------
  827.   def refresh(actor, temp_actor)
  828.     contents.clear
  829.     reset_font_settings
  830.     YEA::VICTORY_AFTERMATH::LEVEL_SOUND.play
  831.     draw_actor_changes(actor, temp_actor)
  832.   end
  833.   
  834.   #--------------------------------------------------------------------------
  835.   # draw_actor_changes
  836.   #--------------------------------------------------------------------------
  837.   def draw_actor_changes(actor, temp_actor)
  838.     dx = contents.width / 16
  839.     draw_actor_image(actor, temp_actor, dx)
  840.     draw_param_names(actor, dx)
  841.     draw_former_stats(temp_actor)
  842.     draw_arrows
  843.     draw_newer_stats(actor, temp_actor)
  844.     draw_new_skills(actor, temp_actor)
  845.   end
  846.   
  847.   #--------------------------------------------------------------------------
  848.   # draw_actor_image
  849.   #--------------------------------------------------------------------------
  850.   def draw_actor_image(actor, temp_actor, dx)
  851.     draw_text(dx, line_height, 96, line_height, actor.name, 1)
  852.     draw_actor_face(actor, dx, line_height * 2)
  853.     exp = actor.exp - temp_actor.exp
  854.     text = sprintf(YEA::VICTORY_AFTERMATH::VICTORY_EXP, exp.group)
  855.     change_color(power_up_color)
  856.     contents.font.size = YEA::VICTORY_AFTERMATH::FONTSIZE_EXP
  857.     draw_text(0, line_height * 2 + 96, dx + 96, line_height, text, 2)
  858.     reset_font_settings
  859.   end
  860.   
  861.   #--------------------------------------------------------------------------
  862.   # draw_param_names
  863.   #--------------------------------------------------------------------------
  864.   def draw_param_names(actor, dx)
  865.     dx += 108
  866.     change_color(system_color)
  867.     text = Vocab.level
  868.     draw_text(dx, 0, contents.width - dx, line_height, text)
  869.     dy = 0
  870.     for i in 0...8
  871.       dy += line_height
  872.       text = Vocab.param(i)
  873.       draw_text(dx, dy, contents.width - dx, line_height, text)
  874.     end
  875.   end
  876.   
  877.   #--------------------------------------------------------------------------
  878.   # draw_former_stats
  879.   #--------------------------------------------------------------------------
  880.   def draw_former_stats(actor)
  881.     dw = contents.width / 2 - 12
  882.     dy = 0
  883.     change_color(normal_color)
  884.     draw_text(0, dy, dw, line_height, actor.level.group, 2)
  885.     for i in 0...8
  886.       dy += line_height
  887.       draw_text(0, dy, dw, line_height, actor.param(i).group, 2)
  888.     end
  889.   end
  890.   
  891.   #--------------------------------------------------------------------------
  892.   # draw_arrows
  893.   #--------------------------------------------------------------------------
  894.   def draw_arrows
  895.     dx = contents.width / 2 - 12
  896.     dy = 0
  897.     change_color(system_color)
  898.     for i in 0..8
  899.       draw_text(dx, dy, 24, line_height, "→", 1)
  900.       dy += line_height
  901.     end
  902.   end
  903.   
  904.   #--------------------------------------------------------------------------
  905.   # draw_newer_stats
  906.   #--------------------------------------------------------------------------
  907.   def draw_newer_stats(actor, temp_actor)
  908.     dx = contents.width / 2 + 12
  909.     dw = contents.width - dx
  910.     dy = 0
  911.     change_color(param_change_color(actor.level - temp_actor.level))
  912.     draw_text(dx, dy, dw, line_height, actor.level.group, 0)
  913.     for i in 0...8
  914.       dy += line_height
  915.       change_color(param_change_color(actor.param(i) - temp_actor.param(i)))
  916.       draw_text(dx, dy, dw, line_height, actor.param(i).group, 0)
  917.     end
  918.   end
  919.   
  920.   #--------------------------------------------------------------------------
  921.   # draw_new_skills
  922.   #--------------------------------------------------------------------------
  923.   def draw_new_skills(actor, temp_actor)
  924.     return if temp_actor.skills.size == actor.skills.size
  925.     dw = 172 + 24
  926.     dx = contents.width - dw
  927.     change_color(system_color)
  928.     text = YEA::VICTORY_AFTERMATH::SKILLS_TEXT
  929.     draw_text(dx, 0, dw, line_height, text, 0)
  930.   end
  931.   
  932. end # Window_VictoryLevelUp

  933. #==============================================================================
  934. # ■ Window_VictorySkills
  935. #==============================================================================

  936. class Window_VictorySkills < Window_Selectable
  937.   
  938.   #--------------------------------------------------------------------------
  939.   # initialize
  940.   #--------------------------------------------------------------------------
  941.   def initialize
  942.     dy = fitting_height(1) + 24
  943.     dw = 172 + 24 + 24
  944.     dh = Graphics.height - fitting_height(4) - fitting_height(1) - 24
  945.     super(Graphics.width - dw, dy, dw, dh)
  946.     self.opacity = 0
  947.     self.z = 200
  948.     hide
  949.   end
  950.   
  951.   #--------------------------------------------------------------------------
  952.   # item_max
  953.   #--------------------------------------------------------------------------
  954.   def item_max; return @data.nil? ? 0 : @data.size; end
  955.   
  956.   #--------------------------------------------------------------------------
  957.   # refresh
  958.   #--------------------------------------------------------------------------
  959.   def refresh(actor, temp_actor)
  960.     contents.clear
  961.     if actor.skills.size == temp_actor.skills.size
  962.       unselect
  963.       @data = []
  964.       create_contents
  965.       return
  966.     end
  967.     @data = actor.skills - temp_actor.skills
  968.     if @data.size > 8
  969.       select(0)
  970.       activate
  971.     else
  972.       unselect
  973.       deactivate
  974.     end
  975.     create_contents
  976.     draw_all_items
  977.   end
  978.   
  979.   #--------------------------------------------------------------------------
  980.   # refresh
  981.   #--------------------------------------------------------------------------
  982.   def draw_item(index)
  983.     rect = item_rect(index)
  984.     skill = @data[index]
  985.     return if skill.nil?
  986.     rect.width -= 4
  987.     draw_item_name(skill, rect.x, rect.y, true)
  988.   end
  989.   
  990. end # Window_VictorySkills

  991. #==============================================================================
  992. # ■ Window_VictorySpoils
  993. #==============================================================================

  994. class Window_VictorySpoils < Window_ItemList
  995.   
  996.   #--------------------------------------------------------------------------
  997.   # initialize
  998.   #--------------------------------------------------------------------------
  999.   def initialize
  1000.     super(0, fitting_height(1), Graphics.width, window_height)
  1001.     self.z = 200
  1002.     hide
  1003.   end
  1004.   
  1005.   #--------------------------------------------------------------------------
  1006.   # window_height
  1007.   #--------------------------------------------------------------------------
  1008.   def window_height
  1009.     return Graphics.height - fitting_height(4) - fitting_height(1)
  1010.   end
  1011.   
  1012.   #--------------------------------------------------------------------------
  1013.   # spacing
  1014.   #--------------------------------------------------------------------------
  1015.   def spacing; return 32; end
  1016.   
  1017.   #--------------------------------------------------------------------------
  1018.   # make
  1019.   #--------------------------------------------------------------------------
  1020.   def make(gold, drops)
  1021.     @gold = gold
  1022.     @drops = drops
  1023.     refresh
  1024.     select(0)
  1025.     activate
  1026.   end
  1027.   
  1028.   #--------------------------------------------------------------------------
  1029.   # make_item_list
  1030.   #--------------------------------------------------------------------------
  1031.   def make_item_list
  1032.     @data = [nil]
  1033.     items = {}
  1034.     weapons = {}
  1035.     armours = {}
  1036.     @goods = {}
  1037.     for item in @drops
  1038.       case item
  1039.       when RPG::Item
  1040.         items[item] = 0 if items[item].nil?
  1041.         items[item] += 1
  1042.       when RPG::Weapon
  1043.         weapons[item] = 0 if weapons[item].nil?
  1044.         weapons[item] += 1
  1045.       when RPG::Armor
  1046.         armours[item] = 0 if armours[item].nil?
  1047.         armours[item] += 1
  1048.       end
  1049.     end
  1050.     items = items.sort { |a,b| a[0].id <=> b[0].id }
  1051.     weapons = weapons.sort { |a,b| a[0].id <=> b[0].id }
  1052.     armours = armours.sort { |a,b| a[0].id <=> b[0].id }
  1053.     for key in items; @goods[key[0]] = key[1]; @data.push(key[0]); end
  1054.     for key in weapons; @goods[key[0]] = key[1]; @data.push(key[0]); end
  1055.     for key in armours; @goods[key[0]] = key[1]; @data.push(key[0]); end
  1056.   end
  1057.   
  1058.   #--------------------------------------------------------------------------
  1059.   # draw_item
  1060.   #--------------------------------------------------------------------------
  1061.   def draw_item(index)
  1062.     item = @data[index]
  1063.     rect = item_rect(index)
  1064.     reset_font_settings
  1065.     if item.nil?
  1066.       draw_gold(rect)
  1067.       return
  1068.     end
  1069.     rect.width -= 4
  1070.     draw_item_name(item, rect.x, rect.y, true, rect.width - 24)
  1071.     draw_item_number(rect, item)
  1072.   end
  1073.   
  1074.   #--------------------------------------------------------------------------
  1075.   # draw_gold
  1076.   #--------------------------------------------------------------------------
  1077.   def draw_gold(rect)
  1078.     text = Vocab.currency_unit
  1079.     draw_currency_value(@gold, text, rect.x, rect.y, rect.width)
  1080.   end
  1081.   
  1082.   #--------------------------------------------------------------------------
  1083.   # draw_item_number
  1084.   #--------------------------------------------------------------------------
  1085.   def draw_item_number(rect, item)
  1086.     number = @goods[item].group
  1087.     if $imported["YEA-AdjustLimits"]
  1088.       contents.font.size = YEA::LIMIT::ITEM_FONT
  1089.       text = sprintf(YEA::LIMIT::ITEM_PREFIX, number)
  1090.       draw_text(rect, text, 2)
  1091.     else
  1092.       draw_text(rect, sprintf(":%s", number), 2)
  1093.     end
  1094.   end
  1095.   
  1096. end # Window_VictorySpoils

  1097. #==============================================================================
  1098. # ■ Scene_Battle
  1099. #==============================================================================

  1100. class Scene_Battle < Scene_Base
  1101.   
  1102.   #--------------------------------------------------------------------------
  1103.   # alias method: create_all_windows
  1104.   #--------------------------------------------------------------------------
  1105.   alias scene_battle_create_all_windows_va create_all_windows
  1106.   def create_all_windows
  1107.     scene_battle_create_all_windows_va
  1108.     create_victory_aftermath_windows
  1109.   end
  1110.   
  1111.   #--------------------------------------------------------------------------
  1112.   # new method: create_victory_aftermath_windows
  1113.   #--------------------------------------------------------------------------
  1114.   def create_victory_aftermath_windows
  1115.     @victory_title_window = Window_VictoryTitle.new
  1116.     @victory_exp_window_back = Window_VictoryEXP_Back.new
  1117.     @victory_exp_window_front = Window_VictoryEXP_Front.new
  1118.     @victory_level_window = Window_VictoryLevelUp.new
  1119.     @victory_level_skills = Window_VictorySkills.new
  1120.     @victory_spoils_window = Window_VictorySpoils.new
  1121.   end
  1122.   
  1123.   #--------------------------------------------------------------------------
  1124.   # new method: show_victory_display_exp
  1125.   #--------------------------------------------------------------------------
  1126.   def show_victory_display_exp
  1127.     @victory_title_window.open
  1128.     name = $game_party.battle_members[0].name
  1129.     fmt = YEA::VICTORY_AFTERMATH::TOP_TEAM
  1130.     name = sprintf(fmt, name) if $game_party.battle_members.size > 1
  1131.     fmt = YEA::VICTORY_AFTERMATH::TOP_VICTORY_TEXT
  1132.     text = sprintf(fmt, name)
  1133.     @victory_title_window.refresh(text)
  1134.     #---
  1135.     @victory_exp_window_back.open
  1136.     @victory_exp_window_back.refresh
  1137.     @victory_exp_window_front.open
  1138.     @victory_exp_window_front.refresh
  1139.   end
  1140.   
  1141.   #--------------------------------------------------------------------------
  1142.   # new method: show_victory_level_up
  1143.   #--------------------------------------------------------------------------
  1144.   def show_victory_level_up(actor, temp_actor)
  1145.     @victory_exp_window_back.hide
  1146.     @victory_exp_window_front.hide
  1147.     #---
  1148.     fmt = YEA::VICTORY_AFTERMATH::TOP_LEVEL_UP
  1149.     text = sprintf(fmt, actor.name)
  1150.     @victory_title_window.refresh(text)
  1151.     #---
  1152.     @victory_level_window.show
  1153.     @victory_level_window.refresh(actor, temp_actor)
  1154.     @victory_level_skills.show
  1155.     @victory_level_skills.refresh(actor, temp_actor)
  1156.   end
  1157.   
  1158.   #--------------------------------------------------------------------------
  1159.   # new method: show_victory_spoils
  1160.   #--------------------------------------------------------------------------
  1161.   def show_victory_spoils(gold, drops)
  1162.     @victory_exp_window_back.hide
  1163.     @victory_exp_window_front.hide
  1164.     @victory_level_window.hide
  1165.     @victory_level_skills.hide
  1166.     #---
  1167.     text = YEA::VICTORY_AFTERMATH::TOP_SPOILS
  1168.     @victory_title_window.refresh(text)
  1169.     #---
  1170.     @victory_spoils_window.show
  1171.     @victory_spoils_window.make(gold, drops)
  1172.   end
  1173.   
  1174.   #--------------------------------------------------------------------------
  1175.   # new method: close_victory_windows
  1176.   #--------------------------------------------------------------------------
  1177.   def close_victory_windows
  1178.     @victory_title_window.close
  1179.     @victory_exp_window_back.close
  1180.     @victory_exp_window_front.close
  1181.     @victory_level_window.close
  1182.     @victory_level_skills.close
  1183.     @victory_spoils_window.close
  1184.     wait(16)
  1185.   end
  1186.   
  1187. end # Scene_Battle

  1188. #==============================================================================
  1189. #
  1190. # ▼ End of File
  1191. #
  1192. #==============================================================================
复制代码

作者: 月夜神音    时间: 2012-1-23 10:46
这应该发到地球区去吧……
作者: 阿尔西斯的马甲    时间: 2012-1-23 11:26
狂暴一顶!
这脚本也太长了吧
作者: kapoleo    时间: 2012-1-23 12:03
谢谢分享....很强大的脚本

不知这脚本能否做到胜利台词会根据不同的人物而有所不同
例如角色ID:001的角色只会说专属于他的胜利台词
而其他角色不会说
谢谢~~~

作者: 越前リョーマ    时间: 2012-1-23 17:57
其实我觉得亮点是截图那里的头像都被改成……成熟了?
作者: GAME狂热分子    时间: 2012-1-23 19:18
为何我显示脚本275行有错误?请指点,谢谢。
作者: wxj541374210    时间: 2012-1-23 20:04
非常好,但是XP能用么?好像只有vx才能用,能改成XP的么?能请通知我,谢谢
作者: acute    时间: 2012-1-23 20:18
VX的么?求xp....
作者: wxj541374210    时间: 2012-1-23 21:26
本帖最后由 wxj541374210 于 2012-1-23 21:27 编辑

这个到底是什么程序适用
我两个都试过,冲突还蛮多
作者: 八宝粥先生    时间: 2012-1-23 21:26
我的也有错误,同6楼。

QQ截图20120123212358.png (113.17 KB, 下载次数: 28)

QQ截图20120123212358.png

作者: GAME狂热分子    时间: 2012-1-24 13:50
VA的啊....看错了,谢谢。
作者: wxj541374210    时间: 2012-1-24 20:10
只能ACE用吗?真可惜,要是XP的话那就太好了




只能ACE用吗?太可惜了,要是XP的话就太好了


──wxj541374210于2012-1-24 20:12补充以上内容’




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1