Template:ArtifactDef
This template defines and stores rows for the Artifact Cargo table. One row per artifact / equipment item. 304 rows in the 2026-05-03 corpus, across 13 source slot files (armor, head, ring, boots, back, belt, right_hand, left_hand, item_slot, unic_slot, magic_scroll, enchante_magic_scroll, mythic_scroll_box).
The source folder is DB/items/items/ — using the JSON's "item" spelling. The wiki side uses artifact per the in-game player-facing label.
The bot emits each artifact at Data:Artifact/<id> carrying:
{{ArtifactDef | id=… | slot=… | rarity=… | …}}— main structural row.- N ×
{{TranslationDef | type=artifact | target_id=<id> | language=… | name=… | description=… }}— name + description, one row per language. - N ×
{{TranslationDef | type=artifact_upgrade | target_id=<id> | language=… | description=… }}— upgrade text (in thedescriptioncolumn), one row per language, when anupgrade_description_sidexists. - N ×
{{TranslationDef | type=artifact_narrative | target_id=<id> | language=… | description=… }}— narrative/lore text (in thedescriptioncolumn), one row per language, when anarrative_description_sidexists. - N ×
{{BonusDef | parent_type=artifact | parent_id=<id> | …}}— bonuses, in the unified Bonus table.
The artifact's three translatable text fields each get their own type discriminator rather than extra columns on the shared Translation table — the same approach Hero uses for its motto.
Schema
This template defines the table "Artifact". View table.
Related tables
- ItemSet — joined on
Artifact.artifact_set_id = ItemSet.id. - Bonus — joined on
Artifact.id = Bonus.parent_id, filtered byBonus.parent_type='artifact'. - Translation — display text in every language (English included), joined on
Artifact.id = Translation.target_idwithTranslation.type IN ('artifact', 'artifact_upgrade', 'artifact_narrative')and the desiredlanguagefilter.


