Moves#
Moves are how characters fight and interact with each other. A good moveset can make or break a character and team composition, so pay attention to how they function!
Types of Moves#
There are four types of Moves that a character’s Moveset can contain:
Move Type |
Description |
---|---|
Attack |
Deals damage to decrease the target(s)’s health. |
Heal |
Heals the target(s) a set amount to offset damage previously taken. |
Buff |
Increases one of the target(s)’s stats. Good for getting an edge in combat! |
Debuff |
Decreases one of the target(s)’s stats. Good for putting the opponent at a disadvantage! |
Effects#
Some Moves are useful for a character because they have secondary Effects. If a Move has a secondary Effect, the character is essentially performing two Moves in one turn! Effects fall under the same four categories:
Attack
Heal
Buff
Debuff
An Effect can sometimes have a drawback for the user, so be mindful when using a Move with a secondary Effect!
Attack Moves VS Attack Effects#
When it comes to Attack Moves and Attack Effects, they are similar in that they deal damage, but how they deal damage is different.
- Attack Moves
Uses the attacker’s Attack Stat, the move’s
damage_points
variable, and the target’s Defense Stat in the damage formula to return a final valueThe
damage_points
integer is added to the character’s attack stat for extra oomphRefer to Helper Methods & Debugging for the damage formula
- Attack Effects
Only uses the integer
damage_points
to deal damage to the target(s) without any extra calculationsFor example, if a Move has an Attack Effect that has 20 damage points, it will deal 20 damage to the target(s) regardless of the attacker’s Attack Stat or target’s Defense Stat
Special Points#
Not all Moves can be used immediately. A character needs to build up the strength to use some moves by increasing their Special Points. Special Points (abbreviated as “SP”) can be gained and lost during a match depending on the Move that’s used. A character can gain a maximum of five SP. How SP are gained and lost is explained in Movesets.
Movesets#
To contain a character’s Moves, they have an attribute called a Moveset. A Moveset will contain 3 Moves that are broken into three categories:
Moveset Identifier |
Description |
---|---|
Normal Move |
A character’s default Move. By using a Normal Move, a character will gain +1 SP. |
Special 1 |
A Move with some more “oomph” to it. This will reduce a character’s SP by the cost of the Move. |
Special 2 |
A Move that tends to be a character’s strongest. This will also reduce a character’s SP by the cost of the Move. Special 2 is more expensive than Special 1. |
Understanding how a character’s Moveset will affect not just the user but all characters on the map will help when forming a team.
Every character’s individual Moveset will be explained in depth in Characters.
Accessing a Character’s Moveset#
To access a Character’s Moveset, you can do the following:
active_character.moveset
When you have access to a Moveset object, if you desire to use it as a dictionary object, you can call the
as_dict()
method.
moveset_dict = active_character.moveset.as_dict()
The structure of a Moveset as a dictionary object is below. Every key is a string, and the value is a Move object.
Key |
Value |
---|---|
“NM” |
The Character’s Normal Move object |
“S1” |
The Character’s Special 1 object |
“S2” |
The Character’s Special 2 object |
If an entire dictionary is not necessary, you can simply access an individual Move by using a Character reference and the following methods:
normal_move = active_character.get_nm()
special1 = active_character.get_s1()
special2 = active_character.get_s2()
Target Types#
When using a Move, the TargetType Enums it contains will determine how it behaves. Here is every TargetType and the target(s) associated with it.
TargetType |
Associated Targets |
---|---|
TargetType.SELF |
The user of the move will be affected |
TargetType.ADJACENT_ALLIES |
Only characters adjacent to the user will be affected. This only applies to the user’s team, not the opponents |
TargetType.ENTIRE_TEAM |
Every character on the user’s team will be affected, regardless of adjacency |
TargetType.SINGLE_OPP |
The opposing character across the user on the game map will be affected |
TargetType.ALL_OPPS |
Every opposing character on the opposing team will be affected |