# HG changeset patch
# User Wuzzy <almikes@aol.com>
# Date 1462051834 -7200
# Node ID 16ce211010cf84524862c94d4b32e97952243bbf
# Parent  c9bad8a011854aa07c644b0aec6e96f3cc5ee27c
Add ammoprop for blowtorch and pickhammer for not stopping timer in inf attack

diff -r c9bad8a01185 -r 16ce211010cf hedgewars/uConsts.pas
--- a/hedgewars/uConsts.pas	Sat Nov 19 15:00:14 2016 +0100
+++ b/hedgewars/uConsts.pas	Sat Apr 30 23:30:34 2016 +0200
@@ -299,6 +299,8 @@
     ammoprop_Track        = $00040000;
     ammoprop_DoesntStopTimerInMultiShoot
                           = $00080000;
+    ammoprop_DoesntStopTimerWhileAttackingInInfAttackMode
+                          = $00100000;
     ammoprop_NoRoundEnd   = $10000000;
 
     AMMO_INFINITE = 100;
diff -r c9bad8a01185 -r 16ce211010cf hedgewars/uGears.pas
--- a/hedgewars/uGears.pas	Sat Nov 19 15:00:14 2016 +0100
+++ b/hedgewars/uGears.pas	Sat Apr 30 23:30:34 2016 +0200
@@ -446,7 +446,8 @@
 if TurnTimeLeft > 0 then
     if CurrentHedgehog^.Gear <> nil then
         if (((CurrentHedgehog^.Gear^.State and gstAttacking) = 0)
-            or (Ammoz[CurrentHedgehog^.CurAmmoType].Ammo.Propz and ammoprop_DoesntStopTimerWhileAttacking <> 0))
+            or (Ammoz[CurrentHedgehog^.CurAmmoType].Ammo.Propz and ammoprop_DoesntStopTimerWhileAttacking <> 0)
+            or ((GameFlags and gfInfAttack) <> 0) and (Ammoz[CurrentHedgehog^.CurAmmoType].Ammo.Propz and ammoprop_DoesntStopTimerWhileAttackingInInfAttackMode <> 0))
             and (not(isInMultiShoot and ((Ammoz[CurrentHedgehog^.CurAmmoType].Ammo.Propz and ammoprop_DoesntStopTimerInMultiShoot) <> 0))) then
             //(CurrentHedgehog^.CurAmmoType in [amShotgun, amDEagle, amSniperRifle])
                 begin
diff -r c9bad8a01185 -r 16ce211010cf hedgewars/uGearsHandlersMess.pas
--- a/hedgewars/uGearsHandlersMess.pas	Sat Nov 19 15:00:14 2016 +0100
+++ b/hedgewars/uGearsHandlersMess.pas	Sat Apr 30 23:30:34 2016 +0200
@@ -1461,8 +1461,6 @@
     WorldWrap(Gear);
     HHGear := Gear^.Hedgehog^.Gear;
     dec(Gear^.Timer);
-    if ((GameFlags and gfInfAttack) <> 0) and (TurnTimeLeft > 0) then
-        dec(TurnTimeLeft);
     if (TurnTimeLeft = 0) or (Gear^.Timer = 0)
     or((Gear^.Message and gmDestroy) <> 0)
     or((HHGear^.State and gstHHDriven) =0) then
@@ -1589,8 +1587,6 @@
     AllInactive := false;
     WorldWrap(Gear);
     dec(Gear^.Timer);
-    if ((GameFlags and gfInfAttack) <> 0) and (TurnTimeLeft > 0) then
-        dec(TurnTimeLeft);
 
     if Gear^.Hedgehog^.Gear = nil then
         begin
diff -r c9bad8a01185 -r 16ce211010cf hedgewars/uVariables.pas
--- a/hedgewars/uVariables.pas	Sat Nov 19 15:00:14 2016 +0100
+++ b/hedgewars/uVariables.pas	Sat Apr 30 23:30:34 2016 +0200
@@ -945,7 +945,8 @@
             Ammo: (Propz: ammoprop_ForwMsgs or
                           ammoprop_AttackInMove or
                           ammoprop_NoCrosshair or
-                          ammoprop_DontHold;
+                          ammoprop_DontHold or
+                          ammoprop_DoesntStopTimerWhileAttackingInInfAttackMode;
                 Count: 2;
                 NumPerTurn: 0;
                 Timer: 0;
@@ -1267,7 +1268,8 @@
             Probability: 100;
             NumberInCase: 2;
             Ammo: (Propz: ammoprop_ForwMsgs or
-                          ammoprop_NeedUpDown;
+                          ammoprop_NeedUpDown or
+                          ammoprop_DoesntStopTimerWhileAttackingInInfAttackMode;
                 Count: 1;
                 NumPerTurn: 0;
                 Timer: 0;