Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

data/styles/

A style: per-encounter rules over activity tags that change what agents choose, which activities they may pick (allow, deny) and how much each is worth (scale). Tags match themselves and their descendants (ai.activity matches ai.activity.flee). On an archetype brain a denied behaviour does not start, and a running one stops. Engine code sets an agent’s style by key (encounter directors, encounter volumes and squad roles); no data field assigns one, and a style is not saved. Loaded by the server only.

Registrymanifold-ai:style
Filesdata/styles/*.ron, *.update.ron, *.final.ron
Sidesserver: only the server loads it
Readsnothing
ContractBrains, data stage

Entry

A record, written Style(..); the name before the parentheses is optional.

FieldTypeRequiredDefaultDescription
idstringyesThe style’s key, <mod-id>:<name>.
allowlist of stringnonone (every activity is permitted)When not empty, only activities with a matching tag are permitted.
denylist of stringnononeActivities with a matching tag are not permitted.
scalemap of string to f32nononeUtility multipliers by tag, 0 to 16, for activities with a matching tag; several matches multiply: {"ai.activity.flee": 2.0}.
grantslist of stringnononeCapabilities the style grants, for encounter code to read; the AI itself acts on none yet.

Example

No bundled file declares one yet. From the reference’s test fixture, crates/manifold-server-state/tests/data-reference-fixture/data/styles/cautious.ron, which the data stage loads in its tests:

Style(
    id: "dataref-fixture:cautious",
    deny: ["ai.activity.combat"],
    scale: {"ai.activity.flee": 2.0},
)