IceDragon200

Simple Hp / Mp Recovery Rate

Oct 7th, 2011
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.96 KB | None | 0 0
  1. # // Simple Hp / Mp Recovery Rate by IceDragon
  2. # // Simply put <hp_rate: +/-n> or <mp_rate: +/-n> in a skill's notebox
  3. # // EG.
  4. # //   <hp_rate: +50> # Recover 50%
  5. # //   <hp_rate: -50> # Lose 50%
  6. class RPG::Skill
  7.  
  8.   def hp_rate()
  9.     @hp_rate ||= self.note =~ /<hp_rate:[ ]([\+\-]?\d+)>/i ? $1.to_i : 0
  10.     return @hp_rate
  11.   end
  12.  
  13.   def mp_rate
  14.     @mp_rate ||= self.note =~ /<mp_rate:[ ]([\+\-]?\d+)>/i ? $1.to_i : 0
  15.     return @mp_rate
  16.   end
  17.  
  18. end
  19.  
  20. class Game_Battler
  21.  
  22.   alias :perc_rec_skill_effect :skill_effect unless $@
  23.   def skill_effect( user, obj )
  24.     perc_rec_skill_effect( user, obj )
  25.     return if @skipped || @missed || @evaded
  26.     if obj.hp_rate != 0
  27.       old_hp = self.hp
  28.       self.hp += self.maxhp * obj.hp_rate / 100  
  29.       @hp_damage -= self.hp - old_hp
  30.     end  
  31.     if obj.mp_rate != 0
  32.       old_mp = self.mp
  33.       self.mp += self.maxmp * obj.mp_rate / 100  
  34.       @mp_damage -= self.mp - old_mp
  35.     end
  36.   end
  37.  
  38. end
Advertisement
Add Comment
Please, Sign In to add comment