Select an Attack Element and target Element to apply the current client element rate, then keep matching element stats and special overrides separate.
Attack Element → target Element → client element effectiveness × (100% + Damage to target Element Monsters) × max(100% + [matching Element Damage × max(100% − target matching Element Resistance, 0%)] − [target matching Element Damage Reduction × max(100% − matching Element Penetration, 0%)], 15% minimum) → family element result
Follow this order with your own build, but use the grouping and special branches shown by your skill family. The numerical example below demonstrates the mechanic rather than claiming one universal formula for every skill.
Choose the event’s Attack Element and the target’s Element, then enter the matching Element Damage, target-qualified Damage, Resistance, Penetration, and Damage Reduction values. Results update as you type.
Use the resolved Attack Element, the target’s Element, and the matching element stats from your build and target.
Wind against Water supplies the 200% element-table rate. The build’s +10% Damage to Water Monsters then raises 24,000 to 26,400. After the 105% matching element-stat multiplier, final damage is 27,720.
These probabilities apply only when every selected damage event rolls independently.
This calculator follows the ordering described on this page. Skill-specific rewrites and unsupported build lanes still require their own verified family support.
The hit reaches 12,000 damage before element. Its Attack Element is Wind, the target’s Element is Water, and the current client element table gives that pair 200% effectiveness. The build has +10% Damage to Water Monsters, +20% Wind Damage, and 50% Wind Penetration, while the target has 30% Wind Damage Reduction.
- Damage before element
- 12,000
- Attack Element
- Wind
- Target Element
- Water
- Element effectiveness
- 200% (×2.00)
- Wind Damage
- +20% (×1.20)
- Damage to Water Monsters
- +10% (×1.10)
- Target Wind Resistance
- 0%
- Wind Penetration
- 50%
- Target Wind Damage Reduction
- 30%
-
1
Element table: Wind → Water24,000
12,000 × 200% element effectiveness -
2
Build stat: Damage to Water Monsters24,000 + 2,400 = 26,400
24,000 retained + (24,000 × 10% Damage to Water Monsters) -
3
Adjusted Wind Damage20%
20% Wind Damage × max(100% − 0% target Wind Resistance, 0%) -
4
Adjusted Wind Damage Reduction15%
30% target Wind Damage Reduction × max(100% − 50% Wind Penetration, 0%) -
5
Matching element-stat multiplier105% (×1.05)
max(100% + 20% adjusted Wind Damage − 15% adjusted Wind Damage Reduction, 15% minimum) -
6
Element result27,720
26,400 × 1.05
Select the actual Attack Element and target Element. The client rate is an effectiveness value, not a player stat. Element levels and explicit skill or buff overrides can change the base table rate and must remain scoped to their source.
Use the damage event’s resolved Attack Element and the selected monster’s Element. A skill name or visual effect is not enough when a weapon, converter, buff, or family rule changes the element used by the event.
The calculator reads that exact pair from the current client’s base element table. A 100% result leaves this stage unchanged, 200% doubles it, and 25% applies one quarter before matching element modifiers.
Damage before element is the amount entering this stage. The selected element-table rate changes that amount first. The resulting amount is the current damage passed to the next stage, not a “100 base” value.
Matching Attack Element Damage, Damage to the selected target Element Monsters, target matching Element Resistance, target matching Element Damage Reduction, and matching Element Penetration are different client properties. The Attack Element selects attack-element stats, while the target Element selects target-element stats.
The selected Attack Element and target Element pair is an automatic element-table lookup; it is not a character stat. Damage to the selected target Element Monsters is a separate build stat selected by the target Element, regardless of which Attack Element produced the hit.
In the next multiplier, 100% means retain all current damage (×1.00); it is not another damage value. A 10% target-Element bonus adds 10% of the current amount. If that input is 0%, this step simply retains the current damage.
Do not rename these properties as a generic matchup bonus or combine them into one editable percentage. The selected formula family determines their order, opposing stat, minimum multiplier, and whether a particular property is used.
- Verify the Attack Element at event time.
- Keep target-Element qualifiers visible.
- Apply only the matching Element Damage property.
- Do not reuse one family’s element branch for another family.
Target matching Element Resistance weakens the attacker’s matching Element Damage bonus. Target matching Element Damage Reduction is a separate reduction term, and matching Element Penetration weakens that reduction. These stats do not change the selected pair’s effectiveness from the element table.
Adjusted matching Element Damage = matching Element Damage × max(100% − target matching Element Resistance, 0%). Adjusted matching Element Damage Reduction = target matching Element Damage Reduction × max(100% − matching Element Penetration, 0%). The matching element-stat multiplier is max(100% + adjusted Element Damage − adjusted Element Damage Reduction, 15% minimum).
For example, 50% matching Element Penetration reduces 30% target matching Element Damage Reduction to 15%. With +20% matching Element Damage and 0% target matching Element Resistance, the combined multiplier is 100% + 20% − 15% = 105% (×1.05).
The calculator uses the current client’s base element table. Client element levels and explicit skill or buff rules can adjust that rate, so a supported family ledger remains authoritative when either one is active.
Element conversion changes which row is used; it does not automatically duplicate the original element’s Damage stat. Mixed skill descriptions also do not prove that two elements are multiplied together.
RO Codex publishes Verified family articles only while the accepted handler and its required evidence remain current. Read the data quality standards for the site-wide accuracy contract.
- Installed-client element table
- GameConfig.ElementRestrain supplies the ten-by-ten base effectiveness rates used by the calculator.
- Installed-client element handlers
- GetElementRate and the element-property stages keep Attack Element, target Element, element levels, matching Damage, Resistance, Damage Reduction, Penetration, and explicit overrides separate.
- Imported skills and monsters
- Skill damage records resolve Attack Element while monster records supply the target Element used by player-facing catalog pages.