Add ammoprop for blowtorch and pickhammer for not stopping timer in inf attack
authorWuzzy <almikes@aol.com>
Sat, 30 Apr 2016 23:30:34 +0200
changeset 11920 16ce211010cf
parent 11919 c9bad8a01185
child 11921 38fa4583e7f3
Add ammoprop for blowtorch and pickhammer for not stopping timer in inf attack
hedgewars/uConsts.pas
hedgewars/uGears.pas
hedgewars/uGearsHandlersMess.pas
hedgewars/uVariables.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;
--- 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
--- 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
--- 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;