Damage Formula Damage = ( ( BaseDamage × SpecialMultiplier ) + FlatDamage ) × ( 1 + DamageBonus − DamageReduction ) × CRIT × EnemyDefMult × EnemyResMult × AmplifyingReaction + TransformativeReaction + Proc \text{Damage} = ((\text{BaseDamage} \times \text{SpecialMultiplier}) + \text{FlatDamage}) \\ \times (1 + \text{DamageBonus} - \text{DamageReduction}) \\ \times \text{CRIT} \times \text{EnemyDefMult} \times \text{EnemyResMult} \times \text{AmplifyingReaction} \\ + \text{TransformativeReaction} + \text{Proc} Damage = (( BaseDamage × SpecialMultiplier ) + FlatDamage ) × ( 1 + DamageBonus − DamageReduction ) × CRIT × EnemyDefMult × EnemyResMult × AmplifyingReaction + TransformativeReaction + Proc See the sections below for the breakdown of each individual part of the formula.
Base Damage BaseDamage = { Talent% × ATK if, Talent scales with ATK Talent% × DEF if, Talent scales with DEF Talent% × Max HP if, Talent scales with Max HP Talent% × EM if, Talent scales with EM \text{BaseDamage} = \begin{cases} \text{Talent\%} \times \text{ATK} & \text{if, Talent scales with ATK} \\ \text{Talent\%} \times \text{DEF} & \text{if, Talent scales with DEF} \\ \text{Talent\%} \times \text{Max HP} & \text{if, Talent scales with Max HP} \\ \text{Talent\%} \times \text{EM} & \text{if, Talent scales with EM} \end{cases} BaseDamage = ⎩ ⎨ ⎧ Talent% × ATK Talent% × DEF Talent% × Max HP Talent% × EM if, Talent scales with ATK if, Talent scales with DEF if, Talent scales with Max HP if, Talent scales with EM ATK = ( AttackCharacter + AttackWeapon ) × ( 1 + AttackBonus ) + FlatAttack \text{ATK} = (\text{AttackCharacter} + \text{AttackWeapon}) \times (1 + \text{AttackBonus}) + \text{FlatAttack} ATK = ( AttackCharacter + AttackWeapon ) × ( 1 + AttackBonus ) + FlatAttack DEF = DefenseCharacter × ( 1 + DefenseBonus ) + FlatDefense \text{DEF} = \text{DefenseCharacter} \times (1 + \text{DefenseBonus}) + \text{FlatDefense} DEF = DefenseCharacter × ( 1 + DefenseBonus ) + FlatDefense Max HP = HealthCharacter × ( 1 + HealthBonus ) + FlatHealth \text{Max HP} = \text{HealthCharacter} \times (1 + \text{HealthBonus}) + \text{FlatHealth} Max HP = HealthCharacter × ( 1 + HealthBonus ) + FlatHealth Formula Variable Explanation Talent% The scaling percentage of the Talent. AttackCharacter Character's Base ATK. AttackWeapon Weapon's Base ATK. AttackBonus Sum of all percentage-based ATK Bonuses from weapons, artifacts, and other sources. FlatAttack Sum of all non-percentage-based ATK Bonuses from artifacts, and other sources. DefenseCharacter Character's Base DEF. DefenseBonus Sum of all percentage-based defense bonuses from artifacts, weapons, and other sources. HealthCharacter Character's Base HP. HealthBonus Sum of all percentage-based HP bonuses from artifacts, weapons, and other sources EM Sum of all Elemental Mastery from ascension stat, weapons, artifacts, and other sources. FlatDamage Extra damage from sources such as Zhongli's A4 or Additive Reactions . DamageBonus Sum of all percentage damage increases from goblets, weapons, set bonuses and other buffs. Excludes Xingqiu's C4 and Yoimiya's Elemental Skill . SpecialMultiplier Applies to certain character Talents only. See the Special Multiplier section for full details.
Flat Damage Sources Talents and Constellations Weapons Reactions Critical Hits CRIT = { 1 + CRITDamage if, CRIT 1 otherwise \text{CRIT} = \begin{cases} 1 + \text{CRITDamage} & \text{if, CRIT} \\ 1 & \text{otherwise} \end{cases} CRIT = { 1 + CRITDamage 1 if, CRIT otherwise AverageCrit = 1 + clamp { 0 % , CRITRate , 100 % } × CRITDamage \text{AverageCrit} = 1 + \text{clamp}\{0\%, \text{CRITRate}, 100\% \} \times \text{CRITDamage} AverageCrit = 1 + clamp { 0% , CRITRate , 100% } × CRITDamage Formula Variable Explanation CRITRate The total CRIT Rate, including the 5% base CRIT Rate and bonuses from weapons, artifacts, etc. CRITDamage The total CRIT DMG, including the 50% base CRIT DMG and bonuses from weapons, artifacts, etc.
Enemy Defense EnemyDefMult = Level Character + 100 ( Level Character + 100 ) + ( Level Enemy + 100 ) × ( 1 − DefReduction ) × ( 1 − DefIgnore ) \text{EnemyDefMult} = \frac {\text{Level}_{\text{Character}} + 100} {(\text{Level}_{\text{Character}} + 100) + (\text{Level}_{\text{Enemy}} + 100) \times (1 - \text{DefReduction}) \times (1 - \text{DefIgnore})} EnemyDefMult = ( Level Character + 100 ) + ( Level Enemy + 100 ) × ( 1 − DefReduction ) × ( 1 − DefIgnore ) Level Character + 100 Formula Variable Explanation LevelCharacter The player character's level. LevelEnemy The enemy's level. DefReduction The total defense (but not resistance) reduction from various defense reduction effects . DefIgnore The total defense ignore from effects such as Raiden Shogun's C2 or Yae Miko's C6 .
DefReduction is hard capped at 90% Defense Reduction Sources Enemy Resistance EnemyResMult = { 1 − Resistance 2 if, Resistance < 0 1 − Resistance if, 0 ≤ Resistance < 0.75 1 4 × Resistance + 1 if, Resistance ≥ 0.75 \text{EnemyResMult} = \begin{cases} 1 - \frac{\text{Resistance}}{2} & \text{if, } \text{Resistance} \lt 0 \\ 1 - \text{Resistance} & \text{if, } 0 \le \text{Resistance} \lt 0.75 \\ \frac{1}{4 \times \text{Resistance} + 1} & \text{if, } \text{Resistance} \ge 0.75 \end{cases} EnemyResMult = ⎩ ⎨ ⎧ 1 − 2 Resistance 1 − Resistance 4 × Resistance + 1 1 if, Resistance < 0 if, 0 ≤ Resistance < 0.75 if, Resistance ≥ 0.75 Resistance = BaseResistance − ResistanceReduction \text{Resistance} = \text{BaseResistance} - \text{ResistanceReduction} Resistance = BaseResistance − ResistanceReduction Formula Variable Explanation BaseResistance The enemy's base resistance to the Element of the attack being used. Enemy Resistances database contains all enemy base Elemental resistances. ResistanceReduction The total resistance reduction of the relevant Element from effects such as Superconduct and Viridescent Venerer.
Special Multiplier Unlike other bonuses, these are directly multiplicative with base Talent scaling. They can be considered a multiplier of the Talent motion value.
SpecialMultiplier = { 1.5 if, Evilsoother triggered Talent % if, Frozen Wilds or Niwabi Fire-Dance triggered 1 otherwise \text{SpecialMultiplier} = \begin{cases} 1.5 & \text{if, Evilsoother triggered} \\ \text{Talent \%} & \text{if, Frozen Wilds or Niwabi Fire-Dance triggered} \\ 1 & \text{otherwise} \end{cases} SpecialMultiplier = ⎩ ⎨ ⎧ 1.5 Talent % 1 if, Evilsoother triggered if, Frozen Wilds or Niwabi Fire-Dance triggered otherwise Formula Variable Explanation Evilsoother Xingqiu’s Constellation 4 ability applies a 1.5 buff to his Elemental Skill. Frozen Wilds Aloy's Elemental Skill applies a buff to her Normal Attacks depending on the amount of Coil stacks. Niwabi Fire-Dance Yoimiya's Elemental Skill applies a scaling buff to her Normal Attacks.
Amplifying Reaction AmplifyingReaction = ReactionMultiplier × ( 1 + 2.78 × EM 1400 + EM + ReactionBonus ) \text{AmplifyingReaction} = \text{ReactionMultiplier} \times \biggl(1 + \frac{2.78 \times \text{EM}}{1400 + \text{EM}} + \text{ReactionBonus}\biggr) AmplifyingReaction = ReactionMultiplier × ( 1 + 1400 + EM 2.78 × EM + ReactionBonus ) ReactionMultiplier = { 2 if, triggering Vaporize with Hydro or Melt with Pyro 1.5 if, triggering Vaporize with Pyro or Melt with Cryo 1 otherwise \text{ReactionMultiplier} = \begin{cases} 2 & \text{if, triggering Vaporize with {\color{4688ff}Hydro} or Melt with {\color{f68f9a}Pyro}}\\ 1.5 & \text{if, triggering Vaporize with {\color{f68f9a}Pyro} or Melt with {\color{7ba4d3}Cryo}}\\ 1 & \text{otherwise} \end{cases} ReactionMultiplier = ⎩ ⎨ ⎧ 2 1.5 1 if, triggering Vaporize with Hydro or Melt with Pyro if, triggering Vaporize with Pyro or Melt with Cryo otherwise Formula Variable Explanation EM The character's total Elemental Mastery. ReactionBonus Reaction damage bonuses such as the Crimson Witch 4-Piece set bonus and from Mona's C1 (for Vaporize).
TransformativeReactions = ReactionMultiplier × LevelMultiplier × ( 1 + 16 × EM 2000 + EM + ReactionBonus ) × EnemyResistanceMultiplier \begin{align*} \text{TransformativeReactions} = & \ \text{ReactionMultiplier} \times \text{LevelMultiplier} \times \biggl(1 + \frac{16 \times \text{EM}}{2000 + \text{EM}} + \text{ReactionBonus} \biggr) \\ & \times \text{EnemyResistanceMultiplier} \end{align*} TransformativeReactions = ReactionMultiplier × LevelMultiplier × ( 1 + 2000 + EM 16 × EM + ReactionBonus ) × EnemyResistanceMultiplier ReactionMultiplier = { 3 if, triggering Burgeon and Hyperbloom 2 if, triggering Overloaded and Bloom 1.5 if, triggering Shattered 1.2 × ECTriggers if, triggering Electro-Charged 0.6 if, triggering Swirl 0.5 if, triggering Superconduct 0.25 if, triggering Burning 0 otherwise \text{ReactionMultiplier} = \begin{cases} 3 & \text{if, triggering {\color{fd9e0d}Burgeon} and {\color{df96fe}Hyperbloom}}\\ 2 & \text{if, triggering {\color{cd7b8d}Overloaded} and {\color{00eb50}Bloom}}\\ 1.5 & \text{if, triggering Shattered}\\ 1.2 \times \text{ECTriggers} & \text{if, triggering {\color{df96fe}Electro-Charged}}\\ 0.6 & \text{if, triggering {\color{5bcba3}Swirl}}\\ 0.5 & \text{if, triggering {\color{b1aeff}Superconduct}}\\ 0.25 & \text{if, triggering {\color{fd9e0d}Burning}}\\ 0 & \text{otherwise} \end{cases} ReactionMultiplier = ⎩ ⎨ ⎧ 3 2 1.5 1.2 × ECTriggers 0.6 0.5 0.25 0 if, triggering Burgeon and Hyperbloom if, triggering Overloaded and Bloom if, triggering Shattered if, triggering Electro-Charged if, triggering Swirl if, triggering Superconduct if, triggering Burning otherwise Formula Variable Explanation ECTriggers The number of times Electro-Charged triggers, and depends on the Elemental Gauge strength of the Hydro and Electro Elements applied to the enemy. EM The character's total Elemental Mastery. ReactionBonus Includes reaction damage bonuses from the 4-Piece set bonuses of Thundering Fury and Viridescent Venerer , Mona's C1 , and Nilou's A4 . LevelMultiplier Player level multiplier at Lv. : 1446.85 Enemy/environment level multiplier at Lv. : 1202.81 EnemyResistanceMultiplier Uses the Enemy Resistance formula above, but for the Element of the Transformative Reaction (Pyro for Overloaded, Physical for Shattered, Electro for Electro-Charged, Cryo for Superconduct, the Element being Swirled for Swirl, and Dendro for Bloom, Bugeon, and Hyperbloom).
Additive Reaction AdditiveReaction = ReactionMultiplier × LevelMultiplier × ( 1 + 5 × EM 1200 + EM + ReactionBonus ) \text{AdditiveReaction} = \text{ReactionMultiplier} \times \text{LevelMultiplier} \times \biggl(1 + \frac{5 \times \text{EM}}{1200 + \text{EM}} + \text{ReactionBonus}\biggr) AdditiveReaction = ReactionMultiplier × LevelMultiplier × ( 1 + 1200 + EM 5 × EM + ReactionBonus ) ReactionMultiplier = { 1.25 if, triggering Spread 1.15 if, triggering Aggravate \text{ReactionMultiplier} = \begin{cases} 1.25 \ \text{if, triggering {\color{00eb50}Spread}}\\ 1.15 \ \text{if, triggering {\color{df96fe}Aggravate}} \end{cases} ReactionMultiplier = { 1.25 if, triggering Spread 1.15 if, triggering Aggravate Proc The damage dealt by weapon and ability procs when they trigger, such as Prototype Archaic or Xiangling's constellation 2. This is dealt as a separate instance of damage from the attack that triggered it.
To calculate this damage, substitute the proc percentage (e.g. 240% for Prototype Archaic R1) for Talent in the damage formula. Note that weapon proc effects always deal Physical damage, and are therefore affected by Physical damage bonuses and Physical resistance, even if an Elemental attack is used to trigger them.
Proc Damage Sources Characters Weapons Additional Notes Any effect that scales off of a certain stat will not count any buffs that also scale themselves off of someone else's stat in their calculation.
"In order to avoid infinite stacking of in-game bonuses, when an effect confers one attribute as a certain percentage of another attribute, this effect will not then factor into calculations of other similar percentage-based effects." - HoYoverse
Examples of such buffs:
Evidence Vault 📄️ Damage Formula Main Page: