X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fobject%2Frock.cpp;h=f53ea2115edbf8cff66f4167309ad0339cb9fbc1;hb=f3a7c2a5d9f200bb51ecf9a8c97612cdc6660379;hp=7c010a28b785e16b6f92ae363228117aa8426a2d;hpb=dc4e58e22c74095a0b5354c10b12f31f73d4f968;p=supertux.git diff --git a/src/object/rock.cpp b/src/object/rock.cpp index 7c010a28b..f53ea2115 100644 --- a/src/object/rock.cpp +++ b/src/object/rock.cpp @@ -17,7 +17,6 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA // 02111-1307, USA. - #include #include "rock.h" @@ -78,13 +77,17 @@ Rock::update(float elapsed_time) } HitResponse -Rock::collision(GameObject& , const CollisionHit& ) +Rock::collision(GameObject& object, const CollisionHit& ) { if(grabbed) return FORCE_MOVE; - physic.set_velocity(0, 0); - return CONTINUE; + if(object.get_flags() & FLAG_SOLID) { + physic.set_velocity(0, 0); + return CONTINUE; + } + + return FORCE_MOVE; } void @@ -94,5 +97,5 @@ Rock::grab(MovingObject& , const Vector& pos) grabbed = true; } -IMPLEMENT_FACTORY(Rock, "rock") +IMPLEMENT_FACTORY(Rock, "rock");