[feat] Framework de armas data-driven: raio 3D, viewmodel, munição e recarga #14

Open
opened 2026-10-11 21:18:07 -03:00 by caio · 2 comments
Owner

Depende de #13. Implementado em shooter_core.

Escopo

  • WeaponDef (nome, tipo, dano, multiplicador de cabeça, cadência, pente, reserva, recarga, spread, alcance, pellets, preço, auto, modelo)
  • Inventário (slots 1-4), troca por 1-4 e scroll
  • Estado por arma: pente/reserva, cooldown, recarregando
  • Raio 3D a partir da câmera: vs AABBs do mapa, vs cápsula (corpo) e esfera (cabeça)
  • Viewmodel da arma com recuo procedural simples
  • Mensagem Hit { target, part, amount, source, from_dir }

Critérios de aceite

  • Arma nova = só uma entrada de dados
  • Testes unitários: raio vs AABB, raio vs cápsula/esfera, spread, cone melee
Depende de #13. Implementado em `shooter_core`. ## Escopo - [ ] `WeaponDef` (nome, tipo, dano, multiplicador de cabeça, cadência, pente, reserva, recarga, spread, alcance, pellets, preço, auto, modelo) - [ ] Inventário (slots 1-4), troca por 1-4 e scroll - [ ] Estado por arma: pente/reserva, cooldown, recarregando - [ ] Raio 3D a partir da câmera: vs AABBs do mapa, vs cápsula (corpo) e esfera (cabeça) - [ ] Viewmodel da arma com recuo procedural simples - [ ] Mensagem `Hit { target, part, amount, source, from_dir }` ## Critérios de aceite - [ ] Arma nova = só uma entrada de dados - [ ] Testes unitários: raio vs AABB, raio vs cápsula/esfera, spread, cone melee
caio changed title from [feat] Framework de armas data-driven (troca, munição, recarga, cooldown) to [feat] Framework de armas data-driven: raio 3D, viewmodel, munição e recarga 2026-10-11 21:32:27 -03:00
Author
Owner

Feito em shooter_core::weapons: WeaponDef/WeaponCatalog data-driven, inventário de 2 armas + faca (ADR-011), troca por 1/2/scroll, munição, recarga (R e automática com pente vazio), cadência, disparo automático, viewmodel trocando por arma, mensagem WeaponFired. 4 testes unitários.

Falta: raio 3D (acerto em alvos e bloqueio pela cobertura), spread, cabeça/corpo, mensagem de dano.

hud

Feito em `shooter_core::weapons`: `WeaponDef`/`WeaponCatalog` data-driven, inventário de 2 armas + faca (ADR-011), troca por 1/2/scroll, munição, recarga (R e automática com pente vazio), cadência, disparo automático, viewmodel trocando por arma, mensagem `WeaponFired`. 4 testes unitários. **Falta:** raio 3D (acerto em alvos e bloqueio pela cobertura), spread, cabeça/corpo, mensagem de dano. ![hud](https://cosmos.simioni.dev.br/caio/survivors/raw/branch/main/docs/screenshots/hud-fuzil.png)
Author
Owner

Feito o raio 3D: cenário bloqueia tiros, corpo (cilindro) e cabeça (esfera, dano x2), pellets da escopeta, espalhamento por arma, golpe da faca por alcance e cone. 6 testes de geometria. Falta: queda de dano por distância, espalhamento crescente do fuzil, traçante/impacto visual.

Feito o raio 3D: cenário bloqueia tiros, corpo (cilindro) e cabeça (esfera, dano x2), pellets da escopeta, espalhamento por arma, golpe da faca por alcance e cone. 6 testes de geometria. Falta: queda de dano por distância, espalhamento crescente do fuzil, traçante/impacto visual.
Sign in to join this conversation.
No description provided.