# HG changeset patch # User Wuzzy # Date 1575078889 -3600 # Node ID 6ddfde71ba6aaefb73eaedf0b6217503991d8624 # Parent dfdd0db897600cc3b4fe4495b4215917850917c7 Remove parachute early if hog is inside land Fixes a bug: When you used parachute right after using a parachute to dig inside land, you might become stuck. Reported here: https://hedgewars.org/node/9035 diff -r dfdd0db89760 -r 6ddfde71ba6a ChangeLog.txt --- a/ChangeLog.txt Tue Nov 19 08:35:32 2019 -0500 +++ b/ChangeLog.txt Sat Nov 30 02:54:49 2019 +0100 @@ -9,6 +9,7 @@ * Racer: Resize waypoints in custom-sized drawn maps * A Space Adventure: The First Stop: Fix broken victory condition when eliminating minions * A Space Adventure: Killing the Specialists: Don't award player health if enemy hurts itself + * Fix hog getting stuck when opening parachute right after a shoryuken digging through land Lua: + Add RopeKnocking library diff -r dfdd0db89760 -r 6ddfde71ba6a hedgewars/uGearsHandlersMess.pas --- a/hedgewars/uGearsHandlersMess.pas Tue Nov 19 08:35:32 2019 -0500 +++ b/hedgewars/uGearsHandlersMess.pas Sat Nov 30 02:54:49 2019 +0100 @@ -3091,6 +3091,16 @@ AfterAttack; + // Delete parachute early if hog already collides + if (TestCollisionXwithGear(HHGear, -1) <> 0) and (TestCollisionXwithGear(HHGear, 1) <> 0) then + begin + HHGear^.dY := cGravity * 100; + isCursorVisible:= false; + ApplyAmmoChanges(HHGear^.Hedgehog^); + DeleteGear(Gear); + exit; + end; + // make sure hog doesn't end up facing in wrong direction due to high jump if (HHGear^.State and gstHHHJump) <> 0 then HHGear^.dX.isNegative := (not HHGear^.dX.isNegative);