X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fbadguy%2Fstalactite.cpp;fp=src%2Fbadguy%2Fstalactite.cpp;h=449b59264d254571a36013e125d75e13eb207005;hb=7becc3ff0c1c8b4c9a2bdb12bfc085925c8702f1;hp=20eea8c598f7aca018566a32c2e6d4a4df42f4bd;hpb=d625a7bfb131e5e6c8061901c0d69352788820d8;p=supertux.git diff --git a/src/badguy/stalactite.cpp b/src/badguy/stalactite.cpp index 20eea8c59..449b59264 100644 --- a/src/badguy/stalactite.cpp +++ b/src/badguy/stalactite.cpp @@ -69,6 +69,7 @@ Stalactite::squish() physic.set_velocity_x(0); physic.set_velocity_y(0); set_state(STATE_SQUISHED); + sprite->set_action("squished"); set_group(COLGROUP_MOVING_ONLY_STATIC); run_dead_script(); } @@ -110,8 +111,6 @@ Stalactite::collision_badguy(BadGuy& other, const CollisionHit& hit) other.kill_fall(); } - remove_me(); - return FORCE_MOVE; } @@ -123,15 +122,12 @@ Stalactite::kill_fall() void Stalactite::draw(DrawingContext& context) { - if(get_state() != STATE_ACTIVE) + if(get_state() == STATE_INIT || get_state() == STATE_INACTIVE) return; if(state == STALACTITE_SQUISHED) { sprite->draw(context, get_pos(), LAYER_OBJECTS); - return; - } - - if(state == STALACTITE_SHAKING) { + } else if(state == STALACTITE_SHAKING) { sprite->draw(context, get_pos() + shake_delta, layer); } else { sprite->draw(context, get_pos(), layer);