From Arms of God Wiki

bot: editor guide
 
bot: operator iteration 2026-06-10
Line 15: Line 15:
! Data page !! Shape !! Size
! Data page !! Shape !! Size
|-
|-
| [[Data:Achievements.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Achievements || 36 KiB
| [[Data:Achievements.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Achievements || 34 KiB
|-
|-
| [[Data:Blessings.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Blessings || 60 KiB
| [[Data:Blessings.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Blessings || 63 KiB
|-
|-
| [[Data:Characters.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Characters || 11 KiB
| [[Data:Characters.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Characters || 12 KiB
|-
|-
| [[Data:Codex.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Codex || 75 KiB
| [[Data:Codex.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Codex || 75 KiB
|-
| [[Data:Compare_Characters.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Compare_Characters || 4 KiB
|-
| [[Data:Compare_Enemies.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Compare_Enemies || 12 KiB
|-
| [[Data:Compare_Weapons_Melee.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Compare_Weapons_Melee || 12 KiB
|-
| [[Data:Compare_Weapons_Ranged.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Compare_Weapons_Ranged || 37 KiB
|-
|-
| [[Data:Crux.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Crux || 15 KiB
| [[Data:Crux.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Crux || 15 KiB
|-
|-
| [[Data:Enemies.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Enemies || 26 KiB
| [[Data:Enemies.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Enemies || 24 KiB
|-
| [[Data:Icons.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Icons || 137 KiB
|-
|-
| [[Data:Navbox_Blessings.json]] || navbox envelope ({title, rows[]}) loaded by Module:LinkGrid for Blessings || 14 KiB
| [[Data:Navbox_Blessings.json]] || navbox envelope ({title, rows[]}) loaded by Module:LinkGrid for Blessings || 14 KiB
Line 47: Line 57:
| [[Data:Tags.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Tags || 77 KiB
| [[Data:Tags.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Tags || 77 KiB
|-
|-
| [[Data:Upgrades.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Upgrades || 55 KiB
| [[Data:Upgrades.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Upgrades || 57 KiB
|-
|-
| [[Data:Weapons.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Weapons || 86 KiB
| [[Data:Weapons.json]] || category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Weapons || 83 KiB
|}
|}


Line 78: Line 88:
|-
|-
| [[Module:Codex]] || Codex || 90
| [[Module:Codex]] || Codex || 90
|-
| [[Module:Compare]] || Compare || ?
|-
|-
| [[Module:Crux]] || Crux || 34
| [[Module:Crux]] || Crux || 34
|-
|-
| [[Module:Enemies]] || Enemies || 27
| [[Module:Enemies]] || Enemies || 27
|-
| [[Module:Iconbox]] || Iconbox || ?
|-
|-
| [[Module:Passives]] || Passives || 55
| [[Module:Passives]] || Passives || 55
Line 114: Line 128:
|-
|-
| [[Template:Enemies_infobox]] || Infobox || Every Enemies detail page
| [[Template:Enemies_infobox]] || Infobox || Every Enemies detail page
|-
| [[Template:Iconbox]] || Section delegator || Per-instance detail pages (delegated_template render mode)
|-
|-
| [[Template:Navbox_Blessings]] || Navbox || Every Blessings detail page (bottom)
| [[Template:Navbox_Blessings]] || Navbox || Every Blessings detail page (bottom)

Revision as of 03:52, 10 June 2026

Basics

Click the pencil icon at the top right of any page to open the editor. A dropdown shows the editing options available for that page.

Creating a page

To create a new page, navigate to its URL. Replace the last path segment with the new page name. Example: a new page named "Foo Bar" lives at https://armsofgod.wiki.spellsandguns.com//Foo_Bar.

The page will show "There is currently no text in this page." Click "create this page" to begin editing.

Page-name limitations apply (trailing spaces are trimmed, etc.). See MediaWiki: PAGENAMEE encoding for the full rules.

Editing a page

Visual Edit — an experimental WYSIWYG editor. For the most part the rendered content matches the live page. Has limited use on Template / Module / Data pages.

Edit Source — opens a wikitext editor with syntax highlighting. "Show preview" lets you see the effects before saving. If you enter an empty-looking page, try Edit Source — there's likely content hidden inside <includeonly> tags.

Uploading an image

Special:Upload — single-image upload. The destination filename determines what the file is called on the wiki.

Special:BatchUpload — multi-image upload. Uploaded files use their source filenames automatically. Conflicting names overwrite existing files; be careful.

Broken file links appear as grey File:missing_example.png-style links. Clicking them opens the upload page with the destination filename pre-filled.

Conventions

Most pages on this wiki are bot-published from the game's data. Modules, Templates, Data: pages, and per-instance detail pages are regenerated on a schedule (typically after game patches).

Safe-to-edit rules:

- Detail pages (one per item / character / etc.) — edits persist. First-write-only publish: once a detail page exists, the bot preserves any edits you make. Your prose, screenshots, and trivia survive every re-publish. - Module / Template / Data: pagesedits don't persist. These get overwritten on every scheduled re-publish. Cosmetic edits (formatting, comments) won't break anything but won't survive either. What gets re-emitted is the data-bound variable names, parameter lists, and JSON keys — so don't rename those, even temporarily. See the bot-published content catalog for the full list.

MediaWiki

This wiki runs on MediaWiki software. See Special:Version for installed extensions, skins, libraries, and version info.

This wiki's framework pages (Modules, Templates, JSON Data pages, per-instance detail pages) are bot-published from the game's data. Below is the catalog of what Arms of God has + how to edit each kind safely.

Editing rule of thumb: you can edit any bot-published page. The bot overwrites the framework layer (Modules / Templates / Data) on every scheduled re-publish, so your improvements to prose, comments, formatting, and added documentation survive only on Detail pages (first-write-only). On framework pages, what gets clobbered are the data-bound keys, variable names, and table shapes — Modules read specific field names from Data: JSON, so renaming `name` to `title` will break the renderer on the next re-publish. Cosmetic edits (formatting tweaks, added comments, reformatted whitespace) are fine — they just won't persist.

Data pages

JSON-content pages consumed by the Modules. The field names + nested shapes are the contract — Modules look up specific keys. Editing values is safe; renaming keys or restructuring objects breaks rendering until the next re-publish regenerates them.

Data page Shape Size
Data:Achievements.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Achievements 34 KiB
Data:Blessings.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Blessings 63 KiB
Data:Characters.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Characters 12 KiB
Data:Codex.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Codex 75 KiB
Data:Compare_Characters.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Compare_Characters 4 KiB
Data:Compare_Enemies.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Compare_Enemies 12 KiB
Data:Compare_Weapons_Melee.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Compare_Weapons_Melee 12 KiB
Data:Compare_Weapons_Ranged.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Compare_Weapons_Ranged 37 KiB
Data:Crux.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Crux 15 KiB
Data:Enemies.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Enemies 24 KiB
Data:Icons.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Icons 137 KiB
Data:Navbox_Blessings.json navbox envelope ({title, rows[]}) loaded by Module:LinkGrid for Blessings 14 KiB
Data:Navbox_Characters.json navbox envelope ({title, rows[]}) loaded by Module:LinkGrid for Characters 1 KiB
Data:Navbox_Codex.json navbox envelope ({title, rows[]}) loaded by Module:LinkGrid for Codex 12 KiB
Data:Navbox_Crux.json navbox envelope ({title, rows[]}) loaded by Module:LinkGrid for Crux 5 KiB
Data:Navbox_Enemies.json navbox envelope ({title, rows[]}) loaded by Module:LinkGrid for Enemies 3 KiB
Data:Navbox_Passives.json navbox envelope ({title, rows[]}) loaded by Module:LinkGrid for Passives 8 KiB
Data:Navbox_Upgrades.json navbox envelope ({title, rows[]}) loaded by Module:LinkGrid for Upgrades 13 KiB
Data:Navbox_Weapons.json navbox envelope ({title, rows[]}) loaded by Module:LinkGrid for Weapons 9 KiB
Data:Passives.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Passives 32 KiB
Data:Tags.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Tags 77 KiB
Data:Upgrades.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Upgrades 57 KiB
Data:Weapons.json category envelope ({category, aggregation_mode, record_count, records[]}) loaded by Module:Weapons 83 KiB

Shared Modules (used across every category)

Module Purpose Edit policy
Module:CrossRef Renders forward + reverse cross-references between entities Editable; field-name changes get overwritten on re-publish
Module:Index Renders sortable category index tables Editable; field-name changes get overwritten on re-publish
Module:LinkGrid Renders icon+link grids (used by all Navbox templates + the "Possible drops" / "Related Achievements" body sections) Editable; field-name changes get overwritten on re-publish

Per-category Modules

One per first-class category. Edits persist until the next scheduled re-publish regenerates them — so changes to the rendering logic that don't touch the data-binding field names are fine for short-lived experiments.

Module Category Records
Module:Achievements Achievements 100
Module:Blessings Blessings 94
Module:Characters Characters 10
Module:Codex Codex 90
Module:Compare Compare ?
Module:Crux Crux 34
Module:Enemies Enemies 27
Module:Iconbox Iconbox ?
Module:Passives Passives 55
Module:Tags Tags 84
Module:Upgrades Upgrades 88
Module:Weapons Weapons 65

Per-category Templates

Infobox templates (one per category) + navbox templates (one per navbox-enabled category). Same overwrite rule: re-publishes regenerate the parameter list + Pattern-B rows; cosmetic prose (e.g. an added intro paragraph above the infobox call) won't persist.

Template Kind Used by
Template:Achievements_infobox Infobox Every Achievements detail page
Template:Blessings_Tags Section delegator Per-instance detail pages (delegated_template render mode)
Template:Blessings_infobox Infobox Every Blessings detail page
Template:Characters_Tags Section delegator Per-instance detail pages (delegated_template render mode)
Template:Characters_infobox Infobox Every Characters detail page
Template:Codex_infobox Infobox Every Codex detail page
Template:Crux_infobox Infobox Every Crux detail page
Template:Enemies_infobox Infobox Every Enemies detail page
Template:Iconbox Section delegator Per-instance detail pages (delegated_template render mode)
Template:Navbox_Blessings Navbox Every Blessings detail page (bottom)
Template:Navbox_Characters Navbox Every Characters detail page (bottom)
Template:Navbox_Codex Navbox Every Codex detail page (bottom)
Template:Navbox_Crux Navbox Every Crux detail page (bottom)
Template:Navbox_Enemies Navbox Every Enemies detail page (bottom)
Template:Navbox_Passives Navbox Every Passives detail page (bottom)
Template:Navbox_Upgrades Navbox Every Upgrades detail page (bottom)
Template:Navbox_Weapons Navbox Every Weapons detail page (bottom)
Template:Passives_Tags Section delegator Per-instance detail pages (delegated_template render mode)
Template:Passives_infobox Infobox Every Passives detail page
Template:Tags_infobox Infobox Every Tags detail page
Template:Upgrades_Tags Section delegator Per-instance detail pages (delegated_template render mode)
Template:Upgrades_infobox Infobox Every Upgrades detail page
Template:Weapons_Tags Section delegator Per-instance detail pages (delegated_template render mode)
Template:Weapons_infobox Infobox Every Weapons detail page

Universal Templates

Generic templates shipped on every wiki by the bot. These are also overwritten on re-publish, but their bodies don't change between games — durable improvements go upstream in the template library.

Template Purpose
Template:Tip Highlighted tip / callout box
Template:Transclude Transclude a page or labeled section: {{Transclude|PageName#Section}}. Requires Extension:LabeledSectionTransclusion (ships with MediaWiki core).
Template:Iconbox Atomic icon + caption + link cell (for inline lists / galleries)
Template:Stub Banner marker for short pages (auto-categorizes)
Template:NeedsImage Banner marker for pages with no icon
Template:Disambig Disambiguation pages
Template:Quote Block quotation
Template:GameVersion Inline version stamp ("As of v1.2.3")
Template:Spoiler Collapsible spoiler block
Template:Color Colorize inline text: {{Color|#ff0000|red}}
Template:External External link with icon
Template:Hover Tooltip on hover
Template:Breadcrumb Breadcrumb nav
Template:Anchor Anchor target for in-page links
Template:Clear <br clear="both"> shortcut (clear floats)
Template:Documentation The

Template documentation

(viewed at Help:Wiki Editing; this section is hidden when the template is transcluded onto another page)

No /doc subpage exists for this template. The template's <noinclude> block (visible here on the template's own view, hidden when transcluded) is the docs.

convention for template docs

Detail pages

Per-instance pages (one per item, character, etc.). Fully editable + edits persist. First-write-only publish: once a detail page exists, the bot preserves any edits you make. Your prose, screenshots, and trivia survive every re-publish. The framework (Modules / Templates / Data) below them gets regenerated, so re-publishes refresh the data-driven sections automatically while preserving your prose.

This tab highlights MediaWiki's special pages most useful for working on this wiki.