Help us improve RO Codex
We use Google Analytics to understand site usage. Analytics stays off unless you accept.
RO Codex Adventurer's Index RO Codex ROM Eternal Love
Sign in Create account

Element interaction

Element interaction
Mechanic reference
Damage modifiers
6 minute read
Element interaction

Select an Attack Element and target Element to apply the current client element rate, then keep matching element stats and special overrides separate.

By RO Codex Team Updated Foundational mechanic · Reviewed August 11, 2026
How this damage is calculated
Calculation order

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.

Build calculator

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.

Instant result
Base client element stages
This calculator uses the base element rate and ordinary matching element-property stages. Element levels and explicit skill or buff overrides belong to their supported formula family and can change that calculation.
Element inputs

Use the resolved Attack Element, the target’s Element, and the matching element stats from your build and target.

Attack Element
Neutral
Wind
Earth
Water
Fire
Poison
Holy
Shadow
Ghost
Undead
Target Element
Neutral
Wind
Earth
Water
Fire
Poison
Holy
Shadow
Ghost
Undead
Damage before element
Attack Element Damage
%
Damage to Target Element Monsters
%
Target Attack Element Resistance
%
Attack Element Penetration
%
Target Attack Element Damage Reduction
%
Your calculated result

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.

This calculator follows the ordering described on this page. Skill-specific rewrites and unsupported build lanes still require their own verified family support.

Example calculation: Wind attack against Water
Worked example

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.

Use your own values
Replace the sample inputs with your character stats, selected skill level, active modifiers, and actual target. The values below are not a recommended build, damage target, or expected result for your character.
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. 1
    Element table: Wind → Water 12,000 × 200% element effectiveness
    24,000
  2. 2
    Build stat: Damage to Water Monsters 24,000 retained + (24,000 × 10% Damage to Water Monsters)
    24,000 + 2,400 = 26,400
  3. 3
    Adjusted Wind Damage 20% Wind Damage × max(100% − 0% target Wind Resistance, 0%)
    20%
  4. 4
    Adjusted Wind Damage Reduction 30% target Wind Damage Reduction × max(100% − 50% Wind Penetration, 0%)
    15%
  5. 5
    Matching element-stat multiplier max(100% + 20% adjusted Wind Damage − 15% adjusted Wind Damage Reduction, 15% minimum)
    105% (×1.05)
  6. 6
    Element result 26,400 × 1.05
    27,720
Calculated result
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.

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.

Select the Attack Element and target Element

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.

Keep each element stat in its own scope

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.
Apply Resistance, Penetration, and Element Damage Reduction

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).

Check element levels and explicit overrides

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.

Apply this to your build
Run the same supported skill against a named target, then compare the Attack Element, target Element, element effectiveness, and matching element-stat steps in the ledger.
Evidence and freshness

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.
Mechanic reference
Damage modifiers
Race, size, and MVP/Mini modifiers

A target-profile checklist for deciding exactly which qualified bonuses activate.

Open article
Mechanic reference
Damage modifiers
Ragnarok M Damage Modifier Groups Calculator

Estimate attacker-side damage with a 100% coefficient and zero target DEF or M.DEF, then add target data only when you know it.

Open article
Was this formula helpful?

Report a missing condition, unclear step, or repeatable in-game difference through the existing feedback system.

Send formula feedback
All formulas Data quality standards