#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ #_/ ◆ Recover on Guard - KGC_GuardRecover ◆ VX ◆ #_/ ◇ Last Update: 08/10/2008 #_/ ◆ Written by TOMY #_/ ◆ Translation by Mr. Anonymous #_/ ◆ KGC Site: #_/ ◆ http://ytomy.sakura.ne.jp/ #_/ ◆ Translator's Blog: #_/ ◆ http://mraprojects.wordpress.com #_/----------------------------------------------------------------------------- #_/ This script allows you to add HP/MP Recovery percentiles to the battle #_/ guard/defend command. #_/ * Note from the translator: I had previously ported this script myself, #_/ this official KGC port however, is a bit more cleanly coded. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ #============================================================================== # ★ BEGIN Customization ★ #============================================================================== module KGC module GuardRecover # ◆ HP Recovery Rate [In Percentile] HP_RATE_ACTOR = 5 # ◆ MP Recovery Rate [In Percentile] MP_RATE_ACTOR = 1 # ◆ Guarding Enemy HP Recovery Rate [In Percentile] HP_RATE_ENEMY = 0 # ◆ Guarding Enemy MP Recovery Rate [In Percentile] MP_RATE_ENEMY = 0 end end #============================================================================== # ★ END Customization ★ #============================================================================== $imported = {} if $imported == nil $imported["GuardRecover"] = true #============================================================================== # ■ Game_Battler #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ○ Defending Recovery Calculation # hp_rate : HP Recovery Rate # mp_rate : MP Recovery Rate #-------------------------------------------------------------------------- def make_guard_recover_value(hp_rate, mp_rate) recover_hp = maxhp * hp_rate / 100 if hp_rate > 0 recover_hp = [1, recover_hp].max elsif hp_rate < 0 recover_hp = [-1, recover_hp].min end recover_mp = maxmp * mp_rate / 100 if mp_rate > 0 recover_mp = [1, recover_mp].max elsif mp_rate < 0 recover_mp = [-1, recover_mp].min end @hp_damage -= recover_hp @mp_damage -= recover_mp end end #==================================End Class===================================# #============================================================================== # ■ Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ○ Apply Recovery Effect #-------------------------------------------------------------------------- def guard_recover_effect clear_action_results make_guard_recover_value( KGC::GuardRecover::HP_RATE_ACTOR, KGC::GuardRecover::MP_RATE_ACTOR) execute_damage(nil) end end #==================================End Class===================================# #============================================================================== # ■ Game_Enemy #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # ○ Apply Recovery Effect #-------------------------------------------------------------------------- def guard_recover_effect clear_action_results make_guard_recover_value( KGC::GuardRecover::HP_RATE_ENEMY, KGC::GuardRecover::MP_RATE_ENEMY) execute_damage(nil) end end #==================================End Class===================================# #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● Execute Battle Action: Guard #-------------------------------------------------------------------------- alias execute_action_guard_KGC_GuardRecover execute_action_guard def execute_action_guard execute_action_guard_KGC_GuardRecover @active_battler.guard_recover_effect if @active_battler.hp_damage != 0 display_damage(@active_battler) elsif @active_battler.mp_damage != 0 display_mp_damage(@active_battler) end end end