09-29-2009, 01:22 AM 
	
	
	Individual Troop Themes XP
Version: 1
Version: 1
Introduction
This script allows game makers to give a specific Troop ID their own theme song. Useful for Boss battles and other unique battles.
Features
- Give a specific troop ID their own theme.
 
- Set the song, volume and pitch.
 
Screenshots
No screencaps.
Demo
No demo is needed.
Script
Code:
=begin
????????????????????????????????????????????????????????????????????????????????
? Individual Troop Themes XP                                                   ?
? by PK8                                                                       ?
? September 28th, 2009                                                         ?
? http://rmvxp.com                                                             ?
????????????????????????????????????????????????????????????????????????????????
? ? Table of Contents                                                          ?
? ?? Author's Notes                - Line 16?18                                ?
? ?? Introduction & Description    - Line 20?22                                ?
? ?? Features                      - Line 24?26                                ?
? ?? How to Use                    - Line 28?30                                ?
? ?? Methods Aliased               - Line 32,33                                ?
? ?? Thanks                        - Line 35,36                                ?
????????????????????????????????????????????????????????????????????????????????
? ? Author's Notes                                                             ?
? This script was requested by a user in HBGames.org's IRC channel (I forgot   ?
? his name) and I was interested in creating this script so... here you go!    ?
????????????????????????????????????????????????????????????????????????????????
? ? Introduction & Description                                                 ?
? This script allows game makers to give a specific Troop ID their own theme   ?
? song. Useful for Boss battles and other unique battles.                      ?
????????????????????????????????????????????????????????????????????????????????
? ? Features                                                                   ?
? ? Give a specific troop ID their own theme.                                  ?
? ? Set the song, volume and pitch.                                            ?
????????????????????????????????????????????????????????????????????????????????
? ? How to Use                                                                 ?
? To give a troop ID their own battle theme, simply type this:                 ?
? Troops_Theme[id] = ["file", volume, pitch]                                   ?
????????????????????????????????????????????????????????????????????????????????
? ? Methods Aliased                                                            ?
? ? initialize of Spriteset_Battle                                             ?
????????????????????????????????????????????????????????????????????????????????
? ? Thanks                                                                     ?
? ? JoeYoung requested something like this in the HBGames.org's IRC channel.   ?
????????????????????????????????????????????????????????????????????????????????
=end
#------------------------------------------------------------------------------
# * Customise
#------------------------------------------------------------------------------
class PK8
  Troops_Theme = {} # Do not touch this.
  
  #          [id] = [Music File, Volume, Pitch]
  Troops_Theme[1] = ["002-Battle02", 100, 100]
  Troops_Theme[2] = ["009-LastBoss01", 100, 100]
end
#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
#  This class brings together battle screen sprites. It's used within
#  the Scene_Battle class.
#==============================================================================
class Spriteset_Battle
  alias_method(:pk8_troops_theme_initialize, :initialize)
  def initialize
    pk8_troops_theme_initialize
    start_troop_theme
  end
  
  #----------------------------------------------------------------------------
  # * Start Troop Theme
  #----------------------------------------------------------------------------
  def start_troop_theme
    PK8::Troops_Theme.each_key { | i |
    # If Troop ID equals the key.
    if $game_temp.battle_troop_id == i
      # If specified BGM isn't nil or empty.
      if PK8::Troops_Theme[i][0] != nil and !PK8::Troops_Theme[i][0].empty?
        # Sets BGM volume to 100 if nil.
        PK8::Troops_Theme[i][1] = 100 if PK8::Troops_Theme[i][1] == nil
        # Sets BGM pitch to 100 if nil.
        PK8::Troops_Theme[i][2] = 100 if PK8::Troops_Theme[i][2] == nil
        # Plays BGM.
        Audio.bgm_play("Audio/BGM/#{PK8::Troops_Theme[i][0]}",
        PK8::Troops_Theme[i][1], PK8::Troops_Theme[i][2])
      end
      break 
    end }
  end
endInstructions
Instructions are in the script.
FAQ
Awaiting question.
Compatibility
I'm not sure if it's compatible with the SDK or any custom battle scripts. This script aliases Spriteset_Battle's initialize method.
Credits and Thanks
JoeYoung requested something like this in HBGames.org's IRC channel.
Author's Notes
This script was requested by someone, I was interested, voila! :P
Terms and Conditions
Exclusive to RMVXP.co.cc and HBGames.org. Credit me!

 
 
 Individual Troop Themes XP
 Individual Troop Themes XP
 

