Raid: Cheer Mechanics

Section 7.C.5.1

Both types of raid battles featured in Pokemon Sword & Shield and Pokemon Scarlet & Violet introduced a new battle mechanic called Cheers. While in a raid battle, the Cheer command would replace the usual Run command, and would allow you to power up ally Pokemon to give you an edge during the raid. Each iteration of the cheer mechanic functioned differently, but for the purposes of this plugin, the version of the mechanic found in Scarlet & Violet is what's used as the model.

With that said, the cheer mechanics in this plugin work quite differently from the official games, so I will go over the details of how everything works in this section below.

Fleeing From Battle

Note that since the Cheer command will replace Run, you will not be able to flee from battle when the Cheer command is enabled, regardless if you should normally be able to. However, if you're playing in debug mode, holding the CTRL key while selecting Cheer will still allow you to flee.


Cheer Overview

While the cheer command is based loosely on how it is implemented in Pokemon Scarlet & Violet, a lot of the mechanics behind it have been much more fleshed out in this plugin to allow it to stand on its own as its own game mechanic, even outside of raid battles.

Below, I'll go into detail about the general workings of the Cheer mechanics in this plugin.

Cheer Battles

A cheer battle is simply any battle where the cheer mechanic is enabled to be used. By default, all raid battles will have the cheer mechanic enabled, so all raid battles also count as cheer battles.

However, even though cheer mechanics only exist during raids in the main series, this plugin allows you to flag any battle as a cheer battle if you'd like. This will allow you to use the effects of cheers during standard wild or even trainer battles. You can enable this through the use of the "cheerBattle" Battle Rule. More details on this rule can be found in the "Raid: Battle Rules" subsection of this guide.

Note that while in a cheer battle, all trainers have the ability to use cheer mechanics, including both partners and foes. The AI for each trainer will determine if and when they utilize any cheers during battle.

Cheer Menu

The Cheer command replaces the Run command during a cheer battle. When you select this command, you will be given a list of four possible cheers to choose from, similar to move selection.

A brief description of the effect of each cheer will be displayed in the top right of the cheer menu. In the top left, the trainer's current cheer level will be displayed, which determines the strength and effects of each type of cheer.

Once a cheer has been selected, the trainer will us that battler's turn to cheer on the team, granting them the effects of the selected cheer. Cheer commands have higher priority than moves, and will activate before any Pokemon on the field attacks. However, cheers have less priority than actions such as switching, using items, or using special actions such as Mega Evolution.

Each trainer can only select one cheer to use per turn. In a double or triple battle, the trainer will not be able to select the Cheer command at all with their second or third Pokemon if they already selected a cheer to use with a previous Pokemon.

Cheer Mode

While there are only four different selectable slots in the cheer menu during battle, the list of selectable cheer commands may differ depending on the "cheer mode" of a particular battle. A cheer mode is a number that is assigned at the start of the battle that determines which list of cheers should be available to trainers during this battle.

By default, the first three slots in the cheer menu will be the same for all battles, regardless of cheer mode. These cheers will include:

  • "Go all-out!"

  • "Hang tough!"

  • "Heal up!"

However, the fourth slot may be radically different based on the mode. Here are all of the cheer modes included by default, and the cheer that they add to the cheer menu:

  • Mode 0 This is the default mode used for normal wild/trainer battles. The fourth command in the cheer menu is set to the "Turn the tables!" cheer.

  • Mode 1 This is the mode used specifically for Basic Raids. The fourth command in the cheer menu is set to the "Keep it going!" cheer.

  • Mode 2 This is the mode used specifically for Ultra Raids. The fourth command in the cheer menu is set to the "Let's use Z-Power!" cheer.

  • Mode 3 This is the mode used specifically for Max Raids. The fourth command in the cheer menu is set to the "Let's Dynamax!" cheer.

  • Mode 4 This is the mode used specifically for Tera Raids. The fourth command in the cheer menu is set to the "Let's Terastallize!" cheer.

