Advertisement
TheoAllen

VXA - Damage Sound

Apr 3rd, 2014
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.17 KB | None | 0 0
  1. module Theo
  2.   # ---------------------------------------------------------------------------
  3.   # Require : YEA - Battle Engine
  4.   # ---------------------------------------------------------------------------
  5.   DmgSound = {
  6.   # ---------------------------------------------------------------------------
  7.   # Daftarkan SE yang mo dipake disini dengan format
  8.   # angka -> ["nama", volume, pitch]
  9.   #
  10.   # Setelah itu pake notetag
  11.   # <dmgsound: n>
  12.   # Dimana n adalah angka buat manggil database SE yang kamu daftarkan di sini
  13.   # ---------------------------------------------------------------------------
  14.   1 => ["Damage1", 80, 100],
  15.   2 => ["Damage2", 80, 100],
  16.   3 => ["Damage3", 80, 100],
  17.   4 => ["Damage4", 80, 100],
  18.   5 => ["Damage5", 80, 100],
  19.   # ---------------------------------------------------------------------------
  20.   }
  21.  
  22. end
  23. # -----------------------------------------------------------------------------
  24. # Udah, nyampe sini aje :v
  25. # -----------------------------------------------------------------------------
  26. class << DataManager
  27.  
  28.   alias theo_dmgsound_load_db load_database
  29.   def load_database
  30.     theo_dmgsound_load_db
  31.     db = $data_actors + $data_enemies
  32.     db.compact.each do |d|
  33.       d.load_dmgsound
  34.     end
  35.   end
  36.  
  37. end
  38.  
  39. class RPG::BaseItem
  40.   attr_accessor :sound_damage
  41.  
  42.   def load_dmgsound
  43.     note.split(/[\r\n]+/).each do |line|
  44.       if line =~ /<dmgsound\s*:\s*(\d+)>/i
  45.         sound = Theo::DmgSound[$1.to_i]
  46.         @sound_damage = RPG::SE.new
  47.         @sound_damage.name = sound[0]
  48.         @sound_damage.volume = sound[1]
  49.         @sound_damage.pitch = sound[2]
  50.       end
  51.     end
  52.   end
  53.  
  54. end
  55.  
  56. class Game_Actor < Game_Battler
  57.  
  58.   def perform_damage_effect
  59.     $game_troop.screen.start_shake(5, 5, 10) if YEA::BATTLE::SCREEN_SHAKE
  60.     @sprite_effect_type = :blink if YEA::BATTLE::BLINK_EFFECTS
  61.     return actor.sound_damage.play if actor.sound_damage
  62.     Sound.play_actor_damage
  63.   end
  64.  
  65. end
  66.  
  67. class Game_Enemy < Game_Battler
  68.  
  69.   def perform_damage_effect
  70.     @sprite_effect_type = :blink if YEA::BATTLE::BLINK_EFFECTS
  71.     return enemy.sound_damage.play if enemy.sound_damage
  72.     Sound.play_enemy_damage
  73.   end
  74.  
  75. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement