--- 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=Ничья