Split The code is public; the app answers only to the crew.
A kill looks exactly like a hit, and a grenade that lands looks like nothing #212
Check · Review · Land · Live done — Landed and live in production.
`Effect`'s `hitmark` now carries `killed`. `shoot` takes it straight off `applyHit`'s result, and `detonate` pushes one mark per enemy its blast actually damaged — behind the same `thrower === world.me` guard `shoot` uses, and never for the thrower's own body, so a bot's grenade and the RL arena's hot loop push nothing new. Back-to-back `scripts/cost.ts` runs on this box: 0.122 ms a tick after aga…
shipped merged
Sign in to join this conversation.
Effect'shitmarknow carrieskilled.shoottakes it straight offapplyHit's result, anddetonatepushes one mark per enemy its blast actually damaged — behind the samethrower === world.meguardshootuses, and never for the thrower's own body, so a bot's grenade and the RL arena's hot loop push nothing new. Back-to-backscripts/cost.tsruns on this box: 0.122 ms a tick after against 0.124 ms before (an earlier pair read 0.140 / 0.137) — the same number inside the noise, which is expected since bots never throw.In the HUD the mark for the shot that finished them is its own shape rather than a shade of the old one: the four corner ticks close into an X through the centre, one stroke heavier (3px), held 0.45 s instead of 0.25 s, and still drawn in the headshot's red when it was a headshot. That is four extra
moveTo/lineToon the path already there — onebeginPath/strokeper mark, as before.earshot.tscarrieskilledthrough on thehitcue and nothing inaudio.tsmoved:audio.hit(headshot)keeps its signature and the kill tone waits for #110, which is why the flag is on the cue at all.Worth looking at in the preview: land four body shots and the fifth on a bot and watch the fifth mark change, and throw an HE into two enemies — you get one confirmation each, one of them the kill mark if it drops someone. Tests that fail without the change are in all three files:
world.test.tsforkilledon a fatal knife and for exactly one mark per enemy your own blast catches (none for a teammate's, none for self-damage),hud.test.tscounting the centred strokes and their line width against the recording context,earshot.test.tsfor the cue's new field.bun run checkis green: 763 pass.🤖 Generated with Claude Code
Closes #199