X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fbadguy%2Fyeti_stalactite.cpp;fp=src%2Fbadguy%2Fyeti_stalactite.cpp;h=8f6ef721d11b16c7142ec73b803e722ee2e37a99;hb=7becc3ff0c1c8b4c9a2bdb12bfc085925c8702f1;hp=59d819bb50aa8df6d5f76dbb512bec7ca14f98f7;hpb=d625a7bfb131e5e6c8061901c0d69352788820d8;p=supertux.git diff --git a/src/badguy/yeti_stalactite.cpp b/src/badguy/yeti_stalactite.cpp index 59d819bb5..8f6ef721d 100644 --- a/src/badguy/yeti_stalactite.cpp +++ b/src/badguy/yeti_stalactite.cpp @@ -16,6 +16,7 @@ #include "badguy/yeti_stalactite.hpp" +#include "sprite/sprite.hpp" #include "supertux/object_factory.hpp" static const float YT_SHAKE_TIME = .8f; @@ -51,4 +52,21 @@ YetiStalactite::active_update(float elapsed_time) Stalactite::active_update(elapsed_time); } +void +YetiStalactite::update(float elapsed_time) +{ + // Respawn instead of removing once squished + if(get_state() == STATE_SQUISHED && check_state_timer()) { + set_state(STATE_ACTIVE); + state = STALACTITE_HANGING; + // Hopefully we shouldn't come into contact with anything... + sprite->set_action("normal"); + set_pos(start_position); + set_colgroup_active(COLGROUP_TOUCHABLE); + } + + // Call back to badguy to do normal stuff + BadGuy::update(elapsed_time); +} + /* EOF */