Stats#

Every character has a unique set of Stats, including health, attack, defense, and speed.

Health#

_images/health_bar.gif

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#

_images/attack_buff.png _images/attack_neutral.png _images/attack_debuff.png

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#

_images/defense_buff.png _images/defense_neutral.png _images/defense_debuff.png

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#

_images/speed_buff.png _images/speed_neutral.png _images/speed_debuff.png

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()