A downloadable plugin

Buy Now$8.00 USD or more

Allows in-battle voice acting, which can be customized for each character and situation. You can have the clips play in a variety of contexts, and with Yanfly's Action Core can even have them play in the middle of skill animations, while still keeping them free for actors and enemies alike to use without speaking in each other's voices. You can even have characters carry on complete conversations mid-battle!

SOME OF THESE FEATURES ARE NOT YET SUPPORTED BY THE MZ VERSION OF THIS PLUGIN.

Part 1: Voice tags

In any actor or enemy that you want to give voice acting, put a "voice" tag in their "Note" box as follows:

<voice>
tag|voiceFileClip|param1=value|param2=value|...
tag|voiceFileClip|param1=value|param2=value|...
</voice>

(The character between parameters is shift-backslash.)

Put all the appropriate voice clips (in .ogg or .mp4 format) in your audio\se folder.

Clip tags

These are what you'll use to call the voice clips. The same tag can be used for different actors/enemies to be used in the same context. These can be any string of letters, digits, and underscores, though some have special purposes.

A unit may have more than one instance of a tag. In that case, when the tag is called, one random valid clip will play.

The following tags have special purposes:

battlestart - Plays at the beginning of battle. Enemies take precedence; if any enemy has a valid "battlestart" tag, theirs will play (chosen randomly  from all valid tags.) If no enemies have one, then a random actor's  "battlestart" tag will be chosen instead (if one can be found.)

battleend - For actors only, plays at the end of a battle. One random  battleend or battlevictory clip will play at the end of a battle.

