diff options
Diffstat (limited to 'src/game/effects.cpp')
-rw-r--r-- | src/game/effects.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/game/effects.cpp b/src/game/effects.cpp index 501b296..daa2770 100644 --- a/src/game/effects.cpp +++ b/src/game/effects.cpp @@ -182,11 +182,12 @@ void fx_explosion_t::render_to(render::state_t *render) render->render(phase, &assets::fx.explosion, render_bounds, sf::Color::White); } -fx_ricochet_t::fx_ricochet_t(state_t *game_, v2f_t x_) : effect_t(game_) +fx_bullet_miss_t::fx_bullet_miss_t(state_t *game_, v2f_t x_, bool water_) : effect_t(game_) { ttl = game->now + 0.3; x = x_; + water = water_; render_bounds[0] = x - v2f_t(0.12f, 0.12f); render_bounds[1] = x + v2f_t(0.12f, 0.12f); @@ -197,13 +198,16 @@ fx_ricochet_t::fx_ricochet_t(state_t *game_, v2f_t x_) : effect_t(game_) ignore_waking = true; wake(); - assets::fx.ricochet_sound.play_3d(x); + if (water) + assets::fx.water_splash_sound.play_3d(x); + else + assets::fx.ricochet_sound.play_3d(x); } -void fx_ricochet_t::render_to(render::state_t *render) +void fx_bullet_miss_t::render_to(render::state_t *render) { double phase = (game->now - ttl) / 0.3f; - render->render(phase, &assets::fx.ricochet, render_bounds, sf::Color::White); + render->render(phase, (water ? &assets::fx.water_splash : &assets::fx.ricochet), render_bounds, sf::Color::White); } } // namespace game |