diff --git a/source/game/systems/collision_system.cpp b/source/game/systems/collision_system.cpp index c300701..207ef10 100644 --- a/source/game/systems/collision_system.cpp +++ b/source/game/systems/collision_system.cpp @@ -273,7 +273,12 @@ namespace Systems::Collision { } // *** TEAMMATE HIT (friendly fire) *** - // Víctima perd 1 vida, atacant en guanya 1. + // Víctima perd 1 vida, atacant en guanya 1. Apliquem l'impuls + // de la bala a la nau ABANS de on_player_hit perquè tocado() + // captura la velocitat per als debris (si no, queden quiets). + const Vec2 BULLET_IMPULSE = bullet.getBody().velocity * + (bullet.getBody().mass * Defaults::Physics::Bullet::IMPACT_MOMENTUM_FACTOR); + ctx.ships[player_id].getBody().applyImpulse(BULLET_IMPULSE); ctx.on_player_hit(player_id); ctx.lives_per_player[BULLET_OWNER]++; Audio::get()->playSound(Defaults::Sound::FRIENDLY_FIRE_HIT, Audio::Group::GAME);