Template:SkillRollBandDef

From Heroes of Might and Magic: Olden Era Official Wiki
Revision as of 01:14, 19 May 2026 by Ketura (talk | contribs) (obelisk-bot: Adding new tables for hero skill rolls)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Small reference table — 4 rows, class-invariant — listing which levels each band_kind applies to. Every SkillRollWeightDef row's band_kind joins to a row here.

The level grid is identical across all 12 standard tables (and the 12 arena tables). Rather than embed the grid 24× into per-table data, the bot extracts it once and stores it here. If a future patch differentiates the grid per-class, this table promotes to (table_id, band_kind, levels) at the cost of 24× the rows.

Schema

Error: could not parse type for field "levels".
{{SkillRollBandDef
| id = String (allowed values=default,magic_levels,signature_levels,level_20_mega)
| levels = List of Integer (,)    <!-- comma-separated, e.g. "4,8,12,16,24,28,32,36,40,44,48" -->
| description = Wikitext          <!-- human-readable trigger explanation -->
}}

Field notes

  • id is the band_kind value used in SkillRollWeightDef rows. Enum of 4 fixed values.
  • levels is a Cargo List of Integer column with comma delimiter. Use the HOLDS operator to test membership in a query: WHERE levels HOLDS "20" matches every band that fires at level 20.
  • description is editor-authored prose explaining when the band fires. Bot writes a default ("Applies on the magic-milestone levels: …"); a wiki editor may rewrite for readability.

Canonical row contents

id levels description (en)
default 1,2,3,…,50 (50 entries) Applies to every level-up from 1 through 50. The baseline pool every roll draws from.
magic_levels 4,8,12,16,24,28,32,36,40,44,48 Every 4th level except 20 (which is covered by the level-20 milestone). Adds the four magic-element schools at their baseline weights — effectively doubling the chance of a magic-school offering on those levels.
signature_levels 5,10,15,25,30 Every 5th level from 5 through 30, except 20. Adds +100 weight to the table's own faction skill and +100 to the class-signature skill (battle_artistry for might, wisdom for magic).
level_20_mega 20 The level-20 milestone — fires alone. Adds doubled magic-element weights (160/40/120/80 for day/night/space/primal) plus +100 faction and +100 class-signature. The single most-distinctive level in the roll system.

Why additive, not replacing

At level 20 in humans_might_skills_table, the engine produces an effective magic_day weight of 240 (= 80 default + 160 level_20_mega), not 160. This is empirically consistent with the "doubled magic at level 20" player-facing description and matches HoMM design tradition for milestone-level boosts.

Verified by working backwards: if the overlay replaced the default, faction_humans at level 20 would drop from 200 to 100 (worse than baseline) — incoherent. If the overlay adds, faction_humans goes from 200 to 300 (better at milestone) — coherent.

Related tables

  • SkillRollWeight — joined on band_kind = SkillRollBand.id (1:N from band side).

Notes

  • The negative-level sentinels [-1] and [-2] in source are not represented here. [-1] is dropped at extract (byte-identical to the default 1..50 band in every file — suspected engine fallback for a never-occurring code path; the audit flags it if a future patch breaks the equality). [-2] is the pseudo-skill fallback for "main pool can't supply 3 valid offerings" and lives in StatBonusRoll.