IceDragon200

IRS-BlockLevel

Apr 12th, 2011
278
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.09 KB | None | 0 0
  1. # // $game_actors[actor_id].block_level = bool
  2. # // $game_actors[1].block_level = true
  3. # // $game_actors[2].block_level = false
  4. class Game_Actor
  5.  
  6.   attr_accessor :block_level
  7.  
  8.   alias irs_levelblock_initialize initialize unless $@
  9.   def initialize(*args)
  10.     irs_levelblock_initialize(*args)
  11.     @block_level = false
  12.   end
  13.  
  14.   def change_exp(exp, show)
  15.     last_level = @level
  16.     last_skills = skills
  17.     @exp = [[exp, 9999999].min, 0].max
  18.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  19.       level_up
  20.       break if @block_level
  21.     end
  22.     while @exp < @exp_list[@level]
  23.       level_down
  24.       break if @block_level
  25.     end
  26.     @hp = [@hp, maxhp].min
  27.     @mp = [@mp, maxmp].min
  28.     if show and @level > last_level
  29.       display_level_up(skills - last_skills)
  30.     end
  31.   end
  32.  
  33.   alias irs_levelblock_level_up level_up unless $@
  34.   def level_up
  35.     return if @block_level
  36.     irs_levelblock_level_up
  37.   end
  38.  
  39.   alias irs_levelblock_level_down level_down unless $@
  40.   def level_down
  41.     return if @block_level
  42.     irs_levelblock_level_down
  43.   end
  44.  
  45. end
Advertisement
Add Comment
Please, Sign In to add comment