Advertisement
roninator2

Skill BGM

Dec 10th, 2024
42
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 6.34 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Skill BGM                              ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║ Allow skills to use their own BGM             ║    01 Dec 2021     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║ For each skill set the note tag for the BGM to play                ║
  16. # ║ Will do nothing if there is no tag                                 ║
  17. # ╚════════════════════════════════════════════════════════════════════╝
  18. # ╔════════════════════════════════════════════════════════════════════╗
  19. # ║ Instructions:                                                      ║
  20. # ║   Place <skill bgm: theme1> in the skill notebox                   ║
  21. # ║   The BGM is played when the skill is used                         ║
  22. # ╚════════════════════════════════════════════════════════════════════╝
  23. # ╔════════════════════════════════════════════════════════════════════╗
  24. # ║ Updates:                                                           ║
  25. # ║ 1.00 - 01 Dec 2021 - Script finished                               ║
  26. # ║                                                                    ║
  27. # ╚════════════════════════════════════════════════════════════════════╝
  28. # ╔════════════════════════════════════════════════════════════════════╗
  29. # ║ Credits and Thanks:                                                ║
  30. # ║   Roninator2                                                       ║
  31. # ║                                                                    ║
  32. # ╚════════════════════════════════════════════════════════════════════╝
  33. # ╔════════════════════════════════════════════════════════════════════╗
  34. # ║ Terms of use:                                                      ║
  35. # ║  Follow the original Authors terms of use where applicable         ║
  36. # ║    - When not made by me (Roninator2)                              ║
  37. # ║  Free for all uses in RPG Maker except nudity                      ║
  38. # ║  Anyone using this script in their project before these terms      ║
  39. # ║  were changed are allowed to use this script even if it conflicts  ║
  40. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  41. # ║  No part of this code can be used with AI programs or tools        ║
  42. # ║  Credit must be given                                              ║
  43. # ╚════════════════════════════════════════════════════════════════════╝
  44.  
  45. module R2_BGM_Skill_Play
  46.   Regex = /<skill[-_ ]bgm(?::\s*(\w+))?>/i
  47. end
  48.  
  49. module RPG
  50.   class Skill
  51.     def bgm_skill_play
  52.       load_skill_bgm unless @bgm_skill != nil
  53.       return @bgm_skill
  54.     end
  55.     def load_skill_bgm
  56.       @bgm_skill = nil
  57.       res = self.note.scan(R2_BGM_Skill_Play::Regex)
  58.       res.each do
  59.         @bgm_skill = $1.to_s
  60.       end
  61.       return @bgm_skill
  62.     end
  63.   end
  64. end
  65.  
  66. class Game_Battler < Game_BattlerBase
  67.  
  68.   def change_skill_bgm(item)
  69.     return unless item.is_a?(RPG::Skill)
  70.     return item.bgm_skill_play
  71.   end
  72. end
  73.  
  74. class Scene_Battle < Scene_Base
  75.   alias r2_use_item_bgm_skill use_item
  76.   def use_item
  77.     item = @subject.current_action.item
  78.     song = @subject.change_skill_bgm(item)
  79.     curr_bgm = RPG::BGM.last
  80.     pos = curr_bgm.pos
  81.     if song != nil
  82.       RPG::BGM.stop
  83.       new_bgm = RPG::BGM.new("#{song}", 100, 100)
  84.       new_bgm.play
  85.     end
  86.     r2_use_item_bgm_skill
  87.     if song != nil
  88.       RPG::BGM.stop
  89.       curr_bgm.play(pos)
  90.     end
  91.   end
  92. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement