RC Plane
authorunc0rr
Sat, 17 Jan 2009 14:35:20 +0000
changeset 1689 3d0eee01f734
parent 1688 d94ac781a8e3
child 1690 502a25e54203
RC Plane
QTfrontend/hwconsts.cpp.in
hedgewars/GSHandlers.inc
hedgewars/HHHandlers.inc
hedgewars/uAIAmmoTests.pas
hedgewars/uConsts.pas
hedgewars/uGears.pas
hedgewars/uLocale.pas
hedgewars/uWorld.pas
share/hedgewars/Data/Graphics/AmmoMenu/Ammos.png
share/hedgewars/Data/Graphics/AmmoMenu/Ammos_bw.png
share/hedgewars/Data/Graphics/RCPlane.png
share/hedgewars/Data/Locale/bg.txt
share/hedgewars/Data/Locale/cz.txt
share/hedgewars/Data/Locale/de.txt
share/hedgewars/Data/Locale/en.txt
share/hedgewars/Data/Locale/es.txt
share/hedgewars/Data/Locale/fr.txt
share/hedgewars/Data/Locale/it.txt
share/hedgewars/Data/Locale/pl.txt
share/hedgewars/Data/Locale/pt-br.txt
share/hedgewars/Data/Locale/ru.txt
share/hedgewars/Data/Locale/sk.txt
share/hedgewars/Data/Locale/sv.txt
share/hedgewars/Data/Locale/uk.txt
share/hedgewars/Data/Locale/zh.txt
share/hedgewars/Data/Locale/zh_CN.txt
--- a/QTfrontend/hwconsts.cpp.in	Sat Jan 17 13:04:32 2009 +0000
+++ b/QTfrontend/hwconsts.cpp.in	Sat Jan 17 14:35:20 2009 +0000
@@ -29,7 +29,7 @@
 QStringList * Themes;
 QStringList * mapList;
 
-QString * cDefaultAmmoStore = new QString("939192942219912103223511100120");
+QString * cDefaultAmmoStore = new QString("9391929422199121032235111001202");
 
 QColor * color1 = new QColor(221,   0,   0);
 QColor * color2 = new QColor( 67, 118, 233);
--- a/hedgewars/GSHandlers.inc	Sat Jan 17 13:04:32 2009 +0000
+++ b/hedgewars/GSHandlers.inc	Sat Jan 17 14:35:20 2009 +0000
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2008 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2009 Andrey Korotaev <unC0Rr@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -1947,3 +1947,96 @@
 HHGear^.State:= HHGear^.State or gstNotKickable;
 Gear^.doStep:= @doStepBallgunWork
 end;
+
+procedure doStepRCPlaneWork(Gear: PGear);
+const cAngleSpeed = 3;
+var HHGear: PGear;
+	i: LongInt;
+	dX, dY: hwFloat;
+	fChanged: boolean;
+	trueAngle: Longword;
+	t: PGear;
+begin
+AllInactive:= false;
+
+dec(Gear^.Timer);
+
+HHGear:= PHedgehog(Gear^.Hedgehog)^.Gear;
+FollowGear:= Gear;
+
+fChanged:= false;
+if ((Gear^.Message and gm_Left) <> 0) then
+	begin
+	fChanged:= true;
+	Gear^.Angle:= (Gear^.Angle + (4096 - cAngleSpeed)) mod 4096
+	end;
+
+if ((Gear^.Message and gm_Right) <> 0) then
+	begin
+	fChanged:= true;
+	Gear^.Angle:= (Gear^.Angle + cAngleSpeed) mod 4096
+	end;
+
+if fChanged then
+	begin
+	Gear^.dX.isNegative:= (Gear^.Angle > 2048);
+	if Gear^.dX.isNegative then
+		trueAngle:= 4096 - Gear^.Angle
+	else
+		trueAngle:= Gear^.Angle;
+
+	Gear^.dX:= SignAs(AngleSin(trueAngle), Gear^.dX) * _0_25;
+	Gear^.dY:= AngleCos(trueAngle) * -_0_25;
+	end;
+
+
+Gear^.X:= Gear^.X + Gear^.dX;
+Gear^.Y:= Gear^.Y + Gear^.dY;
+
+if (GameTicks and $FF) = 0 then
+	AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtSmokeTrace, 0, _0, _0, 0);
+
+if ((HHGear^.Message and gm_Attack) <> 0)and(Gear^.Health <> 0) then
+	begin
+	HHGear^.Message := HHGear^.Message and not gm_Attack;
+	AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtAirBomb, 0, cBombsSpeed * Gear^.Tag, _0, 0);
+	dec(Gear^.Health)
+	end;
+
+// pickup bonuses
+t:= CheckGearNear(Gear, gtCase, 36, 36);
+if t <> nil then
+	PickUp(HHGear, t);
+
+CheckCollision(Gear);
+
+if ((Gear^.State and gstCollision) <> 0) or (Gear^.Timer = 0) then
+	begin
+	HHGear^.Message:= 0;
+	//HHGear^.State:= HHGear^.State and (not gstNotKickable);
+	doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 25, EXPLAutoSound);
+	for i:= 0 to 25 do
+		begin
+		dX:= AngleCos(i * 16) * _0_5 * (GetRandom + _1);
+		dY:= AngleSin(i * 16) * _0_5 * (GetRandom + _1);
+		AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtFlame, 0, dX, dY, 0);
+		AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtFlame, 0, dX, -dY, 0);
+		end;
+	DeleteGear(Gear);
+	AfterAttack;
+	end;
+
+if CheckGearDrowning(Gear) then
+	AfterAttack
+end;
+
+procedure doStepRCPlane(Gear: PGear);
+var HHGear: PGear;
+begin
+HHGear:= PHedgehog(Gear^.Hedgehog)^.Gear;
+HHGear^.Message:= 0;
+HHGear^.State:= HHGear^.State or gstNotKickable;
+Gear^.Angle:= HHGear^.Angle;
+if HHGear^.dX.isNegative then Gear^.Angle:= 4096 - Gear^.Angle;
+Gear^.doStep:= @doStepRCPlaneWork
+end;
\ No newline at end of file
--- a/hedgewars/HHHandlers.inc	Sat Jan 17 13:04:32 2009 +0000
+++ b/hedgewars/HHHandlers.inc	Sat Jan 17 14:35:20 2009 +0000
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2008 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2009 Andrey Korotaev <unC0Rr@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -161,6 +161,7 @@
                      amTeleport: CurAmmoGear:= AddGear(0, 0, gtTeleport, 0, _0, _0, 0);
                        amSwitch: CurAmmoGear:= AddGear(hwRound(X), hwRound(Y), gtSwitcher, 0, _0, _0, 0);
                        amMortar: FollowGear:= AddGear(hwRound(X), hwRound(Y), gtMortar,  0, xx*cMaxPower/cPowerDivisor, yy*cMaxPower/cPowerDivisor, 0);
+                       amRCPlane: CurAmmoGear:= AddGear(hwRound(X), hwRound(Y), gtRCPlane,  0, xx * cMaxPower / cPowerDivisor / 4, yy * cMaxPower / cPowerDivisor / 4, 0);
                        amKamikaze: CurAmmoGear:= AddGear(hwRound(X), hwRound(Y), gtKamikaze, 0, xx * _0_5, yy * _0_5, 0);
                          amCake: begin
                                  CurAmmoGear:= AddGear(hwRound(X) + hwSign(dX) * 3, hwRound(Y), gtCake, 0, xx, _0, 0);
@@ -406,7 +407,7 @@
 if (((Gear^.Message and gm_Precise) = 0) or ((GameTicks mod 5) = 1)) then
 	if ((Gear^.Message and gm_Up) <> 0) and (Gear^.Angle - da >= CurMinAngle) then dec(Gear^.Angle, da)
 	else
-	if ((Gear^.Message and gm_Down) <> 0) and (Gear^.Angle + da <= CurMaxAngle) then inc(Gear^.Angle, da);
+	if ((Gear^.Message and gm_Down) <> 0) and (Gear^.Angle + da <= CurMaxAngle) then inc(Gear^.Angle, da)
 end;
 
 procedure doStepHedgehog(Gear: PGear); forward;
--- a/hedgewars/uAIAmmoTests.pas	Sat Jan 17 13:04:32 2009 +0000
+++ b/hedgewars/uAIAmmoTests.pas	Sat Jan 17 14:35:20 2009 +0000
@@ -74,7 +74,8 @@
 			(proc: nil;              flags: 0), // amHellishBomb
 			(proc: nil;              flags: 0), // amNapalm
 			(proc: nil;              flags: 0),  // amDrill
-			(proc: nil;              flags: 0)  // amBallgun
+			(proc: nil;              flags: 0),  // amBallgun
+			(proc: nil;              flags: 0)  // amRCPlane
 			);
 
 const BadTurn = Low(LongInt) div 4;
--- a/hedgewars/uConsts.pas	Sat Jan 17 13:04:32 2009 +0000
+++ b/hedgewars/uConsts.pas	Sat Jan 17 14:35:20 2009 +0000
@@ -49,7 +49,7 @@
 			sprHurrah, sprLemonade, sprExplPart, sprExplPart2,
 			sprCakeWalk, sprCakeDown, sprAMAmmosBW, sprWatermelon,
 			sprEvilTrace, sprHellishBomb, sprSeduction, sprDress,
-			sprCensored, sprDrill, sprHandDrill, sprHandBallgun, sprBalls);
+			sprCensored, sprDrill, sprHandDrill, sprHandBallgun, sprBalls, sprPlane);
 
 	TGearType = (gtAmmo_Bomb, gtHedgehog, gtAmmo_Grenade, gtHealthTag, // 3
 			gtGrave, gtUFO, gtShotgunShot, gtPickHammer, gtRope, // 8
@@ -59,7 +59,7 @@
 			gtParachute, gtAirAttack, gtAirBomb, gtBlowTorch, gtGirder, // 28
 			gtTeleport, gtSwitcher, gtTarget, gtMortar, // 32
 			gtWhip, gtKamikaze, gtCake, gtSeduction, gtWatermelon, gtMelonPiece, // 38
-			gtHellishBomb, gtEvilTrace, gtWaterUp, gtDrill, gtBallGun, gtBall);
+			gtHellishBomb, gtEvilTrace, gtWaterUp, gtDrill, gtBallGun, gtBall,gtRCPlane);
 
 	TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire,
 			vgtSmallDamageTag);
@@ -81,7 +81,7 @@
 			amSkip, amRope, amMine, amDEagle, amDynamite, amFirePunch, amWhip,
 			amBaseballBat, amParachute, amAirAttack, amMineStrike, amBlowTorch,
 			amGirder, amTeleport, amSwitch, amMortar, amKamikaze, amCake,
-			amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun);
+			amSeduction, amWatermelon, amHellishBomb, amNapalm, amDrill, amBallgun, amRCPlane);
 
 	THWFont = (fnt16, fntBig, fntSmall);
 
@@ -455,7 +455,9 @@
 			(FileName:    'amBallgun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil;
 			Width:  64; Height: 64; saveSurf: false),// sprHandBallgun
 			(FileName:      'Balls'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
-			Width:  32; Height: 20; saveSurf: false)// sprBalls
+			Width:  32; Height: 20; saveSurf: false),// sprBalls
+			(FileName:      'RCPlane'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
+			Width:  32; Height: 32; saveSurf: false)// sprPlane
 			);
 
 	Wavez: array [TWave] of record
@@ -1125,6 +1127,26 @@
 			isDamaging: true;
 			SkipTurns: 0;
 			PosCount: 1;
+			PosSprite: sprWater),
+			(NameId: sidRCPlane;
+			NameTex: nil;
+			Probability: 100;
+			NumberInCase: 2;
+			Ammo: (Propz: ammoprop_ForwMsgs{ or
+							ammoprop_DontHold or
+							ammoprop_AltAttack};
+					Count: 1;
+					NumPerTurn: 0;
+					Timer: 0;
+					Pos: 0;
+					AmmoType: amRCPlane);
+			Slot: 6;
+			TimeAfterTurn: 0;
+			minAngle: 0;
+			maxAngle: 0;
+			isDamaging: true;
+			SkipTurns: 0;
+			PosCount: 1;
 			PosSprite: sprWater)
 			);
 
--- a/hedgewars/uGears.pas	Sat Jan 17 13:04:32 2009 +0000
+++ b/hedgewars/uGears.pas	Sat Jan 17 14:35:20 2009 +0000
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2008 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2009 Andrey Korotaev <unC0Rr@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -98,6 +98,7 @@
 procedure doStepHedgehogMoving(Gear: PGear); forward;
 procedure HedgehogChAngle(Gear: PGear); forward;
 procedure ShotgunShot(Gear: PGear); forward;
+procedure PickUp(HH, Gear: PGear); forward;
 
 {$INCLUDE GSHandlers.inc}
 {$INCLUDE HHHandlers.inc}
@@ -147,7 +148,8 @@
 			@doStepWaterUp,
 			@doStepDrill,
 			@doStepBallgun,
-			@doStepBomb
+			@doStepBomb,
+			@doStepRCPlane
 			);
 
 procedure InsertGearToList(Gear: PGear);
@@ -359,6 +361,11 @@
      gtBallgun: begin
                 Result^.Timer:= 5001;
                 end;
+     gtRCPlane: begin
+                Result^.Timer:= 15000;
+                Result^.Health:= 3;
+                Result^.Radius:= 8;
+                end;
      end;
 InsertGearToList(Result);
 AddGear:= Result
@@ -801,7 +808,7 @@
 		amt:= CurrentHedgehog^.Ammo^[CurrentHedgehog^.CurSlot, CurrentHedgehog^.CurAmmo].AmmoType;
 		case amt of
 			amBazooka,
-			amMortar: DrawRotated(sprHandBazooka, hx, hy, hwSign(Gear^.dX), aangle);
+			amMortar,amRCPlane: DrawRotated(sprHandBazooka, hx, hy, hwSign(Gear^.dX), aangle);
                         amBallgun: DrawRotated(sprHandBallgun, hx, hy, hwSign(Gear^.dX), aangle);
                         amDrill: DrawRotated(sprHandDrill, hx, hy, hwSign(Gear^.dX), aangle);
 			amRope: DrawRotated(sprHandRope, hx, hy, hwSign(Gear^.dX), aangle);
@@ -1051,16 +1058,29 @@
 begin
 Gear:= GearsList;
 while Gear<>nil do
-      begin
-      case Gear^.Kind of
+	begin
+	case Gear^.Kind of
        gtAmmo_Bomb: DrawRotated(sprBomb, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, Gear^.DirAngle);
+
+       gtRCPlane: if (PHedgehog(Gear^.Hedgehog)^.Gear^.dX.isNegative) then
+                     DrawRotated(sprPlane, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, -1,  DxDy2Angle(Gear^.dX, Gear^.dY) + 90)
+                  else
+                     DrawRotated(sprPlane, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy,0,DxDy2Angle(Gear^.dY, Gear^.dX));
+       
        gtBall: DrawRotatedf(sprBalls, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Tag,0, DxDy2Angle(Gear^.dY, Gear^.dX));
+       
        gtDrill: DrawRotated(sprDrill, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, DxDy2Angle(Gear^.dY, Gear^.dX));
+        
         gtHedgehog: DrawHH(Gear);
+    
     gtAmmo_Grenade: DrawRotated(sprGrenade, hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, 0, DxDy2Angle(Gear^.dY, Gear^.dX));
+       
        gtHealthTag: if Gear^.Tex <> nil then DrawCentered(hwRound(Gear^.X) + WorldDx, hwRound(Gear^.Y) + WorldDy, Gear^.Tex);
+           
            gtGrave: DrawSurfSprite(hwRound(Gear^.X) + WorldDx - 16, hwRound(Gear^.Y) + WorldDy - 16, 32, (GameTicks shr 7) and 7, PHedgehog(Gear^.Hedgehog)^.Team^.GraveTex);
+             
              gtUFO: DrawSprite(sprUFO, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 16 + WorldDy, (GameTicks shr 7) mod 4);
+      
       gtPickHammer: DrawSprite(sprPHammer, hwRound(Gear^.X) - 16 + WorldDx, hwRound(Gear^.Y) - 50 + LongInt(((GameTicks shr 5) and 1) * 2) + WorldDy, 0);
             gtRope: begin
                     roplen:= 0;
--- a/hedgewars/uLocale.pas	Sat Jan 17 13:04:32 2009 +0000
+++ b/hedgewars/uLocale.pas	Sat Jan 17 14:35:20 2009 +0000
@@ -24,7 +24,7 @@
 			sidParachute, sidAirAttack, sidMineStrike, sidBlowTorch,
 			sidGirder, sidTeleport, sidSwitch, sidMortar, sidWhip,
 			sidKamikaze, sidCake, sidSeduction, sidWatermelon,
-			sidHellishBomb, sidDrill, sidBallgun, sidNapalm);
+			sidHellishBomb, sidDrill, sidBallgun, sidNapalm, sidRCPlane);
 
 	TMsgStrId = (sidStartFight, sidDraw, sidWinner, sidVolume, sidPaused,
 			sidConfirm, sidSuddenDeath);
--- a/hedgewars/uWorld.pas	Sat Jan 17 13:04:32 2009 +0000
+++ b/hedgewars/uWorld.pas	Sat Jan 17 14:35:20 2009 +0000
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2008 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2009 Andrey Korotaev <unC0Rr@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -418,40 +418,42 @@
 var EdgesDist: LongInt;
 begin
 if (not (CurrentTeam^.ExtDriven and isCursorVisible))
-   and cHasFocus then SDL_GetMouseState(@CursorPoint.X, @CursorPoint.Y);
+	and cHasFocus then SDL_GetMouseState(@CursorPoint.X, @CursorPoint.Y);
 
 if (FollowGear <> nil) and (not isCursorVisible) then
-   if abs(CursorPoint.X - prevPoint.X) + abs(CursorPoint.Y - prevpoint.Y) > 4 then
-      begin
-      FollowGear:= nil;
-      exit
-      end
-      else begin
-      CursorPoint.x:= (prevPoint.x * 7 + (hwRound(FollowGear^.X) + hwSign(FollowGear^.dX) * 100) + WorldDx) div 8;
-      CursorPoint.y:= (prevPoint.y * 7 + (hwRound(FollowGear^.Y) + WorldDy)) div 8
-      end;
+	if abs(CursorPoint.X - prevPoint.X) + abs(CursorPoint.Y - prevpoint.Y) > 4 then
+		begin
+		FollowGear:= nil;
+		prevPoint.X:= CursorPoint.X;
+		prevPoint.Y:= CursorPoint.Y;
+		exit
+		end
+		else begin
+		CursorPoint.x:= (prevPoint.x * 7 + (hwRound(FollowGear^.X) + hwSign(FollowGear^.dX) * 100) + WorldDx) div 8;
+		CursorPoint.y:= (prevPoint.y * 7 + (hwRound(FollowGear^.Y) + WorldDy)) div 8
+		end;
 
 if ((CursorPoint.X = prevPoint.X)and(CursorPoint.Y = prevpoint.Y)) then exit;
 
 if AMxShift < 210 then
-   begin
-   if CursorPoint.X < cScreenWidth + AMxShift - 175 then CursorPoint.X:= cScreenWidth + AMxShift - 175;
-   if CursorPoint.X > cScreenWidth + AMxShift - 10 then CursorPoint.X:= cScreenWidth + AMxShift - 10;
-   if CursorPoint.Y < cScreenHeight - 75 - SlotsNum * 33 then CursorPoint.Y:= cScreenHeight - 75 - SlotsNum * 33;
-   if CursorPoint.Y > cScreenHeight - 76 then CursorPoint.Y:= cScreenHeight - 76;
-   prevPoint:= CursorPoint;
-   if cHasFocus then SDL_WarpMouse(CursorPoint.X, CursorPoint.Y);
-   exit
-   end;
+	begin
+	if CursorPoint.X < cScreenWidth + AMxShift - 175 then CursorPoint.X:= cScreenWidth + AMxShift - 175;
+	if CursorPoint.X > cScreenWidth + AMxShift - 10 then CursorPoint.X:= cScreenWidth + AMxShift - 10;
+	if CursorPoint.Y < cScreenHeight - 75 - SlotsNum * 33 then CursorPoint.Y:= cScreenHeight - 75 - SlotsNum * 33;
+	if CursorPoint.Y > cScreenHeight - 76 then CursorPoint.Y:= cScreenHeight - 76;
+	prevPoint:= CursorPoint;
+	if cHasFocus then SDL_WarpMouse(CursorPoint.X, CursorPoint.Y);
+	exit
+	end;
 
 if isCursorVisible then
-   begin
-   if (not CurrentTeam^.ExtDriven)and(GameTicks >= PrevSentPointTime + cSendCursorPosTime) then
-      begin
-      SendIPCXY('P', CursorPoint.X - WorldDx, CursorPoint.Y - WorldDy);
-      PrevSentPointTime:= GameTicks
-      end;
-   end;
+	begin
+	if (not CurrentTeam^.ExtDriven)and(GameTicks >= PrevSentPointTime + cSendCursorPosTime) then
+		begin
+		SendIPCXY('P', CursorPoint.X - WorldDx, CursorPoint.Y - WorldDy);
+		PrevSentPointTime:= GameTicks
+		end;
+	end;
 
 if isCursorVisible or (FollowGear <> nil) then
    begin
