Template:ItemSetDef: Difference between revisions
From Heroes of Might and Magic: Olden Era Official Wiki
obelisk-bot: uploading initial Cargo templates |
obelisk-bot: Pushing translation table rework |
||
| (2 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
A named curated group of artifacts that grant additional bonuses when the hero equips multiple set pieces. 24 sets in the 2026-05-03 corpus, each containing 2-8 artifacts. Each set has 1-3 unlock tiers, each tier requiring a different number of equipped pieces to activate. | A named curated group of artifacts that grant additional bonuses when the hero equips multiple set pieces. 24 sets in the 2026-05-03 corpus, each containing 2-8 artifacts. Each set has 1-3 unlock tiers, each tier requiring a different number of equipped pieces to activate. | ||
The "item set" terminology preserves source naming — both the source JSON (<code>itemSet</code>, <code>itemsInSet</code>, <code>item_sets.json</code>) and players colloquially call these "item sets" rather than "artifact sets". The artifact entity itself | The "item set" terminology preserves source naming — both the source JSON (<code>itemSet</code>, <code>itemsInSet</code>, <code>item_sets.json</code>) and players colloquially call these "item sets" rather than "artifact sets". The artifact entity itself is named Artifact, but the set wrapper keeps the older terminology for searchability. | ||
The bot emits each set at <code>Data:ItemSet/<id></code> carrying: | The bot emits each set at <code>Data:ItemSet/<id></code> carrying: | ||
# <code>{{ItemSetDef | id | # <code><nowiki>{{ItemSetDef | id=… | items_in_set=… | …}}</nowiki></code> — main row. | ||
# <code>{{TranslationDef | type=item_set | target_id=<id> | …}}</code> — name | # N × <code><nowiki>{{TranslationDef | type=item_set | target_id=<id> | language=… | name=… }}</nowiki></code> — name, one row per language. | ||
# For each tier: a <code>{{ItemSetTierDef | id=… | required_amount=… | …}}</code> row, | # For each tier: a <code><nowiki>{{ItemSetTierDef | id=… | required_amount=… | …}}</nowiki></code> row, N × <code><nowiki>{{TranslationDef | type=item_set_tier | target_id=<tier_id> | language=… | description=… }}</nowiki></code> rows (description only, no name), and N <code><nowiki>{{BonusDef | parent_type=item_set_tier | parent_id=<tier_id> | …}}</nowiki></code> rows. | ||
== Schema == | == Schema == | ||
{{#cargo_declare:_table=ItemSet | {{#cargo_declare:_table=ItemSet | ||
| id = String | | id = String | ||
| name_sid = String | | name_sid = String | ||
| items_in_set = List (,) of String | | items_in_set = List (,) of String | ||
| Line 22: | Line 21: | ||
{{ItemSetDef | {{ItemSetDef | ||
| id = String | | id = String | ||
| | | name_sid = String <!-- display text lives in the Translation table, type='item_set' --> | ||
| items_in_set = List (,) of String <!-- joins Artifact.id --> | | items_in_set = List (,) of String <!-- joins Artifact.id --> | ||
| source_path = String | | source_path = String | ||
| Line 38: | Line 36: | ||
* [[Template:ItemSetTierDef|ItemSetTier]] — joined on <code>id = set_id</code> (1:N, 1-3 tiers per set). | * [[Template:ItemSetTierDef|ItemSetTier]] — joined on <code>id = set_id</code> (1:N, 1-3 tiers per set). | ||
* [[Template:ArtifactDef|Artifact]] — <code>items_in_set</code> references <code>Artifact.id</code>; <code>Artifact.artifact_set_id</code> is the inverse pointer. | * [[Template:ArtifactDef|Artifact]] — <code>items_in_set</code> references <code>Artifact.id</code>; <code>Artifact.artifact_set_id</code> is the inverse pointer. | ||
* [[Template:TranslationDef| | * [[Template:TranslationDef|Translation]] — the set's name in every language (English included), joined on <code>id = Translation.target_id WHERE Translation.type='item_set' AND Translation.language='{{{lang|en}}}'</code> (1:N, one row per language). | ||
== Notes == | == Notes == | ||
| Line 45: | Line 43: | ||
</noinclude><includeonly>{{#cargo_store:_table=ItemSet | </noinclude><includeonly>{{#cargo_store:_table=ItemSet | ||
| id = {{{id|}}} | | id = {{{id|}}} | ||
| name_sid = {{{name_sid|}}} | | name_sid = {{{name_sid|}}} | ||
| items_in_set = {{{items_in_set|}}} | | items_in_set = {{{items_in_set|}}} | ||
| source_path = {{{source_path|}}} | | source_path = {{{source_path|}}} | ||
}}</includeonly> | }} | ||
Created <code>ItemSet</code> entry: <code>{{{id|}}}</code></includeonly> | |||
Latest revision as of 20:48, 14 May 2026
A named curated group of artifacts that grant additional bonuses when the hero equips multiple set pieces. 24 sets in the 2026-05-03 corpus, each containing 2-8 artifacts. Each set has 1-3 unlock tiers, each tier requiring a different number of equipped pieces to activate.
The "item set" terminology preserves source naming — both the source JSON (itemSet, itemsInSet, item_sets.json) and players colloquially call these "item sets" rather than "artifact sets". The artifact entity itself is named Artifact, but the set wrapper keeps the older terminology for searchability.
The bot emits each set at Data:ItemSet/<id> carrying:
{{ItemSetDef | id=… | items_in_set=… | …}}— main row.- N ×
{{TranslationDef | type=item_set | target_id=<id> | language=… | name=… }}— name, one row per language. - For each tier: a
{{ItemSetTierDef | id=… | required_amount=… | …}}row, N ×{{TranslationDef | type=item_set_tier | target_id=<tier_id> | language=… | description=… }}rows (description only, no name), and N{{BonusDef | parent_type=item_set_tier | parent_id=<tier_id> | …}}rows.
Schema
This template defines the table "ItemSet". View table.
{{ItemSetDef
| id = String
| name_sid = String <!-- display text lives in the Translation table, type='item_set' -->
| items_in_set = List (,) of String <!-- joins Artifact.id -->
| source_path = String
}}
Field notes
idis the source JSON id (e.g.tranquility_item_set,beelzebubs_blessing_item_set).items_in_setis the comma-joined list of artifact ids that belong to this set. Used by the wiki side to render a "set contents" panel; joined toArtifact.idper element.- Set sizes range from 2 to 8 artifacts (median 3-4).
- No description on the set itself — descriptions are per-tier and live on
ItemSetTierDef.
Related tables
- ItemSetTier — joined on
id = set_id(1:N, 1-3 tiers per set). - Artifact —
items_in_setreferencesArtifact.id;Artifact.artifact_set_idis the inverse pointer. - Translation — the set's name in every language (English included), joined on
id = Translation.target_id WHERE Translation.type='item_set' AND Translation.language='en'(1:N, one row per language).


