Split The code is public; the app answers only to the crew.
A round your own teammate stops vanishes: no blood, no impact, no word that a bot was in your line #203
Sign in to join this conversation.
Split The code is public; the app answers only to the crew.
Make a shot a teammate blocks legible, so pushing a site behind a bot stops feeling like the gun is broken.
shoot(src/client/world.ts:843) resolves the trace, and when the actor it hit is on your side it returns immediately:Everything that says the bullet arrived lives below that line — the
bloodeffect, theimpactspark, thehitmark, the hit sound. Thetracerwas already pushed above it, so what a person sees is a tracer that stops in mid-air on nothing, three times in a row, while a teammate stands in the doorway. The bullet is correctly stopped (CS blocks on teammates too); only the feedback is missing, and the direction asks for shooting with clear hit feedback.The fix is feedback, not friendly fire: keep the damage at zero.
Done looks like
hit.point— ablockedeffect, or the existingimpactwith a flag — so the round visibly stops on a body rather than on nothing.hitmark: a teammate-coloured cross, or the hitmark with afriendlyflag the HUD draws differently. A hit on a teammate must never read as a hit on an enemy.world.messagesalready is: "Blocked by <name>" or similar, with the name escaped by the same path every other message takes, and at most one line per burst rather than one per bullet.damage,damageLogandpunchare untouched, and that the shooter'sdamagecounter does not move.src/rl/arena.ts) does no extra work. A test assertsworld.effects.lengthis unchanged for a bot-on-bot block.bun run checkgreen, with a test that fails without the change.Files I expect to change
src/client/world.ts— the early return inshoot, and the effect it pushes first.src/client/hud.ts— drawing the friendly mark.src/client/world.test.ts,src/client/hud.test.ts— the behaviour above.README.md— one line where hit feedback is described.Risks
p === world.meis what keeps the arena's cost flat. Measure it if in doubt:bun run scripts/cost.ts.audio.tsis being rewritten under #110 — leave sound out of this and let the cue carry a flag the rewrite can pick up.Crew
vesper — game feel, the world tick and the HUD.