The one-sentence version
All data on this wiki lives in ten JSON pages — Data:Weapons.json through Data:Tags.json — and every table, infobox, navbox, tag page and stat page is computed from them by Lua modules at render time. There are no precomputed pages: edit a value once on a Data page, purge, and every view of that value updates everywhere.
Data flow
SOURCE OF TRUTH (edit values here)
┌────────────────────────────────────────────────────────────────┐
│ Data:Weapons.json Data:Characters.json Data:Blessings.json │
│ Data:Upgrades.json Data:Crux.json Data:Passives.json │
│ Data:Enemies.json Data:Achievements.json Data:Codex.json │
│ Data:Tags.json │
└───────────────┬────────────────────────────────────────────────┘
│ read at render time by
▼
┌─ Module:Core ──────────────────────────────────────────────────┐
│ loads + sorts records, computes infobox values, tag links, │
│ stat blocks, lore joins; shared by every module below │
└───┬───────────┬──────────┬───────────┬───────────┬─────────────┘
▼ ▼ ▼ ▼ ▼
Module: Module: Module: Module: Module:
<Category> Compare Navbox TagIndex StatIndex
(infobox, (DPS, (bottom (tag (per-stat +
body, wave-10 navboxes) member damage-type
index) tables) pages) lookups)
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
RENDERED PAGES (recomputed on every purge)
What to edit, where
| You want to change… | Edit this | What happens |
|---|---|---|
| A value: a stat number, price, tier, lore text, tag key, icon filename | The record in the matching Data:<Category>.json page |
Every infobox, index row, comparison table, navbox and lookup that shows the value updates after a cache purge. Don't rename field keys — modules look them up by name. |
| Prose on one entity's page: intro text, strategy notes, screenshots, trivia | The detail page itself (e.g. Cutter) |
Detail pages are first-write-only: the bot never overwrites them, so your edits persist across re-publishes. |
| How something renders: column order, section layout, sort order, labels | The Lua module — Module:Core for most things (infobox field lists, index columns, stat display order, sorting); Module:Compare / Module:Navbox / etc. for their own views | All affected pages re-render on purge. Note: module edits are overwritten by the next scheduled bot re-publish, so durable changes should also be reported upstream. |
| The infobox panel look (rows, header, fallbacks) | Template:<Category>_infobox |
Presentation only — values are computed by Module:Core and passed in as parameters. |
| Site-wide look: colors, theme tokens, filter chips, hover tooltips | MediaWiki:Common.css / MediaWiki:Common.js | Theme tokens (--infobox-*, --table-*, --dmg-*) restyle everything at once; inline fallbacks keep pages readable without them.
|
Seeing your edit
MediaWiki caches rendered pages. After editing a Data page or module, other pages that use it may show the old version until their cache expires. To force it: open the page and add ?action=purge to the URL (or use the "Purge" option). The job queue eventually refreshes everything on its own.
What the bot does on re-publish
- Overwrites the framework layer:
Module:*,Template:*,Data:*pages, category index pages, comparison/stat pages, and this help page. Value edits you made on Data pages are replaced by the game's current data — report data corrections to the developers so they land in the source. - Never touches existing detail pages (one per weapon / hero / blessing / …). Your prose, images and trivia are safe there.