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[edit]

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[edit]

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[edit]

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

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

Operations[edit]

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[edit]

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[edit]

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.