Jump to content

Formulas

From OpenDominion
Revision as of 22:11, 1 July 2026 by ODWikiBot (talk | contribs) (Regenerate formulas from Round 50 source)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page lists commonly referenced source-backed formulas. Most formulas are affected by race, spell, tech, wonder, hero, and other modifiers after the base value is calculated.

Exploration

The platinum cost per explored acre is based on current land before exploring:

0.6 * Land^1.299 + LowLandAdjustment

If Land is below 1520:

LowLandAdjustment = -0.001 * Land^2 + 1.91 * Land - 593

At 1520 land and above, LowLandAdjustment is 0. The final per-acre platinum cost is rounded after exploration-cost modifiers are applied.

The draftee cost per explored acre is:

floor(Land / 150) + 3

Construction

Base construction costs use explored and conquered acres:

Platinum = round(850 + ConqueredAcres + 1.25 * ExploredAcres)

Lumber = round(87.5 + ConqueredAcres / 4.25 + 0.285 * ExploredAcres)

Construction-cost modifiers are applied after the base cost. Platinum construction cost cannot be reduced below 20% of base cost, and lumber construction cost cannot be reduced below 25% of base cost.

Rezoning

Platinum = round(250 + 0.6 * ExploredAcres + 0.2 * ConqueredAcres)

Factory and other rezone-cost modifiers are applied after the base cost.

Operations

Information operation success chance is based on relative spy or wizard ratio:

Chance = 0.8 ^ (2 / ((RelativeRatio * 1.4) ^ 1.2)) + StrengthModifier

Theft and black-op success chance uses:

Chance = 0.7 ^ (2 / ((RelativeRatio * 1.3) ^ 1.2)) + StrengthModifier

StrengthModifier is based on the attacker's current spy/wizard strength minus the target's current strength. Final chances are clamped by operation type.

Land Loss and Gains

Successful invasions first calculate target land lost from attacker land, land ratio, and war status. The base land-loss multiplier is 0.75, with higher multipliers for unilateral and mutual war.

If LandRatio is below 0.55:

Segment = 0.304 * LandRatio^2 - 0.227 * LandRatio + 0.048

If LandRatio is at least 0.55 and below 0.75:

Segment = 0.154 * LandRatio - 0.069

At 0.75 LandRatio and above:

Segment = 0.129 * LandRatio - 0.048

TargetLandLost = max(10, floor(Segment * 0.75 * AttackerLand * WarMultiplier))

The attacker gains the target land lost plus generated land equal to the target land lost.

Prestige

Attacker prestige gain starts from the target's land ratio and land size:

Gain = min(LandRatio * 200 - 115, 70) + max(0, DefenderLand - 750) / 100

Prestige gain is then affected by morale and other prestige-gain modifiers. Defender prestige loss is 5% of defender prestige, capped by the attacker's prestige gain when applicable.