diff -r d81727c49617 -r 75916086afa3 hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Sat Aug 20 14:00:51 2011 -0400 +++ b/hedgewars/GSHandlers.inc Sat Aug 20 14:26:29 2011 -0400 @@ -358,8 +358,9 @@ if (Gear^.nImpactSounds > 0) and ((Gear^.Damage <> 0) or ((Gear^.State and (gstCollision or gstMoving)) = (gstCollision or gstMoving))) and - ((Gear^.dX.QWordValue > _0_1.QWordValue) or - (Gear^.dY.QWordValue > _0_1.QWordValue)) then + (((Gear^.Radius < 3) and (Gear^.dY < -_0_1)) or + ((Gear^.Radius >= 3) and ((Gear^.dX.QWordValue > _0_1.QWordValue) or + (Gear^.dY.QWordValue > _0_1.QWordValue)))) then PlaySound(TSound(ord(Gear^.ImpactSound) + LongInt(GetRandom(Gear^.nImpactSounds))), true); end;