diff --git a/src/object/player.cpp b/src/object/player.cpp index c2d4e246311..57b3441db05 100644 --- a/src/object/player.cpp +++ b/src/object/player.cpp @@ -748,14 +748,15 @@ Player::update(float dt_sec) if (m_does_buttjump || (m_stone && m_physic.get_velocity_y() > 30.f && !m_coyote_timer.started())) { Rectf downbox = get_bbox().grown(-1.f); - downbox.set_bottom(get_bbox().get_bottom() + 16.f); + downbox.set_top(get_bbox().get_bottom()); + downbox.set_bottom(downbox.get_bottom() + 16.f); for (auto& brick : Sector::get().get_objects_by_type()) { // stoneform breaks through any kind of bricks if (downbox.contains(brick.get_bbox()) && (m_stone || !dynamic_cast(&brick))) brick.try_break(this, is_big()); } for (auto& badguy : Sector::get().get_objects_by_type()) { - if (downbox.contains(badguy.get_bbox()) && badguy.is_snipable()) + if (downbox.contains(badguy.get_bbox()) && badguy.is_snipable() && !badguy.is_grabbed()) badguy.kill_fall(); } }