From 28c4786f7994856d68ccea9283c407a4aed375d6 Mon Sep 17 00:00:00 2001 From: Marty <85036874+MatusGuy@users.noreply.github.com> Date: Mon, 31 Jul 2023 12:01:38 +0100 Subject: [PATCH] Fix buttjump hitbox to not include actual player (#2562) This prevents being able to buttjump to kill enemies while they're being grabbed --- src/object/player.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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(); } }