Knights
The knights slice. The scene entrypoint mounts one of these on `mount_knights` in both edit and play, and it owns exactly two things: the pilgrim's dressing — with the great helm coming off and going back on — and the six lost knights standing on the spire with the hold that free…
Knights
The knights slice. The scene entrypoint mounts one of these on mount_knights
in both edit and play, and it owns exactly two things: the pilgrim's dressing —
with the great helm coming off and going back on — and the six lost knights
standing on the spire with the hold that frees them.
What it reacts to
Everything arrives on L.bus (require("game.lavic")), so the slice follows
the round rather than running it.
| Event | What it does |
|---|---|
bodyReady(body) | Dresses that body as the pilgrim. |
helm(on) | Takes the helm off, or puts it back, on its arc. |
freeHeld(active) | Holds at the nearest lost knight in range. |
phase(p, prev) | Puts the six back up and the score to zero on a fresh round. |
restart | The same. |
And it emits:
| Event | When |
|---|---|
freeProgress(index, t01) | Every frame of a hold, and once at 0 on release. |
knightFreed(index, entity) | A knight was dishelmed. L.state.freed is already up. |
Where the rules slice is not running — a slice under construction, an author
poking at the world in edit — it reads free and helm off game.input.lavic
itself, so the dishelm still works and the knights can still be freed. The
moment a helm event arrives it stands its own toggle down, because two owners
of one boolean is a helm that never comes off.
Controls
The hold is the free control of game/input/lavic.inputMap, which carries all
three device classes: E on a keyboard, north on a pad, and the on-screen
Free button on a touch screen. The slice binds the control, never a key, so
all three reach it without anything here knowing which one a player is holding.
Where the six stand
The spire slice spawns KnightSpot_1..6, one per canto band, and each knight is
built at its marker. If the markers are not there yet the knights wait; after
fallbackSeconds with none of them, the six stand in a ring on the caldera floor
instead, and each walks to its real ledge the moment that ledge appears — so the
slice is provable on its own and correct once the spire has built.
Fields and methods
inputMap | The controls to read when the round is not driving them. |
fallbackSeconds | How long to wait for KnightSpot_N before standing the six on the floor. |
:holdProgress() | 0..1 of the hold running right now, 0 when nobody is holding. |
:knightsPlaced() / :knightsRemaining() | How many are up, and how many are still helmed. |
:pilgrimDressed() | Whether the pilgrim's armour is on a body. |
:freeNearest(x, y, z) | Free the nearest knight to a point outright, for a staged beat. Returns its index, or -1. |
Scoped to this part · feeds back into the world's score.