Devlog #16 · O combate começa a ter cara
O client de Aelara ganhou a primeira camada visual de combate — o tipo de avanço que muda a sensação do projeto.
Não é ainda o sistema completo de skills, cooldowns e animações finais. É a camada que faz o jogador entender o que está acontecendo: quem está selecionado, quando uma ação foi usada, qual foi o resultado.
Seleção e alvo
Tab target com arco de seleção e alcance configurável. Cycling entre múltiplos alvos com Tab / Shift+Tab. Target frame no HUD com HP e informações de combate. Focus target separado. Nameplates acima das entidades visíveis com barra de HP e culling por distância.
Feedback de ação
GCD visual. Hit flash no alvo ao receber dano. Números flutuantes para dano, cura e crítico (com destaque diferenciado para crítico). Action bar com slots de habilidade e cooldown radial no slot principal. Cast bar inicial.
O caminho está vivo
A tecla de habilidade envia MSG_ABILITY_USE com target_entity_id + ability_id. O servidor reconhece e conta por métrica. Ainda não resolve dano final — isso vem na próxima camada — mas o pipeline existe:
Tab seleciona → HUD mostra → habilidade envia → servidor recebe → futuro sistema resolve.
Bench / validação
— Build do client validado / clippy limpo
— GCD, dano, cura e crítico testáveis em PIE offline
— Action bar e cast bar alternáveis por comando de teste
— Nameplates com culling por distância funcionando
— MSG_ABILITY_USE reconhecido e contado por métrica no servidor
Próximo: o launcher — a porta de entrada do jogo.