feat(audio): so enemy_hit per a debris_partial (impacte parcial a enemic amb HP>1)
This commit is contained in:
Binary file not shown.
@@ -36,6 +36,7 @@ namespace Defaults::Sound {
|
|||||||
|
|
||||||
constexpr const char* CONTINUE = "effects/continue.wav"; // Cuenta atras
|
constexpr const char* CONTINUE = "effects/continue.wav"; // Cuenta atras
|
||||||
constexpr const char* ENEMY_EXPLOSION = "effects/enemy_explosion.wav"; // Explosió d'enemic (debris default)
|
constexpr const char* ENEMY_EXPLOSION = "effects/enemy_explosion.wav"; // Explosió d'enemic (debris default)
|
||||||
|
constexpr const char* ENEMY_HIT = "effects/enemy_hit.wav"; // Impacte parcial a enemic (debris_partial — HP > 1)
|
||||||
constexpr const char* PLAYER_EXPLOSION = "effects/player_explosion.wav"; // Explosió de la nau del jugador
|
constexpr const char* PLAYER_EXPLOSION = "effects/player_explosion.wav"; // Explosió de la nau del jugador
|
||||||
constexpr const char* FRIENDLY_FIRE_HIT = "effects/friendly_fire.wav"; // Friendly fire hit
|
constexpr const char* FRIENDLY_FIRE_HIT = "effects/friendly_fire.wav"; // Friendly fire hit
|
||||||
constexpr const char* HIT = "effects/hit.wav"; // Enemic ferit (primer impacte → HURT)
|
constexpr const char* HIT = "effects/hit.wav"; // Enemic ferit (primer impacte → HURT)
|
||||||
|
|||||||
@@ -31,9 +31,10 @@ namespace Systems::EnemyEvents {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Helper compartit per CREATE_DEBRIS i CREATE_DEBRIS_PARTIAL: única
|
// Helper compartit per CREATE_DEBRIS i CREATE_DEBRIS_PARTIAL: única
|
||||||
// crida a explode(), paràmetres alineats; només canvien piece_scale
|
// crida a explode(), paràmetres alineats; canvien piece_scale (1.0
|
||||||
// (1.0 explosió, 0.3 xip) i el color (cos vs hit-feedback).
|
// explosió, 0.3 xip), el color (cos vs hit-feedback) i el so
|
||||||
void spawnDebrisForEnemy(Systems::Collision::Context& ctx, const Enemy& enemy, const Bullet* bullet, float piece_scale, SDL_Color color) {
|
// (ENEMY_EXPLOSION en la mort vs ENEMY_HIT en l'impacte parcial).
|
||||||
|
void spawnDebrisForEnemy(Systems::Collision::Context& ctx, const Enemy& enemy, const Bullet* bullet, float piece_scale, SDL_Color color, const char* sound) {
|
||||||
constexpr float SPEED_EXPLOSIO = 80.0F;
|
constexpr float SPEED_EXPLOSIO = 80.0F;
|
||||||
const Vec2 INHERITED_VEL = enemy.getVelocityVector() *
|
const Vec2 INHERITED_VEL = enemy.getVelocityVector() *
|
||||||
Defaults::Physics::Debris::ENEMY_VELOCITY_INHERITANCE;
|
Defaults::Physics::Debris::ENEMY_VELOCITY_INHERITANCE;
|
||||||
@@ -48,7 +49,7 @@ namespace Systems::EnemyEvents {
|
|||||||
INHERITED_VEL,
|
INHERITED_VEL,
|
||||||
0.0F,
|
0.0F,
|
||||||
0.0F,
|
0.0F,
|
||||||
Defaults::Sound::ENEMY_EXPLOSION,
|
sound,
|
||||||
color,
|
color,
|
||||||
Defaults::Physics::Debris::ENEMY_LIFETIME,
|
Defaults::Physics::Debris::ENEMY_LIFETIME,
|
||||||
Defaults::Physics::Debris::ENEMY_FRICTION,
|
Defaults::Physics::Debris::ENEMY_FRICTION,
|
||||||
@@ -207,13 +208,13 @@ namespace Systems::EnemyEvents {
|
|||||||
doAddScore(ctx, enemy, shooter_id);
|
doAddScore(ctx, enemy, shooter_id);
|
||||||
break;
|
break;
|
||||||
case EnemyActionType::CREATE_DEBRIS:
|
case EnemyActionType::CREATE_DEBRIS:
|
||||||
// Explosió de mort: trossos en color cos (correcte físicament).
|
// Explosió de mort: trossos en color cos + so ENEMY_EXPLOSION.
|
||||||
spawnDebrisForEnemy(ctx, enemy, bullet, 1.0F, enemy.getConfig().colors.normal);
|
spawnDebrisForEnemy(ctx, enemy, bullet, 1.0F, enemy.getConfig().colors.normal, Defaults::Sound::ENEMY_EXPLOSION);
|
||||||
break;
|
break;
|
||||||
case EnemyActionType::CREATE_DEBRIS_PARTIAL:
|
case EnemyActionType::CREATE_DEBRIS_PARTIAL:
|
||||||
// Xip d'impacte: trossos en color wounded (daurat) per
|
// Xip d'impacte: trossos en color wounded (daurat) + so
|
||||||
// diferenciar-los visualment del cos i marcar "damage".
|
// ENEMY_HIT, diferent de l'explosió per marcar damage no letal.
|
||||||
spawnDebrisForEnemy(ctx, enemy, bullet, Defaults::Enemies::Debris::PARTIAL_PIECE_SCALE, enemy.getConfig().colors.wounded);
|
spawnDebrisForEnemy(ctx, enemy, bullet, Defaults::Enemies::Debris::PARTIAL_PIECE_SCALE, enemy.getConfig().colors.wounded, Defaults::Sound::ENEMY_HIT);
|
||||||
break;
|
break;
|
||||||
case EnemyActionType::CREATE_FIREWORKS:
|
case EnemyActionType::CREATE_FIREWORKS:
|
||||||
// Burst de mort: línia blanca + glow wounded (daurat) per
|
// Burst de mort: línia blanca + glow wounded (daurat) per
|
||||||
|
|||||||
Reference in New Issue
Block a user