◇
component · drop-in viewer
Lamplighter
The hero's hands. It sits on the local player's body and is what turns the Lamplighter's controls into movement, four abilities, damage and death.
by·posted 1mo ago
What it does
Lamplighter
The hero's hands. It sits on the local player's body and is what turns the Lamplighter's controls into movement, four abilities, damage and death.
What it does
- Walks. It reads
movefrominputMaps.lamplighter, projects it against the camera the player is looking through, and writes the result onto the standardCharacterControllerbus. The controller keeps every collision, step and slope rule it already has, so the same code walks the builtin humanoid and the rigged Lamplighter avatar. - Strike — a fast arc in front of the hero, with a short forward step that also turns the body toward the blow.
- Cleave — a ring that takes everything standing around the hero.
- Flare — a dash that carries the hero through a gap and leaves a burst of lantern light behind, staggering what it passes.
- Flask — one of three charges, spent for health.
- Aim. A mouse aims by the cursor's point on the floor. A pad or a thumb has no cursor, so the aim falls to the nearest registered enemy inside the ability's reach, and then to the direction the hero is already walking.
- Being hit. The hero registers with the damage router as
"hero", and a blow inside the invulnerability window after the last one is refused. Zero health hands the run to the death phase. - Where the hero is. Every tick it tells
Hollowwhich chamber the hero stands in, so everything else can key off"chamberEntered". - Sound and animation. Every ability plays its name through
Hollow.sound.play, footsteps are paced by ground covered rather than by a timer, and eachHollow.HERO_CLIPSentry plays through oneAnimOverlaywhose clip is re-pointed before it fires.
Reaching it from elsewhere
local hero = entity(Hollow.hero.id).component.get("hero.Lamplighter")
hero:ability("cleave") -- as though the control had been pressed
hero:heroState() -- cooldowns, invulnerability, aim, whether a dash owns the body
Fields
| Field | What it means |
|---|---|
inputMap | The scheme the hero answers to. The body's CharacterController is pointed at the same map. |
lungeSpeed | Metres per second the body steps forward on a Strike or a Cleave. |
aimAssistRange | Multiplier on an ability's range inside which the nearest enemy is taken as the aim. |
stepDistance | Metres of ground between one footstep sound and the next. |
The effect materials beside it
fx_ember, fx_verdigris and fx_moon are the three emissive surfaces the
ability effects are drawn on: the lantern's fire, the hammer's bronze, and the
cold light the flare leaves in the air.
Discussion
Scoped to this part · feeds back into the world's score.
Sign in to post.sign in
No comments yet. Be the first.