X-Git-Url: https://git.octo.it/?a=blobdiff_plain;ds=sidebyside;f=src%2Fbadguy%2Fstalactite.cpp;h=84febaedfdf5852875b36d7e6dd97f7046b919b3;hb=83c5812ba15bc66c3dc6ae1c3fc59ab29978e514;hp=791cdc9556f77f2e54c4bb8ba659affbc064c5d6;hpb=450b140354fa5a79aebc83f0ab8d2705d5630c6f;p=supertux.git diff --git a/src/badguy/stalactite.cpp b/src/badguy/stalactite.cpp index 791cdc955..84febaedf 100644 --- a/src/badguy/stalactite.cpp +++ b/src/badguy/stalactite.cpp @@ -16,6 +16,7 @@ #include "badguy/stalactite.hpp" +#include "audio/sound_manager.hpp" #include "math/random_generator.hpp" #include "object/bullet.hpp" #include "object/player.hpp" @@ -34,6 +35,9 @@ Stalactite::Stalactite(const Reader& lisp) : { countMe = false; set_colgroup_active(COLGROUP_TOUCHABLE); + SoundManager::current()->preload("sounds/cracking.wav"); + SoundManager::current()->preload("sounds/sizzle.ogg"); + SoundManager::current()->preload("sounds/icecrash.ogg"); } void @@ -48,6 +52,7 @@ Stalactite::active_update(float elapsed_time) && player->get_bbox().p1.y < bbox.p2.y + SHAKE_RANGE_Y) { timer.start(SHAKE_TIME); state = STALACTITE_SHAKING; + SoundManager::current()->play("sounds/cracking.wav", get_pos()); } } } else if(state == STALACTITE_SHAKING) { @@ -71,6 +76,7 @@ Stalactite::squish() physic.set_velocity_y(0); set_state(STATE_SQUISHED); sprite->set_action("squished"); + SoundManager::current()->play("sounds/icecrash.ogg", get_pos()); set_group(COLGROUP_MOVING_ONLY_STATIC); run_dead_script(); } @@ -122,6 +128,9 @@ Stalactite::collision_bullet(Bullet& bullet, const CollisionHit& ) timer.start(SHAKE_TIME); state = STALACTITE_SHAKING; bullet.remove_me(); + if(bullet.get_type() == FIRE_BONUS) + SoundManager::current()->play("sounds/sizzle.ogg", get_pos()); + SoundManager::current()->play("sounds/cracking.wav", get_pos()); } return FORCE_MOVE;