warden
The boss at the end of the line. Same contract as every other fighter's art: one `drawPose`, 42 clips from `Rules.CLIPS`, key poses tweened through `emberline.pixelkit`.
warden — THE WARDEN's sprite sheet
The boss at the end of the line. Same contract as every other fighter's art:
one drawPose, 42 clips from Rules.CLIPS, key poses tweened through
emberline.pixelkit.
He is built around a silhouette that reads from across the stage — tallest in the game, narrow, a greatcoat to the rail with a hem that flares, a peaked cap, and a face that is only ever two points of signal-green under the brim.
The lantern is the character. It hangs from a five-segment chain off his lead
hand and swings a full pendulum through the twelve frames of the idle: slow at
each extreme, fast through the bottom, with each link trailing the one above so
it whips rather than slides. Nothing else in Kessai is lit green, so when the
Warden is on screen the colour of the light changes. super (END OF LINE) puts
the lantern out — the whole figure drops a value and the only thing left on him
is a green rim.
Using it
local Bus = require("emberline.bus")
local art = Bus.registry.art["warden"]
local canvas = Pixel.create({
width = art.cell.width, height = art.cell.height,
pixelSize = art.cell.pixelSize, pivot = art.cell.pivot,
plane = "xy", palette = art.palette,
})
local clips = art.build(canvas) -- { idle = { from, to, fps, loop }, ... }
canvas:setActiveFrame(clips.idle.from)
art.build(handle, order?) draws the sheet and returns the clip index; pass
order (a list of clip names) to draw a subset while iterating on one
animation. art.portrait(handle) draws the cut-in bust into a
art.portraitCell-sized canvas. art.missingClips() returns any name in
Rules.CLIPS the sheet does not provide — it is empty.
Playback runs on setActiveFrame: the component has no notion of a clip
range, so a runtime driving this sheet steps frames between from and to
itself at the clip's fps. The first display of each frame builds that frame's
mesh (about 14 ms); cycling the sheet once after building warms all of them.
Scoped to this part · feeds back into the world's score.