Cheer modes will all be handled for you automatically, so you never have to worry about setting a specific mode for a specific battle. Generally speaking, if you enter a raid battle, the corresponding mode that relates to the type of raid battle you engaged in will automatically be set. If you enter a non-raid battle, then the default cheer mode will be set.

However, if you really want to manually set a specific cheer mode for a certain battle for some reason, you may do so with the "cheerMode" Battle Rule. This will allow you to flag the next battle with the specific cheer mode you want, which will allow you to control the specific cheers that will be displayed in the cheer menu. You can refer to the "Raid: Battle Rules" subsection in this guide for more details on this rule.

Cheer Level

While participating in a cheer battle, each trainer will start with a cheer level of 0. At the end of each trainer's turn, their cheer level will increase by 1, up to a maximum of 3. No cheer is selectable when a trainer's cheer level is at zero, so you must wait at least until the second turn in a battle before any cheers are even usable.

The strength and effects of each cheer may change depending on the trainer's cheer level upon using a cheer. For example, using the "Heal up!" cheer when the trainer's cheer level is at 1 may restore 25% of each ally's max HP. However, using the same cheer when the trainer's cheer level is at the maximum may fully restore the HP of all ally Pokemon, as well as restoring their status.

Sometimes you're better off holding out on using a cheer and saving it for when you've reached a higher cheer level for stronger effects. Other times, it may be useful to spend a cheer right away if you're in a tight spot.

Once a cheer is used however, the trainer's cheer level is reset back to 0, and won't start increasing again until the end of the following turn. So there is no benefit to holding on to your cheer level once it reaches the maximum level of 3.


Viewing Cheer Level

To view your current cheer level, just select the Cheer command to open the cheer menu. Your cheer level will be displayed in the top left corner of this menu.


Manually Changing Cheer Level

While playing in debug mode, you can manually set a particular trainer's current cheer level by opening the debug menu.

Just select "Trainer options..." and scroll to the bottom and select "Cheer Levels." This will allow you to manually set the desired cheer level for each trainer.


Cheer Commands

There are several different types of cheers that you can choose from after selecting the Cheer command in battle. Below, I'll go into detail of the effects of each cheer, and the conditions in which they may appear or be used.

"Go all-out!"

This is the standard offense-focused cheer, usable in all cheer modes. The strength and effectiveness of this cheer is based on the trainer's cheer level upon using it.

  • Cheer Lvl 1 Places an effect on the user's side of the field for three turns that increases the damage dealt with all moves used by 50%. This stacks with other effects, such as Helping Hand.

  • Cheer Lvl 2 Places an effect on the user's side of the field for three turns that increases the added effect chance of all moves used by battlers on the user's side to 100%. In addition, all moves used by battlers on the user's side also have a 100% chance to critically hit. This effect ignores all other effects that would normally negate added effects or critical hits from triggering, such as the Shield Dust or Battle Armor abilities.

  • Cheer Lvl 3 Places an effect on the user's side of the field for three turns that allows all battlers on the user's side to bypass the foe's attempts to negate or reduce damage from incoming attacks. This includes the effects of Reflect, Light Screen, Aurora Veil, Substitute, and all Protect-like moves. Essentially, all battlers under this effect have the combined effects of the Infiltrator and Unseen Fist abilities. During raid battle in particular, this cheer will also make it easier to break the opposing raid Pokemon's raid shield.

"Hang tough!"

This is the standard defense-focused cheer, usable in all cheer modes. The strength and effectiveness of this cheer is based on the trainer's cheer level upon using it.

  • Cheer Lvl 1 Places an effect on the user's side of the field for three turns that decreases the damage taken from all incoming attacks by 50%. This stacks with other effects, such as Reflect and Light Screen.

  • Cheer Lvl 2 Places an effect on the user's side of the field for three turns that totally negates the foe's chances of triggering an added effect or a critical hit with any incoming attacks. This will even override the foe's own "Go all-out" cheer effects that would otherwise boost these odds to 100%.

  • Cheer Lvl 3 Places an effect on the user's side of the field for three turns that causes all battlers on the user's side to endure damage from incoming attacks with 1 HP if they would otherwise be KO'd by the attack.