Binary file share/hedgewars/Data/Graphics/AmmoMenu/Ammos.png has changed
Binary file share/hedgewars/Data/Graphics/AmmoMenu/Ammos_bw.png has changed
Binary file share/hedgewars/Data/Graphics/RCPlane.png has changed
--- a/share/hedgewars/Data/Locale/bg.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/bg.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Drill Rocket
 00:29=Ballgun
 00:30=Napalm
+00:31=RCPlane
 
 01:00=Бой!
 01:01=Равен рунд
--- a/share/hedgewars/Data/Locale/cz.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/cz.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Drill Rocket
 00:29=Ballgun
 00:30=Napalm
+00:31=RCPlane
 
 01:00=Do boje!
 01:01=Kolo nerozhodně
--- a/share/hedgewars/Data/Locale/de.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/de.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Bohrkopfrakete
 00:29=Ballpistole
 00:30=Napalm
+00:31=RCPlane
 
 01:00=Auf in die Schlacht!
 01:01=Unentschieden
--- a/share/hedgewars/Data/Locale/en.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/en.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Drill Rocket
 00:29=Ballgun
 00:30=Napalm
+00:31=RCPlane
 
 01:00=Let's fight!
 01:01=Round draw
--- a/share/hedgewars/Data/Locale/es.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/es.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Misil perforador
 00:29=Lanzapelotas
 00:30=Napalm
+00:31=RCPlane
 
 01:00=Luchad!
 01:01=Empate
--- a/share/hedgewars/Data/Locale/fr.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/fr.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Roquette perforante
 00:29=Ballgun
 00:30=Napalm
+00:31=RCPlane
 
 01:00=C'est parti!
 01:01=Round ex aequo
--- a/share/hedgewars/Data/Locale/it.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/it.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Razzo trivella
 00:29=Sparapalle
 00:30=Napalm
+00:31=RCPlane
 
 01:00=Combattiamo!
 01:01=Round in parità
--- a/share/hedgewars/Data/Locale/pl.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/pl.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Wiertnicza rakieta
 00:29=Pistolet na kulki
 00:30=Napalm
+00:31=RCPlane
 
 01:00=Walczmy!
 01:01=Remis
--- a/share/hedgewars/Data/Locale/pt-br.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/pt-br.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Drill Rocket
 00:29=Ballgun
 00:30=Napalm
+00:31=RCPlane
 
 01:00=Hora de lutar!
 01:01=Partida empatou
--- a/share/hedgewars/Data/Locale/ru.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/ru.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Сверлящая ракета
 00:29=Шаромёт
 00:30=Напалм
+00:31=RCPlane
 
 01:00=Вперёд к победе!
 01:01=Ничья
--- a/share/hedgewars/Data/Locale/sk.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/sk.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Raketová vŕtačka
 00:29=Loptičkový guľomet
 00:30=Napalm
+00:31=RCPlane
 
 01:00=Do boja!
 01:01=Remíza
--- a/share/hedgewars/Data/Locale/sv.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/sv.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Borraket
 00:29=Luftgevär
 00:30=Napalm
+00:31=RCPlane
 
 01:00=Nu kör vi!
 01:01=Oavgjort
--- a/share/hedgewars/Data/Locale/uk.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/uk.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Drill Rocket
 00:29=Ballgun
 00:30=Napalm
+00:31=RCPlane
 
 01:00=Уперед до перемоги!
 01:01=Нічия
--- a/share/hedgewars/Data/Locale/zh.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/zh.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -29,6 +29,7 @@
 00:28=Drill Rocket
 00:29=Ballgun
 00:30=Napalm
+00:31=RCPlane
 
 01:00=戰鬥開始!
 01:01=平手
--- a/share/hedgewars/Data/Locale/zh_CN.txt	Sat Jan 17 13:04:32 2009 +0000
+++ b/share/hedgewars/Data/Locale/zh_CN.txt	Sat Jan 17 14:35:20 2009 +0000
@@ -31,6 +31,7 @@
 00:28=Drill Rocket
 00:29=Ballgun
 00:30=Napalm
+00:31=RCPlane
 
 01:00=战斗啦!
 01:01=平手