#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ¡ß¸ÅÅÏ ÀÚµ¿È¸º¹ £­ KGC_AutoRecover¡ß #_/---------------------------------------------------------------------------- #_/ ¸ÅÅÏ HP/SP¸¦ ÀÚµ¿È¸º¹ ÇÏ´Â ±â´ÉÀ» Ãß°¡ #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #============================================================================== # ¡Ú Ä¿½ºÅ͸¶ÀÌÁî Ç׸ñ ¡Ú #============================================================================== module KGC # ¡ßȸº¹ ŸÀ̹ÖÀ» °áÁ¤ÇÕ´Ï´Ù. ÀÚ½ÅÀÌ ¿øÇÏ´Â Çü½ÄÀ¸·Î ¹Ù²ãÁÖ¼¼¿ä # 0. ÇൿÈÄ 1. ÆÄƼĿ¸Çµå °³½ÃÈÄ # ¡Ø¡ìActive Count Battle¡í»ç¿ë½Ã¿¡´Â 0À¸·Î ¼³Á¤ÇØÁÖ¼¼¿ä AR_RECOVER_TIMING = 0 end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú $imported = {} if $imported == nil $imported["AutoRecover"] = true if $game_special_states == nil $game_special_states = {} $data_states = load_data("Data/States.rxdata") end # ?¸ÅÅÏ ÀÚµ¿ ½ºÅ×ÀÌÅͽº ȸº¹ $game_special_states["auto_recover"] = /(HP|SP)?ȸº¹(\d+)(%|£¥)?/i #¼­½Ä ¿¹ [SPȸº¹5%],[ȸº¹300] ÀÌ·± ½ÄÀ¸·Î ½ºÅ×ÀÌÅͽº ¼­½ÄÀ» Â¥ÁÖ½Ã¸é µË´Ï´Ù. #============================================================================== # ¡á Scene_Battle (ºÐÇÒÁ¤ÀÇ 2) #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ¡Ü ÆÄƼ Ä¿¸Çµå ÆäÀÌÁî °³½Ã #-------------------------------------------------------------------------- alias start_phase2_KGC_AutoRecover start_phase2 def start_phase2 @last_turn = $game_temp.battle_turn if @last_turn == nil if KGC::AR_RECOVER_TIMING == 1 && $game_temp.battle_turn != @last_turn @last_turn = $game_temp.battle_turn ($game_party.actors + $game_troop.enemies).each { |battler| apply_auto_recover(battler) } # ½ºÅ×ÀÌÅͽº À©µµ¿ì¸¦ ¸®Ç÷¹½¬ @status_window.refresh end start_phase2_KGC_AutoRecover end #-------------------------------------------------------------------------- # ¡Ü ÀÚµ¿È¸º¹ Àû¿ë #-------------------------------------------------------------------------- def apply_auto_recover(battler) # ½ºÅ×ÀÌÅͽº ÆÇÁ¤ battler.states.compact.each { |state| # ¸ÅÅÏ ½ºÅ×ÀÌÅͽº ȸº¹ ÆÇÁ¤ next unless $game_special_states["auto_recover"] =~ $data_states[state].name # ȸº¹·®À» Ãëµæ recover = $2.to_i # ȸº¹ÇÏ´Â ÆĶó¸ÞÅÍÀÇ ºÐ±â if $1 != nil case $1.upcase when "HP" # hp ÀÇ °æ¿ì recover_hp = $3 != nil ? battler.maxhp * recover / 100 : recover when "SP" # SP ÀÇ °æ¿ì recover_sp = $3 != nil ? battler.maxsp * recover / 100 : recover end else # HP/SP ¸ðµÎÀÇ °æ¿ì if $3 != nil recover_hp = battler.maxhp * recover / 100 recover_sp = battler.maxsp * recover / 100 else recover_hp = recover recover_sp = recover end end # ȸº¹Ã³¸® battler.hp += recover_hp if recover_hp != nil battler.sp += recover_sp if recover_sp != nil # HPȸº¹Ä¡°¡ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì if recover_hp != nil && recover_hp > 0 battler.damage = -recover_hp if $imported["SPDamage"] && recover_sp != nil if battler.sp_damage != nil battler.sp_damage -= recover_sp else battler.sp_damage = -recover_sp end end battler.damage_pop = true # SPȸº¹Ä¡¸¸ ¼³Á¤µÇ¾î ÀÖ´Â °æ¿ì elsif recover_sp != nil && recover_sp > 0 battler.damage = nil if $imported["SPDamage"] if battler.sp_damage != nil battler.sp_damage -= recover_sp else battler.sp_damage = -recover_sp end else battler.damage = "#{$data_system.words.sp}+ #{recover_sp}" end battler.damage_pop = true end } end end #¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú¡Ù¡Ú #============================================================================== # ¡á Scene_Battle (ºÐÇÒÁ¤ÀÇ 4) #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ¡Ü ÇÁ·¹ÀÓÀÇ °»½Å (¸ÞÀÎ ÆäÀÌÁî ½ºÅÜ 6 : ¸®ÇÁ·¹½¬) #-------------------------------------------------------------------------- alias update_phase4_step6_KGC_AutoRecover update_phase4_step6 def update_phase4_step6 update_phase4_step6_KGC_AutoRecover # ÇൿÀÚ°¡ »ýÁ¸ÇÏ°í ÀÖ´Â °æ¿ì if KGC::AR_RECOVER_TIMING == 0 && !@active_battler.dead? # ÀÚµ¿È¸º¹ apply_auto_recover(@active_battler) # ½ºÅ×ÀÌÅͽº À©µµ¿ì¸¦ ¸®ÇÁ·¹½¬ @status_window.refresh if @active_battler.damage_pop end end end