data/tags/
A tag: a name in a dotted hierarchy (mymod:state.charging) that entities, effects, abilities and hits carry. Conditions and tag queries test for tags, and a query for a tag also matches its descendants. Declaring a tag declares its ancestors. Tags are granted by archetypes (tags), effects (grant_tags) and abilities (owned_tags); a tag’s entry says who sees it, whether gaining or losing it notifies observers, and whether loose grants are saved.
| Registry | manifold:tag |
| Files | data/tags/*.ron, *.update.ron, *.final.ron |
| Sides | both: the server and every client load it, and the handshake’s data hash covers it |
| Reads | nothing |
| Contract | Gameplay framework, data stage |
Entry
A record, written Tag(..); the name before the parentheses is optional.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | yes | The tag’s key: <mod-id>:<segment>(.<segment>)*, each segment of lower-case letters, digits and _. | |
replicate | TagAudience | no | Server | Who sees the tag. |
notify | bool | no | false | Whether a change between none and some of the tag notifies observers (TagChanged). |
persist | bool | no | false | Whether grants that no effect or ability owns are saved. |
Example
From tools/test-mods/enki-stub/data/tags/enki-stub.ron:
Tag(id: "enki-stub:tool.box")
Types
TagAudience
Who sees a tag. It is the ceiling for every client and client mod.
| Variant | Written | Description |
|---|---|---|
Server | Server | Only the server. |
Owner | Owner | The server and the entity’s owner. |
Public | Public | Every client with the entity in scope. |