"Heal up!"

This is the standard healing-focused cheer, usable in all cheer modes. The strength and effectiveness of this cheer is based on the trainer's cheer level upon using it.

  • Cheer Lvl 1 All battlers on the user's side recover 25% of their max HP, except for those under the Heal Block effect.

  • Cheer Lvl 2 All battlers on the user's side recover 50% of their max HP, except for those under the Heal Block effect. Each battler's status is also cured, and are also cured of confusion, infatuation, and Curse.

  • Cheer Lvl 3 All battlers on the user's side recover 100% of their max HP, except for those under the Heal Block effect. Each battler's status is also cured, and are also cured of confusion, infatuation, and Curse. In addition, each battler is also granted a Wish that will restore 50% of their max HP to the Pokemon occupying their position on the following turn.

"Turn the tables!"

This is a cheer designed to reverse and counter certain effects during battle, usable in non-raid battles (cheer mode 0). The strength and effectiveness of this cheer is based on the trainer's cheer level upon using it.

  • Cheer Lvl 1 Reverses the stat stages of all battlers on the field. All stat boosts become equivalent stat drops, and all stat drops become equivalent stat boosts. Similar to the move Topsy Turvey.

  • Cheer Lvl 2 Swaps the effects currently active on both sides of the field. For example, if Tailwind is in effect on the opponent's side, it will be swapped to the user's side instead. Similar to the move Court Change. Note that all field effects applied by the "Go all-out!" and "Hang tough!" cheers count as field effects, so you can use this cheer to steal the opponent's offensive and/or defensive cheer effects.

  • Cheer Lvl 3 Removes the Heal Block effect from all battlers on the user's side and also applies the Heal Block effect on all battlers on the opposing side for 3 turns each. This effectively prevents the opposing side from being able to use the full effects of the "Heal up!" cheer for several turns, while ensuring your side will be able to use it without fail.

"Keep it going!"

This is a cheer designed to extend the raid timers, usable in Basic Raids. (cheer mode 1). The strength and effectiveness of this cheer is based on the trainer's cheer level upon using it. However, unlike most cheers, this cheer requires the trainer's cheer level to be at least 2 before it will do anything.

  • Cheer Lvl 1 This cheer will fail and have no effect.

  • Cheer Lvl 2 Extends the raid's Turn Counter by a few turns, allowing you to stay in the raid for longer. The number of turns gained scales depending on the number of ally Pokemon participating in the raid. No effect if the raid doesn't have a Turn Counter.

  • Cheer Lvl 3 Extends the raid's KO Counter by 1, allowing you to survive in the raid for longer. Also increases the raid's Turn Counter by a few turns as well. The number of turns gained scales depending on the number of ally Pokemon participating in the raid. No effect if the raid doesn't have a KO Counter or a Turn Counter.

"Let's use Z-Power!"

This is a cheer designed to replenish the trainer's Z-Ring, usable in Ultra Raids (cheer mode 2). Unlike most other cheers, this cheer doesn't scale in power with the trainer's cheer level. Instead, the cheer is completely unusable until the trainer's cheer level has reached its maximum.

  • Cheer Lvl 1 & 2 This cheer will fail and have no effect.

  • Cheer Lvl 3 The trainer's Z-Ring is recharged with Z-Power energy, allowing them to use a Z-Move. This can be used multiple times in a battle, allowing you to bypass the once-per-battle rule that using Z-Moves usually impose. This cheer will fail if the trainer doesn't have a Z-Ring, or if their Z-Ring is already charged.

Note that when battling in an Ultra Raid, all trainers start off the battle with their Z-Rings depleted of energy. This means that the only way to use Z-Moves during an Ultra Raid is to wait for at least 3 consecutive turns for a trainer's cheer level to reach its maximum. If so, they'll be able to use this cheer to charge up their Z-Ring. Using cheers prior to this may be immediately useful, but it will delay how long the trainer will have to wait before Z-Moves will become available.

