Speech: General
Section 4.C.1.A
Last updated
Section 4.C.1.A
Last updated
This subsection details the basics in setting speech and offers general tips and advice on how to get the most out of your speech events.
Speech as a String
This is the simplest way to set up speech. This is done by setting the "speech" Command Key to a string, and whichever trainer's Pokemon has triggered the associated Trigger Key will speak that line of text. For example:
This will trigger before the opponent's Pokemon uses the move Trick Room. If so, the they will slide on screen and speak the line of dialogue entered. Pretty simple.
But what if I told you there's a way to make this even simpler? If speech is all you want to happen when this Trigger Key is triggered, then you don't even have to bother setting up a hash and using the "speech" Command Key. Instead, you can simply set the Trigger Key itself as the desired line of speech, like so:
This will produce exactly the same results as the previous example. When Trigger Keys are given strings as values like shown here, they will automatically assume that the string is meant as speech, and act as if the "speech" Command Key is being called. This shortcut can only be used for speech. No other function may be set up in this manner.
Speech as an Array
In some scenarios, you may want multiple lines of dialogue to be spoken, and don't want to cram it all in a single string. To accomplish this, setting "speech" as an array will also work, like in the example below:
In this example, the opponent will slide on screen and say three different consecutive lines of speech after their Charizard faints. However, this can also be simplified in exactly the same way as outlined in the "String" section above, like so:
You may set the value of the Trigger Key itself to the array of strings to have these lines be spoken without having to set up an entire hash.
Speech with Multiple Speakers
There may be some scenarios where you don't want just a single speaker saying lines, but instead want multiple speakers with back and forth dialogue. There are a multitude of ways to accomplish this, and I'll outline them below.
Adding Indexes to Arrays
One of the more simple ways of accomplishing this is to set up the entire dialogue exchange in an array with a single "speech" Command Key, except you can indicate which lines of speech should be spoken by each speaker by entering an index prior to the lines you want that speaker to say. For example:
In this example, we have an array of speech which is triggered after the player sends out their final remaining Pokemon. However, you'll notice that within this array, there are numbers included along with the strings of text. These numbers indicate which trainer actually speaks the following line of dialogue. The numbers represent battler indexes. "0" refers to the first battler on the player's side, and "1" refers to the first battler on the opponent's side. The speaker is whichever trainer owns the Pokemon that appears at that index.
So in this example, "1" sets the speaker as the opponent, so the opposing trainer will slide in to speak the first line of dialogue. Then, since "0" appears next in the array, the active speaker is hidden and the next line of dialogue is then spoken by the player. Note that you can still use the shortcut described in the "Speech as an Array" section to set this speech directly to the Trigger Key instead of creating a hash.
Adding Symbols to Arrays
What if you don't want to keep track of index numbers for speakers? Perhaps you find it too confusing, or perhaps you're just setting up a scenario where you can't be sure exactly which speaker index will be available to use. In situations like this, you may set certain symbols in place of an index. Here's an example:
Here, we have an array of speech which is triggered when the turn counter for the Slow Start ability ends, and Regigigas's stats are at full power. Because no Trigger Extension is used on this Trigger Key to indicate if this should trigger for the player or opponent's Pokemon, this will simply trigger when any battler meets these conditions. In this scenario, this becomes impossible to tell which indexes should be used to indicate the speakers of each line, since you have no way of knowing which trainer's Pokemon will be the one who's Slow Start turns end first.
To resolve this, we can simply use generic symbols to indicate who should speak each line, instead of specific indexes. Here are all of the available symbols that may be used, and who they refer to:
:Self This indicates that the speaker should be set to the index of whichever battler triggered the associated Trigger Key.
:Ally
This indicates that the speaker should be set to the index of the first available ally of whichever battler triggered the associated Trigger Key. Defaults to :Self
if no ally exists.
:Ally2
This indicates that the speaker should be set to the index of the second available ally (if any) of whichever battler triggered the associated Trigger Key. Defaults to :Ally
if no secondary ally exists. Defaults to :Self
if neither exist.
:Opposing
This indicates that the speaker should be set to the index of the closest available opponent of whichever battler triggered the associated Trigger Key. Defaults to :Self
if no opponent exists.
:OpposingAlly
This indicates that the speaker should be set to the index of the first available ally (if any) of the closest available opponent to whichever battler triggered the associated Trigger Key. Defaults to :Opponent
if no opposing ally exists. Defaults to :Self
if neither exist.
:OpposingAlly2
This indicates that the speaker should be set to the index of the second available ally (if any) of the closest available opponent to whichever battler triggered the associated Trigger Key. Defaults to :OpposingAlly
if no secondary opposing ally exists. Defaults to :Opposing
if no opposing allies exist. Defaults to :Self
if no opponents exist.
So following this, it's easy to see how the speech would flow in the example provided. The first line of speech is indicated to be spoken by whichever trainer owns the Pokemon found at whichever index :Self
refers to, which would be whichever battler initially triggered the Trigger Key. The second line of speech is indicated to be spoken by whichever trainer owns the Pokemon found at whichever index :Opposes
refers to, which would be whichever battler directly opposes the battler which :Self
refers to.
So for example, if the scenario played out in a way where the player's Regigigas was the one who triggered "BattlerEffectEnded_SlowStart", then the player would speak the line that follows :Self
, and the opponent would speak the line that follows :Opposing
.
However, if it was the opponent's Regigigas who was the one who triggered "BattlerEffectEnded_SlowStart", then it would be the opponent that would speak the line that follows :Self
, and the player would be the one who spoke the line that follows :Opposing
. This is because from the opponent's perspective, the player is the one who :Opposing
points to, since they are the one who activated the Trigger Key.