Actor Damage Sounds

Rinobi

Veteran
Veteran
Joined
Mar 24, 2014
Messages
572
Reaction score
217
First Language
English
Primarily Uses
RMVXA

Actor Damage Sounds
by: Rinobi



Version History

  • 1.00 [12/05/2015] Initial Release
  • 1.10 [12/06/2015] ATB Compatability Update
  • 1.20 [12/08/2015] Fixed occasional crash when enemy attacks.
  • 1.30 [12/09/2015] Fixed crash when unarmored actor is damaged.
  • 1.70 [12/10/2015] Major update. Fixed double sound effect bug.
    Added sound options for barehanded and unarmored.
    Shield armor types now have priority while actor is guarding.
    Sensible default settings for making easy distinctions.
  • 1.80 [01/07/2016] Option to include/exclude weapon SE from skills added.
  • 2.00 [08/10/2016] Note tags added. Screen shake options included.





Introduction


This script allows damage sound effects to be assigned for specific weapons and armor types.


Note tags can also be used to give skills unique damage sound and screen-shake effects.




Features

  • Weapons and armors can now have their own sound effects.
  • Note tags allow skills to have unique sound and screen shake effects.





Screenshots

ADS_00.PNGADS_01.PNG


Script

module RINOBI module ActorSound # DO NOT MODIFY
#===============================================================================
# Actor Damage Sounds
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# By: Rinobi
#------------------------------------------------------------------------------
#
# Damage sound effects can now be assigned for specific weapons and armors.
#
#==============================================================================
# # VERSION HISTORY
#------------------------------------------------------------------------------
# @ 1.0 [12/05/2015] Completed
# @ 1.1 [12/06/2015] ATB Compatability Update
# @ 1.2 [12/08/2015] Fixed occasional crash when enemy attacks.
# @ 1.3 [12/09/2015] Fixed crash when actor is damaged without equipped armor.
# @ 1.7 [12/10/2015] Major update. Fixed double sound effect bug.
# Added sound options for barehanded and no armor.
# Shield Armor types have priority while guarding.
# Sensible default settings for making easy distinctions.
# @ 1.8 [01/07/2016] Option to include/exclude weapon SE from skills added.
# @ 2.0 [08/10/2016] Note tags added. Screen shake options included.
#==============================================================================
# # INSTRUCTIONS
#------------------------------------------------------------------------------
# Paste this script below Materials and above Main Process.
# See 'SETTINGS' for addtional instructions.
#-
#------------------------------------------------
# <Sound: file_name, volume, pitch>
#------------------------------------------------
# Place within the 'Note' textbox of 'Skills'
#-
# The sound effect to be played upon dealing
# damage to the target with said skill.
#-
# EX: <Sound: Gun1, 100, 60>
#------------------------------------------------
# <Shake: power, speed, duration>
#------------------------------------------------
# Place within the 'Note' textbox of 'Skills'
#-
# The screen shake effect to be used used upon
# dealing damage to the target with said skill.
#-
# EX: <Shake: 5, 10, 20>
#==============================================================================
# # SETTINGS
# -----------------------------------------------------------------------------
# Adjust the below settings to your liking.
#-

#======================================================================
# >> Armor Slot
# ---------------------------------------------------------------------
# The slot id for armor. Recommended settins 2 or 3. This controls
# which equipment slot actor damage sound effects relate to.
#-
# Weapon = 0 , Shield = 1 , Head = 2 , Body = 3 , Accessory = 4
#======================================================================
ArmorSlot = 3 # Default 3, Ignored if guarding with a shield.

#======================================================================
# >> Guard Slot
# ---------------------------------------------------------------------
# Allows an alternate sound effect to be played while an actor is
# guarding. The armor type of the equipment slot below will take
# priority over the above setting.
#-
# Weapon = 0 , Shield = 1 , Head = 2 , Body = 3 , Accessory = 4
#======================================================================
GuardSlot = 1 # Default 1, Has priority while guarding with a shield.

#======================================================================
# >> Skill SE
# ---------------------------------------------------------------------
# Controls whether or skills other than Attack inherit sound effects
# from weapons. Sound effect note tags will always take priority.
#-
# true or false
#======================================================================
Use_Attack_SE = false # Skills use Normal Attack SE by default.

#======================================================================
# >> Default Screen Shake
# ---------------------------------------------------------------------
# Controls the default settings for the screen shake effect. To disable
# screen shake for actors or enemies, set either of the below values to
# to nil. If disabled, note tags will still trigger screen shake.
#-
# [Power, Speed, Duration]
#======================================================================
Enemy_Screen_Shake = nil # When Enemy Recieves Damage.
Actor_Screen_Shake = [5, 5, 10] # When Actor Recieves Damage.

