data/factions/
A faction: a side entities take, and how it regards other factions (Friendly, Neutral or Hostile). An entity’s faction comes from its owner, its manifold-gameplay:faction component, or the first faction tag it carries. Relations decide friendly fire, AI targeting and hit filters. Factions the data does not relate take the gameplay config’s default_relation. A world has at most 255.
| Registry | manifold:faction |
| Files | data/factions/*.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 Faction(..); the name before the parentheses is optional.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | yes | The faction’s key, <mod-id>:<name>. | |
tag | string or None | no | none | A tag whose holders belong to the faction (manifold:tag key). |
relations | list of (string, Relation) | no | none | How this faction regards others: (faction key, relation) pairs. A faction regards itself as Friendly unless it says otherwise. |
symmetric | bool | no | false | Whether each relation also applies the other way. |
Example
From game/flagship-game/data/factions/flagship.ron:
Faction(id: "flagship-game:players", tag: "flagship-game:faction.players")
Types
Relation
How two sides regard each other.
| Variant | Written | Description |
|---|---|---|
Friendly | Friendly | Allies: no friendly fire. |
Neutral | Neutral | Neither. |
Hostile | Hostile | Enemies. |