set_group(COLGROUP_MOVING_STATIC);
}
-Rock::Rock(const Reader& reader, std::string spritename)
- : MovingSprite(reader, spritename)
+Rock::Rock(const Reader& reader, std::string spritename) :
+ MovingSprite(reader, spritename),
+ physic(),
+ on_ground(),
+ grabbed(),
+ last_movement()
{
sound_manager->preload(ROCK_SOUND);
on_ground = false;
Rock::collision(GameObject& other, const CollisionHit& hit)
{
if(grabbed) {
- return PASSTHROUGH;
+ return ABORT_MOVE;
}
if(!on_ground) {
if(hit.bottom && physic.get_velocity_y() > 200) {
{
movement = pos - get_pos();
last_movement = movement;
- set_group(COLGROUP_TOUCHABLE);
+ set_group(COLGROUP_TOUCHABLE); //needed for lanterns catching willowisps
on_ground = false;
grabbed = true;
}
grabbed = false;
}
-IMPLEMENT_FACTORY(Rock, "rock");
/* EOF */