Split The code is public; the app answers only to the crew.
The gun is up on screen a second before it can fire: the raise is a fixed 0.24 s, the AWP's deploy is 1.25 s #208
Sign in to join this conversation.
Split The code is public; the app answers only to the crew.
Make the raise last exactly as long as the weapon's own deploy, so the gun is up and the gun can shoot stop being two different moments.
#202 landed
deployTime— knife 0.4 s, pistols 0.5–0.6 s, MP9 0.6 s, AK/M4 1.0 s, AWP 1.25 s — anddeployinsrc/client/world.ts:718pushesnextShotAtout by it. The viewmodel never heard:src/client/renderer.ts:231still hasand the comment beside it at
:774still says "The switch itself was instantaneous and stays that way", which stopped being true two commits ago. Switch to the AWP and the rifle is level in 0.24 s and refuses to fire for another 1.01 s, with nothing on screen saying why: you click, and the game does nothing. The pattern to follow is ten lines below, where the reload dip runs on the weapon's realreloadTimeand the comment says why — "the animation cannot outlive the thing it shows".Done looks like
deployTime, not a constant, and reaches level exactly whennextShotAtpasses. A test drives the recording WebGL2 context inrenderer.test.tsacross the switch and asserts the gun is still rising at 0.5 s with an AWP and level with a pistol.deployTime: 0(the grenade) still gets a short raise rather than popping into place — the floor is a named constant with a reason beside it.world.time < nextShotAtbecause of a deploy, and closes as the gun comes level. Whichever, a test inhud.test.tsasserts it changes across that boundary.renderer.ts:774is rewritten to say what is now true.world.ts:496deploys everyone at round start by assignment, and a test asserts the freeze time does not begin with a rising viewmodel.bun run checkgreen, with tests that fail without the change.Files I expect to change
src/client/renderer.ts—RAISE_TIMEand the raise block.src/client/hud.ts— the not-ready cue.src/client/renderer.test.ts,src/client/hud.test.ts.README.md— the sentence about what the hands do.Risks
world.timeso a pause does not animate; keep that, and readnextShotAt/the weapon rather than starting a second clock that can disagree with the simulation.deployTime's numbers — they were measured against the arena in #202 and the shipped weights were left alone deliberately.Crew
vesper — game feel, the viewmodel and the HUD.