> For the complete documentation index, see [llms.txt](https://lucidious89-tutorials.gitbook.io/deluxe-battle-kit-tutorial/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lucidious89-tutorials.gitbook.io/deluxe-battle-kit-tutorial/deluxe-battle-kit-for-v21.1/mid-battle-scripting/command-keys/commands-battler-attributes.md).

# Commands: Battler Attributes

These keys trigger changes to a battler, such as changing its attributes, effects, stats, or HP.

<details>

<summary><mark style="background-color:blue;"><strong>"battlerName"</strong></mark> => <mark style="background-color:yellow;">String</mark></summary>

Changes the name of the battler to whatever string is entered here.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerHP"</strong></mark> => <mark style="background-color:yellow;">Integer or Array</mark></summary>

Changes the HP of the battler. When set to a positive integer, the battler's HP will be restored by that percentage of its total HP. When set to a negative integer, the battler's HP will be reduced by that percentage instead.\
\
For example, if this is set to 25, the battler will restore 25% of its total HP. If set to 100, the battler will restore 100% of its total HP. However, if you change these to negative numbers, the battler's HP will be reduced by 25% or 100%, respectively. If you set this to 0, the battler's HP will always be set to 1, regardless of its current amount.\
\
If you set this as an array, you can include a string as the second argument of the array to display a custom battle message that occurs when the battler's HP is changed. You can use `{1}` in this string to refer to the specific battler's name.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerHPCap"</strong></mark> => <mark style="background-color:yellow;">Integer</mark></summary>

This sets an HP threshold for the battler that will cap how much damage it can possibly take from direct attacks.\
\
For example, if this is set to 25, the battler's HP will be prevented from dropping below 25% of its max HP when it is struck by an attack, regardless of how strong the attack was. If set to 100, the battler will prevent all damage from attacks. If you set this to 0, the battler will survive an attack with 1 HP.\
\
This can be used to design boss-like encounters that trigger certain actions when their HP reaches certain thresholds. Note, however, that this only affects damage taken by attacks, so any indirect damage may still reduce the battler's HP below the set damage cap.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerStatus"</strong></mark> => <mark style="background-color:yellow;">Symbol or Array</mark></summary>

Changes the status condition of the battler. If set to a symbol, you may enter the ID of a specific status to inflict that status on the battler. For example, `:BURN` would inflict a burn on the battler. You can also use the symbols `:TOXIC` or `:CONFUSION` to apply toxic Poison or to make the battler confused, respectively. If you want to cure the battler of its status conditions, you can use the symbol `:NONE` to remove them. Note that this will also remove the confusion and infatuation conditions, too. If you want to set a random status condition, you can simply set an array of different status symbols, and a random one will be chosen out of that array.\
\
Another way to use an array is to have the first item of the array be a status symbol (or array of status symbols), and the second item in the array may be set to `true` in order to display certain success/failure messages in applying that status condition.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerType"</strong></mark><strong> ⇒ </strong><mark style="background-color:yellow;"><strong>Symbol or Array</strong></mark></summary>

Changes the battler's typing. If set to a symbol, you may enter the ID of a specific type to replace the battler's current typing with that new type. For example, `:WATER` would turn the battler into a Water-type. If you want to give the battler multiple new types, you can do so by entering an array of type IDs. For example, `[:FIRE, :DRAGON]` would turn the battler into a Fire/Dragon type. If you would like to reset the battler's type to its original typing, you can set this to `:Reset` instead.

Note that this command will fail on battlers that are immune to type changes, such as a Pokémon with the Multitype or RKS System Abilities, or a battler that is currently Terastallized.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerForm"</strong></mark> => <mark style="background-color:yellow;">Integer, Symbol, or Array</mark></summary>

Changes the battler's form, if possible. If set to an integer, the battler will change to that form number, if one exists. You may also set this to `:Random` to change the battler into a random eligible form, or you can set this to `:Cycle` for the battler to cycle through to its next form in order. For example, if the battler is Deoxys and `:Cycle` is set, Deoxys will shift from Normal form to Attack, Defense, then Speed, and then back to Normal again each time its form is changed with `:Cycle`.\
\
Note, however, that certain forms, such as Mega and Primal forms, are not considered eligible forms with this setting and will be ignored. You cannot force a Charizard to become Mega Charizard X with this setting. Most other forms are eligible.\
\
You may also set this to an array if you'd like, and if you do, you may set the second item in this array as a string so that a custom message may appear when the battler changes form. If you set this second item to `true` instead, then a generic transform message will appear instead. Otherwise, no message will display.\
\
Note that a battler cannot have its form changed if it's currently under the effects of a special form or state, such as Mega Evolution, Ultra Burst, Dynamax, or Terastallization. It also cannot change forms if it's currently in a semi-invulnerable state due to moves like Fly or Dig, or lifted up in the air due to Sky Drop.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerSpecies"</strong></mark> => <mark style="background-color:yellow;">Symbol or Array</mark></summary>

Changes a battler's species. Set this to a species ID such as `:PIKACHU` to change the species of that battler. Note that this is a permanent change, so the battler will not revert once switched out. For the player's Pokémon, this means their Pokémon will remain changed after leaving battle. Apply this carefully. NPCs' Pokémon are regenerated from their PBS data whenever battle is initiated, so these effects will not persist outside battle.\
\
If you set this as an array, you can include a string as the second argument of the array to display a custom battle message that occurs when the battler changes species. You can use `{1}` in this string to refer to the specific battler's name, `{2}` to refer to the new species name, and `{3}` to refer to the name of the trainer who owns that battler.\
\
Note that a battler cannot have its species changed if it's currently under the effects of a special form or state, such as Mega Evolution, Ultra Burst, Dynamax, or Terastallization. It also cannot change species if it's currently in a semi-invulnerable state due to moves like Fly or Dig, or lifted up in the air due to Sky Drop.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerEvolve"</strong></mark> => <mark style="background-color:yellow;">Symbol or Array</mark></summary>

Forces a battler to evolve during battle. Unlike normal evolution, battle evolutions cannot be cancelled and do not require any evolution methods or criteria to be met. You can evolve any species at any point in battle. For example, you can force Pikachu to evolve into Raichu without a Thunder Stone requirement.\
\
You can set this to `:Next` to force the battler to evolve into the next evolutionary stage listed in that species' PBS data. If the species has multiple branches it can evolve into, such as Eevee, you can set this to `:Random` to choose a random evolution out of all possible branches. If the battler is already fully evolved and has no evolution data, nothing will happen when these symbols are set.\
\
If you'd like to set a specific species for the battler to evolve into, you can set a specific species ID such as `:PIKACHU`, instead. Note that you can force a battler to evolve into *any* species if you set a specific species ID in this way, even if it's a species that would otherwise be impossible for that battler to evolve into. For example, if you set this to `:MEWTWO`, you can make the battler evolve into Mewtwo even though that would be impossible normally. However, if you set the species ID to the same species that the battler already is, then nothing will happen.\
\
If you set this as an array, you can include a number as the second item in the array to set the form of the battler prior to evolution. This can be used to force a battler to evolve directly into a specific form of a species. For example, if set as `[:RAICHU, 1]`, this will force the battler to evolve specifically into Alolan Raichu.\
\
When a battler owned by the player evolves into a species that learns new moves upon evolving, it will be prompted to learn those moves as normal. However, if the battler is wild or owned by an NPC trainer, those evolution moves will be added to its moveset silently. A battler that evolves during battle is considered a "new" battler once evolution is complete. Effects it suffered before evolving are removed, as if it had been switched out of battle. However, effects carried over by Baton Pass, such as stat stages, are retained by the evolved battler.\
\
Note that a battler cannot be forced to evolve if it's currently under the effects of a special form or state, such as Mega Evolution, Ultra Burst, Dynamax, or Terastallization. It also cannot evolve if it's currently in a semi-invulnerable state due to moves like Fly or Dig, or lifted up in the air due to Sky Drop.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerAbility"</strong></mark> => <mark style="background-color:yellow;">Symbol or Array</mark></summary>

Changes the battler's ability. If set to an ability ID symbol, the battler's ability will be changed to that ability. This will not work, however, if the battler currently has an Ability that cannot be removed or if the Ability you are attempting to give it can only be used by a specific species. If you want to reset the battler's ability to its original Ability, you can use the symbol `:Reset` instead.\
\
If you want to assign a random Ability to the battler from a list, you can enter this as an array of Ability IDs, and a random one will be chosen from that array. If you want to alert the player to this Ability change, you may enter this as an array where the first item is the Ability ID, or an array of Ability IDs. Set the second item to either `true` or a string containing a custom message. If neither is included, the battler's Ability will be changed silently.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerItem"</strong></mark> => <mark style="background-color:yellow;">Symbol or Array</mark></summary>

Changes the battler's held item. If set to an item ID symbol, the battler's held item will be changed to that item. This will not work, however, if the battler is currently holding an item that cannot be removed. If you want to remove a battler's held item without replacing it, you can use the symbol `:Remove` instead.\
\
If you want to assign a random held item to the battler from a list, you can enter this as an array of item IDs, and a random one will be chosen from that array. If you want to alert the player to this item change, you may enter this as an array where the first item is the item ID, or an array of item IDs. Set the second item to either `true` or a string containing a custom message. If neither is included, the battler's item will be changed silently.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerMoves"</strong></mark> => <mark style="background-color:yellow;">Symbol or Array</mark></summary>

Changes the battler's moves. If set to a move ID, the battler will have that move added to its moveset. If its moveset is already full, its first move will be deleted and its moveset will shift up by one to make room for the new move. If you want to reset the battler's moveset to the moves it would normally have at that level, you can use the symbol `:Reset` instead.\
\
If you want to change multiple moves in a battler's moveset, you may instead enter this as an array of move IDs, and each move ID will replace the existing move located at that index in the battler's current moveset. If you want to simply delete a move in a battler's moveset instead of replacing it with anything, you can just enter `nil` at that index.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerStats"</strong></mark> => <mark style="background-color:yellow;">Array or Symbol</mark></summary>

Changes the battler's stat stages. Set this to an array containing the ID of the stat you want to change, followed by the number of stages you want to change it by. For example, entering `[:ATTACK, 2]` would increase the battler's Attack stat by 2 stages. You can enter as many stats as you want in this array, as long as it follows this pattern of symbols and numbers. If you want to decrease the stage of a particular stat, then you would just enter a negative number instead. For example, `[:DEFENSE, -3]` would lower the battler's Defense by 3 stages.\
\
If you would like a random stat to be altered, then you can use `:Random` in place of a stat ID. This randomized stat will never be a stat that already appears in the array, however. So for example, if your stat array looks like `[:SPEED, 1, :Random, -1]`, the random stat will never be Speed, since that stat is already going to be altered.\
\
If you would like to grant a Pokémon an omni stat boost, raising each of its battle stats, you may do so by entering each individual stat. However, you may also enter `:Omni` followed by the number of stages to boost every stat at once. For example, `[:Omni, 2]` would boost all of a Pokémon's stats by 2 stages.\
\
If you would like to reset all of a battler's stat stages back to zero, you may do so by entering the symbol `:Reset`, instead of an array. If you only want to reset a battler's increased stat stages to zero, then you would use the symbol `:ResetRaised`. Alternatively, if you only want to reset a battler's negative stat stages to zero, then you would use the symbol `:ResetLowered`.

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerEffects"</strong></mark> => <mark style="background-color:yellow;">Array</mark></summary>

Changes the effects applied to the battler. Enter this as an array with at least two items. The first item must be the symbol of the effect to alter or apply. The second must be the value to set for that effect. Optionally, enter a string as the third item to display a custom message when applying the effect. For example, enter `[:Endure, true]` to silently apply the Endure effect to a battler. You can also set `[:FocusEnergy, 2, "{1} is getting pumped!"]` to set the battler's Focus Energy effect to 2 and announce it to the player.\
\
You may even enter multiple different effects to be applied all at once if you want, by making an array of arrays, like this:\
`[[:Rage, true],`\
`[:NoRetreat, true],`\
`[:PerishSong, 3, "{1} will faint in three turns!"]]`

</details>

<details>

<summary><mark style="background-color:blue;"><strong>"battlerWish"</strong></mark><strong> => </strong><mark style="background-color:yellow;"><strong>Boolean, Integer, or Array</strong></mark></summary>

Sets the Wish effect on the battler's position. When set to `true`, this sets the Wish effect, which triggers in 2 turns. Afterward, any battler occupying that position will be healed by up to 50% of the original Wish-maker's total HP.

If this is instead set as an integer, you can manually set the number of turns before the Wish effect will trigger, instead of it defaulting to the normal 2 turns. If this is instead set as an array, you can enter two integers; the first dictates the number of turns before the Wish triggers, while the second specifies the amount of HP that will be restored once the Wish triggers.

Note: The Wish effect cannot be set with the normal <mark style="background-color:blue;">"battlerEffects"</mark> command because it is not placed on a specific battler. It is placed on a specific battler *position* on the field.

</details>
