diff -r 58c29439225d -r dc9ea05c9d2f hedgewars/GSHandlers.inc --- a/hedgewars/GSHandlers.inc Sun Apr 12 06:01:17 2009 +0000 +++ b/hedgewars/GSHandlers.inc Sun Apr 12 12:50:43 2009 +0000 @@ -683,6 +683,9 @@ begin Gear^.X:= HHGear^.X; Gear^.Y:= HHGear^.Y; + + ApplyAngleBounds(PHedgehog(Gear^.Hedgehog)^, amRope); + Gear^.dX:= SignAs(AngleSin(HHGear^.Angle), HHGear^.dX); Gear^.dY:= -AngleCos(HHGear^.Angle); Gear^.Friction:= _450; @@ -850,7 +853,7 @@ if (Gear^.Message and gm_Attack) <> 0 then if (Gear^.State and gsttmpFlag) <> 0 then with PHedgehog(Gear^.Hedgehog)^ do - if Ammo^[CurSlot, CurAmmo].AmmoType = amRope then + if Ammo^[CurSlot, CurAmmo].AmmoType <> amParachute then WaitCollision else DeleteMe @@ -869,9 +872,9 @@ if (Gear^.State and gstAttacked) = 0 then begin OnUsedAmmo(PHedgehog(HHGear^.Hedgehog)^); - ApplyAmmoChanges(PHedgehog(HHGear^.Hedgehog)^); Gear^.State:= Gear^.State or gstAttacked - end + end; + ApplyAmmoChanges(PHedgehog(HHGear^.Hedgehog)^) end; begin