"Let's Dynamax!"

This is a cheer designed to replenish the trainer's Dynamax Band, usable in Max Raids (cheer mode 3). Unlike most other cheers, this cheer doesn't scale in power with the trainer's cheer level. Instead, the cheer is completely unusable until the trainer's cheer level has reached its maximum.

  • Cheer Lvl 1 & 2 This cheer will fail and have no effect.

  • Cheer Lvl 3 The trainer's Dynamax Band is recharged with Dynamax energy, allowing them to Dynamax one of their Pokemon. This can be used multiple times in a battle, allowing you to bypass the once-per-battle rule that using Dynamax usually imposes. This cheer will fail if the trainer doesn't have a Dynamax Band, or if their Dynamax Band is already charged. This cheer will also fail if any battler on the user's side (including any owned by a partner trainer) is currently Dynamaxed already, as only one Pokemon on the player's side can be Dynamaxed at a time. This cheer will also fail if an ally trainer is able to use Dynamax first, to prevent multiple trainers from Dynamaxing simultaneously.

Note that when battling in a Max Raid, all trainers start off the battle with their Dynamax Bands depleted of energy. This means that the only way to use Dynamax during a Max Raid is to wait for at least 3 consecutive turns for a trainer's cheer level to reach its maximum. If so, they'll be able to use this cheer to charge up their Dynamax Band. Using cheers prior to this may be immediately useful, but it will delay how long the trainer will have to wait before Dynamax will become available.

"Let's Terastallize!"

This is a cheer designed to replenish the trainer's Tera Orb, usable in Tera Raids (cheer mode 4). Unlike most other cheers, this cheer doesn't scale in power with the trainer's cheer level. Instead, the cheer is completely unusable until the trainer's cheer level has reached its maximum.

  • Cheer Lvl 1 & 2 This cheer will fail and have no effect.

  • Cheer Lvl 3 The trainer's Tera Orb is recharged with Terastal energy, allowing them to Terastallize one of their Pokemon. This can be used multiple times in a battle, allowing you to bypass the once-per-battle rule that using Terastallization usually imposes. This cheer will fail if the trainer doesn't have a Tera Orb, or if their Tera Orb is already charged. This cheer will also fail if the trainer already owns a battler on the field that is currently Terastallized. However, unlike Dynamax, two ally trainers can each have a Terastallized Pokemon on the field simultaneously, so this cheer won't fail if another trainer is capable of Terastallizing first.

Note that when battling in a Tera Raid, all trainers start off the battle with their Tera Orbs depleted of energy. This means that the only way to use Terastallization during a Tera Raid is to wait for at least 3 consecutive turns for a trainer's cheer level to reach its maximum. If so, they'll be able to use this cheer to charge up their Tera Orb. Using cheers prior to this may be immediately useful, but it will delay how long the trainer will have to wait before Terastallization will become available.


Creating Custom Cheers

This plugin implements cheers by introducing a brand new class in the GameData module called Cheer. This Cheer class is where each specific type of cheer is registered to appear in the cheer menu in battle. Below, I'll give a brief overview of the anatomy of a cheer, which may make it clearer on how you might go about adding your own custom cheers.

Note that this isn't meant to be a comprehensive guide on how to make your own cheers, just an overview on how cheers have been implemented in this plugin to give you an idea of how it's designed to work.

Cheer Class

The data structure for the Cheer class can be found by opening the plugin scripts and opening the file [003] Cheering/[000] Cheer Data.

