Mine Strike weapon
authorunc0rr
Wed, 29 Nov 2006 20:33:07 +0000
changeset 285 cdab49768c83
parent 284 22ce72bd637f
child 286 6aa69a531d50
Mine Strike weapon
hedgewars/GSHandlers.inc
hedgewars/HHHandlers.inc
hedgewars/uAIAmmoTests.pas
hedgewars/uConsts.pas
hedgewars/uLocale.pas
share/hedgewars/Data/Graphics/AmmoMenu/Ammos.png
share/hedgewars/Data/Locale/en.txt
share/hedgewars/Data/Locale/ru.txt
--- a/hedgewars/GSHandlers.inc	Wed Nov 29 15:47:32 2006 +0000
+++ b/hedgewars/GSHandlers.inc	Wed Nov 29 20:33:07 2006 +0000
@@ -925,7 +925,7 @@
 end;
 
 ////////////////////////////////////////////////////////////////////////////////
-const cAirPlaneSpeed = 1.1;
+const cAirPlaneSpeed = 1.4;
       cBombsDistance = 30;
       cBombsSpeed = 0.1;
 
@@ -936,7 +936,10 @@
 if (Gear.Health > 0)and(Gear.X >= Gear.dX)and(Gear.X < Gear.dX + cAirPlaneSpeed) then
    begin
    dec(Gear.Health);
-   AddGear(round(Gear.X), round(Gear.Y), gtAirBomb, 0, cBombsSpeed, 0.0);
+   case Gear.State of
+        0: AddGear(round(Gear.X), round(Gear.Y), gtAirBomb, 0, cBombsSpeed, 0.0);
+        1: AddGear(round(Gear.X), round(Gear.Y), gtMine, 0, cBombsSpeed, 0.0);
+        end;
    Gear.dX:= Gear.dX + cBombsDistance
    end;
 if Gear.X > 3072 then DeleteGear(Gear)
@@ -962,7 +965,7 @@
 doStepFallingGear(Gear);
 if (Gear.State and gstCollision) <> 0 then
    begin
-   doMakeExplosion(round(Gear.X), round(Gear.Y), 35, EXPLAutoSound);
+   doMakeExplosion(round(Gear.X), round(Gear.Y), 30, EXPLAutoSound);
    DeleteGear(Gear);
    exit
    end;
--- a/hedgewars/HHHandlers.inc	Wed Nov 29 15:47:32 2006 +0000
+++ b/hedgewars/HHHandlers.inc	Wed Nov 29 20:33:07 2006 +0000
@@ -68,7 +68,8 @@
                   amBaseballBat: AddGear(round(X) + hwSign(dX) * 10, round(Y), gtShover, 0, xx * 0.5, yy * 0.5).Radius:= 20;
                     amFirePunch: CurAmmoGear:= AddGear(round(X) + hwSign(dX) * 10, round(Y), gtFirePunch, 0);
                     amParachute: CurAmmoGear:= AddGear(round(X), round(Y), gtParachute, 0);
-                    amAirAttack: AddGear(0, 0, gtAirAttack, 0, 0, 0);
+                    amAirAttack: AddGear(0, 0, gtAirAttack, 0);
+                   amMineStrike: AddGear(0, 0, gtAirAttack, 1);
                   end;
         Power:= 0;
         if CurAmmoGear <> nil then
--- a/hedgewars/uAIAmmoTests.pas	Wed Nov 29 15:47:32 2006 +0000
+++ b/hedgewars/uAIAmmoTests.pas	Wed Nov 29 20:33:07 2006 +0000
@@ -44,7 +44,8 @@
 {amFirePunch}     TestFirePunch,
 {amBaseballBat}   TestBaseballBat,
 {amParachute}     nil,
-{amAirAttack}     nil
+{amAirAttack}     nil,
+{amMineStrike}    nil
                   );
 
 const BadTurn = Low(integer);
--- a/hedgewars/uConsts.pas	Wed Nov 29 15:47:32 2006 +0000
+++ b/hedgewars/uConsts.pas	Wed Nov 29 20:33:07 2006 +0000
@@ -56,7 +56,7 @@
 
      TAmmoType  = (amGrenade, amClusterBomb, amBazooka, amUFO, amShotgun, amPickHammer,
                    amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch,
-                   amBaseballBat, amParachute, amAirAttack);
+                   amBaseballBat, amParachute, amAirAttack, amMineStrike);
 
      THWFont    = (fnt16, fntBig);
 
@@ -422,11 +422,21 @@
                                    Ammo: (Propz: ammoprop_NoCrosshair or
                                                  ammoprop_NeedTarget or
                                                  ammoprop_AttackingPut;
-                                          Count: 3;
+                                          Count: 1;
                                           NumPerTurn: 0;
                                           Timer: 0;
                                           AmmoType: amAirAttack);
                                    Slot: 5;
+                                   TimeAfterTurn: 0),
+                                  (NameId: sidMineStrike;
+                                   Ammo: (Propz: ammoprop_NoCrosshair or
+                                                 ammoprop_NeedTarget or
+                                                 ammoprop_AttackingPut;
+                                          Count: 1;
+                                          NumPerTurn: 0;
+                                          Timer: 0;
+                                          AmmoType: amMineStrike);
+                                   Slot: 5;
                                    TimeAfterTurn: 0));
 
 implementation
--- a/hedgewars/uLocale.pas	Wed Nov 29 15:47:32 2006 +0000
+++ b/hedgewars/uLocale.pas	Wed Nov 29 20:33:07 2006 +0000
@@ -21,8 +21,10 @@
 type TAmmoStrId = (sidGrenade, sidClusterBomb, sidBazooka, sidUFO, sidShotgun,
                    sidPickHammer, sidSkip, sidRope, sidMine, sidDEagle,
                    sidDynamite, sidBaseballBat, sidFirePunch, sidSeconds,
-                   sidParachute, sidAirAttack);
+                   sidParachute, sidAirAttack, sidMineStrike);
+
      TMsgStrId = (sidStartFight, sidDraw, sidWinner, sidVolume, sidPaused);
+
 var trammo: array[TAmmoStrId] of string;
     trmsg: array[TMsgStrId] of string;
 
Binary file share/hedgewars/Data/Graphics/AmmoMenu/Ammos.png has changed
--- a/share/hedgewars/Data/Locale/en.txt	Wed Nov 29 15:47:32 2006 +0000
+++ b/share/hedgewars/Data/Locale/en.txt	Wed Nov 29 20:33:07 2006 +0000
@@ -16,6 +16,7 @@
 00:13=sec
 00:14=Parachute
 00:15=Air Attack
+00:16=Mine Strike
 
 01:00=Let's fight!
 01:01=Round draw
--- a/share/hedgewars/Data/Locale/ru.txt	Wed Nov 29 15:47:32 2006 +0000
+++ b/share/hedgewars/Data/Locale/ru.txt	Wed Nov 29 20:33:07 2006 +0000
@@ -16,6 +16,7 @@
 00:13=сек
 00:14=Парашют
 00:15=Воздушная атака
+00:16=Минный удар
 
 01:00=Вперёд к победе!
 01:01=Ничья