Damage: Difference between revisions

514 bytes removed ,  6 December 2022
→‎Generation V onward: Redirecting cases where Abilities are ignored to the page we now have for it, and generalizing the Z-Move into protection multiplier cases
(→‎Generation V onward: Redirecting cases where Abilities are ignored to the page we now have for it, and generalizing the Z-Move into protection multiplier cases)
Line 169: Line 169:
|{{a|Multiscale}} and {{a|Shadow Shield}}
|{{a|Multiscale}} and {{a|Shadow Shield}}
|0.5
|0.5
|If the target has this Ability, is at full health, and, for Multiscale only, the Ability is not ignored by a {{cat|Moves that ignore Abilities|move}} or {{cat|Abilities that ignore other Abilities|Ability}}
|If the target has this Ability, is at full health, and, for Multiscale only, the Ability is not [[Ignoring Abilities|ignored]]
|-
|-
|{{a|Fluffy}}
|{{a|Fluffy}}
|0.5
|0.5
|If the target has this Ability, the used move makes [[contact]] (except {{m|Sunsteel Strike}} and {{m|Searing Sunraze Smash}}), the user's Ability is not {{a|Long Reach}}, and the Ability is not ignored by a {{cat|Moves that ignore Abilities|move}} or {{cat|Abilities that ignore other Abilities|Ability}}
|If the target has this Ability, the used move makes [[contact]] (except {{m|Sunsteel Strike}} and {{m|Searing Sunraze Smash}}), the user's Ability is not {{a|Long Reach}}, and the Ability is not [[Ignoring Abilities|ignored]]
|-
|-
|{{a|Punk Rock}}
|{{a|Punk Rock}}
|0.5
|0.5
|If the target has this Ability, the used move is {{cat|Sound-based moves|sound-based}}, and the user's Ability is not {{a|Mold Breaker}}, {{a|Turboblaze}}, or {{a|Teravolt}}
|If the target has this Ability, the used move is {{cat|Sound-based moves|sound-based}}, and the Ability is not [[Ignoring Abilities|ignored]]
|-
|-
|{{a|Ice Scales}}
|{{a|Ice Scales}}
|0.5
|0.5
|If the target has this Ability, the used move is special, and the Ability is not ignored by a {{cat|Moves that ignore Abilities|move}} or {{cat|Abilities that ignore other Abilities|Ability}}
|If the target has this Ability, the used move is special, and the Ability is not [[Ignoring Abilities|ignored]]
|-
|-
|{{a|Friend Guard}}
|{{a|Friend Guard}}
|0.75
|0.75
|If an ally of the target has this Ability and the Ability is not ignored by a {{cat|Moves that ignore Abilities|move}} or {{cat|Abilities that ignore other Abilities|Ability}}
|If an ally of the target has this Ability and the Ability is not [[Ignoring Abilities|ignored]]
|-
|-
|{{a|Filter}}, {{a|Prism Armor}} and {{a|Solid Rock}}
|{{a|Filter}}, {{a|Prism Armor}} and {{a|Solid Rock}}
|0.75
|0.75
|If the target has this Ability, the used move is super effective (''Type'' > 1), and, except for Prism Armor, the Ability is not ignored by a {{cat|Moves that ignore Abilities|move}} or {{cat|Abilities that ignore other Abilities|Ability}}
|If the target has this Ability, the used move is super effective (''Type'' > 1), and, except for Prism Armor, the Ability is not [[Ignoring Abilities|ignored]]
|-
|-
|{{a|Neuroforce}}
|{{a|Neuroforce}}
Line 205: Line 205:
|{{a|Fluffy}}
|{{a|Fluffy}}
|2
|2
|If the target has this Ability, the used move is {{type|Fire}} (except {{m|G-Max Fireball}}), and the Ability is not ignored by a {{cat|Moves that ignore Abilities|move}} or {{cat|Abilities that ignore other Abilities|Ability}}
|If the target has this Ability, the used move is {{type|Fire}} (except {{m|G-Max Fireball}}), and the Ability is not [[Ignoring Abilities|ignored]]
|-
|-
|{{cat|Damage-reducing Berries|Type-resist Berries}}
|{{cat|Damage-reducing Berries|Type-resist Berries}}
Line 224: Line 224:
|}
|}
:If multiple effects influence the ''other'' value, their values stack multiplicatively, in the order listed above. This is done by starting at 4096, multiplying it by each number above in the order listed above, and whenever there is a decimal, standard rounding it and rounding up at 0.5. When the final value is obtained, it is divided by 4096, and this becomes ''other''. For example, if both {{a|Multiscale}} and a [[Chilan Berry]] take effect, ''other'' is <math>\frac{4096 * 0.5 * 0.5}{4096}</math> = 0.25.
:If multiple effects influence the ''other'' value, their values stack multiplicatively, in the order listed above. This is done by starting at 4096, multiplying it by each number above in the order listed above, and whenever there is a decimal, standard rounding it and rounding up at 0.5. When the final value is obtained, it is divided by 4096, and this becomes ''other''. For example, if both {{a|Multiscale}} and a [[Chilan Berry]] take effect, ''other'' is <math>\frac{4096 * 0.5 * 0.5}{4096}</math> = 0.25.
* ''ZMove'' is 0.25 if the move is a [[Z-Move]], [[Max Move]], or [[G-Max Move]] being used into a protection move ({{m|Protect}}, {{m|Detect}}, {{m|King's Shield}}, {{m|Spiky Shield}}, {{m|Mat Block}}, {{m|Baneful Bunker}}, or {{m|Obstruct}}), the move is {{m|Clangorous Soulblaze}} being used into {{m|Wide Guard}}, or the move is a Z-Move, Max Move, or G-Max Move given [[priority]] by {{a|Prankster}} or {{a|Gale Wings}} being used into {{m|Quick Guard}}, and 1 otherwise.
* ''ZMove'' is 0.25 if the move is a [[Z-Move]], [[Max Move]], or [[G-Max Move]] being used into a protection move ({{m|Protect}}, {{m|Detect}}, {{m|King's Shield}}, {{m|Spiky Shield}}, {{m|Mat Block}}, {{m|Baneful Bunker}}, or {{m|Obstruct}}, or potentially {{m|Wide Guard}} or {{w|Quick Guard}} if the move has multiple targets or is given priority, respectively; if the move triggers the "couldn't fully protect" message, the multiplier will be applied), and 1 otherwise.


In the first four Generations, during the calculation, any operations are carried out on integers internally, such that effectively each division is a [[wp:Rounding#Rounding_to_integer|truncated integer division]] (rounding towards zero, cutting off any decimals), and any decimals are cut off after each multiplication operation. From [[Generation V]] onward, however, there are three different types of rounding; a simple decimal truncation (also known as flooring), standard rounding, but rounding down at 0.5, and standard rounding, but rounding up at 0.5. If the calculation yields 0, the move will deal 1 HP damage instead (unless ''Type'' is equal to 0, in which case damage calculation is skipped entirely); however, in Generation V, a move may deal 0 damage when ''other'' is less than 1, because the routine to prevent 0 damage is erroneously performed before applying the ''other'' factor.
In the first four Generations, during the calculation, any operations are carried out on integers internally, such that effectively each division is a [[wp:Rounding#Rounding_to_integer|truncated integer division]] (rounding towards zero, cutting off any decimals), and any decimals are cut off after each multiplication operation. From [[Generation V]] onward, however, there are three different types of rounding; a simple decimal truncation (also known as flooring), standard rounding, but rounding down at 0.5, and standard rounding, but rounding up at 0.5. If the calculation yields 0, the move will deal 1 HP damage instead (unless ''Type'' is equal to 0, in which case damage calculation is skipped entirely); however, in Generation V, a move may deal 0 damage when ''other'' is less than 1, because the routine to prevent 0 damage is erroneously performed before applying the ''other'' factor.