Advertisement
DrDhoom

[RGSS3] Damage Variable

Oct 2nd, 2014
302
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.45 KB | None | 0 0
  1. #State notetag: <damage_var: variable id>
  2. module Dhoom
  3.   module REGEXP
  4.     module State
  5.       DAMAGE_VAR = /<(?:damage_var|DAMAGE_VAR):[ ]*(\d+)>/i
  6.     end
  7.   end
  8. end
  9.  
  10. class RPG::State < RPG::BaseItem
  11.  
  12.   attr_reader :damage_var
  13.  
  14.   def load_notetags_damage_var
  15.     self.note.split(/[\r\n]+/).each { |line|    
  16.       case line
  17.       when Dhoom::REGEXP::State::DAMAGE_VAR
  18.         @damage_var = $1.to_i      
  19.       end
  20.     }
  21.   end  
  22. end
  23.  
  24. module DataManager
  25.  
  26.   class <<self; alias load_database_ddamage_var load_database; end
  27.   def self.load_database
  28.     load_database_ddamage_var
  29.     load_notetags_damage_var
  30.   end
  31.  
  32.  
  33.   def self.load_notetags_damage_var
  34.     for obj in $data_states
  35.       next if obj.nil?
  36.       obj.load_notetags_damage_var
  37.     end
  38.   end
  39. end
  40.  
  41. class << BattleManager
  42.   alias dhoom_damagevar_batman_setup setup
  43.   def setup(troop_id, can_escape = true, can_lose = false)
  44.     dhoom_damagevar_batman_setup(troop_id, can_escape, can_lose)
  45.     reset_damage_variables
  46.   end
  47.  
  48.   def reset_damage_variables
  49.     $data_states.each do |state|
  50.       $game_variables[state.damage_var] = 0 if state && state.damage_var
  51.     end
  52.   end
  53. end
  54.  
  55. class Game_ActionResult
  56.   alias dhoom_damagevar_gmbat_make_damage make_damage
  57.   def make_damage(value, item)
  58.     dhoom_damagevar_gmbat_make_damage(value, item)
  59.     @battler.states.each do |state|
  60.       $game_variables[state.damage_var] += value if state.damage_var
  61.     end
  62.   end
  63. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement