data/wave_tables/
A wave table: the archetypes a director’s waves and a Pool spawner spawn, by weight, what each costs the director’s budget, and a wave’s size. Loaded by the server only.
| Registry | manifold-ai:wave-table |
| Files | data/wave_tables/*.ron, *.update.ron, *.final.ron |
| Sides | server: only the server loads it |
| Reads | nothing |
| Contract | Population, data stage |
Entry
A record, written WaveTable(..); the name before the parentheses is optional.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | string | yes | The table’s key, <mod-id>:<name>. | |
entries | list of WaveEntry | yes | The archetypes, at least one with a positive weight. | |
size | u16 | no | 8 | Creatures in a wave the director’s TriggerWave input asks for, 1 to 1000. |
Example
No bundled file declares one yet. From the reference’s test fixture, crates/manifold-server-state/tests/data-reference-fixture/data/wave_tables/skeletons.ron, which the data stage loads in its tests:
WaveTable(id: "dataref-fixture:waves/skeletons", entries: [(archetype: "dataref-fixture:skeleton")])
Types
WaveEntry
One archetype of a wave table.
A record: WaveEntry(..) or (..).
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
archetype | string | yes | The archetype (manifold:archetype key). An unknown key fails the data stage (DATA010). | |
weight | u32 | no | 1 | Its weight. |
cost | u16 | no | 1 | Budget points one spawn costs. |