drillstrike! might require the drill patch to improve behavior
authorkoda
Fri, 12 Nov 2010 14:54:53 +0100
changeset 4246 e5cb885492df
parent 4244 bf46b4bdf27d
child 4248 e127b3d26248
drillstrike! might require the drill patch to improve behavior
QTfrontend/hwconsts.cpp.in
hedgewars/GSHandlers.inc
hedgewars/GearDrawing.inc
hedgewars/HHHandlers.inc
hedgewars/uAIAmmoTests.pas
hedgewars/uConsts.pas
hedgewars/uLocale.pas
share/hedgewars/Data/Locale/en.txt
--- a/QTfrontend/hwconsts.cpp.in	Fri Nov 12 00:11:22 2010 +0100
+++ b/QTfrontend/hwconsts.cpp.in	Fri Nov 12 14:54:53 2010 +0100
@@ -36,10 +36,10 @@
 int cMaxTeams = 6;
 
 QString * cDefaultAmmoStore = new QString(
-        "9391929422199121032235111001201000000211110101011"
-        "0405040541600655546554464776576666666155510101115"
-        "0000000000000205500000040007004000000000200000000"
-        "1311110312111111123114111111111111111211111101111"
+        "93919294221991210322351110012010000002111101010111"
+        "04050405416006555465544647765766666661555101011154"
+        "00000000000002055000000400070040000000002000000006"
+        "13111103121111111231141111111111111112111111011111"
         );
 int cAmmoNumber = cDefaultAmmoStore->size() / 4;
 
@@ -48,40 +48,40 @@
         << qMakePair(QString("Default"), *cDefaultAmmoStore)
         << qMakePair(QString("Crazy"),     QString(
         // TODO: Remove Piano's unlimited uses!
-        "9999999999999999992999999999999999299999999909999"
-        "1111110111111111111111111111111111111111111101111"
-        "0000000000000000000000000000000000000000000000000"
-        "1311110312111111123114111111111111111211110101111"
+        "99999999999999999929999999999999992999999999099999"
+        "11111101111111111111111111111111111111111111011111"
+        "00000000000000000000000000000000000000000000000000"
+        "13111103121111111231141111111111111112111101011111"
         ))
         << qMakePair(QString("Pro Mode"),  QString(
-        "9090009000000000000009000000000000000000000000000"
-        "0000000000000000000000000000000000000000000000000"
-        "0000000000000205500000040007004000000000200000000"
-        "1111111111111111111111111111111111111111100101111"
+        "90900090000000000000090000000000000000000000000000"
+        "00000000000000000000000000000000000000000000000000"
+        "00000000000002055000000400070040000000002000000000"
+        "11111111111111111111111111111111111111111001011111"
         ))
         << qMakePair(QString("Shoppa"),    QString(
-        "0000009900000000000000000000000000000000000000000"
-        "4444410044244402210112121222422000000002000400010"
-        "0000000000000000000000000000000000000000000000000"
-        "1111111111111111111111111111111111111111101101111"
+        "00000099000000000000000000000000000000000000000000"
+        "44444100442444022101121212224220000000020004000100"
+        "00000000000000000000000000000000000000000000000000"
+        "11111111111111111111111111111111111111111011011111"
         ))
         << qMakePair(QString("Clean Slate"),QString(
-        "1010009000010000011000000000000000000000000000001"
-        "0405040541600655546554464776576666666155510101115"
-        "0000000000000000000000000000000000000000000000000"
-        "1311110312111111123114111111111111111211111101111"
+        "10100090000100000110000000000000000000000000000010"
+        "04050405416006555465544647765766666661555101011154"
+        "00000000000000000000000000000000000000000000000000"
+        "13111103121111111231141111111111111112111111011111"
         ))
         << qMakePair(QString("Minefield"), QString(
-        "0000009900090000000300000000000000000000000000000"
-        "0000000000000000000000000000000000000000000000000"
-        "0000000000000205500000040007004000000000200000000"
-        "1111111111111111111111111111111111111111111101111"
+        "00000099000900000003000000000000000000000000000000"
+        "00000000000000000000000000000000000000000000000000"
+        "00000000000002055000000400070040000000002000000006"
+        "11111111111111111111111111111111111111111111011111"
         ))
         << qMakePair(QString("Thinking with Portals"), QString(
-        "9000009002000000002100000000000000110000090000000"
-        "0405040541600655546554464776576666666155510101115"
-        "0000000000000205500000040007004000000000200000000"
-        "1311110312111111123114111111111111111211111101111"
+        "90000090020000000021000000000000001100000900000000"
+        "04050405416006555465544647765766666661555101011154"
+        "00000000000002055000000400070040000000002000000006"
+        "13111103121111111231141111111111111112111111011111"
         ));
 
 QColor *colors[] = {
--- a/hedgewars/GSHandlers.inc	Fri Nov 12 00:11:22 2010 +0100
+++ b/hedgewars/GSHandlers.inc	Fri Nov 12 14:54:53 2010 +0100
@@ -2059,6 +2059,10 @@
             2: for i:= -19 to 19 do
                    FollowGear := AddGear(hwRound(Gear^.X) + i div 3, hwRound(Gear^.Y), gtFlame, 0,
                                  _0_001 * i, _0, 0);
+            3: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtDrill, 0, cBombsSpeed *
+                             Gear^.Tag, _0, 0);
+            //4: FollowGear := AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtWaterMelon, 0, cBombsSpeed *
+            //                 Gear^.Tag, _0, 5000);
         end;
         Gear^.dX := Gear^.dX + int2hwFloat(30 * Gear^.Tag)
     end;
