// enemies.hpp - Constants tècniques compartides per al sistema d'enemics. // © 2026 JailDesigner // // Tots els paràmetres jugables (physics, animation, wounded, spawn, // behavior, colors, scoring) viuen a data/entities//.yaml i // s'accedeixen via EnemyRegistry::get(EnemyType). Aquí només queda el // que no és per personalitzar per tipus. #pragma once namespace Defaults::Enemies::Spawn { // Sostre de reintents al cercar una posició de spawn que respecti el // safety_distance del tipus. No és un paràmetre jugable: és el llindar // tècnic abans de caure a un fallback aleatori amb advertència. constexpr int MAX_SPAWN_ATTEMPTS = 50; } // namespace Defaults::Enemies::Spawn namespace Defaults::Enemies::Visual { // Duració del "flash" que dispara l'acció FLASH (feedback per impacte // parcial en enemics HP>1). Curt: l'efecte ha de llegir-se com un cop, // no com una transició. constexpr float FLASH_DURATION = 0.08F; } // namespace Defaults::Enemies::Visual namespace Defaults::Enemies::Debris { // Escala dels fragments per a l'acció CREATE_DEBRIS_PARTIAL (xip d'impacte // en enemics HP>1). 0.3 = trossos petits, com de "casc esquerdat". constexpr float PARTIAL_PIECE_SCALE = 0.3F; } // namespace Defaults::Enemies::Debris namespace Defaults::Enemies::Fireworks { // Paràmetres del firework "petit" per a l'acció CREATE_FIREWORKS_SMALL // (feedback per impacte parcial en enemics HP>1). Pocs punts i baixa // velocitat: una espurna breu, no una explosió. constexpr int SMALL_N_POINTS = 20; constexpr float SMALL_SPEED = 250.0F; } // namespace Defaults::Enemies::Fireworks