Template:DifficultyDef

From Heroes of Might and Magic: Olden Era Official Wiki

One row per game difficulty setting. 5 entries in 2026-05-05: Easy / Normal / Hard / Expert / Impossible. Each carries the balance inputs the engine actually uses: per-side starting-resource buckets and the global neutral_power_multiplier (the scalar applied to adventure-map encounter strength).

Two source-data quirks worth flagging up front:

  • The source nameSid values (EasyDifficultySid, NormalDifficultySid, …) are not L10n entries — they don't resolve in any Lang/<locale>/ file. We store them on the row for fidelity, but the canonical display name is the id itself.
  • The source descriptionSid field carries literal English text ("This is an Easy difficulty setting."), not an L10n key.

Because the source ships English-only, this table's Translation rows exist only for language=en — a query in any other language correctly returns nothing. The lookup path stays uniform with every other entity even though there's just the one language.

Page layout

Data:Difficulty/<id> carries a single {{DifficultyDef}} row followed by one {{TranslationDef | type=difficulty | language=en}} row.

Schema

This template defines the table "Difficulty". View table.

{{DifficultyDef
| id = String                      <!-- Easy / Normal / Hard / Expert / Impossible -->
| name_sid = String                <!-- nullable; not actually in L10n corpus -->
| neutral_power_multiplier = Float <!-- 0.5 / 0.75 / 1.0 / 1.5 / 2.0 -->
| player_gold = Integer
| player_wood = Integer
| player_ore = Integer
| player_gemstones = Integer
| player_crystals = Integer
| player_mercury = Integer
| player_dust = Integer
| ai_gold = Integer
| ai_wood = Integer
| ai_ore = Integer
| ai_gemstones = Integer
| ai_crystals = Integer
| ai_mercury = Integer
| ai_dust = Integer
| source_path = String
}}

Field notes

  • id comes from the source sid field. Five fixed values; new difficulty tiers would be a balance change worth flagging.
  • neutral_power_multiplier is the headline balance number. 1.0 is "Hard" (the canonical reference point); Easy halves encounter strength, Impossible doubles it.
  • Resource columns: source-side alchemicalDust is normalized to dust to match the canonical naming in Resource (per DB/res/resources_info.json).
  • Asymmetry: on Easy, the player starts with 3× the resources the AI does; this flips on Hard+, with the Impossible AI getting 5× the player's gold. That's the primary difficulty mechanism — neutral_power_multiplier only modulates map encounters.

Related tables

  • Translation — the difficulty's description, joined on id = Translation.target_id WHERE Translation.type='difficulty' AND Translation.language='en' (English-only; the source ships no other languages).
  • Resource — the seven per-side <player|ai>_<resource> columns mirror the resource ids on the Resource Entry rows (gold / wood / ore / gemstones / crystals / mercury / dust).