TroyZ

TroyZ - States Damage Bomb (Prototype, free to edit))

Nov 28th, 2013
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.78 KB | None | 0 0
  1. $imported = {} if $imported.nil?
  2. $imported[:TroyZ_StatesDamageBomb] = true
  3. # ------------------------------------------------------------------------------
  4. # There is nothing to config beyond this line
  5. # ------------------------------------------------------------------------------
  6. module AGUNG
  7.   module DAMAGE_BOMB
  8.     DAMAGE_BOMB_MODIFIER_DEFAULT = 0
  9.   end
  10.  
  11.   module NOTETAGS_DAMAGE_BOMB
  12.     DAMAGE_BOMB_MODIFIER = /<(?:DAMAGE BOMB MODIFIER|damage bomb modifier):[ ]*(\d+)>/i
  13.   end
  14. end
  15.  
  16. module DataManager
  17.   class << self
  18.     alias agung_load_states_damage_bomb_dbase_x    load_database
  19.   end
  20.  
  21.   def self.load_database
  22.     agung_load_states_damage_bomb_dbase_x
  23.     agung_load_notetags_damage_bomb_x
  24.   end
  25.  
  26.   def self.agung_load_notetags_damage_bomb_x
  27.     [$data_states].each do |states|
  28.       states.each do |obj|
  29.         next unless obj
  30.         obj.agung_load_notetags_damage_bomb_x
  31.       end
  32.     end
  33.   end
  34. end
  35.  
  36. class RPG::State < RPG::BaseItem
  37.  
  38.   include AGUNG::DAMAGE_BOMB
  39.   include AGUNG::NOTETAGS_DAMAGE_BOMB
  40.  
  41.   attr_accessor :damage_bomb_modifier
  42.   attr_accessor :damage_bomb_total_damage
  43.  
  44.   def agung_load_notetags_damage_bomb_x
  45.     @damage_bomb_modifier = DAMAGE_BOMB_MODIFIER_DEFAULT
  46.     @damage_bomb_total_damage = 0
  47.     self.note.split(/[\r\n]+/).each { |baris|
  48.       case baris
  49.       when DAMAGE_BOMB_MODIFIER
  50.         @damage_bomb_modifier = $1.to_f
  51.       end
  52.     }
  53.   end  
  54. end
  55.  
  56. class Game_BattlerBase
  57.   alias agung_clear_states_damage_bomb_x    clear_states
  58.   def clear_states
  59.     agung_clear_states_damage_bomb_x
  60.     @state_damage_bomb = {}
  61.   end
  62.  
  63.   alias agung_erase_state_damage_bomb_x   erase_state
  64.   def erase_state(state_id)
  65.     agung_erase_state_damage_bomb_x(state_id)
  66.     @state_damage_bomb.delete(state_id)
  67.   end
  68. end
  69.  
  70. class Game_Battler < Game_BattlerBase
  71.   def reset_state_damage_bomb_x(state_id)
  72.     state = $data_states[state_id]
  73.     @state_damage_bomb[state_id] = state.damage_bomb_total_damage    
  74.   end
  75.  
  76.   alias agung_reset_state_counts_damage_bomb_x    agung_reset_state_counts_x
  77.   def agung_reset_state_counts_x(state_id)
  78.     agung_reset_state_counts_damage_bomb_x(state_id)
  79.     reset_state_damage_bomb_x(state_id)
  80.   end
  81.  
  82.   def update_state_turns
  83.     states.each do |state|
  84.       @state_turns[state.id] -= 1 if @state_turns[state.id] > 0
  85.       @state_damage_bomb[state.id] = @state_damage_bomb[state.id] + @result.hp_damage
  86.       puts @state_damage_bomb[state.id]
  87.     end
  88.   end
  89.  
  90.   def update_states_damage_bomb_x
  91.     states.each do |state|
  92.       if @state_damage_bomb_mod[state.id] > 0
  93.        
  94.       end
  95.     end
  96.   end
  97. end
  98. # ------------------------------------------------------------------------------
  99. # END OF SCRIPT
  100. # ------------------------------------------------------------------------------
Add Comment
Please, Sign In to add comment