Combat Calculations
Formulas for calculating Damage, Attack Speed, Crit, and more.
Guide Contents
This guide contains the following calculations/formulas.
Attack (Atk)
Atk represents the maximum amount of damage a unit can deal per hit. Atk depends on the Mt of the weapon and the Str or Mag of the attacking unit, depending on if the weapon is a tome or not. If the weapon is effective against the target, then the Mt is tripled. Supports do not increase Atk in this game. The formula for Atk is the following.
\(Atk = Mt + (Str \parallel Mag)\)Attack Speed (AS)
AS represents how fast a unit can attack. During combat, if a unit has 5 or more AS than the opponent, they will double attack (or quadruple for brave weapons). AS starts out at the unit's Spd, but can be lowered if the unit's Bld stat is lower than the weapon's weight. AS can never fall below 0. The formula for AS is the following.
\(AS = Spd - (Wt - Bld)\)Note that the \((Wt - Bld)\) part floors at \(0\), so a unit with more \(Bld\) than the weapon's \(Wt\) will not gain \(AS\).
Hit
Hit represents the maximum likelihood of an attack landing. Hit is calculated based on the weapon's hit stat, along with the attacking unit's Dex and Lck. Skills and supports can also provide a boost to Hit. The formula for Hit is the following.
\(Hit_{base} = Hit_{wp} + Hit_{skl} + Hit_{sp}\)\(Hit = Hit_{base} + 2 * Dex + \lfloor \frac{Lck}{2} \rfloor\)Avoid (Avo)
Avo represents the likelihood of a unit dodging an incoming attack. Avo is calculated based on the unit's AS and Lck, as well as the equipped weapon's avo stat. Skills and supports can also provide a boost to Avo. Standing on terrain can further increase Avo.
\(Avo_{base} = Avo_{wp} + Avo_{skl} + Avo_{sp} + Avo_{ter}\)\(Avo = Avo_{base} + 2 * AS + \lfloor \frac{Lck}{2} \rfloor\)Displayed Hit
Displayed hit is what the game displays as the likelihood of an attack to land. This is probably not a percentage, but I haven't seen any confirmations of 2RN and such yet. Displayed hit is simply the difference between the attacker's Hit and the defender's Avo.
\(Hit_{displayed} = Hit_{attacker} - Avo_{defender}\)Critical Rate (Crit)
Crit is the maximum percentage chance for an attack to land a critical hit, which does triple the normal damage. Crit is calculated based on the unit's Dex and the weapon's crit stat, but can be increased by skills and supports.
\(Crit = Crit_{wp} + Crit_{skl} + Crit_{sp} + \lfloor \frac{Dex}{2} \rfloor\)Critical Avoid (Ddg)
Critical avoid, or dodge (Ddg) represents how good a unit is at not getting crit by an attack. Ddg is calculated based on the unit's Lck and the weapon's Ddg stat, but can be increased by skills and supports.
\(Ddg = Ddg_{wp} + Ddg_{skl} + Ddg_{sp} + Lck\)Displayed Crit
Displayed crit is what the game displays as the likelihood for an attack to crit. Unlike displayed hit, this is a percentage chance. Displayed crit is simply the difference between the attacker's Crit and the defender's Ddg.
\(Crit_{displayed} = Crit_{attacker} - Ddg_{defender}\)Staff Hit
Staves are usually utility magic that you cast on your allies, and hence can't miss, but some staves such as Freeze can target enemies. Staff hit is calculated differently from regular hit, using the caster's Mag/Dex stats along with the staff's hit stat (the staff acts like a normal weapon in this case). Skills and supports do not affect staff hit, and neither does distance from target.
\(Hit_{stf} = Hit_{wp} + Mag + Dex\)Staff Avo
Avo is also calculated differently when getting targeted by a staff. In fact, it does not take AS into account at all. Instead, Staff Avo is calculated based on the unit's Res and Lck stats. Skills and supports do not affect Staff Avo, but terrain does.
\(Avo_{stf} = \lfloor \frac{3 * Res + Lck}{2} \rfloor\)Displayed Staff Hit
Displayed staff hit, like regular displayed hit, is simply the difference between the attacker's staff hit and the defender's staff avo. Historically staff hit is sometimes rolled differently from regular hit (1RN vs 2RN), but there is no confirmation on this yet for Engage.
\(Hit_{displayed,stf} = Hit_{stf,attacker} - Avo_{stf,defender}\)