#======================================================================
# >> Armor SE Settings
# ---------------------------------------------------------------------
# Sound effect played when an actor recieves damage.
# Sound effect file names found in (Project_Name)/Audio/SE
# The below list is ordered by Armor Type IDs, with 0 being the
# SE used when no armor is equipped. Addtional armor types may be
# added or removed from the list below.
#======================================================================
ActorArmor = { #
0 => {:File => "Damage3", :Volume => 99, :pitch => 100}, # Naked
1 => {:File => "Damage3", :Volume => 95, :pitch => 120}, # General Armor
2 => {:File => "Damage2", :Volume => 90, :pitch => 150}, # Magic Armor
3 => {:File => "Damage4", :Volume => 85, :pitch => 110}, # Light Armor
4 => {:File => "Damage1", :Volume => 80, :pitch => 150}, # Heavy Armor
} # DO NOT MODIFY

#======================================================================
# >> Weapon SE Settings
# ---------------------------------------------------------------------
# Sound effect played when an enemy recieves damage.
# Sound effect file names found in (Project_Name)/Audio/SE
# The below list is ordered by Weapon Type IDs, with 0 being the
# SE used when no weapon is equipped. Addtional weapon types may be
# added or removed from the list below.
#======================================================================
ActorWeapon = { #
0 => {:File => "Blow3" , :Volume => 87, :pitch => 125}, # Barehanded
1 => {:File => "Slash1" , :Volume => 99, :pitch => 95}, # Axe
2 => {:File => "Slash2" , :Volume => 70, :pitch => 150}, # Claw
3 => {:File => "Slash10", :Volume => 80, :pitch => 130}, # Spear
4 => {:File => "Sword3" , :Volume => 78, :pitch => 150}, # Sword
5 => {:File => "Flash2" , :Volume => 85, :pitch => 150}, # Katana
6 => {:File => "Bow3" , :Volume => 80, :pitch => 100}, # Bow
7 => {:File => "Slash1" , :Volume => 65, :pitch => 150}, # Dagger
8 => {:File => "Blow8" , :Volume => 99, :pitch => 90}, # Hammer
9 => {:File => "Blow3" , :Volume => 72, :pitch => 125}, # Staff
10 => {:File => "Gun1" , :Volume => 90, :pitch => 100}, # Gun
} # DO NOT MODIFY
#==============================================================================
# # COMPATIBILITY
#------------------------------------------------------------------------------
# Created for use within RPG Maker VX Ace
#-
# Alias Methods:
# @ prepare in Game_Action
# @ perform_damage_effect in Game_Actor
# @ perform_damage_effect in Game_Enemy
#===============================================================================
# ** End of Settings
#-------------------------------------------------------------------------------
# Editing beyond this line may result in undesirable side-effects.
#===============================================================================

#======================================================================
# >> Regexp Module
#======================================================================
module Regexp
Sound_Override = /<Sound:[ ](.*?),[ ](\d+),[ ](\d+)>/i
Shake_Override = /<Shake:[ ](\d+),[ ](\d+),[ ](\d+)>/i
end # Regexp

