--- a/hedgewars/uGearsHandlersMess.pas Mon Dec 23 03:15:39 2013 +0200
+++ b/hedgewars/uGearsHandlersMess.pas Mon Dec 23 00:52:02 2013 -0500
@@ -2293,7 +2293,8 @@
end;
HHGear^.dY := HHGear^.dY + cGravity;
- if not (HHGear^.dY.isNegative) then
+ if Gear^.Timer > 0 then dec(Gear^.Timer);
+ if not (HHGear^.dY.isNegative) or (Gear^.Timer = 0) then
begin
HHGear^.State := HHGear^.State or gstMoving;
DeleteGear(Gear);
--- a/hedgewars/uGearsList.pas Mon Dec 23 03:15:39 2013 +0200
+++ b/hedgewars/uGearsList.pas Mon Dec 23 00:52:02 2013 -0500
@@ -395,6 +395,7 @@
end
end;
gtFirePunch: begin
+ if gear^.Timer = 0 then gear^.Timer:= 3000;
gear^.Radius:= 15;
gear^.Tag:= Y
end;