Damage is the means of depleting a unit's health. The damage from an attack - weapon, Special Attack or skill - depends on the character's or target's attack/weapon strength and various damage modifiers, such as ATK stat and damage taken debuffs.
Overview
The amount of damage dealt is calculated via the following procedure:
First, the base damage is calculated from the weapon damage and the character's ATK:
[Toggle display]
attackDamage = 10 * totalWeaponDamage * totalATK/100%
Then randomization is added to the base damage if the base damage is greater than 2. This will result in the new value being within ±10% range of the base value if the base damage is higher than 20 or ±2 damage if base damage is less than 20:
[Toggle display]
randAttackDamage = attackDamage - random(max((attackDamage * 0.1), 2)) + random(max((attackDamage * 0.2), 4)
Lastly the value is multiplied by damage modifiers and rounded to closest integer. In the case of a result that ends in .5 the rounding is to the nearest even integer.
[Toggle display]
totalDamage = round(randAttackDamage * damageMod)
Weapon damage
The damage dealt by a weapon or an attack depends on its base damage modifier, enhancements applied to a weapon beyond its max level and the Growth bonus to the character's main weapon or special attack.
[Toggle display]
totalWeaponDamage = weaponDamage + enhancementBonus + growthBonus
WeaponDamage is composed of BaseWeaponDamage and three different sets of modifiers. BaseWeaponDamage is a unique value for each weapon which is the starting point for all damage scaling. To simplify things we will call the three categories of modifiers WeaponDamageA, WeaponDamageB, and WeaponDamageC. BaseWeaponDamage is first multiplied by every WeaponDamageA, then every WeaponDamageB is added to the result, and then finally that result is multiplied by every WeaponDamageC.
[Toggle display]
weaponDamage = ((baseWeaponDamage/100% * (1 + WeaponDamageA1/100%) * (1 + WeaponDamageA2/100%) * ...) + WeaponDamageB1 + WeaponDamageB2 + ...) * (1 + WeaponDamageB1/100%) * (1 + WeaponDamageB1/100%) * ...
The majority of existing modifiers to WeaponDamage in the game fall in category A. This group contains level up, stamp and enchantment bonuses to WeaponDamage as well as most skills and other effects that contribute to WeaponDamage. The level up multuipliers refer to the increases to weapon damage that comes from leveling the weapon itself.
WeaponDamageB is a small group of additive modifers that come into play between the A and C multipliers.
WeaponDamageC is another small group of multiplyers that contribute after group B has been applied.
Enhancement bonus
Enhancement bonus is a flat damage bonus applied to weapons using an Anvil's "Upgrade" option on a max level weapon, increasing the weapon's base damage for each successful enhancement. The bonus are split based on the number of attacks in the weapon's main attack sequence, including additional projectiles
Projectile Up Stamp,
Klutz, or the +1 Projectile enchantment. This value is referred to as splitCount
Some weapons have a custom splitCount that is hard coded which ignore extra projectiles and projectile count. Below is a table of these weapons and their splitCounts
Additionally, levels 2 and 3 of
Blacksmith's Gear provide a multiplier to the enhancement bonus
[Toggle display]
enhancementBonus = (0.2 + ( max(1, blacksmithsGearLevel) - 1) / 20) * weaponEnhancements) / splitCount
Growth bonus
Growth is flat damage bonus that only applies to the character's main weapon's or Special Attack's damage. Similarly to enhancements, the bonus is divided by the number of the attacks in the weapon's attack sequence. Additionally, if the attack's hit cooldown is less than 20, the growth bonus is gradually reduced to a minimum of 20%.
[Toggle display]
growthBonus = (0.01 * growthLevel * playerLevel * min(20, max(4, hitCD))/20) / splitCount
ATK
The damage dealt by a character is most notably modified by their ATK-stat. The characters total ATK is the sum of their base ATK stat and all ATK bonuses from items and the character's skills. ATK bonuses stack additively.
[Toggle display]
totalATK = baseATK + (bonus1 + bonus2 + bonus3 + ...)
Damage modifiers
Damage modifiers are multipliers to the attack's damage. Damage modifiers generally stack multiplicatively with each other and additively with other effects of the same type.
[Toggle display]
damageMod = (1 + totalCritMod/100% * BonusCritDamage) * bonusDamageTaken * DB * SkillDamage * DR
Critical hits
Critical hits multiply the damage dealt based on their critical damage modifier, if triggered. By default each character's critical damage modifier is 50%, meaning that their critical hits deal 1.5x damage. Some abilities can change the character's or the weapon's critical hit modifier.
Critical damage modifiers from different sources stack additively with each other. Critical damage modifiers that effect all damage are summed together as
CRT Damage in the pause menu.
CRT Damage does not include baseCritMod.
[Toggle display]
totalCritMod = baseCritMod + (critMod1 + critMod2 + critMod3 + ...)
totalCritMod is only relevant to the damage calculation if your hit is a critical hit. On a regular hit, totalCritMod is 0. If you are looking for average damage you can multiply totalCritMod by
CRT/100% before using it in the damageMod calcualation.
Bonus Crit Damage
When a player character gains
CRT above 100% the excess is converted to Bonus Crit Damage.
[Toggle display]
BonusCritDamage = 1 + ((Crit% - 100)/200)
Bonus damage taken
Bonus damage taken modifiers are applied by debuffs. Bonuses of this type stack additively with each other.
[Toggle display]
bonusDamageTaken = 1+((bonus1 + bonus2 + bonus3 + ...) / 100%)
Damage bonus
Damage bonus (DB) is a separate variable from bonus damage taken. Instead of being based on debuffs on enemies, these effects directly boost the character damage. Currently, all effects that modify DB are expressed in a multiplier form in the game text, rather than a percentage form, with the exception of
Slumber. These modifiers stack additively with each other.
[Toggle display]
DB = 1 + (bonus1-1) + (bonus2-1) ...
Skill Damage
Several effects in the game boost damage for skills. These effects are additive with each other and serve as a multiplier on damage for valid skills. Skills that copy damage from another source do not work with skill damage.
Damage reduction
The damage reduction modifier is comprised of the various reductions to the damage the target receives from the attacker. This type of modifiers exceptionally stack multiplicatively with each other. Currently only damage dealt to the player is impacted by this modifier but since the game uses the same formula for dealing damage to the player as it does for dealing damage to enemies, this variable is included.
[Toggle display]
Damage Received = Damage * (1 - DR1/100%) * (1 - DR2/100%) * (1 - DR3/100%) * ...
On-hit damage
Some sources apply damage as an on-hit effect. These on-hit effects are all multipliers that are applied after totalDamage is calculated. Some of these effects have their own rounding or flooring of the damage that they apply, so the order in which the effects are applied in the damage formula makes a difference. The order in which on-hit effects are applied is non-deterministic.
After all applicable on-hit affects are applied the final damage is rounded one last time. All rounding both by on-hit effects and by this last step follows the same rule for numbers ending in .5.
Direct damage
A few effects in this game deal damage directly rather than going through the full damage calculation. Most of these effects copy damage from a triggering source and modify it in some manner. In the case of direct damage all of the steps of the damage calculation are skipped except for on-hit effects.
History
Changelog
- The calculation for weapon damage boosts from Enhancing and Growth has been adjusted. When Base weapon damage is increased via enhancing or Growth, the increase is evenly distributed among the amount of projectiles for the attack.
- (Example, +2 base weapon after Enhancing Level 7 Piercing Feather (4 projectiles) is an increase of +0.5 base damage per feather.)
- Included in the first public release of the game.
- The calculation for weapon damage boosts from Enhancing and Growth has been adjusted. When Base weapon damage is increased via enhancing or Growth, the increase is evenly distributed among the amount of projectiles for the attack.
- (Example, +2 base weapon after Enhancing Level 7 Piercing Feather (4 projectiles) is an increase of +0.5 base damage per feather.)
- Growth now also has reduced effect when the attack's hit cooldown is (strictly) lower than 20.[Undocumented]
- Damage stamps' stacking changed from multiplicative to additive. [Undocumented]
- Reduced damage random range. [Undocumented]
- Added lower attack time limit for weapons.[Undocumented]
Min attack time
| Weapon |
Frames
|
| Spider Cooking |
600
|
| BL Book |
300
|
| Time Bubble |
245
|
| Idol Concert |
40
|
| Light Beam |
10
|
| BL Fujoshi |
110
|
| Elite Cooking |
10
|
| Breathe-In Asacoco |
20
|
| Flattening Board |
10
|
| MiComet |
5
|
| Dragon Fire |
3
|
| Other weapons/attacks |
1
|
References