Skip to content

Overview

Oxidus is a set of interconnected systems that handle everything from communication to combat to world generation. The pages in this section cover them one at a time; this page is the map.

SystemWhat it covers
AlarmsWall-clock scheduling — boot, hourly, daily, weekly, monthly, yearly, and one-shot events
Asyncasync and await — letting slow things take their time without stopping the game
ColourTrue colour markup, text attributes, wrapping, and the accessibility floor
CombatRounds, hitting, damage, armour, death, and what you can tune
ConfigurationCascading LPML config through CONFIG_D and mud_config()
CurrencyDenominations, conversion, wealth storage, and transactions
GMCPOut-of-band client communication in both directions
LootItem and coin drops from NPCs
MonstersBuilding NPCs from data files — levels, loot, procs, and spawning
SignalsThe publish/subscribe event bus
SkillsLearning by doing, the level cap, and reading a skill correctly

The Daemons section holds per-daemon API references for the same subsystems.

These are shipped and working, but do not have wiki pages yet. Each has a skill under .claude/skills/ that documents it in full.

Boons and curses — temporary modifiers layered over attributes, vitals, and skills, with stacking rules and expiry.

Objects and the world — rooms, exits, doors, terrain, and zones; the identification system that resolves what a player means by “the sharp tusk”; mass, capacity, and containers with a transactional move; equipment across a body-part slot system; and consumables.

Content without code — items and NPCs can be defined entirely in LPML data files. A virtual compile layer reads the data, picks the right base class, and produces a working object at load time. Virtual areas go further, generating rooms procedurally from a coordinate space.

Messaging — the tell family walks the containment hierarchy, action messages conjugate verbs and resolve pronouns per recipient, and system feedback (_ok, _error, _warn, _info) carries its own voice and decoration.

Persistence — marked variables are saved and restored automatically. Daemons opt in with set_persistent(); inventories serialize recursively.

External integration — an HTTP client and server, a WebSocket client, a SQLite database layer, a Discord bot, the Grapevine inter-MUD network, and MSSP.