#-------------------------------------------------------------------------- # RGSS3 勝利時 HP・MP回復スクリプト #-------------------------------------------------------------------------- =begin  戦闘終了時、勝利していればRECOVER_VICTORYモジュールの設定内容を実行します。  RECOVER_DECLARATION … スイッチ。「全員のXXが少量回復した!」と表示するか。  HP_RECOVER_FLAG   … スイッチ。勝利時にHPを回復するか。 HP_RECOVER_VALUE  … 変数。勝利時にどの程度回復するか。             最大HP / VALUE の値が現在のHPに足されます。  MP_RECOVER_FLAG   … スイッチ。勝利時にMPを回復するか。 MP_RECOVER_VALUE  … 変数。勝利時にどの程度回復するか。             最大MP / VALUE の値が現在のMPに足されます。 VICTORY_TEXT_HEALbの内容を書き換えれば、表示テキストが変更されます。 テキストは表示できますが、テンポが悪くなるので推奨しません。 =end module RECOVER_VICTORY RECOVER_DECLARATION = 86 # 勝利時 回復宣言フラグ HP_RECOVER_FLAG = 87 # 勝利時 HP回復フラグ HP_RECOVER_VALUE = 5 # 勝利時 HP回復量 MP_RECOVER_FLAG = 88 # 勝利時 MP回復フラグ MP_RECOVER_VALUE = 17 # 勝利時 MP回復量 end module Vocab VICTORY_TEXT_HEAL = "全員の%sが少量回復した!" end module BattleManager #-------------------------------------------------------------------------- # ● 戦闘メンバーのHP指定数回復(生存時のみ) #-------------------------------------------------------------------------- def self.hp_recover_assign_value_battle_members $game_party.battle_members.each do |actor| actor.hp += actor.mhp / RECOVER_VICTORY::HP_RECOVER_VALUE if actor.alive? end end #-------------------------------------------------------------------------- # ● 戦闘メンバーのMP指定数回復(生存時のみ) #-------------------------------------------------------------------------- def self.mp_recover_assign_value_battle_members $game_party.battle_members.each do |actor| actor.mp += actor.mmp / RECOVER_VICTORY::MP_RECOVER_VALUE if actor.alive? end end #-------------------------------------------------------------------------- # ● 勝利の処理 #-------------------------------------------------------------------------- def self.process_victory play_battle_end_me replay_bgm_and_bgs $game_message.add(sprintf(Vocab::Victory, $game_party.name)) display_exp gain_gold gain_drop_items gain_exp if $game_switches[RECOVER_VICTORY::HP_RECOVER_FLAG] == true hp_recover_assign_value_battle_members if $game_switches[RECOVER_VICTORY::RECOVER_DECLARATION] == true Sound.play_recovery $game_message.add(sprintf(Vocab::VICTORY_TEXT_HEAL, Vocab::hp)) wait_for_message end end if $game_switches[RECOVER_VICTORY::MP_RECOVER_FLAG] == true mp_recover_assign_value_battle_members if $game_switches[RECOVER_VICTORY::RECOVER_DECLARATION] == true Sound.play_recovery $game_message.add(sprintf(Vocab::VICTORY_TEXT_HEAL, Vocab::mp)) wait_for_message end end SceneManager.return battle_end(0) return true end end