end end # DO NOT MODIFY
#==============================================================================
# ** IMPORT SCRIPT
#------------------------------------------------------------------------------
$imported = {} if $imported.nil?
$imported[:RIN_ADamageSounds] = true
#==============================================================================
# ** Game_Action
#------------------------------------------------------------------------------
# This class handles battle actions. This class is used within the
# Game_Battler class.
#==============================================================================
class Game_Action
#--------------------------------------------------------------------------
# * Alias Method: prepare
#--------------------------------------------------------------------------
alias :se_prepare :prepare
def prepare ; se_prepare = $acting = @subject end # prepare
end # Game_Action
#==============================================================================
# ** Game_Actor
#------------------------------------------------------------------------------
# This class handles actors. It is used within the Game_Actors class
# ($game_actors) and is also referenced from the Game_Party class ($game_party).
#==============================================================================
class Game_Actor < Game_Battler
include RINOBI::ActorSound
#--------------------------------------------------------------------------
# * Alias Method: Execute Damage Effect
#--------------------------------------------------------------------------
alias :rinse_damage_effect :perform_damage_effect
def perform_damage_effect
return rinse_damage_effect unless $game_party.in_battle
if guard? && equips[GuardSlot].is_a?(RPG::Armor)
armor = equips[GuardSlot].atype_id
elsif equips[ArmorSlot].nil? then armor = 0
else armor = equips[ArmorSlot].atype_id end #--
return rinse_damage_effect unless ActorArmor.include?(armor)
file = ActorArmor[armor][:File]
volume = ActorArmor[armor][:Volume]
pitch = ActorArmor[armor][:pitch]
if $acting.current_action.item.note =~ Regexp::Shake_Override
$game_troop.screen.start_shake($1.to_i, $2.to_i, $3.to_i)
elsif !Actor_Screen_Shake.nil?
ess = Actor_Screen_Shake
$game_troop.screen.start_shake(ess[0], ess[0], ess[0])
end #--
@sprite_effect_type = :blink
RPG::SE.new(file, volume, pitch).play
end # perform_damage_effect
end # Game_Actor
#==============================================================================
# ** Game_Enemy
#------------------------------------------------------------------------------
# This class handles enemies. It used within the Game_Troop class
# ($game_troop).
#==============================================================================
class Game_Enemy < Game_Battler
include RINOBI::ActorSound
#--------------------------------------------------------------------------
# * Alias Method: Execute Damage Effect
#--------------------------------------------------------------------------
alias :rinse_damage_effect :perform_damage_effect
def perform_damage_effect
return rinse_damage_effect unless $acting.is_a?(Game_Actor)
if $acting.equips[0].nil? then weapon = 0
else weapon = $acting.equips[0].wtype_id end #--
if $acting.current_action.item.note =~ Regexp::Sound_Override
file, volume, pitch = $1, $2.to_i, $3.to_i
else
unless $acting.current_action.attack?
return rinse_damage_effect unless Use_Attack_SE
end #--
file = ActorWeapon[weapon][:File]
volume = ActorWeapon[weapon][:Volume]
pitch = ActorWeapon[weapon][:pitch]
end #--
if $acting.current_action.item.note =~ Regexp::Shake_Override
$game_troop.screen.start_shake($1.to_i, $2.to_i, $3.to_i)
elsif !Enemy_Screen_Shake.nil?
ess = Enemy_Screen_Shake
$game_troop.screen.start_shake(ess[0], ess[0], ess[0])
end #--
@sprite_effect_type = :blink
RPG::SE.new(file, volume, pitch).play
end # perform_damage_effect
end # Game_Enemy
#==============================================================================
# @@@@@ @ @ @@@@ @@@@@ @@@@@ @@@@@ @@@@@ @@@@ @@@@@ @@@@@ @@@@@
# @ @@ @ @ @ @ @ @ @ @ @ @ @ @ @ @
# @@@@@ @ @ @ @ @ @ @ @@@@ @@@@@ @ @@@@ @ @@@@@ @
# @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @
# @@@@@ @ @ @@@@ @@@@@ @ @@@@@ @@@@@ @ @ @@@@@ @ @
#==============================================================================



Latest Version: View attachment ActorDamageSounds_20.txt


Previous Version: ActorDamageSounds_18.txt
 

Attachments

Last edited by a moderator:

Rinobi

Veteran
Veteran
Joined
Mar 24, 2014
Messages
572
Reaction score
217
First Language
English
Primarily Uses
RMVXA
Updated to version 1.2... I added text file download just in case.
 

Rinobi

Veteran
Veteran
Joined
Mar 24, 2014
Messages
572
Reaction score
217
First Language
English
Primarily Uses
RMVXA
Updated to version 1.7.
 

Rinobi

Veteran
Veteran
Joined
Mar 24, 2014
Messages
572
Reaction score
217
First Language
English
Primarily Uses
RMVXA
Updated to version 1.8.
 

Rinobi

Veteran
Veteran
Joined
Mar 24, 2014
Messages
572
Reaction score
217
First Language
English
Primarily Uses
RMVXA
Updated to version 2.0.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Kid : "MOOOMM! My poop is bloody red!" Me, an intellectual : "There's worm parasite inside your body. You gonna die soon."
Caught a guy trying to break into our house today. Appearantly he intended to burgle our neighbor (a 94yo widow) but picked the wrong house. Faced with two angry males he was quick to give up without a fight...
I just joined the club of nerds making their own Excel-Sheets to calculate HP / MP / EXP.. parameter curves
Me: "Finally finished most of my game backlog. Probably time to do some gamedev" | Steam: *offer sales*
If I recorded while I created (what I think is) a small plugin, would you be interested enough in the process to watch it?

Forum statistics

Threads
94,596
Messages
922,205
Members
124,472
Latest member
Lanzy
Top