Skip to content

fix: correções da revisão do PR #31 - #32

Merged
NicolasArthurDev merged 10 commits into
devfrom
fix/revisao-da-main
Oct 14, 2026
Merged

NicolasArthurDev merged 10 commits into
devfrom
fix/revisao-da-main

Conversation

@NicolasArthurDev

Copy link
Copy Markdown
Member

Correções dos achados da revisão do PR #31 (dev → main). Cada correção está num commit próprio e tem um teste de regressão, que falha sem a correção.

Correções

  1. Botões presos contavam como aperto novo depois do rearme (a0faf4e). rearmWeapon agora devolve o gatilho, a mira de interruptor e a recarga como presos, como já fazem respawnCharacter e rearmMelee. Assim, segurar o botão durante a morte, o respawn, o reinício ou a revanche não dispara nem abre a mira: é preciso apertar de novo. A mira de segurar fica de fora porque abre por estar presa, não pela borda. Os bots também passam pelo rearmWeapon e só esperam um tick a mais depois de renascer. Quatro testes da sessão apertavam o botão já no primeiro quadro e agora soltam um quadro antes.
  2. Passo em laço que nunca parava (4ad10d1 refactor + fff8df0 fix). A troca de laço saiu do adapter para audio/loopSwitch.ts, que é testado sem navegador. Cada troca recebe um número (latestRequest), e só a pedida por último começa uma fonte. Antes, as sequências A→B→A e A→nada→A deixavam duas fontes tocando.
  3. Gancho vivo durante a morte e o fim da partida (adabd76). holdStill solta a corda. Na morte, o aviso de alcance apaga. Em endMatch, o corpo para e o aviso de alcance também apaga.
  4. Medalhas perdidas num quadro com vários ticks (df4945e). awardMedals e recordKill agora acrescentam ao vetor em vez de limpá-lo, e cada kill pontua só as próprias medalhas (medalPointsFrom, sem alocar). A sessão limpa medals e botMedals no começo do quadro.
  5. Semente do voto dos bots presa à posição na lista (395ec57 refactor + aaf71c1 fix). O FNV-1a foi para o núcleo (math/fnv1a.ts) e o layoutFingerprint passou a usá-lo. botBallots agora semeia cada bot pelo hash do id, então mandar um bot do meio para o banco não muda o voto dos outros.
  6. O golpe do bot era sempre de faca (1dcc1af). O golpe agora usa bot.melee.weapon.
  7. Bot que voltava do banco era posto duas vezes (87992e8). Quem volta do banco já ganha spawn no seatBots e não é posto de novo em seatBotsOnTheBoard. O teste conta as tiradas da semente.
  8. Função de olho duplicada (638cb6f, refactor). grappleEyeM saiu, e eyeOf foi para movement/characterState.ts, ao lado de EYE_HEIGHT_RATIO. O gancho e os combatentes usam a mesma função, e match/ continua dependendo de movement/, nunca o contrário.

Verificação

npm run verify passa: lint, tipos e 3853 testes com 100% de cobertura.

@NicolasArthurDev
NicolasArthurDev merged commit ac7b5b6 into dev Oct 14, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant