# HG changeset patch # User Wuzzy # Date 1560596775 -7200 # Node ID 5dc3e3f1c0f9a37bb073c39097d3c94c413b60ba # Parent 6b7d92fa491295c61a8a7b4e2466edf08e550d13 weBounce: Force hedgehogs to stay in playable area diff -r 6b7d92fa4912 -r 5dc3e3f1c0f9 hedgewars/uGearsUtils.pas --- a/hedgewars/uGearsUtils.pas Sat Jun 15 12:58:01 2019 +0200 +++ b/hedgewars/uGearsUtils.pas Sat Jun 15 13:06:15 2019 +0200 @@ -1762,14 +1762,14 @@ else if WorldEdge = weBounce then begin bounced:= false; - if (hwRound(Gear^.X) - Gear^.Radius < leftX) and (hwSign(Gear^.dX) = -1) and (not isZero(Gear^.dX)) then + if (hwRound(Gear^.X) - Gear^.Radius < leftX) and (Gear^.Kind = gtHedgehog) or ((hwSign(Gear^.dX) = -1) and (not isZero(Gear^.dX))) then begin LeftImpactTimer:= 333; Gear^.dX.isNegative:= false; Gear^.X:= int2hwfloat(leftX + Gear^.Radius); bounced:= true; end - else if (hwRound(Gear^.X) - Gear^.Radius > rightX) and (hwSign(Gear^.dX) = 1) and (not isZero(Gear^.dX)) then + else if (hwRound(Gear^.X) - Gear^.Radius > rightX) and (Gear^.Kind = gtHedgehog) or ((hwSign(Gear^.dX) = 1) and (not isZero(Gear^.dX))) then begin RightImpactTimer:= 333; Gear^.dX.isNegative:= true;