#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ #_/ ◆ Reverse Damage State - KGC_ReverseDamage ◆ VX ◆ #_/ ◇ Last update: 04/11/2009 #_/ ◆ 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 create states that can reverse the effects of #_/ damage to recovery. #_/============================================================================ #_/ ◆ Instructions For Usage ◆ #_/ To make use of this function, you must insert the tag into the "Note" box #_/ located in the states section of the database. For example, you want to #_/ create a state called "Reversal". You would then insert or #_/ in that state's "Note" box. #_/============================================================================ #_/ Install: Insert above main. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ $imported = {} if $imported == nil $imported["ReverseDamage"] = true module KGC module ReverseDamage # Regular expressions module module Regexp # State module module State # Reverse damage tag string REVERSE_DAMAGE = /<(?:REVERSE_DAMAGE|reverse)>/i end end end end #-------------------------------------------------------------------------- #============================================================================== # ■ RPG::State #============================================================================== class RPG::State #-------------------------------------------------------------------------- # ○ Generate reverse damage cache #-------------------------------------------------------------------------- def create_reverse_damage_cache @__reverse_damage = false self.note.each_line { |line| case line when KGC::ReverseDamage::Regexp::State::REVERSE_DAMAGE # リバースダメージ @__reverse_damage = true end } end #-------------------------------------------------------------------------- # ○ Determine if state reverses damage #-------------------------------------------------------------------------- def reverse_damage? create_reverse_damage_cache if @__reverse_damage == nil return @__reverse_damage end end #-------------------------------------------------------------------------- #============================================================================== # ■ Game_Battler #============================================================================== class Game_Battler #-------------------------------------------------------------------------- # ○ Determine if battler's state reverses damage #-------------------------------------------------------------------------- def reverse_damage? self.states.each { |state| return true if state.reverse_damage? } return false end #-------------------------------------------------------------------------- # ● Execute Damage (Reverse) # user : The user of the damaging command # Call @hp_damage, @mp_damage, and @absorbed before setting. #-------------------------------------------------------------------------- alias execute_damage_KGC_ReverseDamage execute_damage def execute_damage(user) if reverse_damage? @hp_damage = -@hp_damage @mp_damage = -@mp_damage end # Run original process execute_damage_KGC_ReverseDamage(user) end end