From 828e79c58148875fd627572b3cec3800cef4a69e Mon Sep 17 00:00:00 2001 From: LMH Date: Thu, 5 Sep 2013 14:02:01 -1000 Subject: [PATCH] Stalactites break free when disturbed by fire and ice bullets --- src/badguy/stalactite.cpp | 13 +++++++++++++ src/badguy/stalactite.hpp | 1 + 2 files changed, 14 insertions(+) diff --git a/src/badguy/stalactite.cpp b/src/badguy/stalactite.cpp index a5f688a90..791cdc955 100644 --- a/src/badguy/stalactite.cpp +++ b/src/badguy/stalactite.cpp @@ -17,6 +17,7 @@ #include "badguy/stalactite.hpp" #include "math/random_generator.hpp" +#include "object/bullet.hpp" #include "object/player.hpp" #include "sprite/sprite.hpp" #include "supertux/object_factory.hpp" @@ -114,6 +115,18 @@ Stalactite::collision_badguy(BadGuy& other, const CollisionHit& hit) return FORCE_MOVE; } +HitResponse +Stalactite::collision_bullet(Bullet& bullet, const CollisionHit& ) +{ + if(state == STALACTITE_HANGING) { + timer.start(SHAKE_TIME); + state = STALACTITE_SHAKING; + bullet.remove_me(); + } + + return FORCE_MOVE; +} + void Stalactite::kill_fall() { diff --git a/src/badguy/stalactite.hpp b/src/badguy/stalactite.hpp index 1835d936b..bb08c9f28 100644 --- a/src/badguy/stalactite.hpp +++ b/src/badguy/stalactite.hpp @@ -28,6 +28,7 @@ public: void collision_solid(const CollisionHit& hit); HitResponse collision_player(Player& player, const CollisionHit& hit); HitResponse collision_badguy(BadGuy& other, const CollisionHit& hit); + HitResponse collision_bullet(Bullet& bullet, const CollisionHit& ); void kill_fall(); void draw(DrawingContext& context); -- 2.11.0