# HG changeset patch # User koda # Date 1289570093 -3600 # Node ID e5cb885492dfb2a83e42ddf98e43047ef62d8a0f # Parent bf46b4bdf27dcfae6ea511a529f5e031e08ba3cd drillstrike! might require the drill patch to improve behavior diff -r bf46b4bdf27d -r e5cb885492df QTfrontend/hwconsts.cpp.in --- 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[] = { diff -r bf46b4bdf27d -r e5cb885492df hedgewars/GSHandlers.inc --- 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; diff -r bf46b4bdf27d -r e5cb885492df hedgewars/GearDrawing.inc --- 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, diff -r bf46b4bdf27d -r e5cb885492df hedgewars/HHHandlers.inc --- 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); diff -r bf46b4bdf27d -r e5cb885492df hedgewars/uAIAmmoTests.pas --- 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; diff -r bf46b4bdf27d -r e5cb885492df hedgewars/uConsts.pas --- 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) ); diff -r bf46b4bdf27d -r e5cb885492df hedgewars/uLocale.pas --- 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, diff -r bf46b4bdf27d -r e5cb885492df share/hedgewars/Data/Locale/en.txt --- 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