In here, you will find the Cheer class, along with each registered cheer that is added by this plugin by default. Each cheer contains the following data:

  • :id The symbol ID related to this specific cheer.

  • :name The display name used for this cheer. This is never really used anywhere, but it's here for the sake of being consistent with other game data classes.

  • :icon_position This refers to the specific button icon used for this cheer when displayed in the cheer menu. The specific graphic that this refers to is named cursor_cheer, and is located in Graphics/Plugins/Raid Battles/Battle.

  • :command_index This refers to the specific button "slot" or index that this cheer's button should appear in. For example, index 0 refers to the top left button slot, and index 3 refers to the bottom right button slot. You can use this to set the position that each button slot each cheer command should appear in.

  • :mode This refers to the specific "cheer mode" that this particular cheer will appear in. By default, all cheers are assumed to appear in all cheer modes unless they are specifically assigned to appear in only specific modes. For example, the :BasicRaid cheer is set to :mode 1, so that cheer can only appear when the cheer mode is set to 1, and won't appear otherwise.

  • :cheer_text This sets the specific text that will appear for this cheer when displaying text on the buttons in the cheer menu, or during battle text messages. For example, the :Healing cheer's text is "Heal up!", which is displayed both on the button and in battle messages.

  • :description This sets the description text of a cheer's effects in the upper right side of the cheer menu while the cursor is hovering on that particular cheer's button. This data is set as an array, so you can set different descriptions for the cheer for each cheer level. Note that level 0 still counts as a cheer level, despite no cheer commands being usable when the cheer level is zero.

Cheer Handlers

The effects of each specific cheer is implemented through the use of a cheer handler, similar to how the effects of most items and abilities are implemented through the use of handlers. If you're familiar with those, then you'll more or less understand how to make your own cheers.

All cheer handlers are implemented in the plugin scripts located in the file [003] Cheering/[003] Cheer Handlers.

Each handler utilizes the following procs: |cheer, side, owner, battler, battle|

Most of these are self-explanatory, but I'll go over each to clarify things.

  • cheer The ID of this specific cheer.

  • side The index of the particular side of the field that is triggering this cheer (0 = ally, 1 = foe).

  • owner The index of the particular trainer that is triggering this cheer.

  • battler The specific battler object who's turn is being used to trigger this cheer.

  • battle The overall battle class.

Note that if you want to obtain the current cheer level of the specific trainer who is using this cheer, you can combine several of these procs to return this data, like so:

battle.cheerLevel[side][owner]

You can use this to implement different effects for each cheer level of a particular cheer.

Cheer AI Handlers

AI trainers may also use cheer commands during a cheer battle. The way they determine if, when, and how they should used a particular cheer depends on how well that particular cheer scores when the AI tallies up the scores of all of its options, similar to how move scoring works. If you're familiar with AI move scores, then you'll more or less understand how to make your own cheer AI.

All cheer handlers are implemented in the plugin scripts located in the file [003] Cheering/[005] Cheer AI Handlers.

However, there are two types of AI handlers. A generic handler, that applies general score changes to the cheer mechanic overall; and cheer-specific handlers, which score the utility of each particular cheer the AI can use. I'll go over each below.


GeneralCheerScore

This is the general cheer score handler that applies to all cheers. You can technically make as many of these handlers as you like, but I simply made a single one of these handlers by default that uses the ID :cheer_general.

This handler tweaks the AI so that it will ignore using a certain cheer if an ally trainer has already selected a similar cheer. For example, if the player selects the "Heal up!" cheer, this handler will make it so that an AI partner will not consider using their own "Heal up!" cheer, because it would be redundant. This handler will also encourage the AI to rack up a higher cheer level before using a cheer, rather than using them immediately.

This handler utilizes the following procs: |score, cheer, idxCheer, cheer_lvl, ai, battle|

Most of these are self-explanatory, but I'll go over each to clarify things.

  • score The base score for this cheer.

  • cheer The ID of this specific cheer.

  • idxCheer The command index of this specific cheer.

  • cheer_lvl The current cheer level of the particular trainer that may use this cheer.

  • ai The overall AI class.

  • battle The overall battle class.


CheerEffectScore

This is the handler used to score the effects of individual cheers. Each cheer has its own AI handler for scoring moves, just as they have their own handlers for implementing their effects.

Each handler utilizes the following procs: |cheer, score, cheer_lvl, ai, battle|

These procs are identical to the ones outlined above in the GeneralCheerScore section, with the lone exception being that the idxCheer proc isn't included here. Besides that, all of the remaining procs are utilized in the same way.

Last updated

Was this helpful?