battlevictory - For actors only, plays when that actor had the final turn in battle (this typically means they'll have dealt the final blow). One random battleend or battlevictory clip will play at the end of a battle.

hurt - Plays when the unit takes damage. The "Play Damage Sound Effect with Hurt Clips" setting determines whether the default damage sound effect plays with these clips, but it will always play if no clip is valid.

dodge - Plays when the unit is the target of an attack that does not hit him or her, whether due to simply missing or being blocked by equipment. The "Play Evasion Sound Effect with Dodge Clips" setting determines whether the default miss/evasion sounds play with these clips, but it will always play if no clip is valid.

ko - Plays when this unit is KO'd. This is "forced", meaning it plays even if the unit has a state with the <novoice> tag. The assigned "collapse" sound effect will play after the voice clip is finished. If more than one unit is KO'd simultaneously, then whichever one the system resolved first will be the one to get their voice clip played.

turnstart - For actors only, plays when the actor's command window appears. If the actor has a state that prevents command windows from appearing, this clip won't play.

escape - For actors only, plays before the party attempts to flee battle, meaning before it has been determined whether the attempt will be successful. In battle systems where you "Escape" from a party menu, a random actor with a valid "escape" clip will be selected; in battle systems where individual actors can access the "Escape" command, it will only select clips from the active actor.

escapesuccess - For actors only, plays while the party is successfully escaping. If there is a valid "escape" clip, it will play that first, and then an "escapesuccess" using the same actor (and play no clip if that actor has none). If there isn't, then it will determine which actor's clip to play the same way as the "escape" tag. The "Play Escape Sound Effect with Escape Clips" setting determines whether the default escape sound plays with this clip, but it will always play if no clip is valid.

escapefail - For actors only, plays while the party tries and fails to escape. Everything mentioned under "escapesuccess" applies to escapefail as well.

none/user/target - These words have reserved uses in action sequences, and should not be defined for them. (They are, however, still valid for responses if you really want to use them there for some reason.)

Voice Sound File

For the second parameter of each clip, just give the name of the sound file to be used as a voice clip (do not include the file extension.)

If "none" is used, even if you have a sound file named "none", no clip will play when the line is selected. (Clips with "none" can still have responses, though!) This is not the same as not having the tag at all -- in cases, such as "battlestart", a "none" clip can be chosen to play (which will then play nothing), but if a unit doesn't have a "battlestart" clip at all, they will never be chosen.

Optional Parameters

Volume

|volume=80|

Sets the volume of the clip. Defaults to 100.

Pitch

|pitch=120|

Sets the pitch of the clip. Defaults to 100.

Pan

|pan=15|

Sets the pan of the clip. If "Auto-Pan" is set, the pan of the clip will be based on the X-position of the speaker in side-view battles (requires Yanfly's Battle Engine Core.) But this setting will override that when set.

Motion - Requires Yanfly Action Sequences Part 2 

|motion=guard|

When the voice clip is played, the unit will hold the indicated pose. Pose names are standard (walk, guard, chant, etc.)

Subtitles

|sub=Bob: This is what I say at the start of battles!|

If subtitles are turned on, this voice clip will get the chosen subtitle added to the bottom of the screen when played. Subtitles can be turned on and off via the Options menu (the plugin's parameters can define whether subtitles are available at the beginning of the game, and can be used to disable them in the Options menu entry.)

Subtitles allow most text codes, but can only be one line long.

Response

|response=actor3 responseTag required|

Any clip that has the "response" parameter allows another unit to respond. The unit should be defined as actor# or enemy# (where the # is the index of the actor or enemy in the database, irrespective of their position in battle.) The tag is the usual clip tag.

For the last parameter, use "optional", "required", or "forced".

optional - The speaker can use this clip even if the responder is not in the  battle, or cannot speak. There just won't be a response. (This is the default behavior.)

required - If the responder is not present or cannot speak, the original speaker will not use this clip at all.

forced - If the responder is not present, the speaker cannot use this clip,  but it treats the response as forced, so states with the <novoice> tag will  be ignored.

WARNING: Do not have response "conversations" loop back to tags that were already used by the same actor earlier in the "conversation"! If the responses are required or forced, this will likely crash the game! If they're optional, and there are other non-looping options for them to switch to, it shouldn't crash or lock up, but they can still keep chatting in circles for a while, so you really shouldn't do it.

Forced

|forced|

Any clip with this tag will ignore states with the <novoice> tag. KO clips (when used for their normal purpose) will always be forced, as will responses with the "forced" subparameter.

Conditions - Advanced

|condition=speaker.hp > 500|

Apply a condition to clips. They will not play unless the condition applies. Conditions must be written in Javascript, but DO NOT use the "||" operator (since the "|" character separates parameters); the keyword "or", surrounded by spaces, will function instead. ("&&" is fine.) For the sake of conditions, "speaker" can be used to refer to the unit saying the line. In an action sequence (see below), "user" and "target" can be used to refer to the unit that used the current skill, and the unit that is the target of the skill.

WARNING: If not being used as part of a skill's action sequence, "user" and "target" have no meaning, so if they're included in the condition at all, the condition will always evaluate to "true"!

Part 2: Using with Yanfly's Action Sequences

If you are using Yanfly's Action Sequences, this plugin is compatible and picks up some extra features! In the middle of any action sequence you like, include:

VOICE speaker: tag, tag, tag, ...

When this line is hit, the indicated speaker will say any valid line from the list of tags given. The speaker is indicated in the same way as all relevant Action Sequence lines (user, target, character 3, friends, etc.) Even if there is more than one valid speaker with available clips, only one clip will be chosen. At least one tag must be included, but more than one can be listed. (For example, you can assign "cast" to clips that apply to any magic spell, and "fire" specifically to Fire spells, and include both in the same line when casting Fire. One will be selected at random.)

There are a few special tags with specific functions in Action Sequences:

none - No clip will play if this is chosen.

target - If there is exactly one target of the skill, this will play a clip named "actor#" or "enemy#" (the # being the database ID of the target). So this:

VOICE user: target

can potentially play this, if it's targeting the second actor in the database:

<voice>
actor2|CallForBob
</voice>

 user - Like "target", this will play a clip named "actor#user" or "enemy#user", with # again being the database ID of the skill's user.

Part 3: Silencing characters with <novoice>

Now that you have your units talking, this is how you make them stop. Any state that includes <novoice> in its Note box will prevent the inflicted from speaking. Forced clips, forced responses, and "ko" clips will ignore this.

Suggestions: good states to use this on are KO, Silence, Sleep, Petrify, and anything that removes the unit from battle.

Part 4: Tips

Use a motion for the "ko" effect - "dying" or "sleep", for instance. That way, when it plays the default sound effect, it will seem more natural.

In the "condition" for a clip, use "$gameSwitches.value(#)" and "$gameVariables.value(#)" to access base-game switches and variables by index number.

StatusReleased
CategoryTool
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorHeroicJay
TagsRPG Maker, Voice Acting

Purchase

Buy Now$8.00 USD or more

In order to download this plugin you must purchase it at or above the minimum price of $8 USD. You will get access to the following files:

Jay_BattleVAManager.js 41 kB

Download demo

Download
Jay_BattleVAManagerMZ.js 35 kB

Development log