User:XymphBot

XymphBot is an account for use in MediaWiki API queries. It is owned by Xymph, and used via bot scripts written in PHP based on the Wikimate library.

The overall goal of these scripts is to put as much computer-creatable content into map pages as feasible, and check that existing content is as complete and consistent as possible, so that human contributors can focus more on crafting creative prose like background information, walkthroughs, trivia and other map-specific content. Also, I like alliteration. :)

Configuration
The starting point for all scripts is a that specifies settings and a series of map pages. Typically the list includes all levels in an IWAD or megawad, but combining single-level PWADs in one list is also possible.

The settings for all maps include the various input and output paths, the relevant IWAD, an optional PWAD, the type of DMMPST output and any DMMPST flags, an optional pattern for map view filenames, and an optional flag defining whether to put the "notally=1" parameter into the map spots template (for Hexen and Strife levels).

The settings per map are the episode and mission, the path to the Doom Wiki page, and optional overrides of that map's PWAD, DMMPST output type and flags, and script-specific actions.

An optional navboxes section defines the number and style of navboxes (standard Doom II-like or episodic grouping), and the names of and map ranges for each navbox.

The .ini file can easily be generated from a list of levels in wikicode (e.g. Doom II's) copy/pasted into a file, and passing it through the wiki2ini.php script. This extracts the list of required map settings and prefixes it with the general settings, so that only a few manual edits remain necessary to result in a .ini file usable by the scripts.

skeletonBot.php
Checks map pages' section headers against the reference map skeleton and shows differences in ordering, spelling, etc.

conventionsBot.php
Checks map pages for a variety of spelling, linking and formatting conventions.

secretsBot.php
Compares DMMPST's list of secret sectors against those in map pages' Secrets sections (or Official subsections) and updates its formatting if necessary, or adds it if such a section is empty.

dmmpstBot.php
Uses DMMPST's output to replace map pages' Statistics, Map data or Things sections. Optionally provides interactive comparison between old and new contents of the pertaining section, prior to submitting the edit. Alternatively creates new map pages with DMMPST's full skeleton output.

uploadmapBot.php
Uploads new or updated map view images with description text, of which the exact phrasing about scale or size and cropping is determined from image sets generated via Omgifol drawmaps. New images are uploaded according to the map view pattern. Always provides interactive viewing of (old and) new contents of the description, prior to submitting the image and description.

mapviewBot.php
Checks and updates the map view (link, dimensions, caption, and spots template) in map pages' Walkthrough sections. Newly uploaded images are linked according to the map view pattern. Always provides interactive comparison between old and new contents of the map view lines, prior to submitting the edit.

navboxBot.php
Checks and adds the navbox line in map pages' intro sections, updates or strips the nocat option in the map template, and strips the skeleton preamble comment. Always provides interactive comparison between old and new contents of the intro lines, prior to submitting the edit.

And more?
Ideas for future scripts, anyone?

How can you help?
Create overview pages for all WADs to be covered (e.g. Top 100 WADs of All Time, Cacowards) with information as accurate and complete as feasible, especially the list of levels and the use of custom monsters (like in Scythe 2) not supported by DMMPST – as that may require manual edits to the Things table.