--- a/hedgewars/GearDrawing.inc	Fri Nov 12 00:11:22 2010 +0100
+++ b/hedgewars/GearDrawing.inc	Fri Nov 12 14:54:53 2010 +0100
@@ -438,7 +438,8 @@
 
         case amt of
             amAirAttack,
-            amMineStrike: DrawRotated(sprHandAirAttack, sx, oy, sign, 0);
+            amMineStrike,
+            amDrillStrike: DrawRotated(sprHandAirAttack, sx, oy, sign, 0);
             amPickHammer: DrawHedgehog(sx, sy,
                         sign,
                         1,
--- a/hedgewars/HHHandlers.inc	Fri Nov 12 00:11:22 2010 +0100
+++ b/hedgewars/HHHandlers.inc	Fri Nov 12 14:54:53 2010 +0100
@@ -305,6 +305,8 @@
                                 gtResurrector, 0, _0, _0, 0);
                         CurAmmoGear^.SoundChannel := LoopSound(sndResurrector);
                     end;
+                   amDrillStrike: AddGear(CurWeapon^.Pos, 0, gtAirAttack, 3, _0, _0, 0);
+                   //amMelonStrike: AddGear(CurWeapon^.Pos, 0, gtAirAttack, 4, _0, _0, 0);
                   end;
 
         uStats.AmmoUsed(CurAmmoType);
--- a/hedgewars/uAIAmmoTests.pas	Fri Nov 12 00:11:22 2010 +0100
+++ b/hedgewars/uAIAmmoTests.pas	Fri Nov 12 14:54:53 2010 +0100
@@ -101,7 +101,8 @@
             (proc: nil;              flags: 0), // amFlamethrower
             (proc: @TestGrenade;     flags: 0), // amSMine
             (proc: @TestFirePunch;   flags: 0), // amHammer
-            (proc: nil;              flags: 0) // amResurrector
+            (proc: nil;              flags: 0), // amResurrector
+            (proc: nil;              flags: 0) // amDrillStrike
             );
 
 const BadTurn = Low(LongInt) div 4;
--- a/hedgewars/uConsts.pas	Fri Nov 12 00:11:22 2010 +0100
+++ b/hedgewars/uConsts.pas	Fri Nov 12 14:54:53 2010 +0100
@@ -134,7 +134,7 @@
             amRCPlane, amLowGravity, amExtraDamage, amInvulnerable, amExtraTime, // 35
             amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42
             amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48
-            amResurrector);
+            amResurrector, amDrillStrike);
 
     TCrateType = (HealthCrate, AmmoCrate, UtilityCrate);
 
@@ -2183,6 +2183,7 @@
             ejectX: 0;
             ejectY: 0),
 
+// Ressurrector
         (NameId: sidResurrector;
             NameTex: nil;
             Probability: 0;
@@ -2205,6 +2206,33 @@
             PosCount: 1;
             PosSprite: sprWater;
             ejectX: 0;
+            ejectY: 0),
+
+// DrillStrike
+            (NameId: sidDrillStrike;
+            NameTex: nil;
+            Probability: 200;
+            NumberInCase: 1;
+            Ammo: (Propz: ammoprop_NoCrosshair or
+                            ammoprop_NeedTarget or
+                            ammoprop_AttackingPut or
+                            ammoprop_DontHold or
+                            ammoprop_NotBorder;
+                Count: 1;
+                NumPerTurn: 0;
+                Timer: 0;
+                Pos: 0;
+                AmmoType: amDrillStrike;
+                AttackVoice: sndIncoming);
+            Slot: 5;
+            TimeAfterTurn: 0;
+            minAngle: 0;
+            maxAngle: 0;
+            isDamaging: true;
+            SkipTurns: 6;
+            PosCount: 2;
+            PosSprite: sprAmAirplane;
+            ejectX: 0;
             ejectY: 0)
         );
 
--- a/hedgewars/uLocale.pas	Fri Nov 12 00:11:22 2010 +0100
+++ b/hedgewars/uLocale.pas	Fri Nov 12 14:54:53 2010 +0100
@@ -30,7 +30,7 @@
             sidLowGravity, sidExtraDamage, sidInvulnerable, sidExtraTime,
             sidLaserSight, sidVampiric, sidSniperRifle, sidJetpack,
             sidMolotov, sidBirdy, sidPortalGun, sidPiano, sidGasBomb, sidSineGun, sidFlamethrower,
-            sidSMine, sidHammer, sidResurrector);
+            sidSMine, sidHammer, sidResurrector, sidDrillStrike);
 
     TMsgStrId = (sidStartFight, sidDraw, sidWinner, sidVolume, sidPaused,
             sidConfirm, sidSuddenDeath, sidRemaining, sidFuel, sidSync,
--- a/share/hedgewars/Data/Locale/en.txt	Fri Nov 12 00:11:22 2010 +0100
+++ b/share/hedgewars/Data/Locale/en.txt	Fri Nov 12 14:54:53 2010 +0100
@@ -50,6 +50,7 @@
 00:47=Sticky Mine
 00:48=Hammer
 00:49=Resurrector
+00:50=Drill Strike
 
 01:00=Let's fight!
 01:01=Round draw
@@ -431,6 +432,7 @@
 03:47=Stick these somewhere useful!
 03:48=It's Hammer time!
 03:49=Does what you guess
+03:50=Moles fan
 
 ; Weapon Descriptions (use | as line breaks)
 04:00=Attack your enemies using a simple grenade.|It will explode once its timer reaches zero.|1-5: Set grenade's timer|Attack: Hold to throw with more power