Module:HeroClass/doc
From Heroes of Might and Magic: Olden Era Official Wiki
This is the documentation page for Module:HeroClass
Description
This module is a comprehensive utility for generating hero class profiles. It integrates statistical data, secondary skill probabilities, and subclass information into a unified, styled infobox layout. It handles multi-language support and automatic data linking via Cargo.
Usage
You can invoke specific sections or the entire main box:
{{#invoke:HeroList|getMainBox|class=...|language=...}}
{{#invoke:HeroList|getStatsTable|class=...}}
{{#invoke:HeroList|getSkillsTable|class=...}}
{{#invoke:HeroList|getSubclassesBlock|class=...}}
Parameters
| Parameter | Description | Example |
|---|---|---|
class |
The identifier or common name of the hero class (e.g., knight, herald, warlock). | class=Knight
|
language |
Forces the Wiki language (if omitted, it detects the page suffix). | language=fr
|
Key Features
- Main Infobox (
getMainBox): Combines class crests, base stats, skill probabilities, and subclasses into a cohesive, responsive container. - Dynamic Statistics (
getStatsTable): Displays base hero attributes along with growth rates at levels 1-12 and 13+. Features automatic icon rendering. - Skill Probabilities (
getSkillsTable): Retrieves "Skill Roll Weights" from Cargo to generate a comparison table showing the likelihood of learning specific secondary skills. - Subclass Integration (
getSubclassesBlock): Dynamically fetches subclass data, including localization for names and descriptions, and lists activation skills with icons. - Smart Localization: Automatically detects page language (e.g.,
/fr) and falls back to English if translations are missing in theTranslationtable.
Implementation Example
To display the full infobox for the "Knight" class:
{{#invoke:HeroList|getMainBox|class=Knight}}
Technical Notes
- The module uses several Cargo tables:
HeroClass,SkillRollWeight,HeroSubClass, andTranslation. - The
class_mappingtable within the script translates user-friendly names (e.g., "knight") into technical Cargo IDs (e.g., "might_human"). - CSS is embedded inline to ensure the infobox maintains a consistent look across different Wiki skins, using a dark-theme style (
#1a1f26background).


