Stats#
Every character has a unique set of Stats, including health, attack, defense, and speed.
Health#
Health… represents how healthy a character is. What did you expect? The health will be represented by a character’s
current_health
over their max_health
, such as current_health/max_health
.
Please note that a character’s current_health
and max_health
are integers.
Stats#
Knowing how to manage and monitor a character’s stats will be what sets your team apart from the others, so be sure to understand them well! How to access and use a character’s stats are below.
Please note that the following stats are objects, not integers. They have properties that are integers.
Visual Icons#
Each Stat is depicted by an icon on the Visualizer.
Sword for the Attack Stat
Shield for the Defense Stat
Boot with wing for the Speed Stat
If any of these icons have an up arrow, that means it is buffed (i.e., the Stat’s value is greater than its base value). If any of the icons have a down arrow, that means it is debuffed (i.e., the Stat’s value is less than its base value).
Attack Stat#
Attack is the amount of base damage a character can deal when using an Attack Move without any modifiers. Essentially, it is the strength of the character, reflected by an integer between 1-100 inclusive.
For example, if the attack Stat is 50, the character will attempt to deal 50 points of damage to the target.
Defense Stat#
Defense is a percentage of the amount of damage a character can prevent from taking from an Attack, represented by an integer between 1-75 inclusive.
For example, if the defense Stat is 50, and the incoming damage is 50, the character will prevent 50% of the damage and take 25 points of damage.
Speed Stat#
Speed is the Stat that determines the order of your team and who gets to act first each turn. It is represented by a value between 1-100 inclusive. Visit Game Logic for more details about turn order and how the speed Stat affects it.
Accessing a Character’s Stats#
Here is how you can access any of a character’s stats:
active_character.current_health
active_character.max_health
active_character.attack
active_character.defense
active_character.speed
Here is how you can access the base values (what the original Stat of the character’s Stat is; this is static) and the modified values (the value that will constantly change with Stat buffs and debuffs) of the attack, defense, and speed stats:
Accessing the base values:
active_character.attack.base_value
active_character.defense.base_value
active_character.speed.base_value
Accessing the modified values:
active_character.attack.value
active_character.defense.value
active_character.speed.value
Comparing Stats#
It may be useful to compare stats to others, and you can easily do so! You can treat the attack, defense, and speed stats like regular integers. You can also compare any Stat with any Stat (e.g., attack == speed). You can perform the following comparisons below with any of the stats. These are just a few examples:
active_character.attack == other_character.attack
active_character.defense == other_character.defense
active_character.speed == other_character.speed
active_character.attack > other_character.defense
active_character.speed >= other_character.defense
active_character.defense < other_character.attack
active_character.speed <= other_character.attack
active_character.speed != other_character.attack
Useful Methods#
Here are useful methods to manage stats.
Is Maxed Method#
def is_maxed(self) -> bool:
Returns True if the Stat used is at its maximum value (the maximum value varies depending on the Stat)
Examples:
attack_is_maxed: bool = active_character.attack.is_maxed()
defense_is_maxed: bool = active_character.defense.is_maxed()
speed_is_maxed: bool = active_character.speed.is_maxed()
Is Minimized Method#
def is_minimized(self) -> bool:
Returns True if the Stat used is at its minimum value (the minimum value will always be 1, regardless of the Stat)
Examples:
attack_is_minimized: bool = active_character.attack.is_minimized()
defense_is_minimized: bool = active_character.defense.is_minimized()
speed_is_minimized: bool = active_character.speed.is_minimized()