=begin ★ks_戦闘後回復 最終更新日 2011/04/03 □===制作・著作===□ MaidensnowOnline 暴兎 使用プロジェクトを公開する場合、readme等に当HP名とそのアドレスを記述してください。 使用報告はしてくれると喜びます。 □===配置場所===□ 基本スクリプトおよび基本エリアスは必要ありません。 エリアスのみで構成されているので、 可能な限り"▼ メイン"の上、近くに配置してください。 □===説明・使用方法===□ 戦闘終了時に指定した%のHP・MPを回復します。 また、戦闘の結果や、ターン数に応じた回復設定を行ったり、 指定したステートにかかっている場合は回復しないなどの設定をすることもできます。 □===エリアスしているメソッド===□ Scene_Battle battle_end =end class Scene_Battle # 戦闘後回復を実行する戦闘結果の配列 (0:勝利 1:逃走 2:敗北) BATTLE_END_RECOVERABLE_SITUATIONS = [0] # 戦闘後回復をできなくするステートIDの配列(HP・MPそれぞれ) BATTLE_END_UNRECOVERABLE_STATES_HP = [1]# 例・戦闘不能時は回復しない BATTLE_END_UNRECOVERABLE_STATES_MP = [1]# 例・戦闘不能時は回復しない # 戦闘後回復するHPの% BATTLE_END_RECOVER_HP = 5 # 戦闘後回復するMPの% BATTLE_END_RECOVER_MP = 5 # 戦闘が規定ターン内で終了した場合の、HP回復ボーナス BATTLE_END_RECOVER_HP_BONUS = { #1=>5, # 例・1ターン勝利で+5% } # 戦闘が規定ターン内で終了した場合の、MP回復ボーナス BATTLE_END_RECOVER_MP_BONUS = { #1=>5, # 例・1ターン勝利で+5% } #-------------------------------------------------------------------------- # ● 戦闘終了 # result : 結果 (0:勝利 1:逃走 2:敗北) #-------------------------------------------------------------------------- alias battle_end_for_auto_recover battle_end def battle_end(result)# Scene_Battle alias battle_end_for_auto_recover(result) if BATTLE_END_RECOVERABLE_SITUATIONS.include?(result) hpr = BATTLE_END_RECOVER_HP mpr = BATTLE_END_RECOVER_MP for key in BATTLE_END_RECOVER_HP_BONUS.keys.sort next if $game_troop.turn_count > key hpr += BATTLE_END_RECOVER_HP_BONUS[key] break end for key in BATTLE_END_RECOVER_MP_BONUS.keys.sort next if $game_troop.turn_count > key mpr += BATTLE_END_RECOVER_MP_BONUS[key] break end hprb = hpr > 0 mprb = mpr > 0 if hprb || mprb for actor in $game_party.members hprb = hpr > 0 mprb = mpr > 0 for state in actor.states break unless hprb || mprb hprb = false if BATTLE_END_UNRECOVERABLE_STATES_HP.include?(state.id) mprb = false if BATTLE_END_UNRECOVERABLE_STATES_MP.include?(state.id) end next unless hprb || mprb actor.hp += actor.maxhp * hpr / 100 if hprb actor.mp += actor.maxmp * mpr / 100 if mprb end end end end #$game_troop.turn_count end