Infusion Configuration
Define swappable weapon infusions — the tag-gated, socketed "typing / utility" half of the gear-enhancement pools.
An infusion is a swappable enhancement a player slots into a weapon’s socket — the typing / utility half of the gear-enhancement system (its sibling is the affix, a weapon’s intrinsic playstyle shaping). An infusion retypes a weapon’s hits or adds a cross-cutting behavior, and it can be moved between weapons. Which infusions a given weapon can accept is decided by tags: the infusion lists tags, the weapon lists tags, and the infusion is available only where they overlap.
This page defines the catalog of infusions that exist. Which infusion a specific item instance currently carries is per-instance state set at a socketing station, not authored here.
File Location
Register the file in your mod’s manifest (mods/<YourMod>/<YourMod>.yaml):
infusion-config:
Then create the file it points to, relative to your mod’s folder:
mods/<YourMod>/infusion-config.yaml
The file is a single list of infusion entries:
infusions:
- name: fire
tags: melee
damage-type: fire
- name: blast
tags: [melee, ranged]
damage-type: blast
Fields
| Field | Required | Description |
|---|---|---|
name | yes | The infusion’s name. Mod-qualified automatically (fire → YourMod:fire) unless you write an explicit Mod:name. This is the id stored on an item that carries the infusion. |
tags | no | A tag or list of tags gating which weapons can accept this infusion. A weapon can accept the infusion only if the weapon’s own tags: (see item-config) share at least one tag. Matched case-insensitively. Omitted or empty → the infusion is available on no weapon (fail-closed). |
damage-type | no | Retype every hit the weapon lands to this damage type (physical, fire, blast, decay, radiant). When more than one socketed infusion declares a type, the last-socketed one wins. Behavioral infusions (a ward tick, a spreading effect) attach here in a later release. |
Tags gate availability, and a typo fails closed
Tags are the same open, un-namespaced registry used everywhere else (tool-types, #tag item references): any word is a valid tag, matched case-insensitively. An infusion tagged melee is offered on every weapon whose tags: include melee. A tag no weapon carries — including a typo like meele — simply makes the infusion available on nothing, rather than erroring or applying everywhere. The server logs a load-time warning naming any enhancement tag no weapon declares, so a typo is visible rather than silent.
Example
A fire infusion available on melee and ranged weapons, plus a warding infusion available only on melee weapons (behavioral effect authored in a later release):
infusions:
- name: fire
tags: [melee, ranged]
damage-type: fire
- name: ward
tags: melee
For a weapon to accept either, give it the matching tag in item-config:
items:
- name: my_sword
type: weapon
tags: melee # can now accept the `fire` and `ward` infusions
weapon-info:
type: melee
damage: 10.0
Last updated