This is the documentation page for Module:Reskins

Module:Reskins holds the master list of cosmetic reskin items (Cherub, Halloween, Valentine's, Christmas, Custom) and renders them either as a gallery for a theme page or as an "Applicable Reskins" list inside an item's infobox.

Overview

A "reskin" is a cosmetic skin that can be applied to one or more item types (e.g. the Christmas "Sharpened Candy Cane" reskins any Sword). All of the reskins the wiki knows about are stored as a single Lua table inside this module — each entry records the skin's name, its theme, where it's obtained, a flavour desc, and the list of item types it applies to.

The module is used two ways:

  1. On theme pages (e.g. the Cherub reskins template) — it renders a full infobox gallery of every reskin in that theme.
  2. Inside {{ItemInfobox}} — for a given item type it lists the named reskins that can be applied to that type, in the infobox's "Applicable Reskins" section.

Because the data lives in this module, adding or editing a reskin means editing the reskins table here — there is no separate per-reskin page to maintain.

Functions / entry points

Function (#invoke) What it does Called by
p.forType Given an item type name (e.g. Sword), returns a
-separated list of clickable reskin entries (sprite icon + "<Name> Skin" linking to the Reskins page) for every reskin whose types include that type. Skips themes flagged NO_APPLY (currently Custom). Used to fill the Reskins section of an item infobox.
{{ItemInfobox}} (via )
p.theme Given a theme key (e.g. Cherub), renders a full {{ItemInfobox}} for every reskin in that theme — using the skin's sprite, description, "Applies to:" type list, and "obtained" text. Returns No reskins in this category yet. if the theme has none. Theme listing templates, e.g. {{Cherub/Reskins}}, {{Christmas/Reskins}}, {{Custom/Reskins}}

How it's used

Inside the item infobox (already wired into {{ItemInfobox}} — editors don't add this themselves). The infobox only requests reskins for untiered items (when none of T1–T8 are set):

|ReskinList={{#if:{{{T1|}}}...{{{T8|}}}||{{#invoke:Reskins|forType|{{{type|{{#var:itemtype}}}}}}}}}

On a theme page (e.g. the Cherub reskins listing template):

<div class="display-items">
{{#invoke:Reskins|theme|Cherub}}
</div>

To add a new reskin, edit the reskins table in the module and give it a name, theme, obtained, desc and types. To list a new theme on its own page, create a template that calls No reskins in this category yet..

Notes

  • Sprite file naming. Reskin sprite files are built automatically as <ThemePrefix>Reskin-<NameWithoutSpaces>.png. The theme prefixes are: Cherub → CH, Halloween → H, Valentines → V, Christmas → C, Custom → Custom. Example: the Cherub "Blade of False Eden" expects File:CHReskin-BladeOfFalseEden.png. The name is title-cased and stripped of spaces before the prefix is added, so the uploaded file must match that exact form.
  • Type → sprite/link table. The module's TYPES table maps each item type to a T1 icon (e.g. T1Sword.png) and a section link (e.g. Weapons#Swords, Abilities#Bombs, or just Armours). This is used by p.theme to render the clickable "Applies to:" list.
  • Custom theme is excluded from item infoboxes. NO_APPLY = { Custom = true } means custom/community reskins are shown only on their own theme page via p.theme, not in the per-item "Applicable Reskins" list.
  • The CLAUDE/project convention notes that reskins live on a separate page rather than on the base item's page; this module is the mechanism behind that separation.
  • Related: {{Infobox}}m (renders each infobox), {{Equipment}}m and {{Shinies}}m (sibling display modules), {{ItemInfobox}}.