Merge default qmlfrontend
authorunc0rr
Thu, 03 Sep 2015 20:59:48 +0300
branchqmlfrontend
changeset 11071 3851ce4f2061
parent 11050 9b7c8c5a94e0 (current diff)
parent 11070 f9a03078dd4f (diff)
child 11073 3ecf06107005
Merge default
.hgignore
CMakeLists.txt
QTfrontend/net/tcpBase.cpp
gameServer/OfficialServer/checker.hs
hedgewars/ArgParsers.pas
hedgewars/CMakeLists.txt
hedgewars/SDLh.pas
hedgewars/hwLibrary.pas
hedgewars/hwengine.pas
hedgewars/uDebug.pas
hedgewars/uIO.pas
hedgewars/uInputHandler.pas
hedgewars/uMisc.pas
hedgewars/uRender.pas
hedgewars/uTypes.pas
hedgewars/uUtils.pas
hedgewars/uVariables.pas
share/hedgewars/Data/Forts/CakeR.png
share/hedgewars/Data/Forts/CastleR.png
share/hedgewars/Data/Forts/EvilChickenR.png
share/hedgewars/Data/Forts/FlowerhogR.png
share/hedgewars/Data/Forts/HydrantR.png
share/hedgewars/Data/Forts/LegoR.png
share/hedgewars/Data/Forts/PlaneR.png
share/hedgewars/Data/Forts/StatueR.png
share/hedgewars/Data/Forts/SteelTowerR.png
share/hedgewars/Data/Forts/TankR.png
share/hedgewars/Data/Forts/UFOR.png
share/hedgewars/Data/Forts/WoodR.png
share/hedgewars/Data/Graphics/TARDIS.png
share/hedgewars/Data/Missions/Campaign/01#Boot_Camp.lua
share/hedgewars/Data/Missions/Training/Basic_Training_-_Cluster_Bomb.lua
share/hedgewars/Data/Missions/Training/Basic_Training_-_Shotgun.lua
--- a/.hgignore	Sat Aug 15 16:23:00 2015 +0300
+++ b/.hgignore	Thu Sep 03 20:59:48 2015 +0300
@@ -55,7 +55,6 @@
 glob:project_files/Android-build/out
 glob:project_files/Android-build/Makefile.android
 glob:hedgewars-build-desktop-Qt*
-glob:hedgewars-build-desktop-Qt*
 glob:*.depends
 glob:tools/build_windows_koda.bat
 glob:share/hedgewars/Data/misc/hwengine.desktop
@@ -68,3 +67,9 @@
 glob:build-*
 glob:hedgewars-build-*
 glob:*.pro.user
+glob:Hedgewars.app/*
+glob:tools/CreateMacBundle.cmake
+glob:share/Info.plist
+glob:CTestTestfile.cmake
+glob:arch.c
+
--- a/.hgtags	Sat Aug 15 16:23:00 2015 +0300
+++ b/.hgtags	Thu Sep 03 20:59:48 2015 +0300
@@ -61,3 +61,5 @@
 2fc02902c7cbf3c29bfe08a50e5f37983582b251 0.9.18-release
 1617149e01a4fa25637e2ab655d0287ef9c21b7c 0.9.19-release
 af0520a6bf0061b27f8321514d35fcd2b1ef5f9c 0.9.20-release
+7e55468ffe384a3065524c483eb5e3cdb1658fd5 0.9.21-release
+7e55468ffe384a3065524c483eb5e3cdb1658fd5 fab746a3597e
--- a/CMakeLists.txt	Sat Aug 15 16:23:00 2015 +0300
+++ b/CMakeLists.txt	Thu Sep 03 20:59:48 2015 +0300
@@ -32,6 +32,7 @@
 
 option(MINIMAL_FLAGS "Respect system flags as much as possible (off)" OFF)
 option(NOAUTOUPDATE "Disable OS X Sparkle update checking (off)" OFF)
+option(SKIPBUNDLE "Do not create relocate bundle (off)" OFF)
 
 option(BUILD_ENGINE_C "Compile hwengine as native C (off)" OFF)
 option(GL2 "Enable OpenGL 2 rendering !!!EXPERIMENTAL - DO NOT USE!!! [default: off)" OFF)
--- a/CREDITS	Sat Aug 15 16:23:00 2015 +0300
+++ b/CREDITS	Thu Sep 03 20:59:48 2015 +0300
@@ -46,6 +46,8 @@
 ==========
 - John Dum <fizzy@gmail.com> -> Nature theme
 - Jonatan Nilsson <jonatanfan@gmail.com> -> Pirate theme, City theme, Oriental theme, Snow theme
+- yd - http://opengameart.org/users/yd -> "oriented", used as Olympics SD theme
+- Kevin MacLeod - http://incompetech.com/ -> "hitman", used as basis for preliminary default SD theme
 
 ==========
 = THEMES
--- a/ChangeLog.txt	Sat Aug 15 16:23:00 2015 +0300
+++ b/ChangeLog.txt	Thu Sep 03 20:59:48 2015 +0300
@@ -1,11 +1,28 @@
 + features
 * bugfixes
 
+0.9.21 -> 0.9.22
+ + Extensive changes to TechRacer: Variable terrain types, enhanced parameters, hwmap interpreter, fuel limiter, etc. 
+ + Map previews can now take script parameters into account and preview waypoints in TechRacer
+ + Added a couple new flags
+ + Small improvements to the interface and in-game chat
+ + Divided teams options will now just be ignored when more/less than 2 teams, instead of displaying a fatal error
+ + Added 6 TechRacer maps to TechMaps
+ + Added 3 SpeedShoppa Challenges: Shoppa Love, Ropes and Crates, The Customer is King
+ + Hammer damage is now rounded up. This means it can be used to execute hedgehogs with only 1 hp.
+ + Improved "Art" theme.
+ * Generated bridges/girders are now connected better to the land mass
+ * Fixed rubberband sprite
+ * The game will now fallback to default voicepack if a team's voicepack is not locally installed. (Instead of rendering team voiceless)
+ * Hammer now does more damage when the Extra-Damage utility is used
+ * Many other bug fixes
+
 0.9.20 -> 0.9.21:
  + New type of randomly generated maps: Perlin Maps.
  + Old Random generated maps are more diverse now.
  + Slider for adjusting land generation detail.
  + Highlander gamemode can now be used with custom weapon schemes (1-8=How probable to get this weapon. 9=All hogs get it)
+ + New playable themes: "Hoggywood" and "Cake"
  + New gameplay mode "Construction Mode"
  + New gameplay mode "TechRacer"
  + New game play mode "DiagonalMaze" (generates a simple diagonal maze)
--- a/QTfrontend/achievements.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/achievements.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/achievements.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/achievements.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/binds.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/binds.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/binds.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/binds.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/campaign.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/campaign.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/campaign.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/campaign.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/drawmapscene.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/drawmapscene.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/drawmapscene.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/drawmapscene.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/game.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/game.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/game.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/game.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/gameuiconfig.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/gameuiconfig.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/gameuiconfig.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/gameuiconfig.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/hwconsts.cpp.in	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/hwconsts.cpp.in	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/hwconsts.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/hwconsts.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/hwform.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/hwform.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -164,14 +164,12 @@
     ui.pageVideos->init(config);
 #endif
 
-#ifdef __APPLE__
+#if defined(__APPLE__) && defined(SPARKLE_ENABLED)
     if (config->isAutoUpdateEnabled())
     {
         AutoUpdater* updater = NULL;
 
-#ifdef SPARKLE_ENABLED
         updater = new SparkleAutoUpdater();
-#endif
         if (updater)
         {
             updater->checkForUpdates();
--- a/QTfrontend/hwform.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/hwform.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/main.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/main.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/GameStyleModel.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/GameStyleModel.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/GameStyleModel.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/GameStyleModel.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/HatModel.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/HatModel.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/HatModel.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/HatModel.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/MapModel.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/MapModel.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/MapModel.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/MapModel.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/ThemeModel.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/ThemeModel.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/ThemeModel.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/ThemeModel.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/ammoSchemeModel.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/ammoSchemeModel.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/ammoSchemeModel.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/ammoSchemeModel.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/netserverslist.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/netserverslist.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/netserverslist.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/netserverslist.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/roomslistmodel.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/roomslistmodel.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/model/roomslistmodel.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/model/roomslistmodel.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/hwmap.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/hwmap.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Ulyanov Igor <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -42,13 +42,14 @@
     return !m_hasStarted;
 }
 
-void HWMap::getImage(const QString & seed, int filter, MapGenerator mapgen, int maze_size, const QByteArray & drawMapData, QString & script, int feature_size)
+void HWMap::getImage(const QString & seed, int filter, MapGenerator mapgen, int maze_size, const QByteArray & drawMapData, QString & script, QString & scriptparam, int feature_size)
 {
     m_seed = seed;
     m_script = script;
+    m_scriptparam = scriptparam;
     templateFilter = filter;
     m_mapgen = mapgen;
-    m_maze_size = maze_size; // TODO replace with feature_size
+    m_maze_size = maze_size;
     m_feature_size = feature_size;
     if(mapgen == MAPGEN_DRAWN) m_drawMapData = drawMapData;
     Start(true);
@@ -125,6 +126,7 @@
     if (!m_script.isEmpty())
     {
         SendIPC(QString("escript Scripts/Multiplayer/%1.lua").arg(m_script).toUtf8());
+        SendIPC(QString("e$scriptparam %1").arg(m_scriptparam).toUtf8());
     }
 
     switch (m_mapgen)
--- a/QTfrontend/net/hwmap.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/hwmap.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -42,7 +42,7 @@
     public:
         HWMap(QObject *parent = 0);
         virtual ~HWMap();
-        void getImage(const QString & seed, int templateFilter, MapGenerator mapgen, int maze_size, const QByteArray & drawMapData, QString & script, int feature_size);
+        void getImage(const QString & seed, int templateFilter, MapGenerator mapgen, int maze_size, const QByteArray & drawMapData, QString & script, QString & scriptparam, int feature_size);
         bool couldBeRemoved();
 
     protected:
@@ -57,6 +57,7 @@
     private:
         QString m_seed;
         QString m_script;
+        QString m_scriptparam;
         int templateFilter;
         MapGenerator m_mapgen;
         int m_maze_size;  // going to try and deprecate this one
--- a/QTfrontend/net/netregister.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/netregister.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/netregister.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/netregister.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/netserver.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/netserver.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/netserver.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/netserver.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/netudpserver.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/netudpserver.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/netudpserver.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/netudpserver.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/netudpwidget.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/netudpwidget.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/netudpwidget.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/netudpwidget.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/newnetclient.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/newnetclient.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/newnetclient.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/newnetclient.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/proto.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/proto.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/proto.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/proto.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/recorder.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/recorder.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/recorder.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/recorder.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/tcpBase.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/tcpBase.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/net/tcpBase.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/net/tcpBase.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/sdlkeys.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/sdlkeys.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/team.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/team.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/team.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/team.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
  * Copyright (c) 2007 Igor Ulyanov <iulyanov@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
--- a/QTfrontend/ui/dialog/ask_quit.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/dialog/ask_quit.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/dialog/ask_quit.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/dialog/ask_quit.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/dialog/input_ip.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/dialog/input_ip.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/dialog/input_ip.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/dialog/input_ip.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/dialog/input_password.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/dialog/input_password.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/dialog/input_password.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/dialog/input_password.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/dialog/upload_video.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/dialog/upload_video.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/dialog/upload_video.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/dialog/upload_video.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/AbstractPage.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/AbstractPage.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/AbstractPage.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/AbstractPage.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageadmin.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageadmin.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageadmin.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageadmin.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagecampaign.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagecampaign.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagecampaign.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagecampaign.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageconnecting.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageconnecting.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageconnecting.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageconnecting.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagedata.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagedata.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagedata.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagedata.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagedrawmap.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagedrawmap.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagedrawmap.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagedrawmap.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageeditteam.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageeditteam.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageeditteam.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageeditteam.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagegamestats.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagegamestats.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagegamestats.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagegamestats.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageinfo.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageinfo.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageinfo.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageinfo.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageingame.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageingame.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageingame.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageingame.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagemain.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagemain.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagemain.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagemain.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagemultiplayer.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagemultiplayer.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagemultiplayer.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagemultiplayer.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagenet.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagenet.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagenet.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagenet.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagenetgame.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagenetgame.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagenetgame.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagenetgame.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagenetserver.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagenetserver.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagenetserver.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagenetserver.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageoptions.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageoptions.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageoptions.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageoptions.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageplayrecord.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageplayrecord.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageplayrecord.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageplayrecord.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageroomslist.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageroomslist.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageroomslist.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageroomslist.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagescheme.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagescheme.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagescheme.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagescheme.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageselectweapon.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageselectweapon.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pageselectweapon.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pageselectweapon.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagesingleplayer.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagesingleplayer.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagesingleplayer.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagesingleplayer.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagetraining.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagetraining.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagetraining.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagetraining.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagevideos.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagevideos.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/page/pagevideos.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/page/pagevideos.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/FreqSpinBox.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/FreqSpinBox.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/FreqSpinBox.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/FreqSpinBox.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/HistoryLineEdit.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/HistoryLineEdit.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/HistoryLineEdit.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/HistoryLineEdit.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/SmartLineEdit.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/SmartLineEdit.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/SmartLineEdit.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/SmartLineEdit.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/SquareLabel.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/SquareLabel.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/SquareLabel.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/SquareLabel.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/about.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/about.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/about.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/about.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/bgwidget.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/bgwidget.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Kristian Lehmann <email@thexception.net>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/bgwidget.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/bgwidget.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Kristian Lehmann <email@thexception.net>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/chatwidget.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/chatwidget.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/chatwidget.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/chatwidget.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/databrowser.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/databrowser.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/databrowser.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/databrowser.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/drawmapwidget.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/drawmapwidget.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/drawmapwidget.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/drawmapwidget.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/feedbackdialog.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/feedbackdialog.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/feedbackdialog.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/feedbackdialog.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/fpsedit.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/fpsedit.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/fpsedit.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/fpsedit.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/frameTeam.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/frameTeam.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/frameTeam.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/frameTeam.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/gamecfgwidget.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/gamecfgwidget.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -459,7 +459,7 @@
         if (param == "SCRIPT")
         {
             Scripts->setCurrentIndex(Scripts->findText(value));
-            pMapContainer->setScript(Scripts->itemData(Scripts->currentIndex(), GameStyleModel::ScriptRole).toString().toUtf8());
+            pMapContainer->setScript(Scripts->itemData(Scripts->currentIndex(), GameStyleModel::ScriptRole).toString().toUtf8(), schemeData(43).toString());
             return;
         }
         if (param == "DRAWNMAP")
@@ -606,6 +606,7 @@
             }
         }
     }
+    pMapContainer->setScript(Scripts->itemData(Scripts->currentIndex(), GameStyleModel::ScriptRole).toString().toUtf8(), schemeData(43).toString());
 }
 
 void GameCFGWidget::scriptChanged(int index)
@@ -661,12 +662,11 @@
     }
     if (!index)
     {
-        pMapContainer->setScript(QString(""));
+        pMapContainer->setScript(QString(""), QString(""));
     }
     else
     {
-        pMapContainer->setScript(name);
-        pMapContainer->setScript(Scripts->itemData(index, GameStyleModel::ScriptRole).toString().toUtf8());
+        pMapContainer->setScript(Scripts->itemData(index, GameStyleModel::ScriptRole).toString().toUtf8(), schemeData(43).toString());
     }
     emit paramChanged("SCRIPT", QStringList(name));
 }
--- a/QTfrontend/ui/widget/gamecfgwidget.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/gamecfgwidget.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/hatbutton.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/hatbutton.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/hatbutton.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/hatbutton.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/hatprompt.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/hatprompt.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/hatprompt.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/hatprompt.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/hedgehogerWidget.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/hedgehogerWidget.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Ulyanov Igor <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/hedgehogerWidget.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/hedgehogerWidget.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Ulyanov Igor <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/igbox.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/igbox.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/igbox.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/igbox.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/keybinder.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/keybinder.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/keybinder.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/keybinder.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/lineeditcursor.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/lineeditcursor.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/lineeditcursor.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/lineeditcursor.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/mapContainer.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/mapContainer.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -326,6 +326,7 @@
                    getMazeSize(),
                    getDrawnMapData(),
                    m_script,
+                   m_scriptparam,
 		           m_mapFeatureSize
                   );
 
@@ -431,9 +432,10 @@
         updatePreview();
 }
 
-void HWMapContainer::setScript(const QString & script)
+void HWMapContainer::setScript(const QString & script, const QString & scriptparam)
 {
     m_script = script;
+    m_scriptparam = scriptparam;
     if ((m_mapInfo.type == MapModel::GeneratedMap)
             || (m_mapInfo.type == MapModel::GeneratedMaze)
             || (m_mapInfo.type == MapModel::GeneratedPerlin)
--- a/QTfrontend/ui/widget/mapContainer.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/mapContainer.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -73,7 +73,7 @@
     public slots:
         void askForGeneratedPreview();
         void setSeed(const QString & seed);
-        void setScript(const QString & script);
+        void setScript(const QString & script, const QString & scriptparam);
         void setMap(const QString & map);
         void setTheme(const QString & theme);
         void setTemplateFilter(int);
@@ -131,6 +131,7 @@
         HWMap* pMap;
         QString m_seed;
         QString m_script;
+        QString m_scriptparam;
         QPushButton* seedSet;
         QLabel* seedLabel;
         int hhLimit;
--- a/QTfrontend/ui/widget/qpushbuttonwithsound.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/qpushbuttonwithsound.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/qpushbuttonwithsound.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/qpushbuttonwithsound.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/roomnameprompt.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/roomnameprompt.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/roomnameprompt.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/roomnameprompt.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/seedprompt.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/seedprompt.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/seedprompt.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/seedprompt.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/selectWeapon.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/selectWeapon.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/selectWeapon.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/selectWeapon.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/teamselect.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/teamselect.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/teamselect.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/teamselect.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/teamselhelper.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/teamselhelper.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/teamselhelper.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/teamselhelper.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2007 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/themeprompt.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/themeprompt.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/themeprompt.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/themeprompt.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/togglebutton.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/togglebutton.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Kristian Lehmann <email@thexception.net>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/togglebutton.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/togglebutton.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Kristian Lehmann <email@thexception.net>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/vertScrollArea.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/vertScrollArea.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/vertScrollArea.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/vertScrollArea.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/weaponItem.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/weaponItem.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui/widget/weaponItem.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui/widget/weaponItem.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui_hwform.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui_hwform.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/ui_hwform.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/ui_hwform.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/DataManager.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/DataManager.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/DataManager.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/DataManager.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/LibavInteraction.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/LibavInteraction.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/LibavInteraction.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/LibavInteraction.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/MessageDialog.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/MessageDialog.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/MessageDialog.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/MessageDialog.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/SDLInteraction.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/SDLInteraction.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/SDLInteraction.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/SDLInteraction.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/namegen.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/namegen.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Martin Minarik <ttsmj@pokec.sk>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/namegen.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/namegen.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2009 Martin Minarik <ttsmj@pokec.sk>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/platform/CocoaInitializer.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/platform/CocoaInitializer.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/platform/CocoaInitializer.mm	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/platform/CocoaInitializer.mm	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/platform/InstallController.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/platform/InstallController.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/platform/InstallController.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/platform/InstallController.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/platform/M3Panel.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/platform/M3Panel.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/platform/M3Panel.mm	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/platform/M3Panel.mm	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/platform/SparkleAutoUpdater.mm	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/platform/SparkleAutoUpdater.mm	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/platform/xfire.cpp	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/platform/xfire.cpp	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/QTfrontend/util/platform/xfire.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/QTfrontend/util/platform/xfire.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/README	Sat Aug 15 16:23:00 2015 +0300
+++ b/README	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 Hedgewars - a turn based strategy game.
 =======================================
 
-Copyright 2004-2014 Andrey Korotaev <unC0Rr@gmail.com> and others.
+Copyright 2004-2015 Andrey Korotaev <unC0Rr@gmail.com> and others.
 See QTfrontend/res/html/about.html and CREDITS for a complete list of authors.
 
 Licence:
--- a/gameServer/Actions.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/Actions.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/ClientIO.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/ClientIO.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -55,6 +55,7 @@
             unless (B.null recvBS) $ do
                 let (packets, newrecvBuf) = bs2Packets $ B.append recvBuf recvBS
                 forM_ packets sendPacket
+                when (B.length newrecvBuf > 128 * 1024) $ sendPacket ["QUIT", "Protocol violation"]
                 receiveWithBufferLoop $ B.copy newrecvBuf
 
         sendPacket packet = writeChan chan $ ClientMessage (ci, packet)
--- a/gameServer/ConfigFile.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/ConfigFile.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/Consts.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/Consts.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/CoreTypes.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/CoreTypes.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -38,7 +38,7 @@
 instance NFData B.ByteString
 #endif
 
-instance NFData (Chan a)
+instance NFData (Chan a) where rnf a  = a `seq` ()
 
 instance NFData Action where
     rnf (AnswerClients chans msg) = chans `deepseq` msg `deepseq` ()
--- a/gameServer/EngineInteraction.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/EngineInteraction.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -16,9 +16,13 @@
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  \-}
 
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE CPP, OverloadedStrings #-}
 
+#if defined(OFFICIAL_SERVER)
 module EngineInteraction(replayToDemo, checkNetCmd, toEngineMsg, drawnMapData) where
+#else
+module EngineInteraction(checkNetCmd, toEngineMsg) where
+#endif
 
 import qualified Data.Set as Set
 import Control.Monad
@@ -36,6 +40,7 @@
 import CoreTypes
 import Utils
 
+#if defined(OFFICIAL_SERVER)
 {-
     this is snippet from http://stackoverflow.com/questions/10043102/how-to-catch-the-decompress-ioerror
     because standard 'catch' doesn't seem to catch decompression errors for some reason
@@ -51,6 +56,7 @@
         cons chunk = right (chunk :)
         finalise = right BL.fromChunks
 {- end snippet  -}
+#endif
 
 toEngineMsg :: B.ByteString -> B.ByteString
 toEngineMsg msg = B.pack $ Base64.encode (fromIntegral (BW.length msg) : BW.unpack msg)
@@ -89,6 +95,7 @@
         slotMessages = "\128\129\130\131\132\133\134\135\136\137\138"
         timedMessages = Set.fromList $ "+LlRrUuDdZzAaSjJ,NpPwtgfc12345" ++ slotMessages
 
+#if defined(OFFICIAL_SERVER)
 replayToDemo :: [TeamInfo]
         -> Map.Map B.ByteString B.ByteString
         -> Map.Map B.ByteString [B.ByteString]
@@ -124,10 +131,12 @@
         maybeMap = let m = mParams Map.! "MAP" in if m `elem` mapGenTypes then [] else [eml ["emap ", m]]
         scheme = tail $ prms Map.! "SCHEME"
         mapgen = mParams Map.! "MAPGEN"
-        templateFilterMsg = eml ["e$maze_size ", mParams Map.! "MAZE_SIZE"]
+        mazeSizeMsg = eml ["e$maze_size ", mParams Map.! "MAZE_SIZE"]
         mapgenSpecific = case mapgen of
+            "1" -> [mazeSizeMsg]
+            "2" -> [mazeSizeMsg]
             "3" -> let d = head . fromMaybe [""] $ Map.lookup "DRAWNMAP" prms in if BW.length d <= 4 then [] else drawnMapData d
-            _ -> [templateFilterMsg]
+            _ -> []
         gameFlags :: Word32
         gameFlags = foldl (\r (b, f) -> if b == "false" then r else r .|. f) 0 $ zip scheme gameFlagConsts
         schemeFlags = map (\(v, (n, m)) -> eml [n, " ", showB $ (readInt_ v) * m])
@@ -219,6 +228,4 @@
         , 0x02000000
         , 0x04000000
         ]
-
-
-
+#endif
--- a/gameServer/FloodDetection.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/FloodDetection.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/HWProtoChecker.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/HWProtoChecker.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/HWProtoCore.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/HWProtoCore.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -50,7 +50,19 @@
         else
         return [ModifyClient (\c -> c{pingsQueue = pingsQueue c - 1})]
 
-handleCmd ["CMD", parameters] = uncurry h $ extractParameters parameters
+handleCmd cmd = do
+    (ci, irnc) <- ask
+    let cl = irnc `client` ci
+    if logonPassed cl then
+        if isChecker cl then
+            handleCmd_checker cmd
+            else
+            handleCmd_loggedin cmd
+        else
+        handleCmd_NotEntered cmd
+
+
+handleCmd_loggedin ["CMD", parameters] = uncurry h $ extractParameters parameters
     where
         h "DELEGATE" n | not $ B.null n = handleCmd ["DELEGATE", n]
         h "SAVEROOM" n | not $ B.null n = handleCmd ["SAVEROOM", n]
@@ -79,23 +91,11 @@
         h "FORCE" msg | not $ B.null msg = handleCmd ["VOTE", upperCase msg, "FORCE"]
         h "MAXTEAMS" n | not $ B.null n = handleCmd ["MAXTEAMS", n]
         h "INFO" n | not $ B.null n = handleCmd ["INFO", n]
+        h "RESTART_SERVER" "YES" = handleCmd ["RESTART_SERVER"]
         h c p = return [Warning $ B.concat ["Unknown cmd: /", c, " ", p]]
 
         extractParameters p = let (a, b) = B.break (== ' ') p in (upperCase a, B.dropWhile (== ' ') b)
 
-
-handleCmd cmd = do
-    (ci, irnc) <- ask
-    let cl = irnc `client` ci
-    if logonPassed cl then
-        if isChecker cl then
-            handleCmd_checker cmd
-            else
-            handleCmd_loggedin cmd
-        else
-        handleCmd_NotEntered cmd
-
-
 handleCmd_loggedin ["INFO", asknick] = do
     (_, rnc) <- ask
     maybeClientId <- clientByNick asknick
--- a/gameServer/HWProtoInRoomState.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/HWProtoInRoomState.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/HWProtoLobbyState.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/HWProtoLobbyState.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -82,9 +82,10 @@
     let isBanned = host cl `elem` roomBansList jRoom
     let clTeams =
             if (clientProto cl >= 48) && (isJust $ gameInfo jRoom) then
-                map teamname . filter (\t -> teamowner t == nick cl) . teamsAtStart . fromJust $ gameInfo jRoom 
+                filter (\t -> teamowner t == nick cl) . teamsAtStart . fromJust $ gameInfo jRoom 
                 else
                 []
+    let clTeamsNames = map teamname clTeams
     return $
         if isNothing maybeRI then
             [Warning $ loc "No such room"]
@@ -101,18 +102,21 @@
             else
             (
                 MoveToRoom jRI
-                : ModifyClient (\c -> c{isJoinedMidGame = isJust $ gameInfo jRoom, teamsInGame = fromIntegral $ length clTeams})
+                : ModifyClient (\c -> c{isJoinedMidGame = isJust $ gameInfo jRoom
+                                        , teamsInGame = fromIntegral $ length clTeams
+                                        , clientClan = teamcolor `fmap` listToMaybe clTeams})
                 : AnswerClients chans ["CLIENT_FLAGS", "-r", nick cl]
                 : [(AnswerClients [sendChan cl] $ "JOINED" : nicks) | not $ null nicks]
             )
-            ++ [ModifyRoom (\r -> let (t', g') = moveTeams clTeams . fromJust $ gameInfo r in r{gameInfo = Just g', teams = t'}) | not $ null clTeams]
+            ++ [ModifyRoom (\r -> let (t', g') = moveTeams clTeamsNames . fromJust $ gameInfo r in r{gameInfo = Just g', teams = t'}) | not $ null clTeams]
             ++ [AnswerClients [sendChan cl] ["CLIENT_FLAGS", "+h", nick $ fromJust owner] | isJust owner]
             ++ [sendStateFlags cl jRoomClients | not $ null jRoomClients]
             ++ answerFullConfig cl jRoom
             ++ answerTeams cl jRoom
             ++ watchRound cl jRoom chans
             ++ [AnswerClients [sendChan cl] ["CHAT", "[greeting]", greeting jRoom] | greeting jRoom /= ""]
-            ++ map (\t -> AnswerClients chans ["EM", toEngineMsg $ 'G' `B.cons` t]) clTeams
+            ++ map (\t -> AnswerClients chans ["EM", toEngineMsg $ 'G' `B.cons` t]) clTeamsNames
+            ++ [AnswerClients [sendChan cl] ["EM", toEngineMsg "I"] | isPaused `fmap` gameInfo jRoom == Just True]
 
         where
         moveTeams :: [B.ByteString] -> GameInfo -> ([TeamInfo], GameInfo)
@@ -163,65 +167,52 @@
     ---------------------------
     -- Administrator's stuff --
 
-handleCmd_lobby ["KICK", kickNick] = do
+handleCmd_lobby ["KICK", kickNick] = serverAdminOnly $ do
     (ci, _) <- ask
-    cl <- thisClient
     kickId <- clientByNick kickNick
-    return [KickClient $ fromJust kickId | isAdministrator cl && isJust kickId && fromJust kickId /= ci]
+    return [KickClient $ fromJust kickId | isJust kickId && fromJust kickId /= ci]
 
 
-handleCmd_lobby ["BAN", banNick, reason, duration] = do
+handleCmd_lobby ["BAN", banNick, reason, duration] = serverAdminOnly $ do
     (ci, _) <- ask
-    cl <- thisClient
     banId <- clientByNick banNick
-    return [BanClient (readInt_ duration) reason (fromJust banId) | isAdministrator cl && isJust banId && fromJust banId /= ci]
+    return [BanClient (readInt_ duration) reason (fromJust banId) | isJust banId && fromJust banId /= ci]
 
-handleCmd_lobby ["BANIP", ip, reason, duration] = do
-    cl <- thisClient
-    return [BanIP ip (readInt_ duration) reason | isAdministrator cl]
+handleCmd_lobby ["BANIP", ip, reason, duration] = serverAdminOnly $
+    return [BanIP ip (readInt_ duration) reason]
 
-handleCmd_lobby ["BANNICK", n, reason, duration] = do
-    cl <- thisClient
-    return [BanNick n (readInt_ duration) reason | isAdministrator cl]
+handleCmd_lobby ["BANNICK", n, reason, duration] = serverAdminOnly $
+    return [BanNick n (readInt_ duration) reason]
 
-handleCmd_lobby ["BANLIST"] = do
-    cl <- thisClient
-    return [BanList | isAdministrator cl]
+handleCmd_lobby ["BANLIST"] = serverAdminOnly $
+    return [BanList]
 
 
-handleCmd_lobby ["UNBAN", entry] = do
-    cl <- thisClient
-    return [Unban entry | isAdministrator cl]
+handleCmd_lobby ["UNBAN", entry] = serverAdminOnly $
+    return [Unban entry]
 
 
-handleCmd_lobby ["SET_SERVER_VAR", "MOTD_NEW", newMessage] = do
-    cl <- thisClient
-    return [ModifyServerInfo (\si -> si{serverMessage = newMessage}) | isAdministrator cl]
+handleCmd_lobby ["SET_SERVER_VAR", "MOTD_NEW", newMessage] = serverAdminOnly $
+    return [ModifyServerInfo (\si -> si{serverMessage = newMessage})]
 
-handleCmd_lobby ["SET_SERVER_VAR", "MOTD_OLD", newMessage] = do
-    cl <- thisClient
-    return [ModifyServerInfo (\si -> si{serverMessageForOldVersions = newMessage}) | isAdministrator cl]
+handleCmd_lobby ["SET_SERVER_VAR", "MOTD_OLD", newMessage] = serverAdminOnly $
+    return [ModifyServerInfo (\si -> si{serverMessageForOldVersions = newMessage})]
 
-handleCmd_lobby ["SET_SERVER_VAR", "LATEST_PROTO", protoNum] = do
-    cl <- thisClient
-    return [ModifyServerInfo (\si -> si{latestReleaseVersion = readNum}) | isAdministrator cl && readNum > 0]
+handleCmd_lobby ["SET_SERVER_VAR", "LATEST_PROTO", protoNum] = serverAdminOnly $
+    return [ModifyServerInfo (\si -> si{latestReleaseVersion = readNum}) | readNum > 0]
     where
         readNum = readInt_ protoNum
 
-handleCmd_lobby ["GET_SERVER_VAR"] = do
-    cl <- thisClient
-    return [SendServerVars | isAdministrator cl]
+handleCmd_lobby ["GET_SERVER_VAR"] = serverAdminOnly $
+    return [SendServerVars]
 
-handleCmd_lobby ["CLEAR_ACCOUNTS_CACHE"] = do
-    cl <- thisClient
-    return [ClearAccountsCache | isAdministrator cl]
+handleCmd_lobby ["CLEAR_ACCOUNTS_CACHE"] = serverAdminOnly $
+    return [ClearAccountsCache]
 
-handleCmd_lobby ["RESTART_SERVER"] = do
-    cl <- thisClient
-    return [RestartServer | isAdministrator cl]
+handleCmd_lobby ["RESTART_SERVER"] = serverAdminOnly $
+    return [RestartServer]
 
-handleCmd_lobby ["STATS"] = do
-    cl <- thisClient
-    return [Stats | isAdministrator cl]
+handleCmd_lobby ["STATS"] = serverAdminOnly $
+    return [Stats]
 
 handleCmd_lobby _ = return [ProtocolError "Incorrect command (state: in lobby)"]
--- a/gameServer/HWProtoNEState.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/HWProtoNEState.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/HandlerUtils.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/HandlerUtils.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/JoinsMonitor.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/JoinsMonitor.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/NetRoutines.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/NetRoutines.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/OfficialServer/DBInteraction.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/OfficialServer/DBInteraction.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/OfficialServer/GameReplayStore.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/OfficialServer/GameReplayStore.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/OfficialServer/checker.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/OfficialServer/checker.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/OfficialServer/extdbinterface.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/OfficialServer/extdbinterface.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -37,7 +37,7 @@
 
 
 dbQueryAccount =
-    "SELECT users.pass, \
+    "SELECT CASE WHEN users.status = 1 THEN users.pass ELSE '' END, \
     \ (SELECT COUNT(users_roles.rid) FROM users_roles WHERE users.uid = users_roles.uid AND users_roles.rid = 3), \
     \ (SELECT COUNT(users_roles.rid) FROM users_roles WHERE users.uid = users_roles.uid AND users_roles.rid = 13) \
     \ FROM users WHERE users.name = ?"
@@ -83,13 +83,12 @@
 
         SendStats clients rooms ->
                 void $ execute dbConn dbQueryStats (clients, rooms)
---StoreAchievements (B.pack fileName) (map toPair teams) info
         StoreAchievements p fileName teams info ->
-            void $ executeMany dbConn dbQueryAchievement $ (parseStats p fileName teams) info
+            mapM_ (execute dbConn dbQueryAchievement) $ (parseStats p fileName teams) info
 
 
-readTime = read . B.unpack . B.take 19 . B.drop 8
-
+--readTime = read . B.unpack . B.take 19 . B.drop 8
+readTime = B.take 19 . B.drop 8
 
 parseStats :: 
     Word16 
--- a/gameServer/Opts.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/Opts.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/RoomsAndClients.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/RoomsAndClients.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/ServerCore.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/ServerCore.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/ServerState.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/ServerState.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/Store.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/Store.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/Utils.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/Utils.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/Votes.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/Votes.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/hedgewars-server.cabal	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/hedgewars-server.cabal	Thu Sep 03 20:59:48 2015 +0300
@@ -33,7 +33,7 @@
     utf8-string,
     SHA,
     entropy,
-    zlib
+    zlib >= 0.5.3 && < 0.6
 
   if !os(windows)
     build-depends: unix
--- a/gameServer/hedgewars-server.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/hedgewars-server.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/stresstest.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/stresstest.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/stresstest2.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/stresstest2.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/gameServer/stresstest3.hs	Sat Aug 15 16:23:00 2015 +0300
+++ b/gameServer/stresstest3.hs	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 {-
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/ArgParsers.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/ArgParsers.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/CMakeLists.txt	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/CMakeLists.txt	Thu Sep 03 20:59:48 2015 +0300
@@ -136,9 +136,23 @@
 
 #DEPENDECIES AND EXECUTABLES SECTION
 if(APPLE AND (NOT BUILD_ENGINE_LIBRARY))
-    #on OSX we need to provide the SDL_main() function when building as executable
+    #on OSX we need to provide the SDL_main() function when building as
+    #executable and the entry point too
     add_subdirectory(sdlmain)
     list(APPEND HW_LINK_LIBS SDLmain)
+    add_flag_append(CMAKE_Pascal_FLAGS "-k-lsdlmain")
+    add_flag_append(CMAKE_Pascal_FLAGS "-XMSDL_main")
+    #OpenGL deps
+    add_flag_append(CMAKE_Pascal_FLAGS "-k-framework -kCocoa")
+    add_flag_append(CMAKE_Pascal_FLAGS "-k-framework -kOpenGL")
+
+    #set the correct library or framework style depending on the main SDL
+    string(FIND "${SDL_LIBRARY}" "dylib" sdl_framework)
+    if(${sdl_framework} GREATER -1)
+        add_flag_append(CMAKE_Pascal_FLAGS "-k-lsdl -k-lsdl_image -k-lsdl_mixer -k-lsdl_ttf -k-lsdl_net")
+    else()
+        add_flag_append(CMAKE_Pascal_FLAGS "-k-framework -kSDL -k-framework -kSDL_image -k-framework -k SDL_mixer -k-framework -k SDL_net -k-framework -kSDL_net")
+    endif()
 endif()
 
 if(LIBAV_FOUND)
--- a/hedgewars/PNGh.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/PNGh.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/SDLh.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/SDLh.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -53,20 +53,6 @@
     type PLongInt = ^LongInt;
 {$ENDIF}
 
-{$IFDEF DARWIN}
-    {$IFNDEF HWLIBRARY}
-        {$linklib SDLmain}
-        {$PASCALMAINNAME SDL_main}
-        {$linkframework Cocoa}
-        {$linkframework SDL}
-        {$linkframework SDL_net}
-        {$linkframework SDL_image}
-        {$linkframework SDL_ttf}
-        {$linkframework SDL_mixer}
-        {$linkframework OpenGL}
-    {$ENDIF}
-{$ENDIF}
-
 
 (*  SDL  *)
 const
--- a/hedgewars/avwrapper/avwrapper.c	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/avwrapper/avwrapper.c	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/config.inc.in	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/config.inc.in	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/hwLibrary.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/hwLibrary.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/hwengine.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/hwengine.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -127,7 +127,8 @@
         ScreenFadeValue:= sfMax;
         ScreenFadeSpeed:= 5;
         
-        if (not flagDumpLand and MakeScreenshot(s, 1, 0)) or (flagDumpLand and MakeScreenshot(s, 1, 1) and MakeScreenshot(s, 1, 2)) then
+        if (not flagDumpLand and MakeScreenshot(s, 1, 0)) or
+           (flagDumpLand and MakeScreenshot(s, 1, 1) and ((cReducedQuality and rqBlurryLand <> 0) or MakeScreenshot(s, 1, 2))) then
             WriteLnToConsole('Screenshot saved: ' + s)
         else
             begin
--- a/hedgewars/options.inc	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/options.inc	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uAI.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uAI.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uAIActions.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uAIActions.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uAIAmmoTests.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uAIAmmoTests.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uAIMisc.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uAIMisc.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uAmmos.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uAmmos.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uCaptions.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uCaptions.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uChat.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uChat.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -68,14 +68,17 @@
 
 
 const
-    colors: array[#0..#6] of TSDL_Color = (
-            (r:$FF; g:$FF; b:$FF; a:$FF), // unused, feel free to take it for anything
-            (r:$FF; g:$FF; b:$FF; a:$FF), // chat message [White]
-            (r:$FF; g:$00; b:$FF; a:$FF), // action message [Purple]
-            (r:$90; g:$FF; b:$90; a:$FF), // join/leave message [Lime]
-            (r:$FF; g:$FF; b:$A0; a:$FF), // team message [Light Yellow]
-            (r:$FF; g:$00; b:$00; a:$FF), // error messages [Red]
-            (r:$00; g:$FF; b:$FF; a:$FF)  // input line [Light Blue]
+    colors: array[#0..#9] of TSDL_Color = (
+            (r:$FF; g:$FF; b:$FF; a:$FF), // #0 unused, feel free to take it for anything
+            (r:$FF; g:$FF; b:$FF; a:$FF), // #1 chat message [White]
+            (r:$FF; g:$00; b:$FF; a:$FF), // #2 action message [Purple]
+            (r:$90; g:$FF; b:$90; a:$FF), // #3 join/leave message [Lime]
+            (r:$FF; g:$FF; b:$A0; a:$FF), // #4 team message [Light Yellow]
+            (r:$FF; g:$00; b:$00; a:$FF), // #5 error messages [Red]
+            (r:$00; g:$FF; b:$FF; a:$FF), // #6 input line [Light Blue]
+            (r:$FF; g:$80; b:$80; a:$FF), // #7 team gone [Light Red]
+            (r:$FF; g:$D0; b:$80; a:$FF), // #8 team back [Light Orange]
+            (r:$DF; g:$DF; b:$DF; a:$FF)  // #9 hog speech [Light Gray]
             );
     ChatCommandz: array [TChatCmd] of record
             ChatCmd: string[31];
@@ -152,6 +155,9 @@
     UpdateCursorCoords();
 end;
 
+(* This procedure [re]renders a texture showing str for the chat line cl.
+ * It will use the color stored in cl and update width
+ *)
 procedure RenderChatLineTex(var cl: TChatLine; var str: shortstring);
 var strSurface,
     resSurface: PSDL_Surface;
@@ -161,6 +167,8 @@
     shadowint  = $80 shl AShift;
 begin
 
+FreeAndNilTexture(cl.Tex);
+
 font:= CheckCJKFont(ansistring(str), fnt16);
 
 // get render size of text
@@ -199,9 +207,6 @@
 procedure SetLine(var cl: TChatLine; str: shortstring; isInput: boolean);
 var color  : TSDL_Color;
 begin
-if cl.Tex <> nil then
-    FreeAndNilTexture(cl.Tex);
-
 if isInput then
     begin
     cl.s:= str;
@@ -232,16 +237,14 @@
 
 // For uStore texture recreation
 procedure ReloadLines;
-var i, t: LongWord;
+var i: LongWord;
 begin
     if InputStr.s <> '' then
         SetLine(InputStr, InputStr.s, true);
     for i:= 0 to MaxStrIndex do
         if Strs[i].s <> '' then
             begin
-            t:= Strs[i].Time;
-            SetLine(Strs[i], Strs[i].s, false);
-            Strs[i].Time:= t
+            RenderChatLineTex(Strs[i], Strs[i].s);
             end;
 end;
 
@@ -794,9 +797,10 @@
 
 procedure KeyPressChat(Key, Sym: Longword; Modifier: Word);
 const firstByteMark: array[0..3] of byte = (0, $C0, $E0, $F0);
+      nonStateMask = (not (KMOD_NUM or KMOD_CAPS));
 var i, btw, index: integer;
     utf8: shortstring;
-    action, selMode, ctrl: boolean;
+    action, selMode, ctrl, ctrlonly: boolean;
     skip: TCharSkip;
 begin
     LastKeyPressTick:= RealTicks;
@@ -806,6 +810,7 @@
 
     selMode:= (modifier and (KMOD_LSHIFT or KMOD_RSHIFT)) <> 0;
     ctrl:= (modifier and (KMOD_LCTRL or KMOD_RCTRL)) <> 0;
+    ctrlonly:= ctrl and ((modifier and nonStateMask and (not (KMOD_LCTRL or KMOD_RCTRL))) = 0);
     skip:= none;
 
     case Sym of
@@ -965,7 +970,7 @@
         SDLK_a:
             begin
             // select all
-            if ctrl then
+            if ctrlonly then
                 begin
                 ResetSelection();
                 cursorPos:= 0;
@@ -979,7 +984,7 @@
         SDLK_c:
             begin
             // copy
-            if ctrl then
+            if ctrlonly then
                 CopySelectionToClipboard()
             else
                 action:= false;
@@ -987,7 +992,7 @@
         SDLK_v:
             begin
             // paste
-            if ctrl then
+            if ctrlonly then
                 begin
                 DeleteSelected();
                 PasteFromClipboard();
@@ -998,7 +1003,7 @@
         SDLK_x:
             begin
             // cut
-            if ctrl then
+            if ctrlonly then
                 begin
                 CopySelectionToClipboard();
                 DeleteSelected();
--- a/hedgewars/uCollisions.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uCollisions.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uCommandHandlers.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uCommandHandlers.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -492,7 +492,7 @@
 begin
 s:= s; // avoid compiler hint
 flagMakeCapture:= true;
-flagDumpLand:= LocalMessage and gmPrecise  <> 0;
+flagDumpLand:= (LocalMessage and gmPrecise  <> 0);
 end;
 
 procedure chRecord(var s: shortstring);
--- a/hedgewars/uCommands.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uCommands.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uConsole.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uConsole.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uConsts.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uConsts.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -171,6 +171,8 @@
 
     cFontBorder = 2;
 
+    cDefaultBuildMaxDist = 256;
+
     // do not change this value
     cDefaultZoomLevel = 2.0;
 
--- a/hedgewars/uDebug.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uDebug.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uFloat.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uFloat.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uGame.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uGame.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -108,6 +108,7 @@
                         break;
                         end;
                 gmtDemo, gmtRecord: begin
+                        AddFileLog('End of input, halting now');
                         GameState:= gsExit;
                         exit
                         end;
--- a/hedgewars/uGears.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uGears.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -723,7 +723,7 @@
 begin
 if (GameFlags and gfPlaceHog) <> 0 then
     PlacingHogs:= true;
-if (GameFlags and gfDivideTeams) <> 0 then
+if (ClansCount = 2) and ((GameFlags and gfDivideTeams) <> 0) then
     begin
     t:= 0;
     TryDo(ClansCount = 2, 'More or less than 2 clans on map in divided teams mode!', true);
@@ -981,7 +981,7 @@
                 Gear^.FrameTicks:= x
                 end;
             //ParseCommand('/say [' + hh^.Name + '] '+text, true)
-            AddChatString(#1+'[' + HH^.Name + '] '+text);
+            AddChatString(#9+'[' + HH^.Name + '] '+text);
             end
         end
     else if (x >= 4) then
--- a/hedgewars/uGearsHandlers.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uGearsHandlers.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uGearsHandlersMess.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uGearsHandlersMess.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -1504,6 +1504,11 @@
         SetLittle(HHGear^.dX);
         HHGear^.dY := _0;
         end
+    else if Gear^.dY.isNegative and (TestCollisionYwithGear(HHGear, -1) <> 0) then
+        begin
+        Gear^.dY := cGravity;
+        HHGear^.dY := cGravity;
+        end
     else
         begin
         if CheckLandValue(hwRound(Gear^.X), hwRound(Gear^.Y + Gear^.dY + cGravity), lfLandMask) then
@@ -1914,7 +1919,9 @@
                        (hwRound(hwSqr(tX) + hwSqr(tY)) < sqr(Gear^.Karma)) then
                         begin
                         Gear^.Hedgehog:= CurrentHedgehog;
+                        tmpG:= FollowGear;
                         doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Karma, Gear^.Hedgehog, EXPLAutoSound);
+                        FollowGear:= tmpG;
                         DeleteGear(Gear);
                         exit
                         end
@@ -1929,7 +1936,8 @@
                 Gear^.State:= Gear^.State and (not gstAttacking);
                 Gear^.Timer:= Gear^.WDTimer
                 end;
-            dec(Gear^.Timer);
+            if Gear^.Timer > 0 then
+                dec(Gear^.Timer);
             end
         end
     else // gsttmpFlag = 0
@@ -1953,7 +1961,7 @@
     if land = 0 then land:= TestCollisionYwithGear(Gear, 2);
     if (land <> 0) and (land and lfBouncy = 0) then
         begin
-        if (not isZero(Gear^.dX)) or (not isZero(Gear^.dY)) then
+        if ((Gear^.State and gstMoving) <> 0) or (not isZero(Gear^.dX)) or (not isZero(Gear^.dY)) then
             begin
             PlaySound(sndRopeAttach);
             Gear^.dX:= _0;
@@ -2761,10 +2769,10 @@
     if Gear^.AmmoType = amRubber then LandFlags:= lfBouncy
     else if cIce then LandFlags:= lfIce;
 
-    distFail:= ((Distance(tx - x, ty - y) > _256) and ((WorldEdge <> weWrap) or
+    distFail:= (cBuildMaxDist > 0) and ((hwRound(Distance(tx - x, ty - y)) > cBuildMaxDist) and ((WorldEdge <> weWrap) or
             (
-            (Distance(tx - int2hwFloat(rightX+(rx-leftX)), ty - y) > _256) and
-            (Distance(tx - int2hwFloat(leftX-(rightX-rx)), ty - y) > _256)
+            (hwRound(Distance(tx - int2hwFloat(rightX+(rx-leftX)), ty - y)) > cBuildMaxDist) and
+            (hwRound(Distance(tx - int2hwFloat(leftX-(rightX-rx)), ty - y)) > cBuildMaxDist)
             )));
     if distFail
     or (not TryPlaceOnLand(Gear^.Target.X - SpritesData[Ammoz[Gear^.AmmoType].PosSprite].Width div 2, Gear^.Target.Y - SpritesData[Ammoz[Gear^.AmmoType].PosSprite].Height div 2, Ammoz[Gear^.AmmoType].PosSprite, Gear^.State, true, LandFlags)) then
@@ -2799,11 +2807,12 @@
     HHGear: PGear;
 begin
     HHGear := Gear^.Hedgehog^.Gear;
-    doStepHedgehogMoving(HHGear);
+    if HHGear <> nil then doStepHedgehogMoving(HHGear);
     // if not infattack mode wait for hedgehog finish falling to collect cases
     if ((GameFlags and gfInfAttack) <> 0)
+    or (HHGear = nil)
     or ((HHGear^.State and gstMoving) = 0)
-    or (Gear^.Hedgehog^.Gear^.Damage > 0)
+    or (HHGear^.Damage > 0)
     or ((HHGear^.State and gstDrowning) = 1) then
         begin
         DeleteGear(Gear);
@@ -2813,7 +2822,7 @@
 
 procedure doStepTeleportAnim(Gear: PGear);
 begin
-    if (Gear^.Hedgehog^.Gear^.Damage > 0) then
+    if (Gear^.Hedgehog^.Gear = nil) or (Gear^.Hedgehog^.Gear^.Damage > 0) then
         begin
         DeleteGear(Gear);
         AfterAttack;
@@ -2840,6 +2849,11 @@
     AllInactive := false;
 
     HHGear := Gear^.Hedgehog^.Gear;
+    if HHGear = nil then
+    begin
+        DeleteGear(Gear);
+        exit
+    end; 
 
     valid:= false;
 
@@ -5198,11 +5212,14 @@
 procedure doStepHammer(Gear: PGear);
 var HHGear, tmp, tmp2: PGear;
          t: PGearArray;
-         i: LongInt;
+ i, dmg, d: LongInt;
 begin
 HHGear:= Gear^.Hedgehog^.Gear;
 HHGear^.State:= HHGear^.State or gstNoDamage;
 DeleteCI(HHGear);
+SetLittle(HHGear^.dY);
+HHGear^.dY.IsNegative:= true;
+HHGear^.State:= HHGear^.State or gstMoving;
 
 t:= CheckGearsCollision(Gear);
 
@@ -5217,17 +5234,37 @@
     if (tmp^.State and gstNoDamage) = 0 then
         if (tmp^.Kind = gtHedgehog) or (tmp^.Kind = gtMine) or (tmp^.Kind = gtExplosives) then
             begin
+            dmg:= 0;
             //tmp^.State:= tmp^.State or gstFlatened;
             if (tmp^.Kind <> gtHedgehog) or (tmp^.Hedgehog^.Effects[heInvulnerable] = 0) then
-                ApplyDamage(tmp, CurrentHedgehog, tmp^.Health div 3, dsUnknown);
-            //DrawTunnel(tmp^.X, tmp^.Y - _1, _0, _0_5, cHHRadius * 6, cHHRadius * 3);
-            tmp2:= AddGear(hwRound(tmp^.X), hwRound(tmp^.Y), gtHammerHit, 0, _0, _0, 0);
-            tmp2^.LinkedGear:= tmp;
-            SetAllToActive
-            end
-        else
-            begin
-            end
+                begin
+                // base damage on remaining health
+                dmg:= (tmp^.Health - tmp^.Damage);
+                if dmg > 0 then
+                    begin
+                    // do 1/2 current hp worth of damage if extra damage is enabled (1/3 damage if not)
+                    if cDamageModifier > _1 then
+                        d:= 2
+                    else
+                        d:= 3;
+                    // always round up
+                    if dmg mod d > 0 then
+                        dmg:= dmg div d + 1
+                    else
+                        dmg:= dmg div d;
+
+                    ApplyDamage(tmp, CurrentHedgehog, dmg, dsUnknown);
+                    end;
+                end;
+
+            if (tmp^.Kind <> gtHedgehog) or (dmg > 0) or (tmp^.Health > tmp^.Damage) then
+                begin
+                //DrawTunnel(tmp^.X, tmp^.Y - _1, _0, _0_5, cHHRadius * 6, cHHRadius * 3);
+                tmp2:= AddGear(hwRound(tmp^.X), hwRound(tmp^.Y), gtHammerHit, 0, _0, _0, 0);
+                tmp2^.LinkedGear:= tmp;
+                SetAllToActive
+                end;
+            end;
     end;
 
 HHGear^.State:= HHGear^.State and (not gstNoDamage);
--- a/hedgewars/uGearsHandlersRope.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uGearsHandlersRope.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uGearsHedgehog.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uGearsHedgehog.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -213,6 +213,7 @@
     speech: PVisualGear;
     newGear:  PGear;
     CurWeapon: PAmmo;
+    usedAmmoType: TAmmoType;
     altUse: boolean;
     elastic: hwFloat;
 begin
@@ -222,6 +223,7 @@
 with Gear^,
     Gear^.Hedgehog^ do
         begin
+        usedAmmoType:= CurAmmoType;
         if ((State and gstHHDriven) <> 0) and ((State and (gstAttacked or gstChooseTarget)) = 0) and (((State and gstMoving) = 0)
         or (Power > 0)
         or (CurAmmoType = amTeleport)
@@ -509,7 +511,7 @@
         else
             Message:= Message and (not gmAttack);
 
-    ScriptCall('onHogAttack', ord(CurAmmoType));
+    ScriptCall('onHogAttack', ord(usedAmmoType));
     end; // of with Gear^, Gear^.Hedgehog^ do
 
     TargetPoint.X := NoPointX;
--- a/hedgewars/uGearsList.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uGearsList.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -155,7 +155,7 @@
     Gear^.NextGear^.PrevGear:= Gear^.PrevGear;
 if Gear^.PrevGear <> nil then
     Gear^.PrevGear^.NextGear:= Gear^.NextGear
-else 
+else
     GearsList:= Gear^.NextGear;
 
 Gear^.NextGear:= nil;
@@ -238,6 +238,8 @@
   gtMelonPiece: begin
                 gear^.AdvBounce:= 1;
                 gear^.Density:= _2;
+                gear^.Elasticity:= _0_8;
+                gear^.Friction:= _0_995;
                 gear^.Radius:= 4
                 end;
     gtHedgehog: begin
@@ -669,6 +671,7 @@
     t,i: Longword;
     k: boolean;
     cakeData: PCakeData;
+    iterator: PGear;
 begin
 
 ScriptCall('onGearDelete', gear^.uid);
@@ -677,6 +680,31 @@
 
 FreeAndNilTexture(Gear^.Tex);
 
+// remove potential links to this gear
+// currently relevant to: gears linked by hammer
+if (Gear^.Kind = gtHedgehog) or (Gear^.Kind = gtMine) or (Gear^.Kind = gtExplosives) then
+    begin
+    // check all gears for stuff to port through
+    iterator := nil;
+    while true do
+        begin
+
+        // iterate through GearsList
+        if iterator = nil then
+            iterator := GearsList
+        else
+            iterator := iterator^.NextGear;
+
+        // end of list?
+        if iterator = nil then
+            break;
+
+        if iterator^.LinkedGear = Gear then
+            iterator^.LinkedGear:= nil;
+        end;
+
+    end;
+
 // make sure that portals have their link removed before deletion
 if (Gear^.Kind = gtPortal) then
     begin
@@ -733,10 +761,12 @@
                     k:= true;
             if not k then
                 for i:= 0 to Pred(team^.Clan^.TeamsNumber) do
-                    begin
-                    team^.Clan^.Teams[i]^.hasGone:= true;
-                    TeamGoneEffect(team^.Clan^.Teams[i]^)
-                    end
+                    with team^.Clan^.Teams[i]^ do
+                        for t:= 0 to cMaxHHIndex do
+                            if Hedgehogs[t].Gear <> nil then
+                                Hedgehogs[t].Gear^.Health:= 0
+                            else if (Hedgehogs[t].GearHidden <> nil) then
+                                Hedgehogs[t].GearHidden^.Health:= 0  // hog is still hidden. if tardis should return though, lua, eh...
             end;
 
         // should be not CurrentHedgehog, but hedgehog of the last gear which caused damage to this hog
--- a/hedgewars/uGearsRender.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uGearsRender.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -247,13 +247,10 @@
             HHGear:= hh^.Gear;
             x:= hwRound(HHGear^.X) + WorldDx;
             y:= hwRound(HHGear^.Y) + WorldDy - 2;
-            if (SpeechHogNumber <> c) or ((RealTicks and 512) < 256) then
-                begin
-                DrawTextureF(SpritesData[sprFrame].Texture, 0.5, x - fSprOff, y, 0, 1, SpritesData[sprFrame].Width, SpritesData[sprFrame].Height);
-                DrawTextureF(SpritesData[sprFrame].Texture, 0.5, x + fSprOff, y, 1, 1, SpritesData[sprFrame].Width, SpritesData[sprFrame].Height);
-                DrawTextureF(SpritesData[sprBigDigit].Texture, 0.5, x, y, c, 1, sprW, sprH);
-                end
-            else
+            DrawTextureF(SpritesData[sprFrame].Texture, 0.5, x - fSprOff, y, 0, 1, SpritesData[sprFrame].Width, SpritesData[sprFrame].Height);
+            DrawTextureF(SpritesData[sprFrame].Texture, 0.5, x + fSprOff, y, 1, 1, SpritesData[sprFrame].Width, SpritesData[sprFrame].Height);
+            DrawTextureF(SpritesData[sprBigDigit].Texture, 0.5, x, y, c, 1, sprW, sprH);
+            if SpeechHogNumber = c then
                 DrawCircle(x, y, 20, 3, 0, $FF, $FF, $80);
             end;
         until (i > cMaxHHIndex);
@@ -749,32 +746,39 @@
                 amRubber,
                 amGirder: begin
                     DrawSpriteRotated(sprHandConstruction, hx, hy, sign, aangle);
-                    if WorldEdge = weWrap then
+                    if cBuildMaxDist = cDefaultBuildMaxDist then
                         begin
-                        if hwRound(Gear^.X) < LongInt(leftX) + 256 then
-                            DrawSpriteClipped(sprGirder,
-                                            rightX+(ox-leftX)-256,
-                                            oy-256,
-                                            LongInt(topY)+WorldDy,
-                                            LongInt(rightX)+WorldDx,
-                                            cWaterLine+WorldDy,
-                                            LongInt(leftX)+WorldDx);
-                        if hwRound(Gear^.X) > LongInt(rightX) - 256 then
-                            DrawSpriteClipped(sprGirder,
-                                            leftX-(rightX-ox)-256,
-                                            oy-256,
-                                            LongInt(topY)+WorldDy,
-                                            LongInt(rightX)+WorldDx,
-                                            cWaterLine+WorldDy,
-                                            LongInt(leftX)+WorldDx)
+                        if WorldEdge = weWrap then
+                            begin
+                            if hwRound(Gear^.X) < LongInt(leftX) + 256 then
+                                DrawSpriteClipped(sprGirder,
+                                                rightX+(ox-leftX)-256,
+                                                oy-256,
+                                                LongInt(topY)+WorldDy,
+                                                LongInt(rightX)+WorldDx,
+                                                cWaterLine+WorldDy,
+                                                LongInt(leftX)+WorldDx);
+                            if hwRound(Gear^.X) > LongInt(rightX) - 256 then
+                                DrawSpriteClipped(sprGirder,
+                                                leftX-(rightX-ox)-256,
+                                                oy-256,
+                                                LongInt(topY)+WorldDy,
+                                                LongInt(rightX)+WorldDx,
+                                                cWaterLine+WorldDy,
+                                                LongInt(leftX)+WorldDx)
+                            end;
+                        DrawSpriteClipped(sprGirder,
+                                        ox-256,
+                                        oy-256,
+                                        LongInt(topY)+WorldDy,
+                                        LongInt(rightX)+WorldDx,
+                                        cWaterLine+WorldDy,
+                                        LongInt(leftX)+WorldDx)
+                        end
+                    else if cBuildMaxDist > 0 then
+                        begin
+                            DrawCircle(hx, hy, cBuildMaxDist, 3, $FF, 0, 0, $80);
                         end;
-                    DrawSpriteClipped(sprGirder,
-                                    ox-256,
-                                    oy-256,
-                                    LongInt(topY)+WorldDy,
-                                    LongInt(rightX)+WorldDx,
-                                    cWaterLine+WorldDy,
-                                    LongInt(leftX)+WorldDx)
                     end;
                 amBee: DrawSpriteRotatedF(sprHandBee, hx, hy, (RealTicks div 125) mod 4, sign, aangle);
                 amFlamethrower: DrawSpriteRotatedF(sprHandFlamethrower, hx, hy, (RealTicks div 125) mod 4, sign, aangle);
@@ -1384,12 +1388,12 @@
                             Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or $FF)
                         else
                             Tint(Gear^.Hedgehog^.Team^.Clan^.Color shl 8 or max($00, round(Gear^.Power * (1-abs(0.5 - (GameTicks mod 2000) / 2000)))));
-                        DrawSprite(sprTardis, x-24, y-63,0);
+                        DrawSprite(sprTardis, x-25, y-64,0);
                         if Gear^.Pos = 2 then
                             untint
                         else
                             Tint($FF,$FF,$FF,max($00, round(Gear^.Power * (1-abs(0.5 - (GameTicks mod 2000) / 2000)))));
-                        DrawSprite(sprTardis, x-24, y-63,1);
+                        DrawSprite(sprTardis, x-25, y-64,1);
                         if Gear^.Pos <> 2 then
                             untint
 (*
--- a/hedgewars/uGearsUtils.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uGearsUtils.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uIO.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uIO.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uInputHandler.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uInputHandler.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uLand.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uLand.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -36,6 +36,7 @@
      uLandGenTemplateBased, uLandUtils;
 
 var digest: shortstring;
+    maskOnly: boolean;
 
 
 procedure PrettifyLandAlpha();
@@ -50,24 +51,32 @@
 var tmpsurf: PSDL_Surface;
     r, rr: TSDL_Rect;
     x, yd, yu: LongInt;
+    targetMask: Word;
 begin
     tmpsurf:= LoadDataImage(ptCurrTheme, 'Border', ifCritical or ifIgnoreCaps or ifTransparent);
+
+    // if mask only, all land gets filled with landtex and therefore needs borders
+    if maskOnly then
+        targetMask:= lfLandMask
+    else
+        targetMask:= lfBasic;
+
     for x:= 0 to LAND_WIDTH - 1 do
     begin
         yd:= LAND_HEIGHT - 1;
         repeat
-            while (yd > 0) and (Land[yd, x] <> lfBasic) do dec(yd);
+            while (yd > 0) and ((Land[yd, x] and targetMask) = 0) do dec(yd);
 
             if (yd < 0) then
                 yd:= 0;
 
-            while (yd < LAND_HEIGHT) and (Land[yd, x] = lfBasic) do
+            while (yd < LAND_HEIGHT) and ((Land[yd, x] and targetMask) <> 0) do
                 inc(yd);
             dec(yd);
             yu:= yd;
 
-            while (yu > 0  ) and (Land[yu, x] = lfBasic) do dec(yu);
-            while (yu < yd ) and (Land[yu, x] <>  lfBasic) do inc(yu);
+            while (yu > 0  ) and ((Land[yu, x] and targetMask) <> 0) do dec(yu);
+            while (yu < yd ) and ((Land[yu, x] and targetMask) =  0) do inc(yu);
 
             if (yd < LAND_HEIGHT - 1) and ((yd - yu) >= 16) then
                 begin
@@ -372,8 +381,16 @@
 BlitImageAndGenerateCollisionInfo(leftX+150, LAND_HEIGHT - tmpsurf^.h, tmpsurf^.w, tmpsurf);
 SDL_FreeSurface(tmpsurf);
 
-tmpsurf:= LoadDataImage(ptForts, ClansArray[1]^.Teams[0]^.FortName + 'R', ifAlpha or ifCritical or ifTransparent or ifIgnoreCaps);
-BlitImageAndGenerateCollisionInfo(rightX - 150 - tmpsurf^.w, LAND_HEIGHT - tmpsurf^.h, tmpsurf^.w, tmpsurf);
+// not critical because if no R we can fallback to mirrored L
+tmpsurf:= LoadDataImage(ptForts, ClansArray[1]^.Teams[0]^.FortName + 'R', ifAlpha or ifTransparent or ifIgnoreCaps);
+// fallback
+if tmpsurf = nil then
+    begin
+    tmpsurf:= LoadDataImage(ptForts, ClansArray[1]^.Teams[0]^.FortName + 'L', ifAlpha or ifCritical or ifTransparent or ifIgnoreCaps);
+    BlitImageAndGenerateCollisionInfo(rightX - 150 - tmpsurf^.w, LAND_HEIGHT - tmpsurf^.h, tmpsurf^.w, tmpsurf, 0, true);
+    end
+else
+    BlitImageAndGenerateCollisionInfo(rightX - 150 - tmpsurf^.w, LAND_HEIGHT - tmpsurf^.h, tmpsurf^.w, tmpsurf);
 SDL_FreeSurface(tmpsurf);
 end;
 
@@ -517,7 +534,6 @@
 procedure GenMap;
 var x, y, w, c: Longword;
     map, mask: shortstring;
-    maskOnly: boolean;
 begin
     hasBorder:= false;
     maskOnly:= false;
@@ -802,6 +818,7 @@
 
     LandBackSurface:= nil;
     digest:= '';
+    maskOnly:= false;
     LAND_WIDTH:= 0;
     LAND_HEIGHT:= 0;
 (*
--- a/hedgewars/uLandGenMaze.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uLandGenMaze.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -315,42 +315,42 @@
 begin
 case cTemplateFilter of
     0: begin
-        cellsize := small_cell_size;
-        maze_inverted := false;
-        minDistance:= max(cFeatureSize*8,32);
-	dabDiv:= 150;
-    end;
+       cellsize := small_cell_size;
+       maze_inverted := false;
+       minDistance:= max(cFeatureSize*8,32);
+       dabDiv:= 150;
+       end;
     1: begin
-        cellsize := medium_cell_size;
-        minDistance:= max(cFeatureSize*6,20);
-        maze_inverted := false;
-	dabDiv:= 100;
-    end;
+       cellsize := medium_cell_size;
+       minDistance:= max(cFeatureSize*6,20);
+       maze_inverted := false;
+       dabDiv:= 100;
+       end;
     2: begin
-        cellsize := large_cell_size;
-        minDistance:= max(cFeatureSize*5,12);
-        maze_inverted := false;
-	dabDiv:= 90;
-    end;
+       cellsize := large_cell_size;
+       minDistance:= max(cFeatureSize*5,12);
+       maze_inverted := false;
+       dabDiv:= 90;
+       end;
     3: begin
-        cellsize := small_cell_size;
-        minDistance:= max(cFeatureSize*8,32);
-        maze_inverted := true;
-	dabDiv:= 130;
-    end;
+       cellsize := small_cell_size;
+       minDistance:= max(cFeatureSize*8,32);
+       maze_inverted := true;
+       dabDiv:= 130;
+       end;
     4: begin
-        cellsize := medium_cell_size;
-        minDistance:= max(cFeatureSize*6,20);
-        maze_inverted := true;
-	dabDiv:= 100;
-    end;
+       cellsize := medium_cell_size;
+       minDistance:= max(cFeatureSize*6,20);
+       maze_inverted := true;
+       dabDiv:= 100;
+       end;
     5: begin
-        cellsize := large_cell_size;
-        minDistance:= max(cFeatureSize*5,12);
-        maze_inverted := true;
-	dabDiv:= 85;
+       cellsize := large_cell_size;
+       minDistance:= max(cFeatureSize*5,12);
+       maze_inverted := true;
+       dabDiv:= 85;
+       end;
     end;
-end;
 
 num_cells_x := LAND_WIDTH div cellsize;
 if not odd(num_cells_x) then
@@ -379,10 +379,10 @@
 done := false;
 
 for current_step := 0 to num_steps - 1 do
-begin
+    begin
     step_done[current_step] := false;
     came_from_pos[current_step] := 0;
-end;
+    end;
 
 current_step := 0;
 
@@ -444,14 +444,14 @@
     begin
     done := true;
     for current_step := 0 to num_steps-1 do
-    begin
+        begin
         if not step_done[current_step] then
-        begin
+            begin
             see_cell;
             done := false;
+            end;
         end;
     end;
-end;
 
 for x := 0 to seen_cells_x - 1 do
     for y := 0 to seen_cells_y - 1 do
--- a/hedgewars/uLandGraphics.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uLandGraphics.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -89,7 +89,8 @@
 
 procedure drawPixelEBC(landX, landY, pixelX, pixelY: Longint); inline;
 begin
-if ((Land[landY, landX] and lfBasic) <> 0) or ((Land[landY, landX] and lfObject) <> 0) then
+if (Land[landY, landX] and lfIndestructible = 0) and 
+    (((Land[landY, landX] and lfBasic) <> 0) or ((Land[landY, landX] and lfObject) <> 0)) then
     begin
     LandPixels[pixelY, pixelX]:= ExplosionBorderColor;
     Land[landY, landX]:= (Land[landY, landX] or lfDamaged) and (not lfIce);
--- a/hedgewars/uLandObjects.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uLandObjects.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -26,7 +26,8 @@
 procedure FreeLandObjects();
 procedure LoadThemeConfig;
 procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface); inline;
-procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface; LandFlags: Word);
+procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface; LandFlags: Word); inline;
+procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface; LandFlags: Word; Flip: boolean);
 procedure BlitImageUsingMask(cpX, cpY: Longword;  Image, Mask: PSDL_Surface);
 procedure AddOnLandObjects(Surface: PSDL_Surface);
 procedure SetLand(var LandWord: Word; Pixel: LongWord); inline;
@@ -92,12 +93,17 @@
 
 procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface); inline;
 begin
-    BlitImageAndGenerateCollisionInfo(cpX, cpY, Width, Image, 0);
+    BlitImageAndGenerateCollisionInfo(cpX, cpY, Width, Image, 0, false);
 end;
 
-procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface; LandFlags: Word);
+procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface; LandFlags: Word); inline;
+begin
+    BlitImageAndGenerateCollisionInfo(cpX, cpY, Width, Image, LandFlags, false);
+end;
+
+procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface; LandFlags: Word; Flip: boolean);
 var p: PLongwordArray;
-    x, y: Longword;
+    px, x, y: Longword;
     bpp: LongInt;
 begin
 WriteToConsole('Generating collision info... ');
@@ -115,21 +121,29 @@
 for y:= 0 to Pred(Image^.h) do
     begin
     for x:= 0 to Pred(Width) do
-        if (p^[x] and AMask) <> 0 then
+        begin
+        // map image pixels per line backwards if in flip mode
+        if Flip then
+            px:= Pred(Image^.w) - x
+        else
+            px:= x;
+
+        if (p^[px] and AMask) <> 0 then
             begin
             if (cReducedQuality and rqBlurryLand) = 0 then
                 begin
                 if (LandPixels[cpY + y, cpX + x] = 0)
-                or (((p^[x] and AMask) <> 0) and (((LandPixels[cpY + y, cpX + x] and AMask) shr AShift) < 255)) then
-                    LandPixels[cpY + y, cpX + x]:= p^[x];
+                or (((p^[px] and AMask) <> 0) and (((LandPixels[cpY + y, cpX + x] and AMask) shr AShift) < 255)) then
+                    LandPixels[cpY + y, cpX + x]:= p^[px];
                 end
             else
                 if LandPixels[(cpY + y) div 2, (cpX + x) div 2] = 0 then
-                    LandPixels[(cpY + y) div 2, (cpX + x) div 2]:= p^[x];
+                    LandPixels[(cpY + y) div 2, (cpX + x) div 2]:= p^[px];
 
-            if (Land[cpY + y, cpX + x] <= lfAllObjMask) and ((p^[x] and AMask) <> 0) then
+            if (Land[cpY + y, cpX + x] <= lfAllObjMask) and ((p^[px] and AMask) <> 0) then
                 Land[cpY + y, cpX + x]:= lfObject or LandFlags
             end;
+        end;
     p:= PLongwordArray(@(p^[Image^.pitch shr 2]))
     end;
 
--- a/hedgewars/uLandPainted.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uLandPainted.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uLandTemplates.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uLandTemplates.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uLandTexture.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uLandTexture.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uLandUtils.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uLandUtils.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -27,7 +27,7 @@
     SetLength(Land, LAND_HEIGHT, LAND_WIDTH);
     SetLength(LandDirty, (LAND_HEIGHT div 32), (LAND_WIDTH div 32));
     // 0.5 is already approaching on unplayable
-    if (width div 4096 >= 2) or (height div 2048 >= 2) then cMaxZoomLevel:= 0.5;
+    if (width div 4096 >= 2) or (height div 2048 >= 2) then cMaxZoomLevel:= cMaxZoomLevel/2;
     cMinMaxZoomLevelDelta:= cMaxZoomLevel - cMinZoomLevel
     end;
 end;
--- a/hedgewars/uLocale.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uLocale.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uMisc.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uMisc.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -250,7 +250,7 @@
     exit;
 end;
 
-// read pixels from the front buffer
+// read pixels from land array
 if dump > 0 then
     begin
     for y:= 0 to LAND_HEIGHT-1 do
@@ -274,6 +274,7 @@
                 end
     end
 else
+// read pixels from the front buffer
     begin
     glReadPixels(0, 0, cScreenWidth, cScreenHeight, format, GL_UNSIGNED_BYTE, p);
 {$IFDEF USE_VIDEO_RECORDING}
--- a/hedgewars/uRandom.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uRandom.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uRender.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uRender.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -60,7 +60,9 @@
 procedure DrawWaves             (Dir, dX, dY, oX: LongInt; tnt: Byte);
 
 procedure RenderClear           ();
+{$IFDEF USE_S3D_RENDERING}
 procedure RenderClear           (mode: TRenderMode);
+{$ENDIF}
 procedure RenderSetClearColor   (r, g, b, a: real);
 procedure Tint                  (r, g, b, a: Byte); inline;
 procedure Tint                  (c: Longword); inline;
@@ -135,8 +137,10 @@
 procedure openglRotatef         (RotX, RotY, RotZ: GLfloat; dir: LongInt); forward;
 procedure openglTint            (r, g, b, a: Byte); forward;
 
+{$IFDEF USE_S3D_RENDERING OR USE_VIDEO_RECORDING}
 procedure CreateFramebuffer(var frame, depth, tex: GLuint); forward;
 procedure DeleteFramebuffer(var frame, depth, tex: GLuint); forward;
+{$ENDIF}
 
 function isAreaOffscreen(X, Y, Width, Height: LongInt): boolean; inline;
 begin
@@ -468,7 +472,7 @@
     tmpint := 1;
 
     repeat
-    begin
+        begin
         // print up to 3 extentions per row
         // ExtractWord will return empty string if index out of range
         AddFileLog(TrimRight(
@@ -477,7 +481,7 @@
             ExtractWord(tmpint+2, tmpstr, [' '])
         ));
         tmpint := tmpint + 3;
-    end;
+        end;
     until (tmpint > tmpn);
 {$ENDIF}
     AddFileLog('');
@@ -486,26 +490,26 @@
 
 {$IFDEF USE_VIDEO_RECORDING}
     if GameType = gmtRecord then
-    begin
+        begin
         if glLoadExtension('GL_EXT_framebuffer_object') then
-        begin
+            begin
             CreateFramebuffer(defaultFrame, depthv, texv);
             glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, defaultFrame);
             AddFileLog('Using framebuffer for video recording.');
-        end
+            end
         else if AuxBufNum > 0 then
-        begin
+            begin
             glDrawBuffer(GL_AUX0);
             glReadBuffer(GL_AUX0);
             AddFileLog('Using auxiliary buffer for video recording.');
-        end
+            end
         else
-        begin
+            begin
             glDrawBuffer(GL_BACK);
             glReadBuffer(GL_BACK);
             AddFileLog('Warning: off-screen rendering is not supported; using back buffer but it may not work.');
+            end;
         end;
-    end;
 {$ENDIF}
 
 {$IFDEF GL2}
@@ -513,10 +517,10 @@
 {$IFDEF PAS2C}
     err := glewInit();
     if err <> GLEW_OK then
-    begin
+        begin
         WriteLnToConsole('Failed to initialize GLEW.');
         halt(HaltStartupError);
-    end;
+        end;
 {$ENDIF}
 
 {$IFNDEF PAS2C}
@@ -543,7 +547,7 @@
 
 {$IFDEF USE_S3D_RENDERING}
     if (cStereoMode = smHorizontal) or (cStereoMode = smVertical) then
-    begin
+        begin
         // prepare left and right frame buffers and associated textures
         if glLoadExtension('GL_EXT_framebuffer_object') then
             begin
@@ -558,7 +562,7 @@
             end
         else
             cStereoMode:= smNone;
-    end;
+        end;
 
     // set up vertex/texture buffers for frame textures
     texLRDtb[0].X:= 0.0;
--- a/hedgewars/uRenderUtils.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uRenderUtils.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uScript.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uScript.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -87,7 +87,8 @@
     uIO,
     uVisualGearsList,
     uGearsHandlersMess,
-    uPhysFSLayer
+    uPhysFSLayer,
+    SDLh
 {$IFNDEF PAS2C}
     , typinfo
 {$ENDIF}
@@ -101,6 +102,7 @@
     ScriptLoaded : boolean;
     mapDims : boolean;
     PointsBuffer: shortstring;
+    prevCursorPoint: TPoint;  // why is tpoint still in sdlh...
 
 procedure ScriptPrepareAmmoStore; forward;
 procedure ScriptApplyAmmoStore; forward;
@@ -438,6 +440,26 @@
     lc_setweapon:= 0;
 end;
 
+// no parameter means reset to default (and 0 means unlimited)
+function lc_setmaxbuilddistance(L : Plua_State) : LongInt; Cdecl;
+var np: LongInt;
+const
+    call = 'SetMaxBuildDistance';
+    params = '[ distInPx ]';
+begin
+    if CheckAndFetchParamCountRange(L, 0, 1, call, params, np) then
+        begin
+        if np = 0 then
+            begin
+            // no args? reset
+            cBuildMaxDist:= cDefaultBuildMaxDist;
+            end
+        else
+            CBuildMaxDist:= lua_tointeger(L, 1);
+        end;
+    lc_setmaxbuilddistance:= 0;
+end;
+
 // sets weapon to whatever weapons is next (wraps around, amSkip is skipped)
 function lc_setnextweapon(L : Plua_State) : LongInt; Cdecl;
 var at          : LongInt;
@@ -1211,6 +1233,54 @@
     lc_setclancolor:= 0
 end;
 
+function lc_gethogvoicepack(L : Plua_State) : LongInt; Cdecl;
+var gear : PGear;
+begin
+    if CheckLuaParamCount(L, 1, 'GetHogVoicepack', 'gearUid') then
+        begin
+        gear:= GearByUID(lua_tointeger(L, 1));
+        if (gear <> nil) and (gear^.Kind = gtHedgehog) and (gear^.Hedgehog <> nil) then
+            lua_pushstring(L, str2pchar(gear^.Hedgehog^.Team^.Voicepack^.name))
+        else
+            lua_pushnil(L);
+        end
+    else
+        lua_pushnil(L); // return value on stack (nil)
+    lc_gethogvoicepack:= 1
+end;
+
+function lc_gethoggrave(L : Plua_State) : LongInt; Cdecl;
+var gear : PGear;
+begin
+    if CheckLuaParamCount(L, 1, 'GetHogGrave', 'gearUid') then
+        begin
+        gear:= GearByUID(lua_tointeger(L, 1));
+        if (gear <> nil) and ((gear^.Kind = gtHedgehog) or (gear^.Kind = gtGrave)) and (gear^.Hedgehog <> nil) then
+            lua_pushstring(L, str2pchar(gear^.Hedgehog^.Team^.GraveName))
+        else
+            lua_pushnil(L);
+        end
+    else
+        lua_pushnil(L); // return value on stack (nil)
+    lc_gethoggrave:= 1
+end;
+
+function lc_gethogflag(L : Plua_State) : LongInt; Cdecl;
+var gear : PGear;
+begin
+    if CheckLuaParamCount(L, 1, 'GetHogFlag', 'gearUid') then
+        begin
+        gear:= GearByUID(lua_tointeger(L, 1));
+        if (gear <> nil) and (gear^.Kind = gtHedgehog) and (gear^.Hedgehog <> nil) then
+            lua_pushstring(L, str2pchar(gear^.Hedgehog^.Team^.Flag))
+        else
+            lua_pushnil(L);
+        end
+    else
+        lua_pushnil(L); // return value on stack (nil)
+    lc_gethogflag:= 1
+end;
+
 function lc_gethogteamname(L : Plua_State) : LongInt; Cdecl;
 var gear : PGear;
 begin
@@ -1414,7 +1484,7 @@
                vgear^.Text:= lua_tostring(L, 2);
                if Gear^.Kind = gtHedgehog then
                    begin
-                   AddChatString(#1+'[' + gear^.Hedgehog^.Name + '] '+vgear^.text);
+                   AddChatString(#9+'[' + gear^.Hedgehog^.Name + '] '+vgear^.text);
                    vgear^.Hedgehog:= gear^.Hedgehog
                    end
                else vgear^.Frame:= gear^.uid;
@@ -2226,7 +2296,7 @@
         else flipVert := false;
         lf:= 0;
 
-        // accept any amount of landflags, loop is never executed if n>6
+        // accept any amount of landflags, loop is never executed if n<9
         for i:= 9 to n do
             lf:= lf or lua_tointeger(L, i);
 
@@ -2255,7 +2325,7 @@
     eraseOnLFMatch, onlyEraseLF, flipHoriz, flipVert : boolean;
 const
     call = 'EraseSprite';
-    params = 'x, y, sprite, frameIdx, eraseOnLFMatch, flipHoriz, flipVert, [, landFlag, ... ]';
+    params = 'x, y, sprite, frameIdx, eraseOnLFMatch, onlyEraseLF, flipHoriz, flipVert, [, landFlag, ... ]';
 begin
     if CheckAndFetchLuaParamMinCount(L, 4, call, params, n) then
         begin
@@ -2273,7 +2343,7 @@
         else flipVert := false;
         lf:= 0;
 
-        // accept any amount of landflags, loop is never executed if n>6
+        // accept any amount of landflags, loop is never executed if n<9
         for i:= 9 to n do
             lf:= lf or lua_tointeger(L, i);
 
@@ -2422,7 +2492,7 @@
     lc_setwaterline:= 0
 end;
 
-function lc_setaihintsongear(L : Plua_State) : LongInt; Cdecl;
+function lc_setgearaihints(L : Plua_State) : LongInt; Cdecl;
 var gear: PGear;
 begin
     if CheckLuaParamCount(L, 2, 'SetAIHintOnGear', 'gearUid, aiHints') then
@@ -2431,7 +2501,7 @@
         if gear <> nil then
             gear^.aihints:= lua_tointeger(L, 2);
         end;
-    lc_setaihintsongear:= 0
+    lc_setgearaihints:= 0
 end;
 
 
@@ -2597,6 +2667,7 @@
 ScriptSetInteger('TemplateFilter', cTemplateFilter);
 ScriptSetInteger('TemplateNumber', LuaTemplateNumber);
 ScriptSetInteger('MapGen', ord(cMapGen));
+ScriptSetInteger('MapFeatureSize', cFeatureSize);
 
 ScriptCall('onPreviewInit');
 
@@ -2605,6 +2676,7 @@
 cTemplateFilter  := ScriptGetInteger('TemplateFilter');
 LuaTemplateNumber:= ScriptGetInteger('TemplateNumber');
 cMapGen          := TMapGen(ScriptGetInteger('MapGen'));
+cFeatureSize     := ScriptGetInteger('MapFeatureSize');
 end;
 
 procedure ScriptOnGameInit;
@@ -2615,12 +2687,15 @@
     exit;
 
 // push game variables so they may be modified by the script
+ScriptSetInteger('CursorX', CursorPoint.X);
+ScriptSetInteger('CursorY', CursorPoint.Y);
 ScriptSetInteger('BorderColor', ExplosionBorderColor);
 ScriptSetInteger('GameFlags', GameFlags);
 ScriptSetString('Seed', cSeed);
 ScriptSetInteger('TemplateFilter', cTemplateFilter);
 ScriptSetInteger('TemplateNumber', LuaTemplateNumber);
 ScriptSetInteger('MapGen', ord(cMapGen));
+ScriptSetInteger('MapFeatureSize', cFeatureSize);
 ScriptSetInteger('ScreenHeight', cScreenHeight);
 ScriptSetInteger('ScreenWidth', cScreenWidth);
 ScriptSetInteger('TurnTime', cHedgehogTurnTime);
@@ -2650,6 +2725,7 @@
 cTemplateFilter  := ScriptGetInteger('TemplateFilter');
 LuaTemplateNumber:= ScriptGetInteger('TemplateNumber');
 cMapGen          := TMapGen(ScriptGetInteger('MapGen'));
+cFeatureSize     := ScriptGetInteger('MapFeatureSize');
 GameFlags        := ScriptGetInteger('GameFlags');
 cHedgehogTurnTime:= ScriptGetInteger('TurnTime');
 cCaseFactor      := ScriptGetInteger('CaseFreq');
@@ -2773,6 +2849,25 @@
 ScriptSetInteger('GameTime', GameTicks);
 ScriptSetInteger('TotalRounds', TotalRounds);
 ScriptSetInteger('WaterLine', cWaterLine);
+if isCursorVisible and (not bShowAmmoMenu) then
+    begin
+    if (prevCursorPoint.X <> CursorPoint.X) or 
+       (prevCursorPoint.Y <> CursorPoint.Y) then
+        begin
+        ScriptSetInteger('CursorX', CursorPoint.X - WorldDx);
+        ScriptSetInteger('CursorY', cScreenHeight - CursorPoint.Y- WorldDy);
+        prevCursorPoint.X:= CursorPoint.X;
+        prevCursorPoint.Y:= CursorPoint.Y;
+        end
+    end
+else
+    begin
+    ScriptSetInteger('CursorX', NoPointX);
+    ScriptSetInteger('CursorY', NoPointX);
+    prevCursorPoint.X:= NoPointX;
+    prevCursorPoint.Y:= NoPointX
+    end;
+
 if not mapDims then
     begin
     mapDims:= true;
@@ -3085,7 +3180,7 @@
 ScriptSetInteger('gstAttacked'      , gstAttacked);
 ScriptSetInteger('gstAttacking'     , gstAttacking);
 ScriptSetInteger('gstCollision'     , gstCollision);
-ScriptSetInteger('gstChooseTarget', gstChooseTarget);
+ScriptSetInteger('gstChooseTarget'  , gstChooseTarget);
 ScriptSetInteger('gstHHJumping'     , gstHHJumping);
 ScriptSetInteger('gsttmpFlag'       , gsttmpFlag);
 ScriptSetInteger('gstHHThinking'    , gstHHThinking);
@@ -3099,6 +3194,9 @@
 ScriptSetInteger('gstLoser'         , gstLoser);
 ScriptSetInteger('gstHHGone'        , gstHHGone);
 ScriptSetInteger('gstInvisible'     , gstInvisible);
+ScriptSetInteger('gstSubmersible'   , gstSubmersible);
+ScriptSetInteger('gstFrozen'        , gstFrozen);
+ScriptSetInteger('gstNoGravity'     , gstNoGravity);
 
 // ai hints
 ScriptSetInteger('aihUsualProcessing', aihUsualProcessing);
@@ -3170,6 +3268,9 @@
 lua_register(luaState, _P'GetHogClan', @lc_gethogclan);
 lua_register(luaState, _P'GetClanColor', @lc_getclancolor);
 lua_register(luaState, _P'SetClanColor', @lc_setclancolor);
+lua_register(luaState, _P'GetHogVoicepack', @lc_gethogvoicepack);
+lua_register(luaState, _P'GetHogFlag', @lc_gethogflag);
+lua_register(luaState, _P'GetHogGrave', @lc_gethoggrave);
 lua_register(luaState, _P'GetHogTeamName', @lc_gethogteamname);
 lua_register(luaState, _P'SetHogTeamName', @lc_sethogteamname);
 lua_register(luaState, _P'GetHogName', @lc_gethogname);
@@ -3224,11 +3325,12 @@
 lua_register(luaState, _P'SetWaterLine', @lc_setwaterline);
 lua_register(luaState, _P'SetNextWeapon', @lc_setnextweapon);
 lua_register(luaState, _P'SetWeapon', @lc_setweapon);
+lua_register(luaState, _P'SetMaxBuildDistance', @lc_setmaxbuilddistance);
 // drawn map functions
 lua_register(luaState, _P'AddPoint', @lc_addPoint);
 lua_register(luaState, _P'FlushPoints', @lc_flushPoints);
 
-lua_register(luaState, _P'SetGearAIHints', @lc_setaihintsongear);
+lua_register(luaState, _P'SetGearAIHints', @lc_setgearaihints);
 lua_register(luaState, _P'HedgewarsScriptLoad', @lc_hedgewarsscriptload);
 lua_register(luaState, _P'DeclareAchievement', @lc_declareachievement);
 
@@ -3329,6 +3431,8 @@
 begin
 mapDims:= false;
 PointsBuffer:= '';
+prevCursorPoint.X:= NoPointX;
+prevCursorPoint.Y:= 0;
 end;
 
 procedure freeModule;
--- a/hedgewars/uSinTable.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uSinTable.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uSound.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uSound.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -70,7 +70,7 @@
 // Returns sound channel of the looped sound.
 function  LoopSound(snd: TSound): LongInt;
 function  LoopSound(snd: TSound; fadems: LongInt): LongInt;
-function  LoopSoundV(snd: TSound; voicepack: PVoicepack): LongInt; // WTF?
+function  LoopSoundV(snd: TSound; voicepack: PVoicepack): LongInt;
 function  LoopSoundV(snd: TSound; voicepack: PVoicepack; fadems: LongInt): LongInt;
 
 // Stops the normal/looped sound of the given type/in the given channel
@@ -261,8 +261,9 @@
 var i: Longword;
     locName, path: shortstring;
 begin
-i:= 0;
-    // First, attempt to locate a localised version of the voice
+    i:= 0;
+
+    // Adjust voicepack name if there's a localised version version of the voice
     if cLocale <> 'en' then
         begin
         locName:= name+'_'+cLocale;
@@ -279,7 +280,16 @@
                 end
         end;
 
-    // If that fails, use the unmodified one
+    path:= cPathz[ptVoices] + '/' + name;
+
+    // Fallback to Default if voicepack can't be found at all
+    if (name <> 'Default') and (not pfsExists(path)) then
+        begin
+        path:= cPathz[ptVoices] + '/Default';
+        if pfsExists(path) then
+            exit(AskForVoicepack('Default'));
+        end;
+
     while (voicepacks[i].name <> name) and (voicepacks[i].name <> '') do
         begin
         inc(i);
@@ -717,6 +727,7 @@
     RegisterVariable('mute'     , @chMute     , true );
 
     MusicFN:='';
+    SDMusicFN:= 'sdmusic.ogg';
     Mus:= nil;
     isAudioMuted:= false;
     isSEBackup:= isSoundEnabled;
--- a/hedgewars/uStats.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uStats.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uStore.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uStore.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uTeams.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uTeams.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
  (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -665,7 +665,7 @@
                 begin
                 if (not hasGone) and isGoneFlagPendingToBeSet then
                     begin
-                    AddChatString('** '+ TeamName + ' is gone'); // TODO: localize
+                    AddChatString(#7 + '* '+ TeamName + ' is gone'); // TODO: localize
                     if not CurrentTeam^.ExtDriven then SendIPC(_S'f' + s);
                     hasGone:= true;
                     skippedTurns:= 0;
@@ -704,7 +704,7 @@
         with TeamsArray[t]^ do
             if hasGone then
                 begin
-                AddChatString('** '+ TeamName + ' is back');
+                AddChatString(#8 + '* '+ TeamName + ' is back');
                 if not CurrentTeam^.ExtDriven then SendIPC(_S'g' + s);
                 hasGone:= false;
 
@@ -732,6 +732,8 @@
 // avoid compiler hint
 s:= s;
 
+isPaused:= false;
+
 t:= 0;
 while t < TeamsCount do
     begin
@@ -739,7 +741,7 @@
     inc(t)
     end;
 
-AddChatString('** Good-bye!');
+AddChatString(#7 + '* Good-bye!');
 RecountAllTeamsHealth();
 end;
 
--- a/hedgewars/uTextures.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uTextures.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uTypes.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uTypes.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uUtils.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uUtils.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uVariables.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uVariables.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -176,6 +176,7 @@
     cElastic        : hwFloat;
     cGravity        : hwFloat;
     cGravityf       : real;
+    cBuildMaxDist   : LongInt;
     cDamageModifier : hwFloat;
     cLaserSighting  : boolean;
     cVampiric       : boolean;
@@ -683,8 +684,8 @@
             Width:  80; Height: 50; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprSDSplash
             (FileName:  'SDDroplet'; Path: ptCurrTheme; AltPath: ptSuddenDeath; Texture: nil; Surface: nil;
             Width:  16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprSDDroplet
-            (FileName:  'TARDIS'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
-            Width:  48; Height: 79; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprTardis
+            (FileName:  'Timebox'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
+            Width:  50; Height: 81; imageWidth: 0; imageHeight: 0; saveSurf: false; priority: tpHighest; getDimensions: false; getImageDimensions: true),// sprTardis
             (FileName:  'slider'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
             Width: 3; Height: 17; imageWidth: 3; imageHeight: 17; saveSurf: false; priority: tpLow; getDimensions: false; getImageDimensions: false), // sprSlider
             (FileName:  'botlevels'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil;
@@ -2560,6 +2561,7 @@
     cElastic                := _0_9;
     cGravity                := cMaxWindSpeed * 2;
     cGravityf               := 0.00025 * 2;
+    cBuildMaxDist           := cDefaultBuildMaxDist;
     cDamageModifier         := _1;
     TargetPoint             := cTargetPointRef;
 
@@ -2615,7 +2617,7 @@
     AttackBar       := 0; // 0 - none, 1 - just bar at the right-down corner, 2 - from weapon
     cCaseFactor     := 5;  {0..9}
     cLandMines      := 4;
-    cAirMines       := 4;
+    cAirMines       := 0;
     cExplosives     := 2;
 
     GameState       := Low(TGameState);
--- a/hedgewars/uVideoRec.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uVideoRec.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uVisualGears.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uVisualGears.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uVisualGearsHandlers.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uVisualGearsHandlers.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uVisualGearsList.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uVisualGearsList.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/hedgewars/uWorld.pas	Sat Aug 15 16:23:00 2015 +0300
+++ b/hedgewars/uWorld.pas	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 (*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
@@ -862,8 +862,8 @@
         begin
         RenderClear();
         DrawWorldStereo(Lag, rmDefault)
+{$IFDEF USE_S3D_RENDERING}
         end
-{$IFDEF USE_S3D_RENDERING}
     else
         begin
         // draw frame for left eye
@@ -873,8 +873,8 @@
         // draw frame for right eye
         RenderClear(rmRightEye);
         DrawWorldStereo(0, rmRightEye);
+{$ENDIF}
         end;
-{$ENDIF}
 
 FinishRender();
 end;
@@ -1659,35 +1659,32 @@
 
 
 // Cursor
-if isCursorVisible then
+if isCursorVisible and (not bShowAmmoMenu) then
     begin
-    if (not bShowAmmoMenu) then
-        begin
-        if not CurrentTeam^.ExtDriven then TargetCursorPoint:= CursorPoint;
-        with CurrentHedgehog^ do
-            if (Gear <> nil) and ((Gear^.State and gstChooseTarget) <> 0) then
+    if not CurrentTeam^.ExtDriven then TargetCursorPoint:= CursorPoint;
+    with CurrentHedgehog^ do
+        if (Gear <> nil) and ((Gear^.State and gstChooseTarget) <> 0) then
+            begin
+        if (CurAmmoType = amNapalm) or (CurAmmoType = amMineStrike) or (((GameFlags and gfMoreWind) <> 0) and ((CurAmmoType = amDrillStrike) or (CurAmmoType = amAirAttack))) then
+            DrawLine(-3000, topY-300, 7000, topY-300, 3.0, (Team^.Clan^.Color shr 16), (Team^.Clan^.Color shr 8) and $FF, Team^.Clan^.Color and $FF, $FF);
+        i:= GetCurAmmoEntry(CurrentHedgehog^)^.Pos;
+        with Ammoz[CurAmmoType] do
+            if PosCount > 1 then
                 begin
-            if (CurAmmoType = amNapalm) or (CurAmmoType = amMineStrike) or (((GameFlags and gfMoreWind) <> 0) and ((CurAmmoType = amDrillStrike) or (CurAmmoType = amAirAttack))) then
-                DrawLine(-3000, topY-300, 7000, topY-300, 3.0, (Team^.Clan^.Color shr 16), (Team^.Clan^.Color shr 8) and $FF, Team^.Clan^.Color and $FF, $FF);
-            i:= GetCurAmmoEntry(CurrentHedgehog^)^.Pos;
-            with Ammoz[CurAmmoType] do
-                if PosCount > 1 then
+                if (CurAmmoType = amGirder) or (CurAmmoType = amTeleport) then
                     begin
-                    if (CurAmmoType = amGirder) or (CurAmmoType = amTeleport) then
-                        begin
-                    // pulsating transparency
-                        if ((GameTicks div 16) mod $80) >= $40 then
-                            Tint($FF, $FF, $FF, $C0 - (GameTicks div 16) mod $40)
-                        else
-                            Tint($FF, $FF, $FF, $80 + (GameTicks div 16) mod $40);
-                        end;
-                    DrawSprite(PosSprite, TargetCursorPoint.X - (SpritesData[PosSprite].Width shr 1), cScreenHeight - TargetCursorPoint.Y - (SpritesData[PosSprite].Height shr 1),i);
-                    Untint();
+                // pulsating transparency
+                    if ((GameTicks div 16) mod $80) >= $40 then
+                        Tint($FF, $FF, $FF, $C0 - (GameTicks div 16) mod $40)
+                    else
+                        Tint($FF, $FF, $FF, $80 + (GameTicks div 16) mod $40);
                     end;
+                DrawSprite(PosSprite, TargetCursorPoint.X - (SpritesData[PosSprite].Width shr 1), cScreenHeight - TargetCursorPoint.Y - (SpritesData[PosSprite].Height shr 1),i);
+                Untint();
                 end;
-        //DrawSprite(sprArrow, TargetCursorPoint.X, cScreenHeight - TargetCursorPoint.Y, (RealTicks shr 6) mod 8)
-        DrawTextureF(SpritesData[sprArrow].Texture, cDefaultZoomLevel / cScaleFactor, TargetCursorPoint.X + round(SpritesData[sprArrow].Width / cScaleFactor), cScreenHeight + round(SpritesData[sprArrow].Height / cScaleFactor) - TargetCursorPoint.Y, (RealTicks shr 6) mod 8, 1, SpritesData[sprArrow].Width, SpritesData[sprArrow].Height);
-        end
+            end;
+    //DrawSprite(sprArrow, TargetCursorPoint.X, cScreenHeight - TargetCursorPoint.Y, (RealTicks shr 6) mod 8)
+    DrawTextureF(SpritesData[sprArrow].Texture, cDefaultZoomLevel / cScaleFactor, TargetCursorPoint.X + round(SpritesData[sprArrow].Width / cScaleFactor), cScreenHeight + round(SpritesData[sprArrow].Height / cScaleFactor) - TargetCursorPoint.Y, (RealTicks shr 6) mod 8, 1, SpritesData[sprArrow].Width, SpritesData[sprArrow].Height);
     end;
 
 // debug stuff
--- a/man/hedgewars.6	Sat Aug 15 16:23:00 2015 +0300
+++ b/man/hedgewars.6	Thu Sep 03 20:59:48 2015 +0300
@@ -42,7 +42,7 @@
 .
 .SH "COPYRIGHT"
 .
-Copyright \(co 2004\-2014 Andrey Korotaev, Igor Ulyanov
+Copyright \(co 2004\-2015 Andrey Korotaev, Igor Ulyanov
 .br 
 This is Free Software; this software is licensed under the GPL version 2, as published by the Free Software Foundation.
 There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--- a/misc/libphyslayer/physfscompat.c	Sat Aug 15 16:23:00 2015 +0300
+++ b/misc/libphyslayer/physfscompat.c	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/misc/libphyslayer/physfscompat.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/misc/libphyslayer/physfscompat.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/SDLActivity.java	Sat Aug 15 16:23:00 2015 +0300
+++ b/project_files/Android-build/SDL-android-project/src/org/hedgewars/hedgeroid/SDLActivity.java	Thu Sep 03 20:59:48 2015 +0300
@@ -2,7 +2,7 @@
  * Hedgewars for Android. An Android port of Hedgewars, a free turn based strategy game
  * Copyright (c) 2011-2012 Richard Deurwaarder <xeli@xelification.com>
  * Copyright (C) 2012 Simeon Maxein <smaxein@googlemail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 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
--- a/project_files/frontlib/hwconsts.h	Sat Aug 15 16:23:00 2015 +0300
+++ b/project_files/frontlib/hwconsts.h	Thu Sep 03 20:59:48 2015 +0300
@@ -1,6 +1,6 @@
 /*
  * Hedgewars, a free turn based strategy game
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
  * Copyright (c) 2012 Simeon Maxein <smaxein@googlemail.com>
  *
  * This program is free software; you can redistribute it and/or modify
--- a/project_files/frontlib/net/netconn.c	Sat Aug 15 16:23:00 2015 +0300
+++ b/project_files/frontlib/net/netconn.c	Thu Sep 03 20:59:48 2015 +0300
@@ -1,7 +1,7 @@
 /*
  * Hedgewars, a free turn based strategy game
  * Copyright (c) 2006-2008 Igor Ulyanov <iulyanov@gmail.com>
- * Copyright (c) 2004-2014 Andrey Korotaev <unC0Rr@gmail.com>
+ * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
  * Copyright (c) 2012 Simeon Maxein <smaxein@googlemail.com>
  *
  * This program is free software; you can redistribute it and/or modify
--- a/share/Info.plist.in	Sat Aug 15 16:23:00 2015 +0300
+++ b/share/Info.plist.in	Thu Sep 03 20:59:48 2015 +0300
@@ -23,7 +23,7 @@
     <key>CFBundleShortVersionString</key>
     <string>${HEDGEWARS_VERSION}</string>
     <key>NSHumanReadableCopyright</key>
-    <string>Copyright © 2004-2014, Hedgewars Project</string>
+    <string>Copyright © 2004-2015, Hedgewars Project</string>
     <key>NSAppleScriptEnabled</key>
     <true/>
     <key>LSRequiresNativeExecution</key>
@@ -45,6 +45,8 @@
     </array>
     <key>LSMinimumSystemVersion</key>
     <string>${minimum_macosx_version}</string>
+    <key>NSHighResolutionCapable</key>
+    <string>True</string>
     <key>SUPublicDSAKeyFile</key>
     <string>dsa_pub.pem</string>
     <key>SUFeedURL</key>
Binary file share/hedgewars/Data/Forts/CakeR.png has changed
Binary file share/hedgewars/Data/Forts/CastleR.png has changed
Binary file share/hedgewars/Data/Forts/EvilChickenR.png has changed
Binary file share/hedgewars/Data/Forts/FlowerhogR.png has changed
Binary file share/hedgewars/Data/Forts/HydrantR.png has changed
Binary file share/hedgewars/Data/Forts/LegoR.png has changed
Binary file share/hedgewars/Data/Forts/PlaneR.png has changed
Binary file share/hedgewars/Data/Forts/StatueR.png has changed
Binary file share/hedgewars/Data/Forts/SteelTowerR.png has changed
Binary file share/hedgewars/Data/Forts/TankR.png has changed
Binary file share/hedgewars/Data/Forts/UFOR.png has changed
Binary file share/hedgewars/Data/Forts/WoodR.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_balls.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_bubbles.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_cheese.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_crosshair.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_cyborg.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_danger_fire.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_danger_stripes.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_duckhead.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_eyes.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_firstaid.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_flames.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_flower.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_girder.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_grenade.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_heart.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_hellish.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_hw.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_hw2.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_kiwi.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_piet.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_sine.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_skull.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_star.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_test.png has changed
Binary file share/hedgewars/Data/Graphics/Flags/cm_waves.png has changed
Binary file share/hedgewars/Data/Graphics/Graves/Flower.png has changed
Binary file share/hedgewars/Data/Graphics/Graves/Rubberduck.png has changed
Binary file share/hedgewars/Data/Graphics/Graves/Statue.png has changed
Binary file share/hedgewars/Data/Graphics/Missions/Training/Challenge_-_Speed_Shoppa_-_Hedgelove@2x.png has changed
Binary file share/hedgewars/Data/Graphics/Missions/Training/Challenge_-_Speed_Shoppa_-_Ropes@2x.png has changed
Binary file share/hedgewars/Data/Graphics/Missions/Training/Challenge_-_Speed_Shoppa_-_ShoppaKing@2x.png has changed
Binary file share/hedgewars/Data/Graphics/TARDIS.png has changed
Binary file share/hedgewars/Data/Graphics/Timebox.png has changed
Binary file share/hedgewars/Data/Graphics/missions.png has changed
--- a/share/hedgewars/Data/Locale/campaigns_de.txt	Sat Aug 15 16:23:00 2015 +0300
+++ b/share/hedgewars/Data/Locale/campaigns_de.txt	Thu Sep 03 20:59:48 2015 +0300
@@ -1,43 +1,43 @@
-A_Classic_Fairytale-first_blood.desc="Hilf Leaks a lot dabei, sein Training zu absolvieren und zu einem richtigen Igelkrieger zu werden. Du wirst in der Kunst des Seils, Fallschirms, Shoryukens und der Desert Eagle trainiert."
+A_Classic_Fairytale-first_blood.desc="Hilf Undichte Stelle dabei, sein Training zu absolvieren und zu einem richtigen Igelkrieger zu werden. Du wirst in der Kunst des Seils, Fallschirms, Shoryukens und der Desert Eagle trainiert."
 
-A_Classic_Fairytale-shadow.desc="Leaks a lot und Dense Cloud gehen für die Jagd raus. Sei auf Gefahren im Wald gefasst. Denk dran, bedenke deine Entscheidungen gut."
+A_Classic_Fairytale-shadow.desc="Undichte Stelle und Dichte Wolke gehen für die Jagd raus. Sei auf Gefahren im Wald gefasst. Denk dran, bedenke deine Entscheidungen gut."
 
-A_Classic_Fairytale-journey.desc="Leaks a lot muss zur anderen Seite der Insel gehen. Sei schnell und vorsichtig."
+A_Classic_Fairytale-journey.desc="Undichte Stelle muss zur anderen Seite der Insel gehen. Sei schnell und vorsichtig."
 
-A_Classic_Fairytale-united.desc="Nach seiner langen Reise kehrte Leaks a lot endlich wieder zum Dorf zurück. Allerdings gibt es keine Zeit zum Ausruhen. Du musst das Dorf von der Rage der Kannibalen verteidigen."
+A_Classic_Fairytale-united.desc="Nach seiner langen Reise kehrte Undichte Stelle endlich wieder zum Dorf zurück. Allerdings gibt es keine Zeit zum Ausruhen. Du musst das Dorf von der Rage der Kannibalen verteidigen."
 
-A_Classic_Fairytale-backstab.desc="Die monströsen Kannibalen jagen Leaks a lot und seine Freunde. Besiege sie erneut und beschütze deine Freunde. Benutze deine Ressourcen entsprechend, um die eintreffenden Feinde zu besiegen!"
+A_Classic_Fairytale-backstab.desc="Die monströsen Kannibalen jagen Undichte Stelle und seine Freunde. Besiege sie erneut und beschütze deine Freunde. Benutze deine Ressourcen entsprechend, um die eintreffenden Feinde zu besiegen!"
 
-A_Classic_Fairytale-dragon.desc="Leaks a lot muss auf die andere Seite des Sees kommen. Werd zum Seilprofi und vermeide es, von feindlichen Schüssen getroffen zu werden."
+A_Classic_Fairytale-dragon.desc="Undichte Stelle muss auf die andere Seite des Sees kommen. Werd zum Seilprofi und vermeide es, von feindlichen Schüssen getroffen zu werden."
 
-A_Classic_Fairytale-family.desc="Leaks a lot muss erneut seine Freunde retten. Eliminiere die feindlichen Igel und befreie deine Kameraden. Benutze deine Ressourcen vorsichtig, weil sie begrenzt sind. Bohr ein paar Löcher an den richtigen Stellen und nähere dich der Prinzessin."
+A_Classic_Fairytale-family.desc="Undichte Stelle muss erneut seine Freunde retten. Eliminiere die feindlichen Igel und befreie deine Kameraden. Benutze deine Ressourcen vorsichtig, weil sie begrenzt sind. Bohr ein paar Löcher an den richtigen Stellen und nähere dich der Prinzessin."
 
-A_Classic_Fairytale-queen.desc="Leaks a lot muss noch einmal kämpfen. Um zu gewinnen, muss er den Veräräter bekämpfen und alle verfügbaren Ressourcen benutzen. Besieg den Feind!"
+A_Classic_Fairytale-queen.desc="Undichte Stelle muss noch einmal kämpfen. Um zu gewinnen, muss er den Veräräter bekämpfen und alle verfügbaren Ressourcen benutzen. Besieg den Feind!"
 
-A_Classic_Fairytale-enemy.desc="Was für eine umwerfende Wendung! Leaks a lot muss mit den … »Kannibalen« gegen den gemeinsamen Feind – die bösen Cyborgs – kämpfen!"
+A_Classic_Fairytale-enemy.desc="Was für eine umwerfende Wendung! Undichte Stelle muss mit den … »Kannibalen« gegen den gemeinsamen Feind – die bösen Cyborgs – kämpfen!"
 
-A_Classic_Fairytale-epil.desc="Gratulation! Leaks a lot kann endlich in Frieden gehen und von seinen neuen Freunden und seinem Stamm angepriesen werden. Sei stolz auf das, was du erreicht hast! Du kannst vorherige Missionen wieder spielen und andere mögliche Enden sehen."
+A_Classic_Fairytale-epil.desc="Gratulation! Undichte Stelle kann endlich in Frieden gehen und von seinen neuen Freunden und seinem Stamm angepriesen werden. Sei stolz auf das, was du erreicht hast! Du kannst vorherige Missionen wieder spielen und andere mögliche Enden sehen."
 
-A_Space_Adventure-cosmos.desc="Hogera, der Igelplanet, wird bald von einem riesigen Meteroid getroffen. In diesem Wettlauf ums Überleben musst du PAdIs besten Piloten, Hog Solo, in einer Weltraumreise um die Nachbarplaneten führen, um alle 4 Teil des lang verschollenem Antigravitationsgeräts zu finden!"
+A_Space_Adventure-cosmos.desc="Hogera, der Igelplanet, wird bald von einem riesigen Meteroid getroffen. In diesem Wettlauf ums Überleben musst du PAdIs besten Piloten, Igel Einsam, in einer Weltraumreise um die Nachbarplaneten führen, um alle 4 Teil des lang verschollenem Antigravitationsgeräts zu finden!"
 
-A_Space_Adventure-moon01.desc="Hog Solo ist auf dem Mond gelandet, um seine fliegende Untertasse aufzutanken, aber Prof. Hogevil war zuerst da und hat einen Hinterhalt aufgestellt! Rette die gefangenen PAdI-Forscher und verscheuche Prof. Hogevil!"
+A_Space_Adventure-moon01.desc="Igel Einsam ist auf dem Mond gelandet, um seine fliegende Untertasse aufzutanken, aber Prof. Bösigel war zuerst da und hat einen Hinterhalt aufgestellt! Rette die gefangenen PAdI-Forscher und verscheuche Prof. Bösigel!"
 
-A_Space_Adventure-moon02.desc="Hog Solo besucht einen Eremiten, einen alten PAdI-Veteran, der im Mond lebt, um Prof. Hogevil auszuspionieren. Allerdings muss er den Eremiten, Soneek the Crazy Runner, zuerst in einem Wettlauf besiegen!"
+A_Space_Adventure-moon02.desc="Igel Einsam besucht einen Eremiten, einen alten PAdI-Veteran, der im Mond lebt, um Prof. Bösigel auszuspionieren. Allerdings muss er den Eremiten, Verrückter Renner, zuerst in einem Wettlauf besiegen!"
 
-A_Space_Adventure-ice01.desc="Willkommen auf dem Planeten des Eises. Hier ist es so kalt, dass Hog Solos meiste Waffe nicht funktionieren werden. Du musst dir das verlorene Teil von dem Banditenanführer Thanta ergattern, indem du die Waffen, die du hier findest, verwendest!"
+A_Space_Adventure-ice01.desc="Willkommen auf dem Planeten des Eises. Hier ist es so kalt, dass die meisten Waffen von Igel Einsam nicht funktionieren werden. Du musst dir das verlorene Teil von dem Banditenanführer Thanta ergattern, indem du die Waffen, die du hier findest, verwendest!"
 
-A_Space_Adventure-ice02.desc="Hog Solo konnt nicht einfach nur den Eisplaneten besuchen, ohne das Olympiastadion des Untertassenfliegens zu besuchen! In dieser Mission kannst du deine Flugkünste unter Beweis stellen und deinen Platz unter den Besten einnehmen!"
+A_Space_Adventure-ice02.desc="Igel Einsam konnt nicht einfach nur den Eisplaneten besuchen, ohne das Olympiastadion des Untertassenfliegens zu besuchen! In dieser Mission kannst du deine Flugkünste unter Beweis stellen und deinen Platz unter den Besten einnehmen!"
 
-A_Space_Adventure-desert01.desc="Du must auf dem Planeten aus Sand gelandet! Hog Solo muss das fehlende Teil in den Berkwerksstollen finden. Sei vorsichtig, weil bösartige Schmuggler nur darauf warten, dich anzugreifen und auszurauben!"
+A_Space_Adventure-desert01.desc="Du must auf dem Planeten aus Sand gelandet! Igel Einsam muss das fehlende Teil in den Berkwerksstollen finden. Sei vorsichtig, weil bösartige Schmuggler nur darauf warten, dich anzugreifen und auszurauben!"
 
-A_Space_Adventure-desert02.desc="Hog Solo suchte nach dem Teil in diesem Tunnel, als er unerwarteterweise anfing, geflutet zu werden! Komm so schnell wie möglich zur Oberfläche und pass auf, keine Mine auszulösen."
-A_Space_Adventure-desert03.desc="Hog Solo hat etwas Zeit, um sein Funkflugzeug zu fliegen und etwas Spaß zu haben. Flieg das Funkflugzeug und triff alle Ziele!"
+A_Space_Adventure-desert02.desc="Igel Einsam suchte nach dem Teil in diesem Tunnel, als er unerwarteterweise anfing, geflutet zu werden! Komm so schnell wie möglich zur Oberfläche und pass auf, keine Mine auszulösen."
+A_Space_Adventure-desert03.desc="Igel Einsam hat etwas Zeit, um sein Funkflugzeug zu fliegen und etwas Spaß zu haben. Flieg das Funkflugzeug und triff alle Ziele!"
 A_Space_Adventure-fruit01.desc="Auf dem Obstplaneten laufen die Dinge nicht so gut. Igel sammeln kein Obst, sondern sie bereiten sich auf den Kampf vor. Du musst dich entscheiden, ob du kämpfen oder fliehen wirst."
-A_Space_Adventure-fruit02.desc="Hog Solo nähert sich dem verlorenen Teil des Obstplaneten. Wird ihn Captain Lime dabei helfen, das Teil zu besorgen? Oder nicht?"
+A_Space_Adventure-fruit02.desc="Igel Einsam nähert sich dem verlorenen Teil des Obstplaneten. Wird ihn Leutnant Limone dabei helfen, das Teil zu besorgen? Oder nicht?"
 
-A_Space_Adventure-fruit03.desc="Hog Solo has sich verlaufen und ist in den Hinterhalt der Roten Erdbeeren geraten. Hilf ihm, sie zu eliminieren, um etwas zusätzliche Munition für die Mission »Getting to the device« zu gewinnen."
+A_Space_Adventure-fruit03.desc="Igel Einsam has sich verlaufen und ist in den Hinterhalt der Roten Erdbeeren geraten. Hilf ihm, sie zu eliminieren, um etwas zusätzliche Munition für die Mission »Zum Greifen nah« zu gewinnen."
 
-A_Space_Adventure-death01.desc="Auf dem Todesplaneten, dem sterilsten Planeten in der Gegend, ist Hog Solo ganz kurz davor, das letzte Teil des Geräts zu holen! Allerdings erwartet ihn eine unangenehme Überraschnug."
+A_Space_Adventure-death01.desc="Auf dem Todesplaneten, dem sterilsten Planeten in der Gegend, ist Igel Einsam ganz kurz davor, das letzte Teil des Geräts zu holen! Allerdings erwartet ihn eine unangenehme Überraschnug."
 
-A_Space_Adventure-death02.desc="Hog Solo ist wieder in eine schwierige Situation geraten. Hilf ihm, die »5 tödlichen Igel« in ihrem eigenem Spiel zu besiegen!"
-A_Space_Adventure-final.desc="Hog Solo muss ein paar Sprengkörper, die auf dem Meterioden platziert wurden, detonieren. Hilf ihm, diese Mission zu beenden, ohne verletzt zu werden!"
+A_Space_Adventure-death02.desc="Igel Einsam ist wieder in eine schwierige Situation geraten. Hilf ihm, die »5 tödlichen Igel« in ihrem eigenem Spiel zu besiegen!"
+A_Space_Adventure-final.desc="Igel Einsam muss ein paar Sprengkörper, die auf dem Meteriot platziert wurden, detonieren. Hilf ihm, diese Mission zu beenden, ohne verletzt zu werden!"
--- a/share/hedgewars/Data/Locale/de.lua	Sat Aug 15 16:23:00 2015 +0300
+++ b/share/hedgewars/Data/Locale/de.lua	Thu Sep 03 20:59:48 2015 +0300
@@ -1,1158 +1,1675 @@
 locale = {
---      [":("] = "",
---      ["!!!"] = "",
---      ["..."] = "",
---      ["011101000"] = "", -- A_Classic_Fairytale:dragon
---      ["011101001"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:family, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow, A_Classic_Fairytale:united
---      ["+1 to a Bottom Feeder for killing anyone"] = "", -- Mutant
---      ["+1 to a Mutant for killing anyone"] = "", -- Mutant
---      ["-1 to anyone for a suicide"] = "", -- Mutant
---      ["+2 for becoming a Mutant"] = "", -- Mutant
---      ["30 minutes later..."] = "", -- A_Classic_Fairytale:shadow
---      ["About a month ago, a cyborg came and told us that you're the cannibals!"] = "", -- A_Classic_Fairytale:enemy
-	["Accuracy Bonus!"] = "Präzisions-Bonus!",
---      ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge
---      ["Achievement Unlocked"] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_That_Sinking_Feeling, Tumbler
---      ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood
---      ["???"] = "", -- A_Classic_Fairytale:backstab
---      ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow
---      ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy
---      ["Advanced Repositioning Mode"] = "", -- Construction_Mode
---      ["Adventurous"] = "", -- A_Classic_Fairytale:journey
---      ["a frenetic Hedgewars mini-game"] = "", -- Frenzy
---      ["Africa"] = "", -- Continental_supplies
---      ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood
---      ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow
---      ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy
---      ["Aggressively removes enemy hedgehogs."] = "", -- Construction_Mode
---      ["a Hedgewars challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge
-	["a Hedgewars mini-game"] = "ein Hedgewars Mini-Spiel", -- Space_Invasion, The_Specialists
---      ["a Hedgewars tag game"] = "", -- Mutant
---      ["AHHh, home sweet home.  Made it in %d seconds."] = "", -- ClimbHome
-	["Aiming Practice"] = "Zielübung", --Bazooka, Shotgun, SniperRifle
---      ["Air Attack"] = "", -- Construction_Mode
---      ["A leap in a leap"] = "", -- A_Classic_Fairytale:first_blood
---      ["A little gift from the cyborgs"] = "", -- A_Classic_Fairytale:shadow
---      ["All gone...everything!"] = "", -- A_Classic_Fairytale:enemy
---      ["Allows free teleportation between other nodes."] = "", -- Construction_Mode
---      ["Allows placement of girders, rubber-bands, mines, sticky mines and barrels."] = "", -- Construction_Mode
---      ["Allows placement of structures."] = "", -- Construction_Mode
---      ["Allows the placement of weapons, utiliites, and health crates."] = "", -- Construction_Mode
---      ["All right, we just need to get to the other side of the island!"] = "", -- A_Classic_Fairytale:journey
---      ["All walls touched!"] = "", -- WxW
-	["Ammo Depleted!"] = "Munition erschöpft!",
-	["ammo extended!"] = "Munition aufgestockt!",
-	["Ammo is reset at the end of your turn."] = "Munition wird am Ende des Spielzuges zurückgesetzt.",
-	["Ammo Maniac!"] = "Munitionsverrückter!",
-	["Ammo"] = "Munition",
---      ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy
---      ["And so happenned that Leaks A Lot failed to complete the challenge! He landed, pressured by shame..."] = "", -- A_Classic_Fairytale:first_blood
---      ["And so it began..."] = "", -- A_Classic_Fairytale:first_blood
---      ["...and so the cyborgs took over the world..."] = "", -- A_Classic_Fairytale:shadow
---      ["And so they discovered that cyborgs weren't invulnerable..."] = "", -- A_Classic_Fairytale:journey
---      ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon
---      ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey
---      ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies
-
---      ["Antarctica"] = "", -- Continental_supplies
---      ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies
---      ["Area"] = "", -- Continental_supplies
---      ["Are we there yet?"] = "", -- A_Classic_Fairytale:shadow
---      ["Are you accusing me of something?"] = "", -- A_Classic_Fairytale:backstab
---      ["Are you saying that many of us have died for your entertainment?"] = "", -- A_Classic_Fairytale:enemy
---      ["Artur Detour"] = "", -- A_Classic_Fairytale:queen
---      ["As a reward for your performance, here's some new technology!"] = "", -- A_Classic_Fairytale:dragon
---      ["a shoppa minigame"] = "", -- WxW
---      ["Asia"] = "", -- Continental_supplies
---      ["Assault Team"] = "", -- A_Classic_Fairytale:backstab
---      ["As the ammo is sparse, you might want to reuse ropes while mid-air.|"] = "", -- A_Classic_Fairytale:dragon
---      ["As the challenge was completed, Leaks A Lot set foot on the ground..."] = "", -- A_Classic_Fairytale:first_blood
---      ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon
---      ["Attack From Rope"] = "", -- WxW
---      ["Australia"] = "", -- Continental_supplies
-	["Available points remaining: "] = "Verfügbare Punkte verbleibend:",
---      ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab
---      ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united
---      ["[Backspace]"] = "",
---      ["Backstab"] = "", -- A_Classic_Fairytale:backstab
---      ["Bad Team"] = "", -- User_Mission_-_The_Great_Escape
---      ["Ballgun"] = "", -- Construction_Mode
---      ["Bamboo Thicket"] = "",
-	["Barrel Eater!"] = "Fassfresser!",
-	["Barrel Launcher"] = "Fasswerfer",
---      ["Barrel Placement Mode"] = "", -- Construction_Mode
---      ["Baseball Bat"] = "", -- Construction_Mode
---      ["Baseballbat"] = "", -- Continental_supplies
-	["Bat balls at your enemies and|push them into the sea!"] = "Schlage Bälle auf deine Widersacher|und lass sie ins Meer fallen!",
-	["Bat your opponents through the|baskets and out of the map!"] = "Schlage deine Widersacher durch|die Körbe und aus der Karte hinaus!",
---      ["Bazooka"] = "", -- Construction_Mode, Frenzy, A_Space_Adventure:death02
-	["Bazooka Training"] = "Bazooka-Training",
---      ["Beep Loopers"] = "", -- A_Classic_Fairytale:queen
-	["Best laps per team: "] = "Beste Rundenzeiten pro Team: ",
-	["Best Team Times: "] = "Beste Team-Zeiten: ",
---      ["Beware, though! If you are slow, you die!"] = "", -- A_Classic_Fairytale:dragon
---      ["Bio-Filter"] = "", -- Construction_Mode
---      ["Biomechanic Team"] = "", -- A_Classic_Fairytale:family
---      ["Birdy"] = "", -- Construction_Mode
---      ["Blender"] = "", -- A_Classic_Fairytale:family
---      ["Bloodpie"] = "", -- A_Classic_Fairytale:backstab
---      ["Bloodrocutor"] = "", -- A_Classic_Fairytale:shadow
---      ["Bloodsucker"] = "", -- A_Classic_Fairytale:shadow
-	["Bloody Rookies"] = "Blutige Anfänger", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree
---      ["Blowtorch"] = "", -- Construction_Mode, Frenzy
---      ["Blue Team"] = "", -- User_Mission_-_Dangerous_Ducklings
---      ["Bone Jackson"] = "", -- A_Classic_Fairytale:backstab
---      ["Bonely"] = "", -- A_Classic_Fairytale:shadow
-	["Boom!"] = "Bumm!",
-	["BOOM!"] = "KABUMM!",
-	["Boss defeated!"] = "Boss wurde besiegt!",
-	["Boss Slayer!"] = "Boss-Töter!",
---      ["Brain Blower"] = "", -- A_Classic_Fairytale:journey
---      ["Brainiac"] = "", -- A_Classic_Fairytale:epil, A_Classic_Fairytale:first_blood, A_Classic_Fairytale:shadow
---      ["Brainila"] = "", -- A_Classic_Fairytale:united
---      ["Brain Stu"] = "", -- A_Classic_Fairytale:united
---      ["Brain Teaser"] = "", -- A_Classic_Fairytale:backstab
---      ["Brutal Lily"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil
---      ["Brutus"] = "", -- A_Classic_Fairytale:backstab
---      ["Build a fortress and destroy your enemy."] = "", -- Construction_Mode
-    ["Build a track and race."] = "Konstruiere eine Strecke und mach ein Wettrennen.",
---      ["Bullseye"] = "", -- A_Classic_Fairytale:dragon
---      ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon
---      ["But that's impossible!"] = "", -- A_Classic_Fairytale:backstab
---      ["But the ones alive are stronger in their heart!"] = "", -- A_Classic_Fairytale:enemy
---      ["But...we died!"] = "", -- A_Classic_Fairytale:backstab
---      ["But where can we go?"] = "", -- A_Classic_Fairytale:united
---      ["But why would they help us?"] = "", -- A_Classic_Fairytale:backstab
---      ["But you're cannibals. It's what you do."] = "", -- A_Classic_Fairytale:enemy
---      ["But you said you'd let her go!"] = "", -- A_Classic_Fairytale:journey
---      ["Cake"] = "", -- Construction_Mode
---      ["Call me Beep! Well, 'cause I'm such a nice...person!"] = "", -- A_Classic_Fairytale:family
---      ["Cannibals"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:first_blood
---      ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey
---      ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy
-	["CAPTURE THE FLAG"] = "EROBERE DIE FAHNE",
-	["Careless"] = "Achtlos",
---      ["Carol"] = "", -- A_Classic_Fairytale:family
---      ["CHALLENGE COMPLETE"] = "", -- User_Mission_-_RCPlane_Challenge
-	["Change Weapon"] = "Waffenwechsel",
---      ["changing range from %i%% to %i%% with period of %i msec"] = "", -- Gravity
---      ["Choose your side! If you want to join the strange man, walk up to him.|Otherwise, walk away from him. If you decide to att...nevermind..."] = "", -- A_Classic_Fairytale:shadow
---      ["Cleaver"] = "", -- Construction_Mode
---      ["Cleaver Placement Mode"] = "", -- Construction_Mode
---      ["Climber"] = "", -- ClimbHome
---      ["Climb Home"] = "", -- ClimbHome
---      ["Clowns"] = "", -- User_Mission_-_Nobody_Laugh
-	["Clumsy"] = "Hoppla",
---      ["Cluster Bomb"] = "", -- Construction_Mode
---      ["Cluster Bomb MASTER!"] = "", -- Basic_Training_-_Cluster_Bomb
---      ["Cluster Bomb Training"] = "", -- Basic_Training_-_Cluster_Bomb
-	["Codename: Teamwork"] = "Code-Name: Teamwork",
---      ["Collateral Damage"] = "", -- A_Classic_Fairytale:journey
---      ["Collateral Damage II"] = "", -- A_Classic_Fairytale:journey
---      ["Collect all the crates, but remember, our time in this life is limited!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Collect or destroy all the health crates."] = "", -- User_Mission_-_RCPlane_Challenge
---      ["Collect the crate on the right.|Hint: Select the rope, [Up] or [Down] to aim, [Space] to fire, directional keys to move.|Ropes can be fired again in the air!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Collect the crates within the time limit!|If you fail, you'll have to try again."] = "", -- A_Classic_Fairytale:first_blood
---      ["Come closer, so that your training may continue!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge
-	["Complete the track as fast as you can!"] = "Durchlaufe die Strecke so schnell du kannst!",
---      ["COMPLETION TIME"] = "", -- User_Mission_-_Rope_Knock_Challenge
---      ["Configuration accepted."] = "", -- WxW
---      ["Congratulations"] = "", -- Basic_Training_-_Rope
-	["Congratulations!"] = "Gratulation!",
---      ["Congratulations! You needed only half of time|to eliminate all targets."] = "", -- Basic_Training_-_Cluster_Bomb
---      ["Congratulations! You've completed the Rope tutorial! |- Tutorial ends in 10 seconds!"] = "", -- Basic_Training_-_Rope
-	["Congratulations! You've eliminated all targets|within the allowed time frame."] = "Gratulation! Du hast alle Ziele innerhalb der|verfügbaren Zeit ausgeschaltet.", --Bazooka, Shotgun, SniperRifle
---      ["CONSTRUCTION MODE"] = "", -- Construction_Mode
---      ["Construction Station"] = "", -- Construction_Mode
---      ["Continental supplies"] = "", -- Continental_supplies
-	["Control pillars to score points."] = "Kontrolliere die Säulen um Punkte zu erhalten.",
---      ["Core"] = "", -- Construction_Mode
---      ["Corporationals"] = "", -- A_Classic_Fairytale:queen
---      ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow
---      ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil
---      ["Cost"] = "", -- Construction_Mode
---      ["Crate Placement Tool"] = "", -- Construction_Mode
---      ["Crates Left:"] = "", -- User_Mission_-_RCPlane_Challenge
---      ["Cricket time: [Drop a fireable mine! ~ Will work if fired close to your hog & far away from enemy ~ 1 sec]"] = "", -- Continental_supplies
---      ["Current setting is "] = "", -- Gravity
-	["Cybernetic Empire"] = "Kybernetisches Imperium",
---      ["Cyborg. It's what the aliens call themselves."] = "", -- A_Classic_Fairytale:enemy
---      ["Dahmer"] = "", -- A_Classic_Fairytale:backstab
-	["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "VERDAMMT, REKRUT! RUNTER VON MEINEM KOPF!",
-	["DAMMIT, ROOKIE!"] = "VERDAMMT, REKRUT!",
---      ["Dangerous Ducklings"] = "",
-	["Deadweight"] = "Gravitus",
---      ["Decrease"] = "", -- Continental_supplies
---      ["Defeat the cannibals"] = "", -- A_Classic_Fairytale:backstab
---      ["Defeat the cannibals!|"] = "", -- A_Classic_Fairytale:united
---      ["Defeat the cannibals!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow
---      ["Defeat the cyborgs!"] = "", -- A_Classic_Fairytale:enemy
---      ["Defend your core from the enemy."] = "", -- Construction_Mode
---      ["Defend yourself!|Hint: You can get tips on using weapons by moving your mouse over them in the weapon selection menu"] = "", -- A_Classic_Fairytale:shadow
---      ["Dematerializes weapons and equipment carried by enemy hedgehogs."] = "", -- Construction_Mode
-	["Demolition is fun!"] = "Zerstörung macht Spaß!",
---      ["Dense Cloud"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow, A_Classic_Fairytale:united
---      ["Dense Cloud must have already told them everything..."] = "", -- A_Classic_Fairytale:shadow
-	["Depleted Kamikaze!"] = "Munitionsloses Kamikaze!",
---      ["Desert Eagle"] = "", -- Construction_Mode, A_Space_Adventure:death02
---      ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood
-	["Destroy invaders to score points."] = "Zerstöre die Angreifer um Punkte zu erhalten.",
---      ["Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air."] = "", -- A_Classic_Fairytale:first_blood
---      ["Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot"] = "", -- A_Classic_Fairytale:first_blood
---      ["Did anyone follow you?"] = "", -- A_Classic_Fairytale:united
---      ["Did you see him coming?"] = "", -- A_Classic_Fairytale:shadow
---      ["Did you warn the village?"] = "", -- A_Classic_Fairytale:shadow
---      ["Die, die, die!"] = "", -- A_Classic_Fairytale:dragon
---      ["Disguise as a Rockhopper Penguin: [Swap place with a random enemy hog in the circle]"] = "", -- Continental_supplies
---      ["Dist: "] = "", -- Space_Invasion
---      ["Do not laugh, inexperienced one, for he speaks the truth!"] = "", -- A_Classic_Fairytale:backstab
---      ["Do not let his words fool you, young one! He will stab you in the back as soon as you turn away!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Do the deed"] = "", -- A_Classic_Fairytale:first_blood
---      ["Double Kill!"] = "",
---      ["DOUBLE KILL"] = "", -- Mutant
---      ["Do you have any idea how valuable grass is?"] = "", -- A_Classic_Fairytale:enemy
---      ["Do you think you're some kind of god?"] = "", -- A_Classic_Fairytale:enemy
---      ["Dragon's Lair"] = "", -- A_Classic_Fairytale:dragon
---      ["Drill Rocket"] = "", -- Construction_Mode
---      ["Drills"] = "", -- A_Classic_Fairytale:backstab
---      ["Drill Strike"] = "", -- Construction_Mode
---      ["Drone Hunter!"] = "",
---      ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies
-
-	["Drowner"] = "Absäufer",
---      ["Dude, all the plants are gone!"] = "", -- A_Classic_Fairytale:family
---      ["Dude, can you see Ramon and Spiky?"] = "", -- A_Classic_Fairytale:journey
---      ["Dude, that's so cool!"] = "", -- A_Classic_Fairytale:backstab
---      ["Dude, we really need a new shaman..."] = "", -- A_Classic_Fairytale:shadow
---      ["Dude, what's this place?!"] = "", -- A_Classic_Fairytale:dragon
---      ["Dude, where are we?"] = "", -- A_Classic_Fairytale:backstab
---      ["Dude, wow! I just had the weirdest high!"] = "", -- A_Classic_Fairytale:backstab
---      ["Duration"] = "", -- Continental_supplies
---      ["Dust storm: [Deals 15 damage to all enemies in the circle]"] = "", -- Continental_supplies
-
---      ["Dynamite"] = "", -- Construction_Mode
---      ["Each turn is only ONE SECOND!"] = "", -- Frenzy
-	["Each turn you get 1-3 random weapons"] = "Du bekommst jede Runde 1-3 zufällig gewählte Waffen",
-	["Each turn you get one random weapon"] = "Du bekommst jede Runde eine zufällig gewählte Waffe.",
---      ["Eagle Eye"] = "", -- A_Classic_Fairytale:backstab
---      ["Eagle Eye: [Blink to the impact ~ One shot]"] = "", -- Continental_supplies
-
---      ["Ear Sniffer"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:epil
---      ["Elderbot"] = "", -- A_Classic_Fairytale:family
---      ["Elimate your captor."] = "", -- User_Mission_-_The_Great_Escape
-	["Eliminate all enemies"] = "Vernichte alle Gegner",
-	["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "Eliminiere alle Ziele bevor die Zeit ausläuft.|Du hast in dieser Mission unbegrenzte Munition.", --Bazooka, Shotgun, SniperRifle
---      ["Eliminate enemy hogs and take their weapons."] = "", -- Highlander
-	["Eliminate Poison before the time runs out"] = "Neutralisiere das Gift bevor die Zeit abgelaufen ist",
-	["Eliminate the Blue Team"] = "Lösche das Blaue Team aus",
-	["Eliminate the enemy before the time runs out"] = "Vernichte den Feind bevor die Zeit abgelaufen ist", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock
-	["Eliminate the enemy hogs to win."] = "Vernichte alle gegnerischen Igel um zu gewinnen",
-	["Eliminate the enemy specialists."] = "Vernichte die gegnerischen Spezialisten",
-	["- Eliminate Unit 3378 |- Feeble Resistance must survive"] = "- Vernichte Einheit 3378 |  Kraftloser Widerstand muss überleben",
---      ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
---      ["Energetic Engineer"] = "",
-	["Enjoy the swim..."] = "Viel Spaß beim Schwimmen...",
---      ["[Enter]"] = "",
---      ["Europe"] = "", -- Continental_supplies
---      [" ever done to you?!"] = "", -- A_Classic_Fairytale:backstab
---      ["Everyone knows this."] = "", -- A_Classic_Fairytale:enemy
---      ["Every single time!"] = "", -- A_Classic_Fairytale:dragon
---      ["Everything looks OK..."] = "", -- A_Classic_Fairytale:enemy
---      ["Exactly, man! That was my dream."] = "", -- A_Classic_Fairytale:backstab
---      ["Extra Damage"] = "", -- Construction_Mode
---      ["Extra Time"] = "", -- Construction_Mode
---      ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey
---      ["Family Reunion"] = "", -- A_Classic_Fairytale:family
-	["Fastest lap: "] = "Schnellste Runde: ",
-	["Feeble Resistance"] = "Kraftloser Widerstand",
---      ["Fell From Grace"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
---      ["Fell From Heaven"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:first_blood, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen
---      ["Fell From Heaven is the best! Fell From Heaven is the greatest!"] = "", -- A_Classic_Fairytale:family
---      ["Femur Lover"] = "", -- A_Classic_Fairytale:shadow
---      ["Fierce Competition!"] = "", -- Space_Invasion
---      ["Fiery Water"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen, A_Classic_Fairytale:united
---      ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings
---      ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon
---      ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood
-
-	["Fire"] = "Feuer",
---      ["First aid kits?!"] = "", -- A_Classic_Fairytale:united
---      ["First Blood"] = "", -- A_Classic_Fairytale:first_blood
---      ["FIRST BLOOD MUTATES"] = "", -- Mutant
---      ["First Steps"] = "", -- A_Classic_Fairytale:first_blood
-	["Flag captured!"] = "Fahne erobert!",
-	["Flag respawned!"] = "Fahne wieder erschienen!",
-	["Flag returned!"] = "Fahne zurückgebracht!",
-	["Flags, and their home base will be placed where each team ends their first turn."] = "Fahnen und deren Heimatstandort werden dort plaziert wo jedes Team deren ersten Zug beendet.",
---      ["Flamer"] = "",
---      ["Flamethrower"] = "", -- Construction_Mode
---      ["Flaming Worm"] = "", -- A_Classic_Fairytale:backstab
-
---      ["Flesh for Brainz"] = "", -- A_Classic_Fairytale:journey
---      ["Flying Saucer"] = "", -- Construction_Mode, Frenzy
---      ["For improved features/stability, play 0.9.18+"] = "", -- WxW
---      ["Free Dense Cloud and continue the mission!"] = "", -- A_Classic_Fairytale:journey
---      ["Freezer"] = "", -- Construction_Mode
---      ["FRENZY"] = "", -- Frenzy
---      ["Friendly Fire!"] = "",
-	["fuel extended!"] = "Treibstoff aus!",
-	["GAME BEGUN!!!"] = "SPIEL GESTARTET!!!",
---      ["Game Modifiers: "] = "", -- The_Specialists
-	["GAME OVER!"] = "SPIEL ZU ENDE!",
-	["Game Started!"] = "Spiel Gestartet!]",
---      ["Game? Was this a game to you?!"] = "", -- A_Classic_Fairytale:enemy
---      ["GasBomb"] = "", -- Continental_supplies
---      ["Gas Gargler"] = "", -- A_Classic_Fairytale:queen
---      ["General information"] = "", -- Continental_supplies
---      ["Generates power."] = "", -- Construction_Mode
---      ["Generator"] = "", -- Construction_Mode
---      ["Get Dense Cloud out of the pit!"] = "", -- A_Classic_Fairytale:journey
-	["Get on over there and take him out!"] = "Mach, dass du hinüber kommst und schalte ihn aus!",
---      ["Get on the head of the mole"] = "", -- A_Classic_Fairytale:first_blood
---      ["Get out of there!"] = "", -- User_Mission_-_The_Great_Escape
---      ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey
---      ["Get to the target using your rope! |Controls: Left & Right to swing the rope - Up & Down to Contract and Expand!"] = "", -- Basic_Training_-_Rope
---      ["Get your teammates out of their natural prison and save the princess!|Hint: Drilling holes should solve everything.|Hint: It might be a good idea to place a girder before starting to drill. Just saying.|Hint: All your hedgehogs need to be above the marked height!|Hint: Leaks A Lot needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family
---      ["GG!"] = "", -- User_Mission_-_Rope_Knock_Challenge
---      ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab
---      ["Girder"] = "", -- Construction_Mode
---      ["Girder Placement Mode"] = "", -- Construction_Mode
---      ["Glark"] = "", -- A_Classic_Fairytale:shadow
-	["Goal"] = "Ziel",
-	["GO! GO! GO!"] = "Bewegung, Bewegung, Bewegung!",
-	["Good birdy......"] = "Braver Vogel......",
---      ["Good Dude"] = "", -- User_Mission_-_The_Great_Escape
---      ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united
---      ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey
-	["Good luck out there!"] = "Viel Glück da draußen!",
-	["Good so far!"] = "Gut soweit!",
-	["Good to go!"] = "Startklar!",
---      ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood
---      ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab
---      ["Gorkij"] = "", -- A_Classic_Fairytale:journey
---      ["Go surf!"] = "", -- WxW
-	["GOTCHA!"] = "ERWISCHT!",
-	["Grab Mines/Explosives"] = "Sammle Minen/Fässer",
---      ["Grants nearby hogs life-regeneration."] = "", -- Construction_Mode
---      ["Gravity"] = "", -- Gravity
---      ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow
---      ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope
---      ["Great! You will be contacted soon for assistance."] = "", -- A_Classic_Fairytale:shadow
-
---      ["Green lipstick bullet: [Poisonous, deals no damage]"] = "", -- Continental_supplies
---      ["Greetings, "] = "", -- A_Classic_Fairytale:dragon
---      ["Greetings, cloudy one!"] = "", -- A_Classic_Fairytale:shadow
---      ["Grenade"] = "", -- Construction_Mode, Frenzy, A_Space_Adventure:death02
---      ["Grenade Training"] = "", -- Basic_Training_-_Grenade
---      ["Grenadiers"] = "", -- Basic_Training_-_Grenade
---      ["Guys, do you think there's more of them?"] = "", -- A_Classic_Fairytale:backstab
---      ["HAHA!"] = "", -- A_Classic_Fairytale:enemy
---      ["Haha!"] = "", -- A_Classic_Fairytale:united
---      ["Hahahaha!"] = "",
-	["Haha, now THAT would be something!"] = "Haha, na DAS wär ja was!",
---      ["Hammer"] = "", -- Construction_Mode, Continental_supplies
---      ["Hannibal"] = "", -- A_Classic_Fairytale:epil
-	["Hapless Hogs"] = "Glücklose Igel",
-	[" Hapless Hogs left!"] = " Glücklose Igel verbleibend!",
---      [" HAS MUTATED"] = "", -- Mutant
---      ["Hatless Jerry"] = "", -- A_Classic_Fairytale:queen
---      ["Have no illusions, your tribe is dead, indifferent of your choice."] = "", -- A_Classic_Fairytale:shadow
---      ["Have we ever attacked you first?"] = "", -- A_Classic_Fairytale:enemy
---      ["Healing Station"] = "", -- Construction_Mode
---      ["Health Crate Placement Mode"] = "", -- Construction_Mode
-	["Health crates extend your time."] = "Medipacks verlängern deine Zeit.",
---      ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united
-	["Heavy"] = "Schwierig",
---      ["Hedge-cogs"] = "", -- A_Classic_Fairytale:enemy
---      ["Hedgehog projectile: [Fire your hog like a Sticky Bomb]"] = "", -- Continental_supplies
-
-	["Hedgewars-Basketball"] = "Hedgewars-Basketball",
-	["Hedgewars-Knockball"] = "Hedgewars-Knockball",
---      ["Hedgibal Lecter"] = "", -- A_Classic_Fairytale:backstab
-	["Heh, it's not that bad."] = "Hehe, so schlimm ist es nicht.",
---      ["Hellish Handgrenade"] = "", -- Construction_Mode
---      ["Hello again, "] = "", -- A_Classic_Fairytale:family
---      ["Help me, Leaks!"] = "", -- A_Classic_Fairytale:journey
---      ["Help me, please!!!"] = "", -- A_Classic_Fairytale:journey
---      ["Help me, please!"] = "", -- A_Classic_Fairytale:journey
---      ["He moves like an eagle in the sky."] = "", -- A_Classic_Fairytale:first_blood
---      ["He must be in the village already."] = "", -- A_Classic_Fairytale:journey
---      ["Here, let me help you!"] = "", -- A_Classic_Fairytale:backstab
---      ["Here, let me help you save her!"] = "", -- A_Classic_Fairytale:family
---      ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape
---      ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood
---      ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab
---      ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab
---      ["Hey guys!"] = "", -- A_Classic_Fairytale:united
---      ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey
---      ["HIGHLANDER"] = "", -- Highlander
---      ["Hightime"] = "", -- A_Classic_Fairytale:first_blood
---      ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood
---      ["Hint: Select the BlowTorch, aim and press [Fire]. Press [Fire] again to stop.|Don't blow up the crate."] = "", -- A_Classic_Fairytale:journey
---      ["Hint: Select the LowGravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey
---      ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- A_Classic_Fairytale:journey
---      ["His arms are so strong!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Hit Combo!"] = "",
---      ["Hmmm..."] = "",
---      ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy
---      ["Hmmm, I'll have to find some way of moving him off this anti-portal surface..."] = "", -- portal
---      ["Hmmm...it's a draw. How unfortunate!"] = "", -- A_Classic_Fairytale:enemy
---      ["Hmmm...perhaps a little more time will help."] = "", -- A_Classic_Fairytale:first_blood
---      ["Hogminator"] = "", -- A_Classic_Fairytale:family
---      ["Hogs in sight!"] = "", -- Continental_supplies
---      ["HOLY SHYTE!"] = "", -- Mutant
---      ["Homing Bee"] = "", -- Construction_Mode
---      ["Honest Lee"] = "", -- A_Classic_Fairytale:enemy
-	["Hooray!"] = "Hurra!",
---      ["Hostage Situation"] = "", -- A_Classic_Fairytale:family
---      ["How can I ever repay you for saving my life?"] = "", -- A_Classic_Fairytale:journey
---      ["How come in a village full of warriors, it's up to me to save it?"] = "", -- A_Classic_Fairytale:dragon
---      ["How difficult would you like it to be?"] = "", -- A_Classic_Fairytale:first_blood
---      ["HOW DO THEY KNOW WHERE WE ARE???"] = "", -- A_Classic_Fairytale:united
---      ["However, if you fail to do so, she dies a most violent death, just like your friend! Muahahaha!"] = "", -- A_Classic_Fairytale:journey
---      ["However, if you fail to do so, she dies a most violent death! Muahahaha!"] = "", -- A_Classic_Fairytale:journey
---      ["However, my mates don't agree with me on letting you go..."] = "", -- A_Classic_Fairytale:dragon
---      [" HP"] = "", -- Mutant
-	["Hunter"] = "Jäger", --Bazooka, Shotgun, SniperRifle
---      ["I believe there's more of them."] = "", -- A_Classic_Fairytale:backstab
---      ["I can see you have been training diligently."] = "", -- A_Classic_Fairytale:first_blood
---      ["I can't believe it worked!"] = "", -- A_Classic_Fairytale:shadow
---      ["I can't believe this!"] = "", -- A_Classic_Fairytale:enemy
---      ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab
---      ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow
---      ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family
---      ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey
---      ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy
---      ["I don't know how you did that.. But good work! |The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope
---      ["I feel something...a place! They will arrive near the circles!"] = "", -- A_Classic_Fairytale:backstab
---      ["If only I had a way..."] = "", -- A_Classic_Fairytale:backstab
---      ["If only I were given a chance to explain my being here..."] = "", -- A_Classic_Fairytale:first_blood
---      ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab
---      ["If they try coming here, they can have a taste of my delicious knuckles!"] = "", -- A_Classic_Fairytale:united
---      ["If you agree to provide the information we need, you will be spared!"] = "", -- A_Classic_Fairytale:shadow
---      ["If you can get that crate fast enough, your beloved \"princess\" may go free."] = "", -- A_Classic_Fairytale:journey
---      ["If you decide to help us, though, we will no longer need to find a new governor for the island."] = "", -- A_Classic_Fairytale:shadow
---      ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey
---      ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow
---      ["If you say so..."] = "", -- A_Classic_Fairytale:shadow
---      ["I guess you'll have to kill them."] = "", -- A_Classic_Fairytale:dragon
---      ["I have come to make you an offering..."] = "", -- A_Classic_Fairytale:shadow
---      ["I have no idea where that mole disappeared...Can you see it?"] = "", -- A_Classic_Fairytale:shadow
---      ["I have to follow that alien."] = "", -- A_Classic_Fairytale:backstab
---      ["I have to get back to the village!"] = "", -- A_Classic_Fairytale:shadow
---      ["I hope you are prepared for a small challenge, young one."] = "", -- A_Classic_Fairytale:first_blood
---      ["I just don't want to sink to your level."] = "", -- A_Classic_Fairytale:backstab
---      ["I just found out that they have captured your princess!"] = "", -- A_Classic_Fairytale:family
---      ["I just wonder where Ramon and Spiky disappeared..."] = "", -- A_Classic_Fairytale:journey
---      ["I'll hold them off while you return to the village!"] = "", -- A_Classic_Fairytale:shadow
---      ["Imagine those targets are the wolves that killed your parents! Take your anger out on them!"] = "", -- A_Classic_Fairytale:first_blood
---      ["I'm...alive? How? Why?"] = "", -- A_Classic_Fairytale:backstab
---      ["I'm a ninja."] = "", -- A_Classic_Fairytale:dragon
---      ["I marked the place of their arrival. You're welcome!"] = "", -- A_Classic_Fairytale:backstab
---      ["I'm certain that this is a misunderstanding, fellow hedgehogs!"] = "", -- A_Classic_Fairytale:first_blood
---      ["I mean, none of you ceased to live."] = "", -- A_Classic_Fairytale:enemy
---      ["I'm getting old for this!"] = "", -- A_Classic_Fairytale:family
---      ["I'm getting thirsty..."] = "", -- A_Classic_Fairytale:family
---      ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family
---      ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united
---      ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood
---      ["I'm so scared!"] = "", -- A_Classic_Fairytale:united
---      ["Increase"] = "", -- Continental_supplies
---      ["Incredible..."] = "", -- A_Classic_Fairytale:shadow
---      ["I need to find the others!"] = "", -- A_Classic_Fairytale:backstab
---      ["I need to get to the other side of this island, fast!"] = "", -- A_Classic_Fairytale:journey
---      ["I need to move the tribe!"] = "", -- A_Classic_Fairytale:united
---      ["I need to prevent their arrival!"] = "", -- A_Classic_Fairytale:backstab
---      ["I need to warn the others."] = "", -- A_Classic_Fairytale:backstab
---      ["In fact, you are the only one that's been acting strangely."] = "", -- A_Classic_Fairytale:backstab
---      ["In order to get to the other side, you need to collect the crates first.|"] = "", -- A_Classic_Fairytale:dragon
---      ["INSANITY"] = "", -- Mutant
-	["Instructor"] = "Ausbilder", -- 01#Boot_Camp, User_Mission_-_Dangerous_Ducklings
---      ["Interesting idea, haha!"] = "", -- A_Classic_Fairytale:enemy
---      ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab
---      ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow
-	["invaders destroyed"] = "Angreifer zerstört",
---      ["Invasion"] = "", -- A_Classic_Fairytale:united
---      ["Invulnerable"] = "", -- Construction_Mode
---      ["I saw it with my own eyes!"] = "", -- A_Classic_Fairytale:shadow
---      ["I see..."] = "", -- A_Classic_Fairytale:shadow
---      ["I see you have already taken the leap of faith."] = "", -- A_Classic_Fairytale:first_blood
---      ["I see you would like his punishment to be more...personal..."] = "", -- A_Classic_Fairytale:first_blood
---      ["I sense another wave of cannibals heading my way!"] = "", -- A_Classic_Fairytale:backstab
---      ["I sense another wave of cannibals heading our way!"] = "", -- A_Classic_Fairytale:backstab
---      ["I shouldn't have drunk that last pint."] = "", -- A_Classic_Fairytale:dragon
---      ["Is this place in my head?"] = "", -- A_Classic_Fairytale:dragon
---      ["It doesn't matter. I won't let that alien hurt my daughter!"] = "", -- A_Classic_Fairytale:dragon
---      ["I think we are safe here."] = "", -- A_Classic_Fairytale:backstab
---      ["I thought their shaman died when he tried our medicine!"] = "", -- A_Classic_Fairytale:shadow
---      ["It is called 'Hogs of Steel'."] = "", -- A_Classic_Fairytale:enemy
---      ["It is time to practice your fighting skills."] = "", -- A_Classic_Fairytale:first_blood
---      ["It must be a childhood trauma..."] = "", -- A_Classic_Fairytale:family
---      ["It must be the aliens!"] = "", -- A_Classic_Fairytale:backstab
---      ["It must be the aliens' deed."] = "", -- A_Classic_Fairytale:backstab
---      ["It must be the cyborgs again!"] = "", -- A_Classic_Fairytale:enemy
---      ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab
-	["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Gut, dass SUDDEN DEATH noch 99 Runden entfernt ist...",
---      ["It's always up to women to clear up the mess men created!"] = "", -- A_Classic_Fairytale:dragon
---      ["It's a shame, I forgot how to do that!"] = "", -- A_Classic_Fairytale:family
---      ["It's impossible to communicate with the spirits without a shaman."] = "", -- A_Classic_Fairytale:shadow
---      ["It's over..."] = "", -- A_Classic_Fairytale:shadow
---      ["It's time you learned that your actions have consequences!"] = "", -- A_Classic_Fairytale:journey
---      ["It's worth more than wood!"] = "", -- A_Classic_Fairytale:enemy
---      ["It wants our brains!"] = "", -- A_Classic_Fairytale:shadow
---      ["It was not a dream, unwise one!"] = "", -- A_Classic_Fairytale:backstab
---      ["I've seen this before. They just appear out of thin air."] = "", -- A_Classic_Fairytale:united
---      ["I want to play a game..."] = "", -- A_Classic_Fairytale:journey
---      ["I want to see how it handles this!"] = "", -- A_Classic_Fairytale:backstab
---      ["I wish to help you, "] = "", -- A_Classic_Fairytale:dragon
---      ["I wonder where Dense Cloud is..."] = "", -- A_Classic_Fairytale:journey, A_Classic_Fairytale:shadow
---      ["I wonder why I'm so angry all the time..."] = "", -- A_Classic_Fairytale:family
---      ["I won't let you kill her!"] = "", -- A_Classic_Fairytale:journey
---      ["Jack"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
---      ["Jeremiah"] = "", -- A_Classic_Fairytale:dragon
---      ["John"] = "", -- A_Classic_Fairytale:journey
---      ["Judas"] = "", -- A_Classic_Fairytale:backstab
-	["Jumping is disabled"] = "Sprünge sind deaktiviert!",
---      ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy
---      ["Just on a walk."] = "", -- A_Classic_Fairytale:united
---      ["Just wait till I get my hands on that trauma! ARGH!"] = "", -- A_Classic_Fairytale:family
---      ["Kamikaze"] = "", -- Construction_Mode
-	["Kamikaze Expert!"] = "Kamikazeexperte!",
-	["Keep it up!"] = "Weiter so!",
---      ["Kerguelen"] = "", -- Continental_supplies
-	["Killing spree!"] = "Blutrausch!",
---      ["KILL IT!"] = "", -- A_Classic_Fairytale:first_blood
---      ["KILLS"] = "",
---      ["Kill the aliens!"] = "", -- A_Classic_Fairytale:dragon
---      ["Kill the cannibal!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Kill the traitor...or spare his life!|Kill him or press [Precise]!"] = "", -- A_Classic_Fairytale:backstab
---      ["Land Sprayer"] = "", -- Construction_Mode
---      ["Laser Sight"] = "", -- Construction_Mode
-	["Last Target!"] = "Letzte Zielscheibe!",
---      ["Leader"] = "", -- A_Classic_Fairytale:enemy
---      ["Leaderbot"] = "", -- A_Classic_Fairytale:queen
---      ["Leaks A Lot"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:first_blood, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow, A_Classic_Fairytale:united
---      ["Leaks A Lot, depressed for killing his loved one, failed to save the village..."] = "", -- A_Classic_Fairytale:journey
---      ["Leaks A Lot gave his life for his tribe! He should have survived!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Leaks A Lot must survive!"] = "", -- A_Classic_Fairytale:journey
---      ["Led Heart"] = "", -- A_Classic_Fairytale:queen
---      ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
---      ["[Left Shift]"] = "",
---      ["left shift"] = "", -- Continental_supplies
---      ["Let a Continent provide your weapons!"] = "", -- Continental_supplies
---      ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey
---      ["Let's go home!"] = "", -- A_Classic_Fairytale:journey
---      ["Let's head back to the village!"] = "", -- A_Classic_Fairytale:shadow
---      ["Let's see what your comrade does now!"] = "", -- A_Classic_Fairytale:journey
---      ["Let's show those cannibals what we're made of!"] = "", -- A_Classic_Fairytale:backstab
---      ["Let them have a taste of my fury!"] = "", -- A_Classic_Fairytale:backstab
---      ["Let us help, too!"] = "", -- A_Classic_Fairytale:backstab
---      ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united
---      ["Limburger"] = "", -- Construction_Mode
-	["Listen up, maggot!!"] = "Aufgepasst, du Made!!",
---      ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow
---      ["Lively Lifeguard"] = "",
-
---      ["Lonely Cries: [Rise the water if no hog is in the circle and deal 7 damage to all enemy hogs]"] = "", -- Continental_supplies
---      ["Lonely Hog"] = "", -- ClimbHome
---      ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab
---      ["Look out! There's more of them!"] = "", -- A_Classic_Fairytale:backstab
---      ["Look out! We're surrounded by cannibals!"] = "", -- A_Classic_Fairytale:enemy
---      ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy
---      ["Low Gravity"] = "", -- Construction_Mode, Frenzy
---      ["Luckily, I've managed to snatch some of them."] = "", -- A_Classic_Fairytale:united
---      ["LUDICROUS KILL"] = "", -- Mutant
---      ["Made it!"] = "", -- ClimbHome
---      ["- Massive weapon bonus on first turn"] = "", -- Continental_supplies
---      ["May the spirits aid you in all your quests!"] = "", -- A_Classic_Fairytale:backstab
---      ["Medicine: [Fire some exploding medicine that will heal all hogs effected by the explosion]"] = "", -- Continental_supplies
---      ["MEGA KILL"] = "", -- Mutant
---      ["Meiwes"] = "", -- A_Classic_Fairytale:backstab
---      ["Mindy"] = "", -- A_Classic_Fairytale:united
---      ["Mine"] = "", -- Construction_Mode, Frenzy
-	["Mine Deployer"] = "Minenleger",
-	["Mine Eater!"] = "Minenfresser!",
---      ["Mine Placement Mode"] = "", -- Construction_Mode
-	["|- Mines Time:"] = "| - Minenzündzeit: ", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
---      ["Mine Strike"] = "", -- Construction_Mode
-	["MISSION FAILED"] = "MISSION GESCHEITERT", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
-	["MISSION SUCCESSFUL"] = "MISSION ERFOLGREICH", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
-	["MISSION SUCCESS"] = "MISSIONSERFOLG",
---      ["Molotov Cocktail"] = "", -- Construction_Mode
---      ["Molotov"] = "", -- Continental_supplies
---      ["MONSTER KILL"] = "", -- Mutant
---      ["More Natives"] = "", -- A_Classic_Fairytale:epil
---      ["Mortar"] = "", -- Construction_Mode, A_Space_Adventure:death02
-	["Movement: [Up], [Down], [Left], [Right]"] = "Bewegung: [Hoch], [Runter], [Links], [Rechts]",
---      ["Mudball"] = "", -- Construction_Mode
---      ["Multi-shot!"] = "",
-	["Munition!"] = "Munition erschöpft!",
---      ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
---      ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow
---      ["-------"] = "", -- Mutant
---      ["Mutant"] = "", -- Mutant
---      ["Nade Boy"] = "", -- Basic_Training_-_Grenade
---      ["Name"] = "", -- A_Classic_Fairytale:queen
-	["Nameless Heroes"] = "Namenlose Helden",
---      ["Nancy Screw"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:queen
---      ["Napalm"] = "", -- Construction_Mode
---      ["Napalm rocket: [Fire a bomb with napalm!]"] = "", -- Continental_supplies
---      ["Natives"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:first_blood, A_Classic_Fairytale:journey, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow, A_Classic_Fairytale:united
---      ["Naughty Ninja"] = "", -- User_Mission_-_Dangerous_Ducklings
-	["New Barrels Per Turn"] = "Neue Fässer jede Runde",
-	["NEW CLAN RECORD: "] = "NEUER KLAN-REKORD",
-	["NEW fastest lap: "] = "NEUE schnellste Runde: ",
-	["New Mines Per Turn"] = "Neue Minen jede Runde",
-	["NEW RACE RECORD: "] = "NEUER RENNREKORD: ",
---      ["Newton's Hammock"] = "",
---      ["Nicely done, meatbags!"] = "", -- A_Classic_Fairytale:enemy
---      ["Nice work, "] = "", -- A_Classic_Fairytale:dragon
---      ["Nice work!"] = "", -- A_Classic_Fairytale:enemy
---      ["Nilarian"] = "", -- A_Classic_Fairytale:queen
---      ["Nobody Laugh"] = "", -- User_Mission_-_Nobody_Laugh
---      ["No, I came back to help you out..."] = "", -- A_Classic_Fairytale:shadow
---      ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey
---      ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey
---      ["NomNom"] = "", -- A_Classic_Fairytale:united
---      ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow
---      ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey
---      ["NORMAL"] = "", -- Continental_supplies
---      ["Normal players can only score points by killing the mutant."] = "", -- Mutant
---      ["North America"] = "", -- Continental_supplies
---      ["Not all hogs are born equal."] = "", -- Highlander
-	["NOT ENOUGH WAYPOINTS"] = "NICHT GENUG WEGPUNKTE",
---      ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab
-	["Not So Friendly Match"] = "Kein-so-Freundschaftsspiel", -- Basketball, Knockball
---      ["Not you again! My head still hurts from last time!"] = "", -- A_Classic_Fairytale:shadow
---      ["No, we made sure of that!"] = "", -- A_Classic_Fairytale:united
---      ["Now find the next target! |Tip: Normally you lose health by falling down, so be careful!"] = "", -- Basic_Training_-_Rope
---      ["No! What have I done?! What have YOU done?!"] = "", -- A_Classic_Fairytale:journey
---      ["No. Where did he come from?"] = "", -- A_Classic_Fairytale:shadow
---      ["Now how do I get on the other side?!"] = "", -- A_Classic_Fairytale:dragon
---      ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab
---      ["Object Placement Tool"] = "", -- Construction_Mode
---      ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow
---      ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon
---      ["Of course I have to save her. What did I expect?!"] = "", -- A_Classic_Fairytale:family
---      ["OH, COME ON!"] = "", -- A_Classic_Fairytale:journey
---      ["Oh, my!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Oh, my! This is even more entertaining than I've expected!"] = "", -- A_Classic_Fairytale:backstab
-	["Oh no! Just try again!"] = "Oh nein! Versuch's nochmal!", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
---      ["Oh no, not "] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
-	["Oh no! Time's up! Just try again."] = "Oh nein! Die Zeit ist um! Versuche es nochmal.", --Bazooka, Shotgun, SniperRifle
---      ["Oh no! You failed! Just try again."] = "", -- Basic_Training_-_Cluster_Bomb
---      ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab
---      ["Olive"] = "", -- A_Classic_Fairytale:united
---      ["Omnivore"] = "", -- A_Classic_Fairytale:first_blood
---      ["Once upon a time, on an island with great natural resources, lived two tribes in heated conflict..."] = "", -- A_Classic_Fairytale:first_blood
---      ["ONE HOG PER TEAM! KILLING EXCESS HEDGES"] = "", -- Mutant
---      ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood
---      ["on Skip"] = "", -- Continental_supplies
---      ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united
---      ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Operation Diver"] = "",
-	["Opposing Team: "] = "Gegnerisches Team: ",
---      ["or 'g=50, g2=150, period=4000' for gravity changing|from 50 to 150 and back with period of 4000 msec"] = "", -- Gravity
---      ["Orlando Boom!"] = "", -- A_Classic_Fairytale:queen
---      ["Other kills don't give you points."] = "", -- Mutant
---      ["Ouch!"] = "", -- User_Mission_-_Rope_Knock_Challenge
---      ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy
---      ["Parachute"] = "", -- Continental_supplies
-	["Pathetic Hog #%d"] = "Erbärmlicher Igel #%d",
-	["Pathetic Resistance"] = "Erbärmlicher Widerstand", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock
---      ["Penguin roar: [Deal 15 damage + 15% of your hogs health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies
---      ["Perfect! Now try to get the next crate without hurting yourself!"] = "", -- A_Classic_Fairytale:first_blood
-	["Per-Hog Ammo"] = "Munition pro Igel",
---      ["Personal Portal Device"] = "", -- Construction_Mode
-
---      ["Per team weapons"] = "", -- Continental_supplies
---      ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow
---      ["Piano Strike"] = "", -- Construction_Mode
---      ["Pickhammer"] = "", -- Construction_Mode
-
---      ["Pings left:"] = "", -- Space_Invasion
-	["Place more waypoints using the 'Air Attack' weapon."] = "Platziere mehr Wegpunkte durch Verwenden der 'Luftangriff'-Waffe",
---      ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge
---      ["Planes Used"] = "", -- User_Mission_-_RCPlane_Challenge
---      ["Play with me!"] = "", -- A_Classic_Fairytale:shadow
---      ["Please place the way-point further from the waterline."] = "", -- Racer
---      ["Please place the way-point in the open, within the map boundaries."] = "", -- Racer
---      ["Please, stop releasing your \"smoke signals\"!"] = "", -- A_Classic_Fairytale:shadow
---      ["Point Blank Combo!"] = "", -- Space_Invasion
---      ["POINTS"] = "", -- Mutant
-	["points"] = "Punkte", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle
-	["Poison"] = "Gift",
---      ["Population"] = "", -- Continental_supplies
---      ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon
---      ["Portal mission"] = "", -- portal
-	["Power Remaining"] = "Verbleibende Energie",
-	["Prepare yourself"] = "Mach dich bereit",
---      ["presice"] = "", -- Continental_supplies
---      ["Press [Enter] to accept this configuration."] = "", -- WxW
---      ["Press [Left] or [Right] to move around, [Enter] to jump"] = "", -- A_Classic_Fairytale:first_blood
---      ["Press [Precise] to skip intro"] = "",
---      ["Prestigious Pilot"] = "", -- User_Mission_-_RCPlane_Challenge
---      ["Private Novak"] = "", -- Basic_Training_-_Cluster_Bomb
---      ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow
-	["PUNKTESTAND"] = "",
-	["Race complexity limit reached."] = "Rennkomplexitätslimit erreicht.",
---      ["RACER"] = "",
---      ["Rachel"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
---      ["Radar Ping"] = "", -- Space_Invasion
---      ["Raging Buffalo"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen, A_Classic_Fairytale:united
---      ["Ramon"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow
---      ["random in range from %i%% to %i%% with period of %i msec"] = "", -- Gravity
---      ["RC Plane"] = "", -- Construction_Mode
---      ["RC PLANE TRAINING"] = "", -- User_Mission_-_RCPlane_Challenge
---      ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow
---      ["Reflector Shield"] = "", -- Construction_Mode
---      ["Reflects enemy projectiles."] = "", -- Construction_Mode
---      ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab
---      ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab
---      ["Remember: The rope only bend around objects, |if it doesn't hit anything it's always stright!"] = "", -- Basic_Training_-_Rope
---      ["Remember this, pathetic animal: when the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow
---      ["REMOVED"] = "", -- Continental_supplies
---      ["Respawner"] = "", -- Construction_Mode
---      ["Resurrector"] = "", -- Construction_Mode
---      ["Resurrects dead hedgehogs."] = "", -- Construction_Mode
-	[" - Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"] = " - Bringe die gegnerische Flagge zu deiner Heimatbasis um zu punkten. | - Das Team das zuerst 3 Flaggen erobert gewinnt. | - Du kannst nur punkten wenn deine eigene Flagge in deiner Basis ist | - Igel lassen die Flagge fallen wenn sie sterben oder ertrinken | - Fallen gelassene Flaggen können zurückgebracht oder wieder gestohlen werden | - Igel tauchen nach ihrem Tod wieder auf",
---      ["Return to Leaks A Lot! If you get stuck, press [Precise] to try again!"] = "", -- A_Classic_Fairytale:shadow
---      ["Righteous Beard"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:first_blood, A_Classic_Fairytale:queen, A_Classic_Fairytale:united
---      ["Rope"] = "", -- Construction_Mode
---      ["ROPE-KNOCKING"] = "", -- User_Mission_-_Rope_Knock_Challenge
---      ["Rope to safety"] = "", -- ClimbHome
---      ["Rope Training"] = "", -- Basic_Training_-_Rope
---      ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow
---      ["Round Limit:"] = "",
-	["Round Limit"] = "Rundenbegrenzung",
---      ["Rounds Complete: "] = "",
-	["Rounds Complete"] = "Runden Gespielt",
---      ["Rubber Band"] = "", -- Construction_Mode
---      ["Rubber Placement Mode"] = "", -- Construction_Mode
---      ["RULES"] = "", -- Frenzy, Mutant
-	["RULES OF THE GAME [Press ESC to view]"] = "SPIEL REGELN (Drücke ESC zum Anzeigen)",
---      ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen
---      ["s|"] = "",
---      ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies
-
---      ["Salivaslurper"] = "", -- A_Classic_Fairytale:united
---      ["Salvation"] = "", -- A_Classic_Fairytale:family
---      ["Salvation was one step closer now..."] = "", -- A_Classic_Fairytale:dragon
-	["Save as many hapless hogs as possible!"] = "Rette so viele glücklose Igel als möglich!",
---      ["Save Fell From Heaven!"] = "", -- A_Classic_Fairytale:journey
---      ["Save Leaks A Lot!|Hint: The Switch utility might be of help to you."] = "", -- A_Classic_Fairytale:shadow
---      ["Save the princess! All your hogs must survive!|Hint: Kill the cyborgs first! Use the ammo very carefully!|Hint: You might want to spare a girder for cover!"] = "", -- A_Classic_Fairytale:family
---      ["Save the princess by collecting the crate in under 12 turns!"] = "", -- A_Classic_Fairytale:journey
---      ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab
---      ["Score"] = "", -- Mutant
---      ["SCORE"] = "", -- Space_Invasion
-
---      ["sec"] = "", -- CTF_Blizzard, TrophyRace, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, Capture_the_Flag
---      ["Seduction"] = "", -- Continental_supplies
---      ["Seems like every time you take a \"walk\", the enemy find us!"] = "", -- A_Classic_Fairytale:backstab
---      ["See that crate farther on the right?"] = "", -- A_Classic_Fairytale:first_blood
-	["See ya!"] = "Mach's gut!",
---      ["Segmentation Paul"] = "", -- A_Classic_Fairytale:dragon
---      ["Select continent!"] = "", -- Continental_supplies
---      ["Select continent first round with the Weapon Menu or by"] = "", -- Continental_supplies
---      ["Select difficulty: [Left] - easier or [Right] - harder"] = "", -- A_Classic_Fairytale:first_blood
-	["selected!"] = "ausgewählt!",
---      ["Set period to negative value for random gravity"] = "", -- Gravity
---      ["Setup:|'g=150', where 150 is 150% of normal gravity"] = "", -- Gravity
---      ["s"] = "", -- GaudyRacer, Space_Invasion
---      ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey
---      ["She's behind that tall thingy."] = "", -- A_Classic_Fairytale:family
-	["Shield boosted! +30 power"] = "Schild verstärkt! +30 Energie",
-	["Shield Depleted"] = "Schild aufgebraucht!",
-	["Shield is fully recharged!"] = "Schild vollständig aufgeladen!",
-	["Shield Master!"] = "Schildmeister!",
-	["Shield Miser!"] = "Schildgieriger",
-	["Shield OFF:"] = "Schild AUS:",
-	["Shield ON:"] = "Schild AN:",
-	["Shield Seeker!"] = "Schildsucher!",
---      ["Shoryuken"] = "", -- Construction_Mode, Frenzy, A_Space_Adventure:death02
---      ["Shotgun"] = "", -- Continental_supplies
-	["Shotgun Team"] = "Schrotflinten-Team",
-	["Shotgun Training"] = "Schrotflinten-Training",
-	["shots remaining."] = "Schüsse übrig",
-	["Silly"] = "Doofi",
---      ["SineGun"] = "", -- Construction_Mode
-	["Sinky"] = "Blubb",
---      ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy
-	["%s is out and Team %d|scored a penalty!| |Score:"] = "%s ist draußen und Team %d|erhält eine Strafe!| |Punktestand:", -- Basketball, Knockball
-	["%s is out and Team %d|scored a point!| |Score:"] = "%s ist draußen und Team %d|erhält einen Punkt!| |Punktestand:", -- Basketball, Knockball
---      ["Slippery"] = "", -- A_Classic_Fairytale:journey
---      ["Slot"] = "", -- Frenzy
---      ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy
---      ["SLOTS"] = "", -- Frenzy
---      ["Smith 0.97"] = "", -- A_Classic_Fairytale:enemy
---      ["Smith 0.98"] = "", -- A_Classic_Fairytale:enemy
---      ["Smith 0.99a"] = "", -- A_Classic_Fairytale:enemy
---      ["Smith 0.99b"] = "", -- A_Classic_Fairytale:enemy
---      ["Smith 0.99f"] = "", -- A_Classic_Fairytale:enemy
---      ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy
---      ["Sniper Rifle"] = "", -- Continental_supplies
---      ["Sniper!"] = "", -- Space_Invasion
-	["Sniper Training"] = "Scharfschützen-Training",
-	["Sniperz"] = "Heckenschützen",
---      ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood
---      ["Some weapons have a second option. Find them with"] = "", -- Continental_supplies
---      ["South America"] = "", -- Continental_supplies
---      ["So? What will it be?"] = "", -- A_Classic_Fairytale:shadow
---      ["Spawn the crate, and attack!"] = "", -- WxW
---      ["Special Weapons:"] = "", -- Continental_supplies
-	["Spielmodifikatoren: "] = "",
---      ["Spiky Cheese"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow
---      ["Spleenlover"] = "", -- A_Classic_Fairytale:united
-	["Sponge"] = "Schwamm",
---      ["Spooky Tree"] = "",
---      ["Sprite Placement Mode"] = "", -- Construction_Mode
---      ["Sprite Testing Mode"] = "", -- Construction_Mode
---      ["STATUS UPDATE"] = "", -- GaudyRacer, Space_Invasion
---      ["Steel Eye"] = "", -- A_Classic_Fairytale:queen
---      ["Step By Step"] = "", -- A_Classic_Fairytale:first_blood
---      ["Steve"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
---      ["Sticky Mine"] = "", -- Continental_supplies
---      ["Sticky Mine Placement Mode"] = "", -- Construction_Mode
---      ["Stronglings"] = "", -- A_Classic_Fairytale:shadow
-
---      ["Structure Placement Mode"] = "", -- Construction_Mode
---      ["Structure Placement Tool"] = "", -- Construction_Mode
---      ["Sundaland"] = "", -- Continental_supplies
---      ["Super Weapons"] = "", -- WxW
---      ["Support Station"] = "", -- Construction_Mode
---      ["Surf Before Crate"] = "", -- WxW
---      ["Surfer! +15 points!"] = "", -- Space_Invasion
---      ["Surfer!"] = "", -- WxW
---      ["Survive!|Hint: Cinematics can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:shadow
---      ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood
---      ["switch"] = "", -- Continental_supplies
-	["Switched to "] = "Gewechselt zu ",
---      ["Switch Hog"] = "", -- Construction_Mode
---      ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon
---      ["tab"] = "", -- Continental_supplies
---      ["Tagging Mode"] = "", -- Construction_Mode
---      ["Talk about mixed signals..."] = "", -- A_Classic_Fairytale:dragon
---      ["Tardis"] = "", -- Construction_Mode
---      ["Target Placement Mode"] = "", -- Construction_Mode
---	["Team %d: "] = "",
-	["Team Scores"] = "Teampunktestand", -- Control, Space_Invasion
---      ["Teleporation Node"] = "", -- Construction_Mode
---      ["Teleportation Mode"] = "", -- Construction_Mode
---      ["Teleportation Node"] = "", -- Construction_Mode
---      ["Teleport"] = "", -- Construction_Mode, Frenzy
---      ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon
---      ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode
---      ["Thanks!"] = "", -- A_Classic_Fairytale:family
---      ["Thank you, my hero!"] = "", -- A_Classic_Fairytale:family
---      ["Thank you, oh, thank you, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey
---      ["Thank you, oh, thank you, my heroes!"] = "", -- A_Classic_Fairytale:journey
---      ["That is, indeed, very weird..."] = "", -- A_Classic_Fairytale:united
---      ["That makes it almost invaluable!"] = "", -- A_Classic_Fairytale:enemy
---      ["That ought to show them!"] = "", -- A_Classic_Fairytale:backstab
---      ["That's for my father!"] = "", -- A_Classic_Fairytale:backstab
---      ["That shaman sure knows what he's doing!"] = "", -- A_Classic_Fairytale:shadow
---      ["That Sinking Feeling"] = "",
---      ["That's not our problem!"] = "", -- A_Classic_Fairytale:enemy
---      ["That's typical of you!"] = "", -- A_Classic_Fairytale:family
---      ["That was just mean!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
-	["That was pointless."] = "Das war sinnlos.",
---      ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab
---      ["The anti-portal zone is all over the floor, and I have nothing to kill him...Droping something could hurt him enough to kill him..."] = "", -- portal
---      ["The Bottom Feeder can score points by killing anyone."] = "", -- Mutant
---      ["The Bull's Eye"] = "", -- A_Classic_Fairytale:first_blood
---      ["The caves are well hidden, they won't find us there!"] = "", -- A_Classic_Fairytale:united
---      ["The Crate Frenzy"] = "", -- A_Classic_Fairytale:first_blood
---      ["The Dilemma"] = "", -- A_Classic_Fairytale:shadow
---      ["The enemy can't move but it might be a good idea to stay out of sight!|"] = "", -- A_Classic_Fairytale:dragon
-	["The enemy is hiding out on yonder ducky!"] = "Der Feind versteckt sich auf dem Entlein dort drüben!",
---      ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy
---      ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood
---      ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow
---      ["The first player to kill someone becomes the Mutant."] = "", -- Mutant
-	["The flag will respawn next round."] = "Die Fahne wird nächste Runde wieder auftauchen.",
---      ["The food bites back"] = "", -- A_Classic_Fairytale:backstab
---      ["The giant umbrella from the last crate should help break the fall."] = "", -- A_Classic_Fairytale:first_blood
---      ["The Great Escape"] = "", -- User_Mission_-_The_Great_Escape
---      ["The Great Hog in the sky sees your sadness and grants you a boon."] = "", -- Construction_Mode
---      ["The guardian"] = "", -- A_Classic_Fairytale:shadow
---      ["The Individualist"] = "", -- A_Classic_Fairytale:shadow
---      ["Their buildings were very primitive back then, even for an uncivilised island."] = "", -- A_Classic_Fairytale:united
---      ["The Journey Back"] = "", -- A_Classic_Fairytale:journey
---      ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood
---      ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey
---      ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant
---      ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant
-	["The Nameless One"] = "Der Namenlose",
---      ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope
---      ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow
---      ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood
---      ["The player with least points (or most deaths) becomes the Bottom Feeder."] = "", -- Mutant
---      ["There are a variety of structures available to aid you."] = "", -- Construction_Mode
---      ["There must be a spy among us!"] = "", -- A_Classic_Fairytale:backstab
---      ["There's more of them? When did they become so hungry?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
---      ["There's nothing more satisfying for me than seeing you share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey
---      ["There's nothing more satisfying to us than seeing you share your beauty..."] = "", -- A_Classic_Fairytale:journey
---      ["There's nothing more satisfying to us than seeing you share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey
---      ["The Rising"] = "", -- A_Classic_Fairytale:first_blood
---      ["The Savior"] = "", -- A_Classic_Fairytale:journey
---      ["These primitive people are so funny!"] = "", -- A_Classic_Fairytale:backstab
---      ["The Shadow Falls"] = "", -- A_Classic_Fairytale:shadow
---      ["The Showdown"] = "", -- A_Classic_Fairytale:shadow
---      ["The Slaughter"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:first_blood
-	["THE SPECIALISTS"] = "DIE SPEZIALISTEN",
---      ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood
---      ["The Torment"] = "", -- A_Classic_Fairytale:first_blood
---      ["The Tunnel Maker"] = "", -- A_Classic_Fairytale:journey
---      ["The Ultimate Weapon"] = "", -- A_Classic_Fairytale:first_blood
---      ["The Union"] = "", -- A_Classic_Fairytale:enemy
---      ["The village, unprepared, was destroyed by the cyborgs..."] = "", -- A_Classic_Fairytale:journey
---      ["The walk of Fame"] = "", -- A_Classic_Fairytale:shadow
---      ["The wasted youth"] = "", -- A_Classic_Fairytale:first_blood
---      ["The weapon in that last crate was bestowed upon us by the ancients!"] = "", -- A_Classic_Fairytale:first_blood
---      ["The what?!"] = "", -- A_Classic_Fairytale:dragon
---      ["The wind whispers that you are ready to become familiar with tools, now..."] = "", -- A_Classic_Fairytale:first_blood
---      ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy
---      ["They Call Me Bullseye!"] = "", -- Space_Invasion
---      ["They have weapons we've never seen before!"] = "", -- A_Classic_Fairytale:united
---      ["They keep appearing like this. It's weird!"] = "", -- A_Classic_Fairytale:united
---      ["They killed "] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
---      ["They must be trying to weaken us!"] = "", -- A_Classic_Fairytale:enemy
---      ["They never learn"] = "", -- A_Classic_Fairytale:journey
---      ["They told us to wear these clothes. They said that this is the newest trend."] = "", -- A_Classic_Fairytale:enemy
---      ["They've been manipulating us all this time!"] = "", -- A_Classic_Fairytale:enemy
---      ["Thighlicker"] = "", -- A_Classic_Fairytale:united
---      ["This is it! It's time to make Fell From Heaven fall for me..."] = "", -- A_Classic_Fairytale:first_blood
---      ["This island is the only place left on Earth with grass on it!"] = "", -- A_Classic_Fairytale:enemy
---      ["This is typical!"] = "", -- A_Classic_Fairytale:dragon
---      ["This must be some kind of sorcery!"] = "", -- A_Classic_Fairytale:shadow
---      ["This must be the caves!"] = "", -- A_Classic_Fairytale:backstab
-	["This one's tricky."] = "Der hier ist knifflig.",
-	["This rain is really something..."] = "Das nenne ich mal einen Regenschauer...",
---      ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy
---      ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family
-	["Timed Kamikaze!"] = "Pünktliches Kamikaze!",
-	["Time Extended!"] = "Zeit verlängert!",
-	["Time Extension"] = "Zeitverlängerung",
-	["Time Left: "] = "Verbleibende Zeit",
-	["TIME: "] = "ZEIT: ",
---      ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope
-	["Toggle Shield"] = "Schild ein/aus",
---      ["To help you, of course!"] = "", -- A_Classic_Fairytale:journey
---      ["To place a girder, select it, use [Left] and [Right] to select angle and length, place with [Left Click]"] = "", -- A_Classic_Fairytale:shadow
---      ["Torn Muscle"] = "", -- A_Classic_Fairytale:journey
---      [" to save the village."] = "", -- A_Classic_Fairytale:dragon
---      ["To the caves..."] = "", -- A_Classic_Fairytale:united
-	["Toxic Team"] = "Giftige Gegner", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork
-	["TRACK COMPLETED"] = "STRECKENLAUF BEENDET",
-
---      ["training"] = "", -- portal
---      ["Traitors"] = "", -- A_Classic_Fairytale:epil
---      ["Tribe"] = "", -- A_Classic_Fairytale:backstab
---	["TrophyRace"] = "",
---      ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united
---      ["T_T"] = "",
-	["Tumbling Time Extended!"] = "Purzelzeit verlängert!",
---      ["Turns until Sudden Death: "] = "", -- A_Classic_Fairytale:dragon
---      [" turns until Sudden Death! Better hurry!"] = "", -- A_Classic_Fairytale:dragon
-	["Turn Time"] = "Zeit pro Zug",
---      ["Two little hogs cooperating, getting past obstacles..."] = "", -- A_Classic_Fairytale:journey
---      ["Uhm...I met one of them and took his weapons."] = "", -- A_Classic_Fairytale:shadow
---      ["Uhmm...ok no."] = "", -- A_Classic_Fairytale:enemy
---      ["ULTRA KILL"] = "", -- Mutant
---      ["Under Construction"] = "", -- A_Classic_Fairytale:shadow
---      ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon
---      ["Unique new weapons"] = "", -- Continental_supplies
---      ["Unit 0x0007"] = "", -- A_Classic_Fairytale:family
---      ["Unit 334a$7%;.*"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:family, A_Classic_Fairytale:queen, A_Classic_Fairytale:united
-	["Unit 3378"] = "Einheit 3378",
-	["Unit 835"] = "Einheit 3378",
---      ["United We Stand"] = "", -- A_Classic_Fairytale:united
-	["Unit"] = "Einheit",
-	["Unlimited Attacks"] = "Unbegrenzte Angriffe",
---      ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge
-	["Unstoppable!"] = "Unaufhaltbar!",
---      ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge
---      ["[Up], [Down] to aim, [Space] to shoot!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon
---      ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood
---      ["User Challenge"] = "",
---      ["Use the air-attack weapons and the arrow keys to select structures."] = "", -- Construction_Mode
---      ["Use the portal gun to get to the next crate, then use the new gun to get to the final destination!|"] = "", -- A_Classic_Fairytale:dragon
---      ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge
---      ["Use your ready time to think."] = "", -- Frenzy
-	["Use your rope to get from start to finish as fast as you can!"] = "Nutze das Seil um von Start zu Ziel zu gelangen - so schnell du kannst!",
---      ["Utility Crate Placement Mode"] = "", -- Construction_Mode
---      ["Vampirism"] = "", -- Construction_Mode
---      ["Vedgies"] = "", -- A_Classic_Fairytale:journey
---      ["Vegan Jack"] = "", -- A_Classic_Fairytale:enemy
---      ["Victory!"] = "", -- Basic_Training_-_Rope
-	["Victory for the "] = "Sieg für ", -- CTF_Blizzard, Capture_the_Flag
---      ["Violence is not the answer to your problems!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Walls Left"] = "", -- WxW
---      ["Walls Required"] = "", -- WxW
---      ["WALL TO WALL"] = "", -- WxW
---      ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge
---      ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge
---      ["Watch your steps, young one!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Watermelon Bomb"] = "", -- Construction_Mode
-	["Waypoint placed."] = "Wegpunkt gesetzt",
-	["Way-Points Remaining"] = "Wegpunkte verbleibend",
---      ["Weaklings"] = "", -- A_Classic_Fairytale:shadow
---      ["We all know what happens when you get frightened..."] = "", -- A_Classic_Fairytale:first_blood
---      ["Weapon Crate Placement Mode"] = "", -- Construction_Mode
---      ["Weapon Filter"] = "", -- Construction_Mode
---      ["weaponschemes"] = "", -- Continental_supplies
---      ["Weapons reset."] = "", -- Highlander
-	["Weapons Reset"] = "Waffenzurücksetzung",
---      ["We are indeed."] = "", -- A_Classic_Fairytale:backstab
---      ["We can't defeat them!"] = "", -- A_Classic_Fairytale:shadow
---      ["We can't hold them up much longer!"] = "", -- A_Classic_Fairytale:united
---      ["We can't let them take over our little island!"] = "", -- A_Classic_Fairytale:enemy
---      ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey
---      ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy
---      ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united
---      ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy
---      ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey
-	["Well done."] = "Gut gemacht.",
---      ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy
---      ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab
---      ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon
---      ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey
---      ["Well, yes. This was a cyborg television show."] = "", -- A_Classic_Fairytale:enemy
---      ["We made sure noone followed us!"] = "", -- A_Classic_Fairytale:backstab
---      ["We need to move!"] = "", -- A_Classic_Fairytale:united
---      ["We need to prevent their arrival!"] = "", -- A_Classic_Fairytale:backstab
---      ["We need to warn the village."] = "", -- A_Classic_Fairytale:shadow
---      ["We should head back to the village now."] = "", -- A_Classic_Fairytale:shadow
---      ["We were trying to save her and we got lost."] = "", -- A_Classic_Fairytale:family
---      ["We won't let you hurt her!"] = "", -- A_Classic_Fairytale:journey
---      ["What?! A cannibal? Here? There is no time to waste! Come, you are prepared."] = "", -- A_Classic_Fairytale:first_blood
---      ["What a douche!"] = "", -- A_Classic_Fairytale:enemy
---      ["What am I gonna...eat, yo?"] = "", -- A_Classic_Fairytale:family
---      ["What are you doing at a distance so great, young one?"] = "", -- A_Classic_Fairytale:first_blood
---      ["What are you doing? Let her go!"] = "", -- A_Classic_Fairytale:journey
---      ["What a ride!"] = "", -- A_Classic_Fairytale:shadow
---      ["What a strange cave!"] = "", -- A_Classic_Fairytale:dragon
---      ["What a strange feeling!"] = "", -- A_Classic_Fairytale:backstab
---      ["What do my faulty eyes observe? A spy!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Whatever floats your boat..."] = "", -- A_Classic_Fairytale:shadow
---      [" What !! For all of this struggle i just win some ... TIME o0"] = "", -- portal
---      ["What has "] = "", -- A_Classic_Fairytale:backstab
---      ["What? Here? How did they find us?!"] = "", -- A_Classic_Fairytale:backstab
---      ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy
---      ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab
---      ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy
---      ["When?"] = "", -- A_Classic_Fairytale:enemy
---      ["When I find it..."] = "", -- A_Classic_Fairytale:dragon
---      ["Where are all these crates coming from?!"] = "", -- A_Classic_Fairytale:shadow
---      ["Where are they?!"] = "", -- A_Classic_Fairytale:backstab
---      ["Where did that alien run?"] = "", -- A_Classic_Fairytale:dragon
---      ["Where did you get the exploding apples?"] = "", -- A_Classic_Fairytale:shadow
---      ["Where did you get the exploding apples and the magic bow that shoots many arrows?"] = "", -- A_Classic_Fairytale:shadow
---      ["Where did you get the magic bow that shoots many arrows?"] = "", -- A_Classic_Fairytale:shadow
---      ["Where did you get the weapons in the forest, Dense Cloud?"] = "", -- A_Classic_Fairytale:backstab
---      ["Where do you get that?!"] = "", -- A_Classic_Fairytale:enemy
---      ["Where have you been?!"] = "", -- A_Classic_Fairytale:backstab
---      ["Where have you been?"] = "", -- A_Classic_Fairytale:united
---      ["Whip"] = "", -- Construction_Mode
---      ["? Why?"] = "", -- A_Classic_Fairytale:backstab
---      ["Why "] = "", -- A_Classic_Fairytale:backstab
---      ["! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
---      ["Why are you doing this?"] = "", -- A_Classic_Fairytale:journey
---      ["Why are you helping us, uhm...?"] = "", -- A_Classic_Fairytale:family
---      ["Why can't he just let her go?!"] = "", -- A_Classic_Fairytale:family
---      ["Why do men keep hurting me?"] = "", -- A_Classic_Fairytale:first_blood
---      ["Why do you not like me?"] = "", -- A_Classic_Fairytale:shadow
---      ["Why do you want to take over our island?"] = "", -- A_Classic_Fairytale:enemy
---      ["Why me?!"] = "", -- A_Classic_Fairytale:backstab
---      ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab
---      ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies
---      ["- Will give you an airstrike every fifth turn."] = "", -- Continental_supplies
---      ["- Will give you a parachute every second turn."] = "", -- Continental_supplies
-
-
-	["Will this ever end?"] = "Wird dies je enden?",
---      ["WINNER IS "] = "", -- Mutant
-	["WINNING TIME: "] = "BESTZEIT: ",
---      ["Wise Oak"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
---      ["With Dense Cloud on the land of shadows, I'm the village's only hope..."] = "", -- A_Classic_Fairytale:journey
---      ["With the rest of the tribe gone, it was up to "] = "", -- A_Classic_Fairytale:dragon
---      ["Worry not, for it is a peaceful animal! There is no reason to be afraid..."] = "", -- A_Classic_Fairytale:first_blood
---      ["Wow, what a dream!"] = "", -- A_Classic_Fairytale:backstab
---      ["Y3K1337"] = "", -- A_Classic_Fairytale:journey, A_Classic_Fairytale:shadow
---      ["Yay, we won!"] = "", -- A_Classic_Fairytale:enemy
---      ["Y Chwiliad"] = "", -- A_Classic_Fairytale:dragon
---      ["Yeah...I think it's a 'he', lol."] = "", -- A_Classic_Fairytale:shadow
---      ["Yeah, sure! I died. Hillarious!"] = "", -- A_Classic_Fairytale:backstab
---      ["Yeah, take that!"] = "", -- A_Classic_Fairytale:dragon
---      ["Yeah? Watcha gonna do? Cry?"] = "", -- A_Classic_Fairytale:journey
---      ["Yes!"] = "", -- A_Classic_Fairytale:enemy
---      ["Yes, yeees! You are now ready to enter the real world!"] = "", -- A_Classic_Fairytale:first_blood
---      ["Yo, dude, we're here, too!"] = "", -- A_Classic_Fairytale:family
---      ["You are far from home, and the water is rising, climb up as high as you can!"] = "", -- ClimbHome
---      ["You are given the chance to turn your life around..."] = "", -- A_Classic_Fairytale:shadow
---      ["You are playing with our lives here!"] = "", -- A_Classic_Fairytale:enemy
---      ["! You bastards!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united
---      ["You bear impressive skills, "] = "", -- A_Classic_Fairytale:dragon
---      ["You can't fire a portal on the blue surface"] = "", -- portal
---      ["You couldn't possibly believe that after refusing my offer I'd just let you go!"] = "", -- A_Classic_Fairytale:journey
-	["You'd almost swear the water was rising!"] = "Man könnte fast schwören das Wasser würde steigen!",
---      ["You'd better watch your steps..."] = "", -- A_Classic_Fairytale:journey
---      ["You did not make it in time, try again!"] = "", -- Basic_Training_-_Rope
---      ["You have 7 turns until the next wave arrives.|Make sure the arriving cannibals are greeted appropriately!|If the hog dies, the cause is lost.|Hint: you might want to use some mines..."] = "", -- A_Classic_Fairytale:backstab
---      ["You have "] = "", -- A_Classic_Fairytale:dragon
---      ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab
---      ["You have been respawned, at your last checkpoint!"] = "", -- Basic_Training_-_Rope
---      ["You have been respawned, be more carefull next time!"] = "", -- Basic_Training_-_Rope
---      ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united
---      ["You have failed to complete your task, young one!"] = "", -- A_Classic_Fairytale:journey
---      ["You have failed to save the tribe!"] = "", -- A_Classic_Fairytale:backstab
---      ["You have finally figured it out!"] = "", -- A_Classic_Fairytale:enemy
---      ["You have kidnapped our whole tribe!"] = "", -- A_Classic_Fairytale:enemy
---      ["You have killed an innocent hedgehog!"] = "", -- A_Classic_Fairytale:backstab
---      ["You have proven yourself worthy to see our most ancient secret!"] = "", -- A_Classic_Fairytale:first_blood
---      ["You have proven yourselves worthy!"] = "", -- A_Classic_Fairytale:enemy
-	["You have SCORED!!"] = "Du hast GEPUNKTET!",
---      ["You have to destroy 12 targets in 180 seconds"] = "", -- Basic_Training_-_Cluster_Bomb
---      ["You have won the game by proving true cooperative skills!"] = "", -- A_Classic_Fairytale:enemy
---      ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab
---      ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow
---      ["You killed my father, you monster!"] = "", -- A_Classic_Fairytale:backstab
---      ["You know...taking a stroll."] = "", -- A_Classic_Fairytale:backstab
---      ["You know what? I don't even regret anything!"] = "", -- A_Classic_Fairytale:backstab
---      ["You'll see what I mean!"] = "", -- A_Classic_Fairytale:enemy
---      ["You may only attack from a rope!"] = "", -- WxW
---      ["You may only spawn 5 crates per turn."] = "", -- Construction_Mode
---      ["You may only use 1 Extra Time per turn."] = "", -- Construction_Mode
---      ["You meatbags are pretty slow, you know!"] = "", -- A_Classic_Fairytale:enemy
---      ["You might want to find a way to instantly kill arriving cannibals!"] = "", -- A_Classic_Fairytale:backstab
---      ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united
---      ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood
---      ["Your deaths will be avenged, cannibals!"] = "", -- A_Classic_Fairytale:enemy
---      ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow
---      ["You're...alive!? But we saw you die!"] = "", -- A_Classic_Fairytale:backstab
---      ["You're a pathetic liar!"] = "", -- A_Classic_Fairytale:backstab
---      ["You're funny!"] = "", -- A_Classic_Fairytale:journey
---      ["You're getting pretty good! |Tip: When you shorten you rope you move faster! |and when you lengthen it you move slower"] = "", -- Basic_Training_-_Rope
---      ["You're pathetic! You are not worthy of my attention..."] = "", -- A_Classic_Fairytale:shadow
---      ["You're probably wondering why I bought you back..."] = "", -- A_Classic_Fairytale:backstab
---      ["You're terrorizing the forest...We won't catch anything like this!"] = "", -- A_Classic_Fairytale:shadow
---      ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey
---      ["Your movement skills will be evaluated now."] = "", -- A_Classic_Fairytale:first_blood
-	["You saved"] = "Gerettet: ",
---      ["You've been assaulting us, we have been just defending ourselves!"] = "", -- A_Classic_Fairytale:enemy
-	["You've failed. Try again."] = "Du bist gescheitert. Versuche es nochmal.",
-	["You've reached the goal!| |Time: "] = "Ziel erreicht!| |Zeit: ",
---      ["You will be avenged!"] = "", -- A_Classic_Fairytale:shadow
---      ["- You will recieve 2-4 weapons on each kill! (Even on own hogs)"] = "", -- Continental_supplies
---      ["You won't believe what happened to me!"] = "", -- A_Classic_Fairytale:backstab
---      ["Yuck! I bet they'll keep worshipping her even after I save the village!"] = "", -- A_Classic_Fairytale:family
---      ["Zealandia"] = "", -- Continental_supplies
-	["'Zooka Team"] = "Die Knalltüten",
---      ["Zork"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen
-    }
+[""]="",
+["Feeble Resistance"]="Kraftloser Widerstand",
+["Pathetic Hog #%d"]="Erbärmlicher Igel #%d",
+["Cybernetic Empire"]="Kybernetisches Imperium",
+["Unit 3378"]="Einheit 3378",
+["Codename: Teamwork"]="Code-Name: Teamwork",
+["- Eliminate Unit 3378 |- Feeble Resistance must survive"]="- Vernichte Einheit 3378 |- Kraftloser Widerstand muss überleben",
+["|- Mines Time:"]="|- Minenzündzeit:",
+["sec"]="s",
+["T_T"]="T_T",
+["Hmmm..."]="Hmmm …",
+["MISSION SUCCESSFUL"]="MISSION ERFOLGREICH",
+["Congratulations!"]="Gratulation!",
+["MISSION FAILED"]="MISSION GESCHEITERT",
+["Oh no! Just try again!"]="Oh nein! Versuch's nochmal!",
+["Grenadier"]="Grenadier",
+["Grenade Group"]="Granatengruppe",
+["You have thrown %d grenades."]="Du hast %d Granaten geworfen.",
+["Sniperz"]="Heckenschützen",
+["Hunter"]="Jäger",
+["Sniper Training"]="Scharfschützen-Training",
+["Aiming Practice"]="Zielübung",
+["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."]="Eliminiere alle Ziele, bevor die Zeit ausläuft.|Du hast in dieser Mission unbegrenzte Munition.",
+["Time's up!"]="Die Zeit ist um!",
+["Oh no! Time's up! Just try again."]="Oh nein! Die Zeit ist um! Versuche es nochmal.",
+["Good so far!"]="Gut soweit!",
+["Keep it up!"]="Weiter so!",
+["This one's tricky."]="Der hier ist knifflig.",
+["Well done."]="Gut gemacht.",
+["Demolition is fun!"]="Zerstörung macht Spaß!",
+["Will this ever end?"]="Wird dies je enden?",
+["Last Target!"]="Letzte Zielscheibe!",
+["Congratulations! You've eliminated all targets|within the allowed time frame."]="Gratulation! Du hast alle Ziele innerhalb der|verfügbaren Zeit ausgeschaltet.",
+["You have successfully finished the sniper rifle training!"]="Du hast das Scharfschützentraining abgeschlossen!",
+["You have destroyed %d of %d targets (+%d points)."]="Du hast %d von %d Zielen zerstört (+%d Punkte).",
+["You have made %d shots."]="Du hast %d Schüsse abgegeben.",
+["Accuracy bonus: +%d points"]="Präzisions-Bonus: +%d Punkte",
+["You had %.2fs remaining on the clock (+%d points)."]="Verbleibende Zeit: %.2fs (+%d Punkte).",
+["You lose!"]="Du verlierst!",
+["points"]="Punkte",
+["Shotgun Team"]="Schrotflinten-Team",
+["Shotgun Training"]="Schrotflinten-Training",
+["Wannabe Flyboys"]="Möchtegernflieger",
+["Ace"]="Ass",
+["RC PLANE TRAINING"]="FUNKFLUGZEUGSTRAINING",
+["a Hedgewars challenge"]="eine Hedgewars-Herausforderung",
+["Collect or destroy all the health crates."]="Sammle oder zerstöre alle Gesundheitskisten.",
+["Compete to use as few planes as possible!"]="Verwende so wenige Flugzeuge wie möglich!",
+["Planes used: %d"]="Verwendete Flugzeuge: %d",
+["Crates left: %d"]="Verbleibende Kisten: %d",
+["Destroyer of planes"]="Flugzeug-Zerstörer",
+["Hopeless case"]="Hoffnungsloser Fall",
+["Drunk greenhorn"]="Betrunkener Grünschnabel",
+["Greenhorn"]="Grünschnabel",
+["Beginner"]="Anfänger",
+["Experienced beginner"]="Erfahrener Anfänger",
+["Below-average pilot"]="Unterdurchschnittlicher Pilot",
+["Average pilot"]="Durchschnittlicher Pilot",
+["Above-average pilot"]="Überdurchschnittlicher Pilot",
+["Professional pilot"]="Profipilot",
+["Professional stunt pilot"]="Profi-Stuntpilot",
+["Elite pilot"]="Elitepilot",
+["Upper-class elite pilot"]="Elitepilot der Oberklasse",
+["Top-class elite pilot"]="Elitepilot der Spitzenklasse",
+["Cheater"]="Cheater",
+["Rank: %s"]="Rang: %s",
+["Your rank: %s"]="Dein Rang: %s",
+["Flawless victory!"]="Perfekter Sieg!",
+["You have perfectly beaten the challenge!"]="Du hast die Herausforderung gemeistert!",
+["You have used only 1 RC plane. Outstanding!"]="Du hast nur ein Funkflugzeug gebraucht. Ausgezeichnet!",
+["Victory!"]="Sieg!",
+["You have finished the challenge!"]="Du hast die Herausforderung gemeistert!",
+["You have used %d RC planes."]="Du hast %d Funkflugzeuge benutzt.",
+["You have dropped %d missiles."]="Du hast %d Bomben abgeworfen.",
+["In your best (and only) flight you took out %d crates with one RC plane!"]="In deinem besten (und einzigem) Flug hast du %d Kisten mit einem Funkflugzeug zerstört!",
+["In your best flight you took out %d crates with one RC plane."]="In deinem besten Flug hast du %d Kisten mit einem Funkflugzeug zerstört.",
+["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"]="Das war eine großartige Vorstellung! Aber diese Herausforderung kann sogar mit nur einem Funkflugzeug gemeistert werden. Kannst du herausfinden, wie?",
+["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."]="Gratulation! Du hast diese Herausforderung wahrhaft gemeistert! Vergiss nicht, die Wiederholung zu speichern.",
+["You have gained an achievement: %s"]="Du hast eine Errungenschaft erhalten: %s",
+["Prestigious Pilot"]="Prestigeträchtiger Pilot",
+["CHALLENGE COMPLETE"]="HERAUSFORDERUNG ABGESCHLOSSEN",
+["Grenadiers"]="Grenadiere",
+["Nade Boy"]="Granatenjunge",
+["Grenade Training"]="Granatentraining",
+["Zook"]="Zook",
+["Team Zook"]="Team Zook",
+["You have launched %d bazookas."]="Du hast %d Bazookas abgefeuert.",
+["Portal mission"]="Portalmission",
+["training"]="Training",
+["Hmmm, I'll have to find some way of moving him off this anti-portal surface..."]="Hmmm, ich muss einen Weg finden, um ihn von dieser Antiportaloberfläche zu schubsen …",
+["The anti-portal zone is all over the floor, and I have nothing to kill him...Droping something could hurt him enough to kill him..."]="Die Antiportalzone ist über den ganzen Boden und ich habe nichts, um ihn zu töten. Vielleicht könnte ich ihn genug verletzen, wenn ich etwas fallenlasse.",
+["You can't fire a portal on the blue surface"]="Du kannst kein Portal auf der blauen Fläche öffnen.",
+[" What !! For all of this struggle i just win some ... TIME o0"]="Was?! Für all die Mühen gewinne ich nur etwas … ZEIT?",
+["Bloody Rookies"]="Blutige Anfänger",
+["Toxic Team"]="Giftige Gegner",
+["Poison"]="Gift",
+["Operation Diver"]="Taucher",
+["Eliminate Poison before the time runs out"]="Neutralisiere das Gift, bevor die Zeit abgelaufen ist.",
+["Private Novak"]="Gefreiter Novak",
+["Cluster Bomb Training"]="Splittergranatentraining",
+["You have to destroy 12 targets in 180 seconds"]="Du musst 12 Ziele in 180 Sekunden zerstören",
+["Cluster Bomb MASTER!"]="Clusterbombenmeister!",
+["Congratulations! You needed only half of time|to eliminate all targets."]="Gratulation! Du hast nur die Hälfte der Zeig benötigt,|um alle Ziele zu eliminieren.",
+["Oh no! You failed! Just try again."]="Oh nein! Du hast versagt! Versuch es nochmal.",
+["Now find the next target! |Tip: Normally you lose health by falling down, so be careful!"]="Nun finde das nächste Ziel! |Tipp: Normalerweise verlierst du Gesundheit, wenn du herunterfällst, also pass auf!",
+["You're getting pretty good! |Tip: When you shorten you rope you move faster! |and when you lengthen it you move slower"]="Du wirst ziemlich gut! |Tipp: Wenn du dein Seil verkürzt, bewegst du dich schneller! |Und wenn du es verlängerst, wirst du langsamer.",
+["The next one is pretty hard! |Tip: You have to do multiple swings!"]="Die Nächste ist ziemlich schwer! |Tipp: Du musst mehrmals schwingen!",
+["I don't know how you did that.. But good work! |The next one should be easy as cake for you!"]="Ich weiß nicht, wie du das getan hast. Aber gute Arbeit! |Die Nächste solle idiotensicher für dich sein!",
+["Congratulations"]="Gratulation",
+["Congratulations! You've completed the Rope tutorial! |- Tutorial ends in 10 seconds!"]="Gratulation! Du hast die Seil-Einführung abgeschlossen! |- Die Einführung wird in 10 Sekunden beendet.",
+["Achievement Unlocked"]="Neue Errungenschaft",
+["Rope Master!"]="Seilmeister!",
+["Rope Training"]="Seiltraining",
+["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"]="Gute Arbeit! Nun triff es mit deinem Baseballschläger! |Tipp: Du kannst die Waffe mit [Rechtsklick] wechseln!",
+["Remember: The rope only bend around objects, |if it doesn't hit anything it's always stright!"]="Denk dran: Das Seil verbiegt sich nur um Objekte, |wenn es nichts trifft, wird es immer gerade sein.",
+["Rope Team"]="Seilteam",
+["Get to the target using your rope! |Controls: Left & Right to swing the rope - Up & Down to Contract and Expand!"]="Gelange zum Ziel mit deinem Seil! |Steuerung: Links/Rechts zum Schwingen – Hoch/Runter zum Ein- und Ausfahren!",
+["Tip: The rope physics are different than in the real world, |use it to your advantage!"]="Tipp: Die Seilphysik ist anders als in der realen Welt, |nutze das zu deinem Vorteil aus!",
+["You did not make it in time, try again!"]="Du hast es nicht rechtzeitig geschafft, versuch es nochmal!",
+["You have been respawned, at your last checkpoint!"]="Du wurdest zum letzten Kontrollpunkt zurückgesetzt!",
+["You have been respawned, be more carefull next time!"]="Du wurdest wiederbelebt, sei beim nächsten Mal vorsichtiger!",
+["Private Nolak"]="Gefreiter Nolak",
+["The Hogies"]="Die Igelinge",
+["You have thrown %d cluster bombs."]="Du hast %d Splitterbomben geworfen.",
+["Hero Team"]="Heldenteam",
+["Good Dude"]="Guter Junge",
+["Bad Team"]="Böses Team",
+["The Great Escape"]="Gesprengte Ketten",
+["Get out of there!"]="Geh weg!",
+["Elimate your captor."]="Eliminiere deinen",
+["'Zooka Team"]="Die Knalltüten",
+["Bazooka Training"]="Bazooka-Training",
+["Aiming practice"]="Zielübung",
+["hits"]="Treffer",
+["You have destroyed %d of %d targets."]="Du hast %d von %d Zielen zerstört.",
+["Your accuracy was %.1f%%."]="Deine Treffgenauigkeit betrug %.1f%%.",
+["%.1f seconds were remaining."]="Es verblieben %.1f.",
+["Pathetic Resistance"]="Erbärmlicher Widerstand",
+["Unit"]="Einheit",
+["Newton's Hammock"]="Newtons Hängematte",
+["User Challenge"]="Benutzerherausforderung",
+["Eliminate the enemy before the time runs out"]="Vernichte den Feind, bevor die Zeit abgelaufen ist",
+["Lonely Hog"]="Einsamer Igel",
+["Climber"]="Kletterer",
+["Water Gods"]="Wassergötter",
+["Nameless Heroes"]="Namenlose Helden",
+["Drowner"]="Absäufer",
+["Clowns"]="Clowns",
+["Nobody Laugh"]="Niemand darf lachen",
+["Spooky Tree"]="Spukiger Baum",
+["Eliminate all enemies"]="Vernichte alle Gegner",
+["Good birdy......"]="Braver Vogel …",
+["You have launched %d homing bees."]="Du hast %d zielsuchende Bienen abgefeuert.",
+["Unit 835"]="Einheit 835",
+["Bamboo Thicket"]="Bambusdickicht",
+["Energetic Engineer"]="Energetischer Ingenieur",
+["Wannabe Shoppsta"]="Möchtegernkäufer",
+["Unsuspecting Louts"]="Nichtsahnende Lümmel",
+["Unlucky Sods"]="Arme Schweine",
+["ROPE-KNOCKING"]="SEILSCHUBSEN",
+["MISSION SUCCESS"]="MISSIONSERFOLG",
+["COMPLETION TIME"]="ZEIT",
+["Use the rope to knock your enemies to their doom."]="Benutze das Seil, um deine Gegner in ihr Verderben zu stürzen!",
+["GG!"]="Gut gemacht!",
+["Ouch!"]="Autsch!",
+["Instructor"]="Ausbilder",
+["Blue Team"]="Blaues Team",
+["Filthy Blue"]="Blödblau",
+["Dangerous Ducklings"]="Gefährliche Entchen",
+["Eliminate the Blue Team"]="Lösche das Blaue Team aus",
+["Listen up, maggot!!"]="Aufgepasst, du Made!!",
+["!!!"]="!!!",
+["The enemy is hiding out on yonder ducky!"]="Der Feind versteckt sich auf dem Entlein dort drüben!",
+["Get on over there and take him out!"]="Mach, dass du hinüber kommst und schalte ihn aus!",
+["GO! GO! GO!"]="Los, los, los!",
+["DAMMIT, ROOKIE!"]="VERDAMMT, REKRUT!",
+["DAMMIT, ROOKIE! GET OFF MY HEAD!"]="VERDAMMT, REKRUT! RUNTER VON MEINEM KOPF!",
+[":("]=":(",
+["You've failed. Try again."]="Du bist gescheitert. Versuche es nochmal.",
+["See ya!"]="Mach's gut!",
+["Naughty Ninja"]="Böser Ninja",
+["Enjoy the swim..."]="Viel Spaß beim Schwimmen …",
+["Good luck out there!"]="Viel Glück da draußen!",
+["That Sinking Feeling"]="Land unter",
+["Save as many hapless hogs as possible!"]="Rette so viele glücklose Igel wie möglich!",
+["The Nameless One"]="Der Namenlose",
+["Hapless Hogs"]="Glücklose Igel",
+["Sinky"]="Blubb",
+["Heavy"]="Schwierig",
+["Clumsy"]="Hoppla",
+["Silly"]="Doofi",
+["Careless"]="Achtlos",
+["Sponge"]="Schwamm",
+["Deadweight"]="Gravitus",
+["Press [Precise] to skip intro"]="Drücke [Genaues Zielen], um das Intro zu überspringen",
+["This rain is really something..."]="Das nenne ich mal einen Regenschauer...",
+["Heh, it's not that bad."]="Hehe, so schlimm ist es nicht.",
+["You'd almost swear the water was rising!"]="Man könnte fast schwören das Wasser würde steigen!",
+["Haha, now THAT would be something!"]="Haha, na DAS wär ja was!",
+["Hahahaha!"]="Hahahaha!",
+["..."]="…",
+["It's a good thing SUDDEN DEATH is 99 turns away..."]="Gut, dass SUDDEN DEATH in 99 Runden ist …",
+["A frozen adventure"]="Ein frostiges Abenteuer",
+["Getting ready"]="Bereitmachen",
+["Collect the icegun and get the device part from Thanta"]="Sammle die Eiskanone ein und besorge das Bauteil von Thanta",
+["Win"]="Sieg",
+["Congratulations, you collected the device part!"]="Gratulation, du hast das Bauteil eingesammelt!",
+["Hog Solo"]="Igel Einsam",
+["Paul McHoggy"]="Paul McIgel",
+["Thanta"]="Thanta",
+["Billy Frost"]="Bernd Frost",
+["Ice Jake"]="Eis-Jakob",
+["John Snow"]="Jonas Schnee",
+["White Tee"]="Schneeweiß",
+["Allies"]="Verbündete",
+["Frozen Bandits"]="Frostbanditen",
+["Go to Thanta and get the device part!"]="Gehe zu Thanta und ergattere das Bauteil!",
+["Hog Solo lost, try again!"]="Igel Einsam hat verloren, versuch es nochmal!",
+["To win the game you have to go next to Thanta"]="Um das Spiel zu gewinnen, muss du neben Thanta stehen",
+["Most of the time you'll be able to use only the icegun"]="Die meiste Zeit wirst du nur die Eiskanone benutzen können",
+["Use the bazooka and the flying saucer to get the icegun"]="Benutze die Bazooka und die fliegende Untertasse, um die Eiskanone zu ergattern",
+["Checkpoint reached!"]="Kontrollpunkt erreicht!",
+["Noooo, Thanta has to stay alive!"]="Nein, Thanta muss am Leben bleiben!",
+["On the Ice Planet, where ice rules..."]="Auf dem Eisplaneten, wo das Eis herrscht …",
+["Finally you are here..."]="Endlich bist du hier …",
+["Hi! Nice to meet you"]="Hi! Schön, dich zu sehen.",
+["Listen carefully! The bandit leader, Thanta, has recently found a very strange device"]="Hör gut zu! Der Anführer der Banditen, Thanta, hat neulich ein sehr seltsames Gerät gefunden.",
+["He doesn't know it but this device is a part of the anti-gravity device"]="Er weiß es nicht, aber dieses Bauteil ist ein Teil des Antischwerkraftgeräts.",
+["Nice, then I should get the part as soon as possible!"]="Interessant, dann sollte ich besser das Teil so früh wie möglich holen!",
+["Be careful, your gadgets won't work in the bandit area. You should get an ice gun"]="Sei vorsichtig, deine Apparate werden im Banditenland nicht funktionieren. Du solltest eine Eiskanone holen.",
+["There is one below us!"]="Da ist eine unter uns!",
+["Congratulations, now you can take Thanta's device part..."]="Gratulation, nun kannst du dir Thantas Bauteil nehmen …",
+["Oh! Please spare me. You can take all my treasures!"]="Oh, bitte verschone mich! Du kannst all meine Schätze nehmen.",
+["I just want the strange device you found!"]="Ich will nur das seltsame Teil, das du gefunden hast.",
+["Here! Take it..."]="Hier, nimm es …",
+["Congratulations, you acquired the device part!"]="Gratulation, du hast das Bauteil erhalten!",
+["At the end of the game your health was "]="Am Ende des Spiels war deine Gesundheit ",
+["A Space Adventure"]="Ein Weltraumabenteuer",
+["The first stop"]="Der erste Halt",
+["Go to the upper platform and get the weapons in the crates!"]="Geh zur oberen Plattform und nimm dir die Waffen in den Kisten!",
+["Prepare to fight"]="Bereitmachen zum Kämpfen",
+["Go down and save these PAotH hogs!"]="Geh runter und rette diese PAdI-Igel!",
+["The fight begins!"]="Die Schlacht beginnt!",
+["Neutralize your enemies and be careful!"]="Neutralisiere deine Gegner und sei vorsichtig!",
+["Joe"]="Sepp",
+["Bruce"]="Brutus",
+["Helena"]="Helena",
+["Boris"]="Boris",
+["Prof. Hogevil"]="Prof. Bösigel",
+["Minion"]="Lakai",
+["PAotH"]="PAdI",
+["Minions"]="Lakaien",
+["Professor"]="Professor",
+["Hog Solo has to refuel his saucer."]="Igel Einsam muss seine Untertasse auftanken.",
+["Rescue the imprisoned PAotH team and get the fuel!"]="Rette das gefangene PAdI-Team und hol dir den Treibstoff!",
+["You have to get the weapons and rescue the PAotH researchers"]="Wir müssen die Waffen besorgen und die PAdI-Forscher retten.",
+["Don't hit me you fools!"]="Trefft mich nicht, ihr Idioten!",
+["The boss has fallen! Retreat!"]="Der Anführer ist gefallen! Rückzug!",
+["Congrats! You made them run away!"]="Gratulation! Du hast sie in die Flucht geschlagen!",
+["Hog Solo wins, congratulations!"]="Igel Einsam gewinnt, Gratulation!",
+["Eliminated the Professor Hogevil"]="Professor Bösigel eliminiert",
+["Drove the minions away"]="Seine Lakaien vertrieben",
+["I may lost this battle, but I haven't lost the war yet!"]="Ich mag vielleicht diese Schlacht verloren haben, aber ich habe den Krieg noch nicht verloren!",
+["Congrats! You won!"]="Gratulation! Du hast gewonnen!",
+["Congratulations, you won!"]="Gratulation, du hast gewonnen!",
+["Eliminated the evil minions"]="Die bösen Lakaien eliminiert",
+["Drove the Professor away"]="Den Professor vertrieben",
+["Near PAotH base at moon..."]="In der Nähe der PAdI-Basis am Mond …",
+["Hey Hog Solo! Finally you have come..."]="Hey, Igel Einsam! Endlich bist du angekommen …",
+["It seems that Professor Hogevil has prepared for your arrival!"]="Es scheint, dass sich Professor Bösigel sich auf deine Ankunft vorbereitet hat!",
+["He has captured the rest of the PAotH team and awaits to capture you!"]="Er hat den Rest des PAdI-Teams gefangen und wartet auf deine Gefangennahme!",
+["We have to hurry! Are you armed?"]="Wir müssen uns beeilen! Bist du bewaffnet?",
+["No, I am afraid I had to travel light"]="Nein, ich fürchte, dass ich mit wenig Gepäck reisen musste.",
+["Ok, then you have to go and take some of the weapons we have hidden in case of an emergency!"]="Okay, dann musst du gehen und ein paar der Waffen, die wir für den Notfall versteckt haben, nehmen.",
+["They are up there! Take this rope and hurry!"]="Sie sind da oben! Nimm dieses Seil und beeil dich!",
+["Ehm... ok..."]="Aha, okay …",
+["I've made it! YEAAAAAH!"]="Ich hab's geschafft! HURRA!",
+["Nice! Now hurry and get down! You have to rescue my friends!"]="Nett! Nun beeil dich und komm runter! Du musst meine Freunde retten!",
+["Get ready to fight!"]="Bereitmachen zum Kämpfen!",
+["Look boss! There is the target!"]="Sieh, Boss! Hier ist das Ziel!",
+["Prepare for battle!"]="Bereitmachen zum Kämpfen!",
+["Oops, I've been spotted and I have no weapons! I am doomed!"]="Upps! Ich wurde entdeckt und ich habe keine Waffen! Ich bin verloren!",
+["Here we go!"]="Auf geht's!",
+["Running for survival"]="Ums Überleben laufen",
+["Use the rope to quickly get to the surface!"]="Benutze das Seil, um schnell zur Oberfläche zu gelangen!",
+["To win the game you have to go to the surface"]="Um zu gewinnen, musst du zur Oberfläche gehen.",
+["Most mines are not active"]="Die meisten Minen sind Blindgänger.",
+["From the second turn and beyond the water rises"]="Vom 2. Zug an wird das Wasser steigen.",
+["You have escaped successfully"]="Du bist erfolgreich geflohen.",
+["Your escape took you "]="Deine Flucht dauerte ",
+["Many meters below the surface..."]="Viele Meter unter der Oberfläche …",
+["The tunnel is about to get flooded..."]="Der Tunnel wird gleich geflutet!",
+["I have to reach the surface as quickly as I can..."]="Du muss die Oberfläche so schnell wie möglich erreichen.",
+["Spacetrip"]="Weltraumreise",
+["Go to the moon by using the flying saucer and complete the main mission"]="Komm zum Mond, indem du die fliegende Untertasse benutzt und die Hauptmission beendest.",
+["Come back to this mission and visit the other planets to collect the crates"]="Kehre zu dieser Mission zurück und besuche die anderen Planeten, um die Kisten einzusammeln.",
+["Visit the Death Planet after completing all the other planets' main missions"]="Besuche den Todesplaneten, nachdem du die Hauptmissionen aller anderen Planeten fertiggestellt hast.",
+["Come back to this mission after collecting all the device parts"]="Kehre zu dieser Mission zurück, nachdem du alle Bauteile eingesammelt hast.",
+["Go and collect the crate"]="Geh und sammle die Kiste.",
+["Try not to get spotted by the guards!"]="Versuch, nicht von den Wächtern entdeckt zu werden!",
+["The adventure begins!"]="Das Abenteuer beginnt!",
+["Use the saucer and fly to the moon"]="Benutze die Untertasse und flieg zum Mond.",
+["Travel carefully as your fuel is limited"]="Reise vorsichtig, da dein Treibstoff begrenzt ist.",
+["An unexpected event!"]="Ein unerwartetes Ereignis!",
+["Use the saucer and fly away"]="Benutze die Untertasse und flieg davon!",
+["Beware, any damage taken will stay until you complete the moon's main mission"]="Achtung, jeglicher Schaden, den du nimmst, wird bleiben, bis du die Hauptmission des Mondes fertiggestellt hast.",
+["Objectives"]="Ziele",
+["Searching the stars!"]="Suche in den Sternen",
+["Visit the planets of Ice, Desert and Fruit before you proceed to the Death Planet"]="Besuche den Eis-, Wüsten- und Fruchtplaneten, bevor du mit dem Todesplaneten fortfährst.",
+["Saving Hogera"]="Hogera retten",
+["Fly to the meteorite and detonate the explosives"]="Fliege zum Meteroiten und sprenge die Bomben.",
+["H"]="H",
+["Dr.Cornelius"]="Dr. Cornelius",
+["Bob"]="Bert",
+["Sam"]="Steffen",
+["Guards"]="Wächter",
+["Help Hog Solo to find all the parts of the anti-gravity device."]="Hilf Igel Einsam, alle Bauteile des Antischwerkraftgerätes zu finden.",
+["Travel to all the neighbor planets and collect all the pieces"]="Reise zu allen Nachbarplaneten und sammle alle Bauteile ein.",
+["Now I have to climb these trees"]="Jetzt muss ich diese Bäume hochklettern.",
+["Use the rope to get to the crate"]="Benutze das Seil, um zur Kiste zu gelangen.",
+["One cannot simply walk in moon with rope!"]="Man kann nicht einfach so im Mond mit dem Seil spazieren!",
+["This is the wrong way!"]="Das ist die falsche Richtung!",
+["Collect the crate with the flying saucer"]="Sammle die Kiste mit der fliegenden Untertasse ein.",
+["Fly to the moon"]="Flieg zum Mond.",
+["Welcome to the moon!"]="Willkommen auf dem Mond!",
+["the moon"]="der Mond",
+["Welcome to the Fruit Planet!"]="Willkommen auf dem Fruchtplaneten!",
+["the Fruit Planet"]="der Fruchtplanet",
+["Welcome to the Desert Planet!"]="Willkommen auf dem Wüstenplaneten!",
+["the Desert Planet"]="der Wüstenplanet",
+["Welcome to the Planet of Ice!"]="Willkommen auf dem Eisplaneten!",
+["the Ice Planet"]="der Eisplanet",
+["Welcome to the Death Planet!"]="Willkommen auf dem Todesplaneten!",
+["the Planet of Death"]="der Todesplanet!",
+["Welcome to the meteorite!"]="Willkommen auf dem Meteorit!",
+["the meteorite"]="der Meteorit",
+["Near secret base 17 of PAotH in the rural Hogland..."]="In der Nähe der geheimen Basis 17 der PAdI im ländlichen Igelland …",
+["So Hog Solo, here we are..."]="Also, Igel Einsam, da wären wir!",
+["Behind these trees on the east side there is secret base 17"]="Hinter diesen Bäumen auf der Ostseite liegt die geheime Basis 17.",
+["You have to continue alone from now on."]="Von hier an musst du alleine fortfahren.",
+["Be careful, the future of Hogera is in your hands!"]="Sei vorsichtig, die Zukunft von Hogera liegt in deinen Händen!",
+["We'll use our communicators to contact you"]="Wir werden unsere Kommunikatoren benutzen, um dich zu kontaktieren.",
+["In am also entrusting you with some rope"]="Ich werde dir auch etwas Seil anvertrauen.",
+["You may find it handy"]="Du könntest es gebrauchen.",
+["Thank you Dr.Cornelius"]="Danke, Dr. Cornelius!",
+["I'll make good use of it"]="Ich werde es klug anwenden.",
+["It would be wiser to steal the space ship while PAotH guards are taking a brake!"]="Es wäre schlauer, das Raumschiff zu stehlen, während die PAdI-Wächter eine Pause machen!",
+["Remember! Many will seek the anti-gravity device! Now go, hurry up!"]="Denk dran: Viele werden das Antischwerkraftgerät begehren! Geh jetzt! Beeilung!",
+["CheckPoint reached!"]="Kontrollpunkt erreicht!",
+["Got the saucer!"]="Ich hab die Untertasse!",
+["Nice!"]="Nett!",
+["Now use it and go to the moon PAotH station to get more fuel!"]="Benutze es jetzt und komme zur PAdI-Mondbasis, um mehr Treibstoff zu holen!",
+["Prepare to flee!"]="Bereitmachen zum Fliehen!",
+["Hey"]="Hey",
+["Look, someone is stealing the saucer!"]="Sieh, jemand stiehlt die Untertasse!",
+["I'll get him!"]="Den schnapp ich mir!",
+["You are out of danger, time to go to the moon!"]="Du bist in Sicherheit. Zeit, zum Mond zu gelangen!",
+["I guess we lost him!"]="Ich glaube, wir haben ihn verloren!",
+["We should better report this and continue our watch!"]="Wir sollten dies besser melden und unsere Wache fortsetzen.",
+["I guess I can't go far without fuels!"]="Ich fürchte, ohne Treibstoff komme ich nicht weit.",
+["Go to go back"]="Ich muss umkehren.",
+["You have to try again!"]="Du muss es nochmal versuchen!",
+["Hm... Now I ran out of fuel..."]="Hmm … Jetzt ist mein Treibstoff alle.",
+["This planet seems dangerous!"]="Dieser Planet scheint gefährlich zu sein!",
+["I am not ready for this planet yet. I should visit it when I have found all the other device parts"]="Ich bin für diesen Planeten noch nicht bereit. Ich sollte ihn besuchen, sobald ich alle anderen Bauteile gefunden habe.",
+["Under the meteorite shadow..."]="Unter dem Schatten des Meteorits …",
+["You did great Hog Solo! However we aren't out of danger yet!"]="Du hast dich wacker geschlagen, Igel Einsam! Aber wir haben die Gefahren noch nicht überstanden.",
+["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now"]="Der Meteorit kam zu nah und das Antischwerkraftgerät ist zu schwach, um ihn jetzt zu stoppen.",
+["We need it to get split into at least two parts"]="Wir müssen ihn in mindestens zwei Teile zerbrechen.",
+["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"]="PAdI hat Sprengstoffe geschickt, aber leider scheint der Auslöser defekt zu sein.",
+["We need you to go there and detonate them yourself! Good luck!"]="Du musst dorthin gehen und sie selbst detonieren. Viel Glück!",
+["Hog Solo arrived at "]="Igel Einsam ist angekommen an ",
+["Return to the mission menu by pressing the \"Go back\" button"]="Kehre zum Missionsmenü zurück, indem du den »Zurück«-Knopf drückst.",
+["You can choose another planet by replaying this mission"]="Du kannst einen anderen Planeten auswählen, indem du diese Mission erneut spielst.",
+["Planets with completed main missions will be marked with a flower"]="Planeten, bei denen die Hauptmissionen erledigt wurden, werden mit einer Blume markiert.",
+["You have to travel again"]="Du musst erneut reisen.",
+["Your first destination is the moon in order to get more fuel"]="Dein erstes Ziel ist der Mond, um mehr Treibstoff zu erhalten.",
+["You have to complete the main mission on moon in order to travel to other planets"]="Du musst die Hauptmission auf dem Mond erledigen, damit du zu den anderen Planeten reisen kannst.",
+["You have to be careful and not die!"]="Du musst vorsichtig sein und darfst nicht sterben!",
+["Getting to the device"]="Zum Greifen nah",
+["Exploring the tunnel"]="Höhlenforscher",
+["Search for the device with the help of the other hedgehogs "]="Such nach dem Gerät mit der Hilfe der anderen Igel.",
+["Hog Solo has to reach the last crates"]="Igel Einsam muss die letzten Kisten erreichen.",
+["Explore the tunnel with the other hedgehogs and search for the device"]="Erforsche den Tunnel mit den anderen Igeln und such nach dem Gerät.",
+["Return to the Surface"]="Zurück an die Oberfläche",
+["Go to the surface!"]="Geh an die Oberfläche!",
+["Attack Captain Lime before he attacks back"]="Greif Leutnant Limone an, bevor er angreift.",
+["Attack the assassins before they attack back"]="Greif die Assassinen an, bevor sie angreifen.",
+["Captain Lime"]="Leutnant Limone",
+["Mister Pear"]="Herr Birne",
+["Lady Mango"]="Frau Mango",
+["Poisonous Apple"]="Giftapfel",
+["Dark Strawberry"]="Dunkle Erdbeere",
+["Watermelon Heart"]="Wassermelonenherz",
+["Deadly Grape"]="Traube des Todes",
+["Hog Solo and GB"]="Igel Einsam und GB",
+["Fruit Assassins"]="Fruchtassassinen",
+["To win the game, Hog Solo has to get the bottom crates and come back to the surface"]="Um das Spiel zu gewinnen, muss Igel Einsam zu den unteren Kisten gelangen und wieder zurück zur Oberfläche kommen.",
+["You can use the other 2 hogs to assist you"]="Du kannst die anderen beiden Igel benutzen, um dich zu unterstützen.",
+["Do not destroy the crates"]="Zerstöre nicht die Kisten.",
+["You'll have to eliminate the Strawberry Assassins at the end"]="Am Ende musst du die Erdbeerassassinen eliminieren.",
+["You'll have to eliminate Captain Lime at the end"]="Am Ende musst du Leutnant Limone eliminieren.",
+["Don't eliminate Captain Lime before collecting the last crate!"]="Eliminiere Leutnant Limone nicht, bevor du die letzte Kiste eingesammelt hast!",
+["You retrieved the lost part"]="Du hast das verlorene Teil ergattert",
+["You defended yourself against Captain Lime"]="Du hast dich gegen Leutnant Limone gewehrt",
+["You defended yourself against Strawberry Assassins"]="Du hast dich gegen die Erdbeerassassinen gewehrt",
+["Somewhere else on the planet of fruits Captain Lime helps Hog Solo..."]="Irgendwo anders auf dem Planeten der Früchte hilft Leutnant Limone Igel Einsam.",
+["You fought bravely and you helped us win this battle!"]="Du hast mutig gekämpft und uns geholfen, diese Schlacht zu gewinnen!",
+["So, as promised I have brought you where I think that the device you are looking for is hidden."]="Nun, wie versprochen habe ich dich an den Ort gebracht, von dem ich glaube, dass das Gerät dort versteckt ist.",
+["I know that your resources are low due to the battle but I'll send two of my best hogs to assist you."]="Ich weiß, dass deine Ressourcen aufgrund der Schlacht begrenzt sind, aber ich werde dir zwei meiner besten Igel schicken, um die zu helfen.",
+["Good luck!"]="Viel Glück!",
+["Somewhere else on the planet of fruits Hog Solo gets closer to the device..."]="Anderswo auf dem Planeten der Früchte kommt Igel Einsam näher an das Gerät.",
+["You are the one who fled! So, you are alive..."]="Du bist der, der floh! Du lebst also …",
+["I'm still low on hogs. If you are not afraid I could use a set of extra hands"]="Ich habe immer noch wenige Igel. Wenn du keine Angst hast, könnte ich etwas Unterstützung gebrauchen.",
+["I am sorry but I was looking for a device that may be hidden somewhere around here"]="Tut mir Leid, aber ich suchte nach einem Gerät, das hier irgendwo versteckt sein könnte.",
+["Many long forgotten things can be found in the same tunnels that we are about to explore!"]="Viele vergessene Dinge können in denselben Tunneln, die wir gleich erforschen werden, finden.",
+["If you help us you can keep the device if you find it but we'll keep everything else"]="Wenn du uns hilfst, darfst du das Gerät behalten, wenn du es findest, aber wir werden alles andere behalten.",
+["What do you say? Are you in?"]="Was sagst du? Bist du dabei?",
+["Ok then!"]="Alles klar!",
+["Hoorah! I've found it, now I have to get back to Captain Lime!"]="Hurra! Ich habe es gefunden, nun muss ich zurück zu Leutnant Limone!",
+["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"]="Dieser Igel Einsam ist so naiv! Wenn er zurückkehrt, werde ich ihn erschießen und das Gerät für mich selbst behalten!",
+["We have spotted the enemy! We'll attack when the enemies start gathering!"]="Wir haben den Feind gesichtet! Wir werden angreifen, sobald sich die Feinde versammeln.",
+["Hard flying"]="Schwerer Flug",
+["To win the game you have to pass into the rings in time"]="Um dieses Spiel zu gewinnen, musst du rechtzeitig durch die Ringe fliegen.",
+["You'll get extra time in case you need it when you pass a ring"]="Du erhältst Bonuszeit, wenn du sie brauchst, sobald du einen Ring passierst.",
+["Every 2 rings, the ring color will be green and you'll get an extra flying saucer"]="Alle 2 Ringe wird der Ring grün und du erhältst eine neue fliegende Untertasse",
+["Use space button twice to change flying saucer while floating in mid-air"]="Drücke die Leertaste 2 mal, um die fliegende Untertasse im Flug zu wechseln.",
+["Challenge Objectives"]="Herausforderungsziele",
+["Hoorah! You are a champion!"]="Hurra! Du bist ein Champion!",
+["You completed the mission in "]="Du hast die Mission fertiggestellt in ",
+["You have used "]="Du hast benutzt ",
+["You had "]="Du hattest ",
+["In the Ice Planet flying saucer stadium..."]="Im Stadion der fliegenden Untertassen auf dem Eisplaneten …",
+["This is the Olympic stadium of saucer flying..."]="Das ist das olympische Stadion des Untertassenflugs.",
+["All the saucer pilots dream to come here one day in order to compete with the best!"]="Alle Untertassenpiloten träumen davon, hier eines Tages herzukommen, um gegen die Besten um die Wette zu fliegen!",
+["Now you have the chance to try and claim the place that you deserve among the best..."]="Jetzt hast du die Gelegenheit, es selbst zu versuchen, und dir einen Rang unter den Besten zu verdienen.",
+["Use the saucer and pass through the rings..."]="Benutze die Untertasse und passiere die Ringe.",
+["Pause the game by pressing the pause key (default \"P\") for more details"]="Pausiere das Spiel, indem du die Pausetaste (standardmäßig »P«) drückst, um mehr zu erfahren.",
+["... can you do it?"]="Kannst du es schaffen?",
+["Got 1 more saucer"]="1 neue Untertasse",
+[" and 8 more seconds added to the clock"]=" und 8 Bonussekunden auf die Uhr",
+["6 more seconds added to the clock"]="6 Bonussekunden auf die Uhr",
+["Oh man! Learn how to fly!"]="Oh, Mann! Lern erstmal fliegen!",
+["Every 2 rings you'll get extra flying saucers"]="Alle 2 Ringe erhälst du neue fliegende Untertassen",
+["Use space button twice to change flying saucer while being on air"]="Drücke die Leertaste 2 mal, um die fliegende Untertasse im Flug zu wechseln",
+["The last encounter"]="Das letzte Gefecht",
+["The final part"]="Das letzte Bauteil",
+["Defeat Professor Hogevil!"]="Besiege Professor Bösigel!",
+["thug"]="Rowdy",
+["To win the game you have to eliminate all your enemies"]="Um das Spiel zu gewinnen, musst du all deine Gegner eliminieren",
+["You have successfully eliminated Professor Hogevil"]="Du hast Professor Bösigel erfolgreich eliminiert!",
+["You have rescued H and Dr.Cornelius"]="Du hast H und Dr. Cornelius gerettet.",
+["You have acquired the last device part"]="Du hast das letzte Bauteil erhalten.",
+["Now go and play the menu mission to complete the campaign"]="Geh jetzt und spiele die Menümission, um die Kampagne zu beenden.",
+["Somewhere in the uninhabitable Death Planet..."]="Irgendwo auf dem unbewohnbaren Todesplaneten …",
+["Welcome Hog Solo, surprised to see me?"]="Hallo, Igel Einsam! Bist du überrascht, mich zu sehen?",
+["As you can see I have survived our last encounter and I had time to plot my master plan!"]="Wie du sehen kannst, habe ich unser letztes Zusammentreffen überlebt und ich hatte Zeit, meinen Masterplan auszuhecken.",
+["I've thought that the best way to get the device is to let you collect most of the parts for me!"]="Ich dachte mir, dass es am einfachsten ist, wenn ich dich einfach die meisten Bauteile für mich sammeln lasse.",
+["So, now I got the last part and I have your friends captured..."]="Und jetzt habe ich das letzte Teil und deine Freunde gefangengenommen.",
+["Will you give me the other parts?"]="Wirst du mir die anderen Teile geben?",
+["I will never hand you the parts!"]="Niemals gebe ich dir die Teile!",
+["Then prepare for battle!"]="Dann mach dich bereit für die Schlacht!",
+["Searching in the dust"]="Suche im Staub",
+["The device part is hidden in one of the crates! Go and get it!"]="Das Bauteil ist in einer der Kisten versteckt. Geh und hole es!",
+["Most of the destructible terrain in marked with blue color"]="Das meiste des zerstörbaren Geländes ist mit einer blauen Farbe markiert.",
+["Chief Sandologist"]="Haupt-Sandologe",
+["Sandy"]="Sandi",
+["Spike"]="Stachel",
+["Sandstorm"]="Sandsturm",
+["Smugglers"]="Schmuggler",
+["The part device is hidden in one of the crates! Go and get it!"]="Das Bauteil ist in einer der Kisten versteckt. Geh und hole es!",
+["A smuggler! Prepare for battle"]="Ein Schmuggler! Bereitmachen zum Kämpfen!",
+["Run away you coward!"]="Lauf weg, du Feigling!",
+["Who's there?! I'll get you..."]="Wer ist da? Ich krieg dich …",
+["In the Planet of Sand, you have to double check your moves..."]="Auf dem Sandplaneten musst du deine Züge gut überlegen …",
+["Thank you for meeting me on such a short notice!"]="Danke, dass du mich so kurzfristig getroffen hast!",
+["No problem, I would do anything for H!"]="Kein Problem, ich würde alles für H tun!",
+["Now listen carefully! Below us there are tunnels that have been created naturally over the years"]="Jetzt hör gut zu! Unter uns sind Tunnel, welche über die Jahre natürlich entstanden sind.",
+["I have heard that the local tribes say that many years ago some PAotH scientists were dumping their waste here"]="Ich hörte, dass die örtlichen Stämme sagen, dass vor vielen Jahren einige PAdI-Wissenschaftler ihren Müll dort abgeliefert haben.",
+["H confirmed that there isn't such a PAotH activity logged"]="H bestätigte, dass eine solche PAdI-Aktivität nicht protokolliert ist.",
+["So, I believe that it's a good place to start"]="Also glaube ich, dass es ein guter Ort zum Anfangen ist.",
+["Beware though! Many smugglers come often to explore these tunnels and scavenge whatever valuable items they can find"]="Aber Vorsicht! Viele Schmuggler kommen oft hier her, um diese Tunnel zu durchsuchen und alles mögliche, was sie finden, zu sammeln.",
+["They won't hesitate to attack you in order to rob you!"]="Sie werden nicht zögern, dich anzugreifen, um dich auszurauben!",
+["OK, I'll be extra careful!"]="Okay, ich werde besonders vorsichtig sein!",
+["There is the tunnel entrance"]="Hier ist der Tunneleingang.",
+["Get him Spike!"]="Hol ihn, Stachel!",
+["This is seems like a wealthy hedgehog, nice..."]="Das sieht wie ein reicher Igel aus, nett.",
+["Haven't found it yet..."]="Ich hab es noch nicht gefunden.",
+["Hoorah!!!"]="Hurra!",
+["To win the game you had to collect the 2 crates with no specific order"]="Um das Spiel zu gewinnen, musst du die 2 Kisten in beliebiger Reihenfolge einsammeln.",
+["To win the game you have to find the right crate"]="Um das Spiel zu gewinnen, musst du die richtige Kiste finden.",
+["You can avoid some battles"]="Du kannst einige Kämpfe vermeiden.",
+["Use your ammo wisely"]="Benutze deine Munition weise.",
+["Don't destroy the device crate!"]="Zerstöre nicht die Kiste mit dem Bauteil!",
+["Precise shooting"]="Präzisionsschießen",
+["Use your available weapons in order to eliminate the enemies"]="Benutze deine verfügbaren Waffen, um die Gegner zu eliminieren.",
+["You can only use the Sniper Rifle or the Watermelon bomb"]="Du kannst nur das Scharfschützengewehr oder die Wassermelonenbombe benutzen.",
+["You'll have only 2 watermelon bombs during the game"]="Du hast nur 2 Wassermelonenbomben während des Spiels.",
+["You'll get an extra Sniper Rifle every time you kill an enemy hog with a limit of max 4 rifles"]="Du erhältst ein zusätzliches Scharfschützengewehr für jeden Igel, den du tötest (max. 4 Gewehre).",
+["You'll get an extra Teleport every time you kill an enemy hog with a limit of max 2 teleports"]="Du erhältst einen zusätzlichen Teleporter für jeden Igel (max. 2 Teleporter).",
+["The first turn will last 25 sec and every other turn 15 sec"]="Der 1. Zug wird 25 Sek., jeder andere Zug 15 Sek. dauern.",
+["If you skip a turn then the turn time left will be added to your next turn"]="Wenn du einen Zug überspringst, wird die Zugzeit auf deinen nächsten Zug addiert.",
+["Some parts of the land are indestructible"]="Einige Teile des Landes sind unzerstörbar.",
+["Hog 1"]="Igel 1",
+["Hog III"]="Igel III",
+["Hog 100"]="Igel 100",
+["Hog Saturn"]="Igel Saturn",
+["Hog nueve"]="Igel nueve",
+["Hog onze"]="Igel onze",
+["Hog dertien"]="Igel dertien",
+["Hog 3x5"]="Igel 3x5",
+["Hog two"]="Igel zwei",
+["Hog D"]="Igel D",
+["Hog exi"]="Igel exi",
+["Hog octo"]="Igel octo",
+["Hog decar"]="Igel decar",
+["Hog Hephaestus"]="Igel Hephaestus",
+["Hog 7+7"]="Igel 7+7",
+["Hog EOF"]="Igel EOF",
+["RS1"]="RS1",
+["RS2"]="RS2",
+["You have to eliminate all the enemies"]="Du musst alle Gegner eliminieren.",
+["Read the Challenge Objectives from within the mission for more details"]="Lies die Herausforderungsziele in der Mission für mehr Details.",
+["You complete the mission in "]="Du hast die Mission abgeschlossen in ",
+["You will gain some extra ammo from the crates the next time you play the \"Getting to the device\" mission"]="Du wirst etwas zusätzliche Munition aus den Kisten erhalten, wenn du das nächste mal die Mission »Zum Greifen nah« spielst",
+["Somewhere in the Fruit Planet Hog Solo got lost..."]="Irgendwo im Fruchtplaneten hat sich Igel Einsam verlaufen.",
+["...and got ambushed by the Red Strawberries"]="… und von den Roten Erdbeeren überfallen wurdest.",
+["If you skip the game your time left will be added to your next turn"]="Wenn du das Spiel überspringst, wird deine verbleibende Zeit für deinen nächsten Zug addiert.",
+["Bad timing"]="Schlechtes Timing",
+["Ready for Battle?"]="Bereit für die Schlacht?",
+["Walk left if you want to join Captain Lime or right if you want to decline his offer"]="Geh nach links, wenn du Leutnant Limone beitreten willst, oder nach rechts, wenn du sein Angebot ablehnen möchtest.",
+["Battle Starts Now!"]="Jetzt beginnt die Schlacht!",
+["You have chosen to fight! Lead the Green Bananas to battle and eliminate all the enemies"]="Du hast dich für die Schlacht entschieden! Führe die Grünen Bananen in die Schlacht und eliminiere alle Feinde.",
+["Time to run!"]="Zeit, zu fliehen!",
+["You have chosen to flee... Unfortunately the only place where you can launch your saucer is the left-most place on the map"]="Du hast dich für die Flucht entschieden. Leider ist der einzige Ort, wo du deine Untertasse starten kannst, ganz links auf der Karte.",
+["Green Hog Grape"]="Grünigeltraube",
+["Mr Mango"]="Mister Mango",
+["General Lemon"]="General Limone",
+["Robert Yellow Apple"]="Robert Gelbapfel",
+["Summer Squash"]="Sommerkürbis",
+["Tall Potato"]="Großkartoffel",
+["Yellow Pepper"]="Gelbpaprika",
+["Corn"]="Mais",
+["Max Citrus"]="Max Zitron",
+["Naranja Jed"]="Orangus Otus",
+["Green Bananas"]="Grüne Bananen",
+["Yellow Watermelons"]="Gelbe Wassermelonen",
+["Green Bananas won!"]="Die Grünen Bananen haben gewonnen!",
+["You have eliminated all visible enemy hedgehogs!"]="Du hast alle sichtbaren feindlichen Igel besiegt!",
+["Hog Solo escaped successfully!"]="Igel Einsam ist erfolgreich geflohen!",
+["You have reached the take-off area successfully!"]="Du hast das Startfeld erfolgreich erreicht!",
+["Somewhere on the Planet of Fruits a terrible war is about to begin..."]="Irgendwo auf dem Planeten der Früchte steht ein fürchterlicher Krieg bevor.",
+["I was told that as the leader of the king's guard, no one knows this world better than you!"]="Mir wurde gesagt, dass, als der Führer der königlichen Garde, niemand diese Welt besser als du kennst!",
+["So, I kindly ask for your help"]="Also bitte ich dich ergebenst um Hilfe.",
+["You couldn't have come to a worse time Hog Solo!"]="Du könntest du einer kaum schlechteren Zeit ankommen, Igel Einsam!",
+["The clan of the Red Strawberry wants to take over the dominion and overthrone king Pineapple."]="Der Klan der Roten Erdbeere will die Herrschaft an sich reißen und König Ananas stürzen.",
+["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the kingdom of Sand to help to the annual dusting of the king's palace."]="Unter normalen Bedingungen könnten wir sie leicht besiegen, aber wir hatten freundlicherweise die Meisten unserer Männer zum Sandkönigreich geschickt, um bei der jährlichen Entstaubung des Königspalasts zu helfen.",
+["However the army of Yellow Watermelons is about to attack any moment now."]="Aber die Armee der Gelben Wassermelonen wird jeden Moment angreifen.",
+["I would gladly help you if we won this battle but under these circumstances I'll only help you if you fight for our side."]="Ich würde dir gerne helfen, wenn wir diese Schlacht gewinnen, aber unter diesen Bedingungen kann ich dir nur helfen, wenn du an unserer Seite kämpfst.",
+["What do you say? Will you fight for us?"]="Was sagst du? Wirst du für uns kämpfen?",
+["You choose well Hog Solo!"]="Gute Wahl, Igel Einsam!",
+["I have only 3 hogs available and they are all cadets"]="Ich habe nur 3 Igel, uns sie sind alle Kadetten.",
+["As you are more experienced, I want you to lead them to the battle"]="Da du erfahrener bist, will ich, dass du sie in der Schlacht anführst.",
+["I of course will observe the battle and intervene if necessary"]="Ich werde natürlich die Schlacht beobachten und, wenn nötig, einschreiten.",
+["No problem Captain!"]="Kein Problem, Leutnant!",
+["The enemies aren't many anyway, it is going to be easy!"]="Es sind eh nicht so viele Feinde, es wird einfach sein!",
+["Don't be foolish son, there will be more"]="Sei kein Idiot, Sohn, es werden mehr kommen.",
+["Try to be smart and eliminate them quickly. This way you might scare off the rest!"]="Versuch, schlau zu sein und sie schnell zu erledigen. Auf diese Weise könntest du den Rest abschrecken!",
+["Too bad... Then you should really leave!"]="Schade. Dann solltest du wirklich gehen!",
+["Things are going to get messy around here"]="Es wird hier gleich richtig hässlich werden.",
+["Also, you should know that the only place where you can fly is the left-most part of this area"]="Außerdem solltest du wissen, dass der einzige Ort, wo du fliegen kannst, ganz links in diesem Gebiet ist.",
+["All the other places are protected by our flight-inhibiting weapons"]="Alle anderen Orte sind von unseren flugverhindernden Waffen geschützt.",
+["Now go and don't waste more of my time you coward..."]="Jetzt geh, und vergeude meine Zeit nicht noch weiter, du Feigling!",
+["The Green Bananas lost, try again!"]="Die Grünen Bananen haben verloren, versuche es nochmal!",
+["You have to eliminate all the visible enemies"]="Du musst alle sichtbaren Gegner eliminieren.",
+["5 additional enemies will be spawned during the game"]="5 weitere Gegner werden während des Spiels auftauchen.",
+["You are in control of all the active ally units"]="Du hast die Kontrolle über alle aktive verbündete Einheiten.",
+["The ally units share their ammo"]="Die verbündeten Einheiten teilen ihre Munition.",
+["Try to keep as many allies alive as possible"]="Versuch, so viele Verbündete wie möglich am Leben zu erhalten.",
+["Hog Solo couldn't escape, try again!"]="Igel Einsam konnte nicht fliehen, versuch es nochmal!",
+["You have to get to the left-most land and remove any enemy hog from there"]="Du musst zum linken Rand gelangen und von dort alle feindlichen Igel beseitigen.",
+["You will play every 3 turns"]="Du wirst alle 3 Züge spielen.",
+["Green hogs won't intentionally hurt you"]="Grüne Igel werden dich nicht absichtlich verletzen.",
+["Next wave in 3 turns"]="Nächte Welle in 3 Zügen",
+["Last wave in 3 turns"]="Letzte Welle in 3 Zügen",
+["Killing the specialists"]="Die Spezialisten töten",
+["Each time you play this missions enemy hogs will play in a random order"]="Jedes mal, wenn du diese Mission spielst, werden die feindlichen Igel in einer zufälligen Reihenfolge spielen.",
+["At the start of the game each enemy hog has only the weapon that he is named after"]="Am Anfang des Spiels hat jeder feindliche Igel nur die Waffe, nachdem er benannt wurde.",
+["A random hedgehog will inherit the weapons of his deceased team-mates"]="Ein zufälliger Igel wird die Waffen seiner verstorbenen Teamkollegen erben.",
+["If you kill a hedgehog with the respective weapon your health points will be set to 100"]="Wenn du einen Igel mit der entsprechenden Waffe tötest, wird deine Gesundheit auf 100 gesetzt.",
+["If you injure a hedgehog you'll get 35% of the damage dealt"]="Wenn du einen Igel verletzt, wirst du 35% des angerichteten Schadens erhalten.",
+["Every time you kill an enemy hog your ammo will get reset"]="Bei jedem Mal, in dem du einen feindlichen Igel tötest, wird deine Munition zurückgesetzt.",
+["Rope won't get reset"]="Seil wird nicht zurückgesetzt.",
+["Mortar"]="Mörser",
+["Desert Eagle"]="Desert Eagle",
+["Grenade"]="Granate",
+["Shoryuken"]="Shoryuken",
+["Bazooka"]="Bazooka",
+["5 deadly hogs"]="5 tödliche Igel",
+["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a Laser Sight"]="Die nächsten 4 Male, die du die Mission »Das letzte Gefecht« spielst, wirst du 20 weitere Trefferpunkte und ein Laservisier erhalten.",
+["Somewhere in the Planet of Death..."]="Irgendwo auf dem Todesplaneten …",
+["...Hog Solo fights for his life"]="… kämpft Igel Einsam ums Überleben.",
+["Precise flying"]="Präzisionsfliegen",
+["Use the RC plane and destroy the all the targets"]="Benutze das Funkflugzeug und zerstöre alle Ziele.",
+["Each time you destroy all the targets on your current level you'll get teleported to the next level"]="Jedes mal, wenn du alle Ziele im aktuellen Level zerstörst, wirst du zum nächsten Level teleportiert",
+["You'll have only one RC plane at the start of the mission"]="Am Anfang der Mission hast du nur ein Funkflugzeug.",
+["During the game you can get new RC planes by collecting the weapon crates"]="Während des Spiels kannst du neue Funkflugzeuge erhalten, indem du die Waffenkisten sammest.",
+["On the Desert Planet, Hog Solo found some time to play with his RC plane..."]="Auf dem Wüstenplaneten hat Igel Einsam etwas Zeit gefunden, um mit seinem Funkflugzeug zu spielen.",
+["Level 1 clear!"]="Level 1 abgeschlossen!",
+["Level 2 clear!"]="Level 2 abgeschlossen!",
+["Congratulations, you are the best!"]="Gratulation, du bist der Beste!",
+["You have destroyed all the targets"]="Du hast alle Ziele zerstört.",
+["You are indeed the best PAotH pilot"]="Du bist wirklich der beste PAdI-Pilot.",
+["Next time you play \"Searching in the dust\" you'll have an RC plane available"]="Das nächste Mal, wenn du die Mission »Suche im Staub« spielst, bekommst du ein Funkflugzeug.",
+["You have to destroy all the targets"]="Du musst alle Ziele zerstören.",
+["You will fail if you run out of ammo and there are still targets available"]="Du wirst verlieren, wenn du keine Munition mehr hast und immer noch Ziele übrigbleiben.",
+["The big bang"]="Der Urknall",
+["Find a way to detonate all the explosives and stay alive!"]="Finde einen Weg, alle Sprengstoffe zu detonieren und bleib am Leben!",
+["Red areas are indestructible"]="Rote Bereiche sind unzerstörbar.",
+["Green areas aren't portal enabled"]="Grüne Bereiche sind portalabweisend.",
+["You have to destroy all the explosives without dying!"]="Du musst alle Sprengstoffe zerstören, ohne zu sterben!",
+["Congratulations, you have saved Hogera!"]="Gratulation, du hast Hogera gerettet!",
+["Hogera is safe!"]="Hogera ist in Sicherheit!",
+["Chasing the blue hog"]="Jag' den blauen Igel",
+["Use the rope in order to catch the blue hedgehog"]="Benutze das Seil, um den blauen Igel zu fangen.",
+["You have to stand very close to him"]="Du musst sehr nahe an ihm stehen.",
+["Crazy Runner"]="Verrückter Renner",
+["On the other side of the moon..."]="Auf der anderen Seite des Mondes …",
+["So you are interested in Professor Hogevil"]="Also bist du in Professor Bösigel interessiert.",
+["We'll play a game first"]="Wir spielen zuerst ein Spiel.",
+["I'll let you know whatever I know about him if you manage to catch me 3 times"]="Ich lass dich wissen, was ich über ihn weiß, wenn du es schaffst, mich 3 mal zu fangen.",
+["Let's go!"]="Los geht's!",
+["The truth about Professor Hogevil"]="Die Wahrheit über Professor Bösigel",
+["Amazing! I was never beaten in a race before!"]="Großartig! Ich wurde zuvor noch nie in einem Wettlauf geschlagen!",
+["So, let me tell you what I know about Professor Hogevil..."]="Also, lass mich erzählen, was ich über Professor Bösigel weiß.",
+["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time"]="Professor Bösigel, früher bekannt als Jakobus Iglus, arbeitete in meiner Zeit für PAdI.",
+["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device"]="Er war der Laborassistent von Dr. Gutigeln, dem Erfinder des Antischwerkraftgeräts.",
+["During the final testing of the device an accident happened"]="Während des letzten Tests des Gerätes ist ein Unfall passiert.",
+["In this accident Professor Hogevil lost all his spines on his head!"]="Bei diesem Unfall hat Professor Bösigel all seine Stacheln auf seinem Kopf verloren!",
+["That's why he always wears a hat since then"]="Deshalb trägt er seit dem immer einen Hut.",
+["After that incident he went underground and started working on his plan to steal the device"]="Nach dem Unfall ging er in den Untergrund und arbeitete an seinem Plan, um das Gerät zu stehlen.",
+["He is a very tough and very determined hedgehog. I would be extremely careful if I were you"]="Er ist ein sehr starker und willensstarker Igel. An deiner Stelle wäre ich sehr vorsichtig.",
+["I should go now, goodbye!"]="Ich sollte jetzt gehen. Tschüss!",
+["Go get him again"]="Los, hol ihn dir wieder!",
+["You got me"]="Du hast mich.",
+["Too slow! Try again..."]="Zu langsam! Versuch es nochmal.",
+["You have to catch the other hog 3 times"]="Du musst den anderen Igel 3 mal fangen.",
+["The time that you have left when you reach the blue hedgehog will be added to the next turn"]="Deine Verbleibende Zeit wird zu deinem nächsten Zug addiert, sobald du den blauen Igel erreichst.",
+["Each turn you'll have only one rope to use"]="In jedem Zug kannst du nur ein Seil benutzen.",
+["You'll lose if you die or if your time is up"]="Du verlierst, wenn du stirbst oder deine Zeit abläuft.",
+["Congratulations, you are the fastest!"]="Gratulation, du bist der Schnellste!",
+["You have managed to catch the blue hedgehog in time"]="Du hast es geschafft, den blauen Igel rechtzeitig zu fangen.",
+["Brainiac"]="Hirni",
+["Corpsemonger"]="Leichenschänder",
+["Femur Lover"]="Schenkellieber",
+["Glark"]="Glark",
+["Bonely"]="Knochi",
+["Rot Molester"]="Rottiger Störenfried",
+["Bloodrocutor"]="Blutfrierer",
+["Muscle Dissolver"]="Muskellöser",
+["Bloodsucker"]="Blutsauger",
+["The Shadow Falls"]="Die Schattenfälle",
+["The Showdown"]="Das Showdown",
+["Save Leaks A Lot!|Hint: The Switch utility might be of help to you."]="Rette Undichte Stelle!|Tipp: Die Igelwahl könnte behilflich sein.",
+["Play with me!"]="Spiel mit mir!",
+["Defend yourself!|Hint: You can get tips on using weapons by moving your mouse over them in the weapon selection menu"]="Verteidige dich!|Tipp: Du kannst Tipps über die Benutzung der Waffen erhalten, indem du im Waffenauswahlmenü mit dem Mauszeiger auf sie zeigst.",
+["Why do you not like me?"]="Warum magst du mich nicht?",
+["Obliterate them!|Hint: You might want to take cover..."]="Vernichte sie!|Tipp: Du solltest in Deckung gehen.",
+["The Dilemma"]="Das Dilemma",
+["Choose your side! If you want to join the strange man, walk up to him.|Otherwise, walk away from him. If you decide to att...nevermind..."]="Wähl deine Seite! Wenn du dem seltsamen Mann beitreten willst, geh zu ihm hin.|Geh ansonsten von ihm fort. Wenn du angr… Vergiss es!",
+["The walk of Fame"]="Die Ruhmesmeile",
+["Return to Leaks A Lot! If you get stuck, press [Precise] to try again!"]="Kehr zu Undichte Stelle zurück! Wenn du steckenbleibst, drücke [Genaues Zielen], um es erneut zu versuchen!",
+["The Individualist"]="Der Individualist",
+["Defeat the cannibals!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"]="Besiege die Kannibalen!|Granatentipp: Setze den Timer mit [1-5], ziele mit [Hoch]/[Runter] und halte [Leer], um die Stärke zu setzen.",
+["Pfew! That was close!"]="Puh! Das war knapp!",
+["Where did you get the exploding apples and the magic bow that shoots many arrows?"]="Woher hast du die explodierenden Äpfel und den magischen Bogen, der so viele Pfeile verschießt?",
+["Where did you get the exploding apples?"]="Woher hast du den explodierenden Apfel?",
+["Where did you get the magic bow that shoots many arrows?"]="Woher hast du den magischen Bogen, der so viele Pfeile verschießt?",
+["Did you warn the village?"]="Hast du das Dorf gewarnt?",
+["No, I came back to help you out..."]="Nein, ich kam zurück, um dir zu helfen.",
+["Uhm...I met one of them and took his weapons."]="Ähm, ich hab einen von ihnen getroffen und nahm seine Waffen.",
+["We should head back to the village now."]="Wir sollten zum Dorf zurückkehren.",
+["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."]="Nach dem Schock, der vom feindlichen Spion ausgelöst wurde, gingen Undichte Stelle und Dichte Wolke zur Entspannung auf die Jagd.",
+["Little did they know that this hunt will mark them forever..."]="Sie ahnten nicht, dass diese Jagd sie für immer zusammenschweißen würde.",
+["I have no idea where that mole disappeared...Can you see it?"]="Ich habe keine Ahnung, wohin dieser Maulwurf verschwand. Kannst du ihn sehen?",
+["Nope. It was one fast mole, that's for sure."]="Nee. Es war ein schneller Maulwurf, das ist klar.",
+["Please, stop releasing your \"smoke signals\"!"]="Bitte hör mit deinen »Rauchzeichen« auf!",
+["You're terrorizing the forest...We won't catch anything like this!"]="Du terrorisierst den Wald. Wir werden auf diese Weise nichts fangen!",
+["I can't believe it worked!"]="Ich kann nicht glauben, dass es funktioniert hat!",
+["That shaman sure knows what he's doing!"]="Dieser Schamane weiß genau, was er tut!",
+["Yeah...I think it's a 'he', lol."]="Ja, ich glaube, dass es ein »er« ist. (lach)",
+["It wants our brains!"]="Es will unsere Gehirne!",
+["Not you again! My head still hurts from last time!"]="Nicht du schon wieder! Mein Kopf tut mir immer noch vom letzten Mal weh!",
+["Did you see him coming?"]="Hast du ihn kommen sehen?",
+["No. Where did he come from?"]="Nein. Woher kam er?",
+["Are we there yet?"]="Sind wir schon da?",
+["This must be some kind of sorcery!"]="Das muss wohl eine Art Zauberei sein!",
+["I thought their shaman died when he tried our medicine!"]="Ich dachte, ihr Schamane starb, als er unsere Medizin probierte.",
+["I saw it with my own eyes!"]="Ich sah es mit meinen eigenen Augen!",
+["Then how do they keep appearing?"]="Also woher kommen sie?",
+["It's impossible to communicate with the spirits without a shaman."]="Es ist unmöglich, ohne einen Schamanen mit den Geistern zu kommunizieren.",
+["We need to warn the village."]="Ich muss das Dorf warnen.",
+["What a ride!"]="Was für eine Reise!",
+["We can't defeat them!"]="Wir können sie nicht besiegen!",
+["I'll hold them off while you return to the village!"]="Ich halte sie zurück, während du zum Dorf zurückkehrst.",
+["30 minutes later..."]="30 Minuten später …",
+["Greetings, cloudy one!"]="Grüße, du Wolkiger!",
+["I have come to make you an offering..."]="Ich kam, um dir ein Angebot zu machen.",
+["You are given the chance to turn your life around..."]="Ich gebe dir die Chance, dein Leben auf den Kopf zu stellen.",
+["If you agree to provide the information we need, you will be spared!"]="Wenn du einverstanden bist, uns die Information, die wir brauchen, zu geben, wirst du verschont!",
+["Have no illusions, your tribe is dead, indifferent of your choice."]="Mach dir keine Hoffnungen, dein Stamm ist tot, unabhängig von deiner Entscheidung.",
+["If you decide to help us, though, we will no longer need to find a new governor for the island."]="Wenn du uns helfen willst, brauchen wir für diese Insel keinen neuen Anführer zu suchen.",
+["If you know what I mean..."]="Wenn du verstehst, was ich meine.",
+["So? What will it be?"]="Also? Was ist deine Entscheidung?",
+["Great choice, Steve! Mind if I call you that?"]="Großartige Entscheidung, Stefan! Stört es dich, wenn ich dich so nenne?",
+["Whatever floats your boat..."]="Worauf immer du Lust hast.",
+["Great! You will be contacted soon for assistance."]="Gut! Du wirst schon bald für Unterstützung benachrichtigt.",
+["In the meantime, take these and return to your \"friend\"!"]="In der Zwischenzeit, nimm diese und kehre zu deinem »Freund« zurück!",
+["Your death will not be in vain, Dense Cloud!"]="Dein Tod wird nicht ungesühnt bleiben, Dichte Wolke!",
+["You will be avenged!"]="Du wirst gerächt!",
+["I see..."]="Ich verstehe …",
+["Remember this, pathetic animal: when the day comes, you will regret your blind loyalty!"]="Denk dran, du erbärmliches Tier: Wenn der Tag gekommen ist, wirst du deine blinde Loyalität bereuen!",
+["You just committed suicide..."]="Du hast gerade Selbstmord begangen.",
+["If you say so..."]="Wenn du es sagst …",
+["Dude, we really need a new shaman..."]="Mann, wir brauchen wirklich einen neuen Schamanen.",
+["It's over..."]="Es ist vorbei.",
+["Let's head back to the village!"]="Lass uns zurück zum Dorf gehen!",
+["Really?! You thought you could harm me with your little toys?"]="Wirklich? Du dachtest, du könntest mich mit deinen kleinen Spielzeugen verletzen?",
+["You're pathetic! You are not worthy of my attention..."]="Du bist erbärmlich! Du hast meine Aufmerksamkeit nicht verdient.",
+["Actually, you aren't worthy of life! Take this..."]="Eigentlich hast du nicht das Recht, zu leben! Nimm das!",
+["Incredible..."]="Unglaublich.",
+["I wonder where Dense Cloud is..."]="Ich frag mich, wo Dichte Wolke ist.",
+["I can't wait any more, I have to save myself!"]="Ich kann nicht länger waren, ich muss selber zur Hilfe eilen!",
+["Where are all these crates coming from?!"]="Woher kommen all die Kisten?!",
+["I have to get back to the village!"]="Ich muss zum Dorf zurückkehren!",
+["Dense Cloud must have already told them everything..."]="Dichte Wolke muss ihnen bereits alles gesagt haben.",
+["Natives"]="Eingeborene",
+["Ramon"]="Ramon",
+["Leaks A Lot"]="Undichte Stelle",
+["Dense Cloud"]="Dichte Wolke",
+["Spiky Cheese"]="Stachliger Käse",
+["Weaklings"]="Schwächlinge",
+["Stronglings"]="Stärklinge",
+["011101001"]="011101001",
+["Y3K1337"]="Y3K1337",
+["Under Construction"]="Baustelle",
+["To place a girder, select it, use [Left] and [Right] to select angle and length, place with [Left Click]"]="Um einen Träger zu platzieren, wähle ihn, benutze [Links] und [Rechts], um den Winkel und die Länge zu wählen, platziere ihn mit [Linksklick].",
+["A little gift from the cyborgs"]="Ein kleines Geschenk von den Cyborgs",
+["The guardian"]="Der Wächter",
+["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"]="Beschütze dich!|Granatentipp: Setze den Timer mit [1-5], ziele mit [Hoch]/[Runter] und halte [Leer], um die Stärke zu setzen.",
+["...and so the cyborgs took over the world..."]="Und so eroberten die Cyborgs die Welt …",
+["The First Encounter"]="Das erste Zusammentreffen",
+["Survive!|Hint: Cinematics can be skipped with the [Precise] key."]="Überlebe!|Tipp: Zwischensequenzen können mit der [Genaues Zielen]-Taste übersprungen werden.",
+["Fiery Water"]="Feuerwasser",
+["Raging Buffalo"]="Wütender Büffel",
+["Righteous Beard"]="Redlicher Bart",
+["Fell From Grace"]="Fiel in Ungnade",
+["Wise Oak"]="Weise Eiche",
+["Eagle Eye"]="Adlerauge",
+["Flaming Worm"]="Flammenwurm",
+["Brain Teaser"]="Hirnreiz",
+["Bone Jackson"]="Knochen-Ede",
+["Gimme Bones"]="Gib Knochen",
+["Hedgibal Lecter"]="Iglibal Lector",
+["Bloodpie"]="Blutkuchen",
+["Scalp Muncher"]="Skalpknabberer",
+["Back Breaker"]="Rückenbrecher",
+["Dahmer"]="Dahmer",
+["Meiwes"]="Meiwes",
+["Ear Sniffer"]="Ohrenschnüffler",
+["Regurgitator"]="Hochwürger",
+["Muriel"]="Muriel",
+["Let them have a taste of my fury!"]="Lasst sie von meinem Zorn kosten!",
+["There's more of them? When did they become so hungry?"]="Es gibt mehr von ihnen? Seit wann wurden sie so hungrig?",
+["We are indeed."]="Das sind wir in der Tat.",
+["I think we are safe here."]="Ich glaub, hier sind wir in Sicherheit.",
+["I'm...alive? How? Why?"]="Ich lebe? Wie? Warum?",
+["But why would they help us?"]="Aber warum würden sie uns helfen?",
+["It must be the aliens!"]="Es müssen diese Außerirdischen sein!",
+["You just appeared out of thin air!"]="Du tauchtest aus dem Nichts auf!",
+["But...we died!"]="Aber … wir sind gestorben!",
+["This must be the caves!"]="Dies müssen die Höhlen sein!",
+["Dude, where are we?"]="He, wo sind wir?",
+["Why would they do this?"]="Warum würden sie das tun?",
+["It must be the aliens' deed."]="Das muss die Tat der Außerirdischen sein.",
+["Do not laugh, inexperienced one, for he speaks the truth!"]="Lach nicht, Unerfahrener, da er die Wahrheit spricht!",
+["Yeah, sure! I died. Hillarious!"]="Ja, sicher! Ich starb. Urkomisch!",
+["You're...alive!? But we saw you die!"]="Du … lebst? Aber wir sahen dich sterben!",
+["???"]="???",
+["Wow, what a dream!"]="Wow, was für ein Traum!",
+["Dude, that's so cool!"]="Junge, das ist so cool!",
+["But that's impossible!"]="Aber das ist unmöglich!",
+["It was not a dream, unwise one!"]="Es war kein Traum, du Tor!",
+["Exactly, man! That was my dream."]="Genau! Das war mein Traum.",
+["Dude, wow! I just had the weirdest high!"]="Junge, wow! Ich hatte gerade das seltsamste Erlebnis!",
+["The answer is...entertaintment. You'll see what I mean."]="Die Antwort lautet: Unterhaltung. Du wirst verstehen, was ich meine.",
+["You're probably wondering why I bought you back..."]="Ihr fragt euch bestimmt, warum ich euch zurückgebracht habe.",
+["What shall we do with the traitor?"]="Was sollen wir mit dem Verräter tun?",
+["Here, let me help you!"]="Hier, lass mich dir helfen!",
+["I forgot that she's the daughter of the chief, too..."]="Ich vergaß, dass sie auch die Tochter des Häuptlings ist.",
+["You killed my father, you monster!"]="Du hast meinen Vater umgebracht, du Monster!",
+["Look, I had no choice!"]="Versteh doch, ich hatte keine Wahl!",
+["You have been giving us out to the enemy, haven't you!"]="Du hast uns an den Feind verkauft, nicht wahr?",
+["You're a pathetic liar!"]="Du bist ein dreckiger Lügner!",
+["Interesting! Last time you said you killed a cannibal!"]="Interessant. Das letzte mal sagtest du, dass du einen Kannibalen getötet hast.",
+["I told you, I just found them."]="Ich sag's dir, ich habe sie gerade erst gefunden.",
+["Where did you get the weapons in the forest, Dense Cloud?"]="Woher hast du die Waffen im Wald gefunden, Dichte Wolke?",
+["Not now, Fiery Water!"]="Nicht jetzt, Feuerwasser!",
+["I can't believe what I'm hearing!"]="Ich kann nicht glauben, was ich höre!",
+["You know what? I don't even regret anything!"]="Weißt du was? Ich bereue nichts!",
+["In fact, you are the only one that's been acting strangely."]="Tatsächlich bist du der Einzige, der sich seltsam benahm.",
+["Are you accusing me of something?"]="Beschuldigst du mich?",
+["Seems like every time you take a \"walk\", the enemy find us!"]="Es scheint so, dass jedes Mal, wenn du »Spazieren gehst«, findet uns der Feind!",
+["You know...taking a stroll."]="Du weißt schon … umherbummeln.",
+["Where have you been?!"]="Wo warst du?!",
+["You won't believe what happened to me!"]="Ihr glaubt nicht, was mir passiert ist!",
+["Hey, guys!"]="Hey, Leute!",
+["There must be a spy among us!"]="Es muss ein Spion unter uns sein!",
+["We made sure noone followed us!"]="Wir hatten sichergestellt, dass uns niemand folgte!",
+["What? Here? How did they find us?!"]="Was? Hier? Wie haben sie uns gefunden?",
+["Look out! There's more of them!"]="Passt auf! Da sind noch mehr von ihnen!",
+["What a strange feeling!"]="Was für ein seltsames Gefühl!",
+["I need to warn the others."]="Ich muss die anderen warnen.",
+["If only I had a way..."]="Wenn ich nur wüsste, wie.",
+["Oh, silly me! I forgot that I'm the shaman."]="Ach, ich Dummkopf! Ich vergaß, dass ich der Schamane bin.",
+["I sense another wave of cannibals heading our way!"]="Ich nehme eine Welle von Kannibalen, die auf uns zu gehen!",
+["I feel something...a place! They will arrive near the circles!"]="Ich fühle etwas … einen Ort! Sie werden in der Nähe der Kreise auftauchen!",
+["We need to prevent their arrival!"]="Wir müssen ihre Ankunft verhindern!",
+["Go, quick!"]="Los, schnell!",
+["I want to see how it handles this!"]="Ich will sehen, wie es damit klar kommt.",
+["I sense another wave of cannibals heading my way!"]="Ich nehme eine weitere Welle in meine Richtung wahr!",
+["I need to prevent their arrival!"]="Ich muss ihre Ankunft verhindern!",
+["Oh, my! This is even more entertaining than I've expected!"]="Haha! Das ist sogar noch lustiger, als ich erwartet hatte!",
+["You might want to find a way to instantly kill arriving cannibals!"]="Du könntest eine Möglichkeit finden, um die ankommenden Kannibalen sofort zu töten.",
+["I believe there's more of them."]="Ich glaube, es gibt noch mehr von ihnen.",
+["I marked the place of their arrival. You're welcome!"]="Ich habe ihren Ankunftsort markiert. Gern geschehen!",
+["Why me?!"]="Warum ich?",
+["He won't be selling us out anymore!"]="Er wird uns nicht mehr verraten!",
+["That's for my father!"]="Das ist für meinen Vater!",
+["Let's show those cannibals what we're made of!"]="Lass uns diesen Kannibalen zeigen, aus welchem Holz wir geschnitzt sind!",
+["We'll spare your life for now!"]="Wir werden dein Leben verschonen. Noch.",
+["May the spirits aid you in all your quests!"]="Mögen die Geiste dich in all deinen Aufgaben begleiten!",
+["I just don't want to sink to your level."]="Ich will nicht auf dein Niveau herabsinken.",
+["Let us help, too!"]="Lass uns auch helfen!",
+["No. You and the rest of the tribe are safer there!"]="Nein. Du und der Rest deines Stammes sind hier sicherer!",
+["They killed "]="Sie töteten ",
+["! You bastards!"]="! Ihr Bastarde!",
+["! Why?!"]="! Wieso?",
+["That was just mean!"]="Das war einfach nur gemein!",
+["Oh no, not "]="Oh nein, nicht ",
+["Why "]="Warum, ",
+["? Why?"]="? Warum",
+["What has "]="Was hat dir ",
+[" ever done to you?!"]=" jemals angetan?!",
+["Backstab"]="Verrat",
+["The food bites back"]="Das Essen beißt zurück",
+["Defeat the cannibals"]="Besiege die Kannibalen",
+["Drills"]="Bohrer",
+["You have 7 turns until the next wave arrives.|Make sure the arriving cannibals are greeted appropriately!|If the hog dies, the cause is lost.|Hint: you might want to use some mines..."]="Du hast 7 Züge, bis die nächste Welle ankommt.|Stell sicher, dass die ankommenden Kannibalen auf die passende Weise begrüßt werden.|Wenn der Igel stirbst, die die Mission verloren.|Tipp: Vielleicht solltest du ein paar Minen benutzen.",
+["Judas"]="Judas",
+["Kill the traitor...or spare his life!|Kill him or press [Precise]!"]="Töte den Verräter … oder verschone ihn!|Töte ihn oder drücke [Genaues Zielen]!",
+["Brutus"]="Brutus",
+["You have failed to save the tribe!"]="Du hast es nicht geschafft, den Stamm zu retten!",
+["Tribe"]="Stamm",
+["You have killed an innocent hedgehog!"]="Du hast einen unschuldigen Igel getötet!",
+["That ought to show them!"]="Das wird ihnen eine Lehre sein!",
+["Guys, do you think there's more of them?"]="Leute, glaubt ihr, dass es noch mehr von ihnen gibt?",
+["Where are they?!"]="Wo sind sie?!",
+["These primitive people are so funny!"]="Diese primitiven Leute sind so lustig!",
+["I need to find the others!"]="Ich muss die anderen finden!",
+["I have to follow that alien."]="Ich muss diesem Außerirdischen finden.",
+["Assault Team"]="Sturmtruppe",
+["Reinforcements"]="Verstärkung",
+["Unit 334a$7%;.*"]="Einheit 334a$7%;,*",
+["First Blood"]="Der erste Zusammenstoß",
+["First Steps"]="Erste Schritte",
+["Press [Left] or [Right] to move around, [Enter] to jump"]="Drücke [Links] oder [Rechts] zum Bewegen, [Eingabe] zum Springen.",
+["A leap in a leap"]="Ein Sprung in einem Sprung",
+["Go on top of the flower"]="Geh auf die Spitze der Blume",
+["Hightime"]="Hoch hinaus",
+["Collect the crate on the right.|Hint: Select the rope, [Up] or [Down] to aim, [Space] to fire, directional keys to move.|Ropes can be fired again in the air!"]="Sammle die Kiste auf der rechten Seite ein.|Tipp: Wähle das Seil, [Hoch] oder [Runter] zum Zielen, [Leer] zum feuern, Richtungstasten zum bewegen.|Seile können in der Luft erneut geschossen werden.",
+["Omnivore"]="Allesfresser",
+["Get on the head of the mole"]="Geh auf den Kopf des Maulwurfs",
+["The Leap of Faith"]="Der Mutsprung",
+["Use the parachute ([Space] while in air) to get the next crate"]="Benutze den Fallschirm ([Leer] drücken, wenn in der Luft), um die nächste Kiste zu erhalten.",
+["The Rising"]="Der Aufstieg",
+["Do the deed"]="Tu deine Pflicht",
+["The Slaughter"]="Die Schlachtung",
+["Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air."]="Zerstör die Ziele!|Tipp: Wähle das Shoryuken und drücke [Leertaste]|PS: Du kannst es in der Luft benutzen.",
+["The Crate Frenzy"]="Der Kistenrausch",
+["Collect the crates within the time limit!|If you fail, you'll have to try again."]="Sammle die Kisten innerhalb der Zeitbegrenzung ein!|Wenn du versagst, musst es erneut versuchen.",
+["The Ultimate Weapon"]="Die Ultimative Waffe",
+["Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot"]="Zerstöre die Ziele!|Tipp: [Hoch], [Runter] zum Zielen, [Leer] zum Schießen",
+["The First Blood"]="Der erste Zusammenstoß",
+["Kill the cannibal!"]="Töte den Kannibalen!",
+["KILL IT!"]="TÖTE ES!",
+["Watch your steps, young one!"]="Pass auf deine Schritte auf, Jüngling!",
+["Why do men keep hurting me?"]="Warum tun mir Männer ständig weh?",
+["Violence is not the answer to your problems!"]="Gewalt ist nicht die Antwort auf deine Probleme!",
+["Once upon a time, on an island with great natural resources, lived two tribes in heated conflict..."]="Es waren einmal zwei Stämme, die lebten auf einer Insel mit vielen natürlichen Rohstoffen und waren in einem bitteren Konflikt …",
+["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."]="Unser Stamm war friedlich und verbrachte die Zeit mit der Jagd, Übungen und den kleinen Freuden des Lebens.",
+["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."]="Der andere Stamm bestand nur aus Kannibalen, sie verbrachten ihre Zeit damit, die Organe anderer Igel aufzufressen.",
+["And so it began..."]="Und so fing es an …",
+["What are you doing at a distance so great, young one?"]="Was tut du hier in so großer Entfernung, Jüngling?",
+["Come closer, so that your training may continue!"]="Komm näher, damit deine Übungen fortfahren können!",
+["This is it! It's time to make Fell From Heaven fall for me..."]="Das ist es! Es ist Zeit, um Fiel Vom Himmel in mich verfallen zu lassen …",
+["I can see you have been training diligently."]="Ich sehe, dass du fleißig geübt hast.",
+["The wind whispers that you are ready to become familiar with tools, now..."]="Der Wind flüstert, dass du jetzt bereit bist, mit den Werkzeugen vertraut zu werden.",
+["Open that crate and we will continue!"]="Öffne diese Kiste und wir werden fortfahren!",
+["He moves like an eagle in the sky."]="Er bewegt sich wie ein Adler in der Luft.",
+["See that crate farther on the right?"]="Siehst du die Kiste weiter rechts?",
+["Swing, Leaks A Lot, on the wings of the wind!"]="Schwing, Undichte Stelle, auf den Flügeln des Windes!",
+["His arms are so strong!"]="Seine Arme sind so stark!",
+["Use the rope to get on the head of the mole, young one!"]="Benutze das Seil, um auf den Kopf des Maulwurfst zu gelangen, Jüngling!",
+["Worry not, for it is a peaceful animal! There is no reason to be afraid..."]="Hab keine Angst, da es ein friedliebendes Tier ist. Es gibt keinen Grund, Angst zu haben.",
+["We all know what happens when you get frightened..."]="Wir wissen alle, was passiert, wenn du Angst kriegst.",
+["So humiliating..."]="Welch Demütigung!",
+["Perfect! Now try to get the next crate without hurting yourself!"]="Perfekt! Jetzt versuch, zur nächsten Kiste zu gelangen, ohne dich zu verletzen!",
+["The giant umbrella from the last crate should help break the fall."]="Der Riesenschirm von der letzten Kiste sollte helfen, den Sturz abzubremsen.",
+["He's so brave..."]="Er ist so mutig.",
+["I see you have already taken the leap of faith."]="Ich sehe, du hast bereits den Mutsprung absolviert.",
+["Get that crate!"]="Hol dir die Kiste!",
+["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."]="Großartig! Du bist immer noch so trocken wie der Kadaver eines Adlers nach einer Woche in der Wüste.",
+["You probably know what to do next..."]="Du weißt vermutlich, was als nächstes zu tun ist.",
+["It is time to practice your fighting skills."]="Es ist Zeit, dein Kämpfen zu üben.",
+["Imagine those targets are the wolves that killed your parents! Take your anger out on them!"]="Stell dir vor, diese Zielscheiben sind die Wölfe, die eine Eltern getötet haben! Lass deine Wut an ihnen aus!",
+["I hope you are prepared for a small challenge, young one."]="Ich hoffe, du bist für eine kleine Herausforderung gewappnet, Jüngling.",
+["Your movement skills will be evaluated now."]="Deine Fortbewegungsfähigkeiten werden nun getestet.",
+["Collect all the crates, but remember, our time in this life is limited!"]="Sammle all die Kisten ein, aber denk dran, unsere Zeit in diesem Leben ist begrenzt!",
+["How difficult would you like it to be?"]="Wie schwer möchtest du es haben?",
+["Hmmm...perhaps a little more time will help."]="Hmmm. Vielleicht wird etwas mehr Zeit helfen.",
+["The spirits of the ancerstors are surely pleased, Leaks A Lot."]="Die Geister der Ahnen sind sicherlich erfreut, Undichte Stelle.",
+["You have proven yourself worthy to see our most ancient secret!"]="Du hast dich bewährt, um unser ältestes Geheimnis zu sehen.",
+["The weapon in that last crate was bestowed upon us by the ancients!"]="Die Waffe in der letzten Kiste wurde uns von den Urahnen übergeben!",
+["Use it with precaution!"]="Benutze sie weise.",
+["What do my faulty eyes observe? A spy!"]="Was sehen meine alten Augen? Einen Spion!",
+["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"]="Zerstöre ihn, Undichte Stelle! Er ist verantwortlich für viele Tote auf unserer Seite!",
+["Oh, my!"]="Ohje!",
+["I see you would like his punishment to be more...personal..."]="Ich sehe, du möchtest, dass seine Bestrafung etwas … persönlicher ausfällt.",
+["I'm certain that this is a misunderstanding, fellow hedgehogs!"]="Ich bin mir sicher, dass das ein Missverständnis ist, liebe Igel.",
+["If only I were given a chance to explain my being here..."]="Wenn ich nur eine Gelegenheit hätte, um meine Anwesenheit zu erklären …",
+["Do not let his words fool you, young one! He will stab you in the back as soon as you turn away!"]="Lass dich nicht von seinen Worten einlullen, Jüngling! Er wird dich hinterrücks ermorden, sobald du ihm den Rücken zuwendest!",
+["Here...pick your weapon!"]="Hier … wähl deine Waffe!",
+["Yes, yeees! You are now ready to enter the real world!"]="Ja, Jaaa! Jetzt bist du bereit, die wirkliche Welt zu betreten!",
+["What?! A cannibal? Here? There is no time to waste! Come, you are prepared."]="Was?! Ein Kannibale? Hier? Es gibt keine Zeit zu verlieren! Komm, du bist vorbereitet.",
+["The wasted youth"]="Die vergeudete Jugend",
+["Leaks A Lot gave his life for his tribe! He should have survived!"]="Undichte Stelle gab sein Leben für seinen Stamm! Er hätte überleben sollen!",
+["After Leaks A Lot betrayed his tribe, he joined the cannibals..."]="Nachdem Undichte Stelle seinen Stamm betrogen hatte, trat er den Kannibalen bei.",
+["Step By Step"]="Schritt für Schritt",
+["Hint: Double Jump - Press [Backspace] twice"]="Tipp: Doppelsprung – Drück [Rücktaste] 2 Mal",
+["As the challenge was completed, Leaks A Lot set foot on the ground..."]="Nachdem die Herausforderung abgeschlossen war, setzte Undichte Stelle einen Fuß auf den Boden.",
+["And so happenned that Leaks A Lot failed to complete the challenge! He landed, pressured by shame..."]="Und somit versagte Undichte Stelle dabei, die Herausforderung abzuschließen. Unter Schande landete er.",
+["The Bull's Eye"]="Ins Schwarze",
+["[Up], [Down] to aim, [Space] to shoot!"]="[Hoch], [Runter] zum Zielen, [Leer] zum Schießen.",
+["The Torment"]="Die Pein",
+["Select difficulty: [Left] - easier or [Right] - harder"]="Wähl einen Schwierigkeitsgrad: [Links] – leichter oder [Rechts] – schwerer",
+["Fell From Heaven"]="Fiel Vom Himmel",
+["Cannibals"]="Kannibalen",
+["A Classic Fairytale"]="Ein typisches Märchen",
+["Finish your training|Hint: Animations can be skipped with the [Precise] key."]="Schließe deine Übungen ab.|Tipp: Animationen können mit der [Genaues Zielen]-Taste übersprungen werden.",
+["Zork"]="Zork",
+["Steve"]="Steffen",
+["Jack"]="Jochen",
+["Lee"]="Leo",
+["Elmo"]="Elmo",
+["Rachel"]="Ramona",
+["Syntax Errol"]="Syntaxfehlel",
+["Segmentation Paul"]="Se Gmentf Ehler",
+["Unexpected Igor"]="Ausnahmefelix",
+["Jeremiah"]="Jeremias",
+["Yeah, take that!"]="Jawohl, nimm das!",
+["Bullseye"]="Volltreffer!",
+["Die, die, die!"]="Stirb, stirb, stirb!",
+["With the rest of the tribe gone, it was up to "]="Ohne den Rest des Stammes, hing es von ",
+[" to save the village."]=" ab, um das Dorf zu retten.",
+["But it proved to be no easy task!"]="Aber es war keine einfache Aufgabe!",
+["What a strange cave!"]="Was für eine seltsame Höhle!",
+["Now how do I get on the other side?!"]="Aber wie komme ich auf die andere Seite?!",
+["Dude, what's this place?!"]="Junge, was ist das für ein Ort?!",
+["And where's all the weed?"]="Und wo ist all das Gras?",
+["Is this place in my head?"]="Ist dieser Ort in meinem Kopf?",
+["I shouldn't have drunk that last pint."]="Ich sollte nicht die ganze Flasche ausgetrunken haben.",
+["Where did that alien run?"]="Wohin ist dieser Außerirdische gelaufen?",
+["When I find it..."]="Wenn ich ihn in die Finger kriege …",
+["This is typical!"]="Typisch!",
+["It's always up to women to clear up the mess men created!"]="Es bleibt immer an Frauen hängen, das Chaos, das Männer hinterlassen haben, aufzuräumen!",
+["What is this place?"]="Was ist dieser Ort?",
+["It doesn't matter. I won't let that alien hurt my daughter!"]="Es ist egal. Ich werde diesen Außerirdischen nicht meine Tochter weh tun lassen!",
+["Every single time!"]="Jedes Mal!",
+["How come in a village full of warriors, it's up to me to save it?"]="Wie kommt es, dass es immer an mir liegt, ein Dorf voller Krieger zu retten?",
+["Greetings, "]="Grüße, ",
+["As you can see, there is no way to get on the other side!"]="Wie du siehst, gibt es keinen Weg, um auf die andere Seite zu kommen.",
+["I wish to help you, "]="Ich möchte dir helfen, ",
+["Beware, though! If you are slow, you die!"]="Aber Vorsicht! Wenn du langsam bist, wirst du sterben!",
+["Talk about mixed signals..."]="Zuckerbrot und Peitsche …",
+["Well, that was a waste of time."]="Tja, das war wohl Zeitverschwendung.",
+["You bear impressive skills, "]="Du hast großartige Fähigkeiten, ",
+["However, my mates don't agree with me on letting you go..."]="Aber meine Freunde wollen dich nicht gehen lassen …",
+["I guess you'll have to kill them."]="Ich fürchte, du musst sie töten.",
+["Nice work, "]="Gute Arbeit, ",
+["As a reward for your performance, here's some new technology!"]="Als Belohnung für deine Leistung gebe ich dir eine neue Technologie!",
+["Use it wisely!"]="Benutze sie weise!",
+["Dragon's Lair"]="Die Höhle des Löwen",
+["Obstacle course"]="Hindernislauf",
+["In order to get to the other side, you need to collect the crates first.|"]="Um auf die andere Seite zu gelangen, musst du zuerst die Kisten einsammeln.|",
+["As the ammo is sparse, you might want to reuse ropes while mid-air.|"]="Da die Munition knapp ist, solltest du vielleicht Seile in der Luft wiederverwenden.|",
+["If you wish to restart the course, hold [Precise] while your turn ends (e.g with Skip)!|"]="Wenn du den Hindernislauf neustarten willst, drücke [Genaues Zielen], während dein Zug endet (z.B. mit Überspringen)!|",
+["The enemy can't move but it might be a good idea to stay out of sight!|"]="Der Feind kann sich nicht bewegen, aber es wäre besser, aus seiner Schusslinie zu bleiben!|",
+["You have "]="Du hast ",
+[" turns until Sudden Death! Better hurry!"]=" Züge bis zum Sudden Death! Beeilung!",
+["Kill the aliens!"]="Töte die Außerirdischen!",
+["The what?!"]="Die was?!",
+["Use the portal gun to get to the next crate, then use the new gun to get to the final destination!|"]="Benutze das Portalgewehr, um zur nächsten Kiste zu kommen, dann benutze das nächste Gewehr, um zum letzten Ziel zu kommen.|",
+["Portal hint: one goes to the destination, and one is the entrance.|"]="Portaltipp: Eins geht zum Ziel, und das andere ist der Eingang.|",
+["Teleport hint: just use the mouse to select the destination!"]="Teleportertipp: Benutze einfach die Maus, um das Ziel auszuwählen.",
+["I'm a ninja."]="Ich bin ein Ninja.",
+["Salvation was one step closer now..."]="Die Erlösung war nun einen Schritt näher.",
+["011101000"]="011101000",
+["Y Chwiliad"]="Y Chwiliad",
+["Find your tribe!|Cross the lake!"]="Finde deinen Stamm!|Überquere den Fluss!",
+["Turns until Sudden Death: "]="Züge bis zum Sudden Death: ",
+["John"]="Jonas",
+["Flesh for Brainz"]="Fleisch gegen Hirn",
+["Eye Chewer"]="Augenkauer",
+["Torn Muscle"]="Loser Muskel",
+["Nom-Nom"]="Mjam-Mjam",
+["Vedgies"]="Früchties",
+["Brain Blower"]="Hirnpuster",
+["Gorkij"]="Gorkidsch",
+["The Journey Back"]="Die Rückreise",
+["Collateral Damage"]="Kollateralschaden",
+["Save the princess by collecting the crate in under 12 turns!"]="Rette die Prinzessin, indem du die Kiste vor Ablauf von 12 Zügen einsammelst!",
+["Collateral Damage II"]="Kollateralschaden II",
+["Save Fell From Heaven!"]="Rette Fiel Vom Himmel!",
+["Get the crate on the other side of the island!|"]="Hol dir die Kiste auf der anderen Seite der Insel!|",
+["Hint: you might want to stay out of sight and take all the crates...|"]="Tipp: Du solltest vielleicht aus der Schusslinie bleiben und alle Kisten nehmen.|",
+["If you get stuck, use your Desert Eagle or restart the mission!|"]="Wenn du stecken bleibst, benutze deine Desert Eagle oder starte die Mission neu.|",
+["Leaks A Lot must survive!"]="Undichte Stelle muss überleben!",
+["Your hogs must survive!"]="Deine Igel müssen überleben.",
+["Adventurous"]="Abenteuerlich",
+["The Savior"]="Der Erlöser",
+["Get Dense Cloud out of the pit!"]="Hol Dichte Wolke aus der Grube!",
+["They never learn"]="Sie lernen es nie.",
+["Free Dense Cloud and continue the mission!"]="Befrei Dichte Wolke und setze die Mission fort!",
+["I just wonder where Ramon and Spiky disappeared..."]="Ich frage mich lediglich, wohin Ramon und Stachli verschwunden sind.",
+["He must be in the village already."]="Er muss schon im Dorf sein.",
+["I'd better get going myself."]="Ich geh jetzt besser weiter.",
+["Welcome, Leaks A Lot!"]="Willkommen, Undichte Stelle!",
+["I want to play a game..."]="Ich möchte ein Spiel spielen.",
+["Help me, please!!!"]="Hilfe! Zu Hilfe! Bitte!",
+["If you can get that crate fast enough, your beloved \"princess\" may go free."]="Wenn du diese Kiste schnell genug einsammelst, darfst du deine geliebte »Prinzessin« befreien.",
+["However, if you fail to do so, she dies a most violent death! Muahahaha!"]="Wenn du aber versagst, wird sie den grausamsten Tod sterben! Muhahahaha!",
+["Good luck...or else!"]="Viel Glück! Sonst …!",
+["Hey! This is cheating!"]="Hey, das ist geschummelt!",
+["I need to get to the other side of this island, fast!"]="Ich muss auf die andere Seite der Insel gelangen, und zwar schnell!",
+["With Dense Cloud on the land of shadows, I'm the village's only hope..."]="Jetzt, wo Dichte Wolke im Land der Schatten ist, bin ich des Dorfs einzige Hoffnung.",
+["However, if you fail to do so, she dies a most violent death, just like your friend! Muahahaha!"]="Aber wenn du versagst, wird sie den grausamsten Tod sterben, genau, wie dein Freund! Muhahahaha!",
+["You have failed to complete your task, young one!"]="Du hast versagt, Jüngling!",
+["It's time you learned that your actions have consequences!"]="Es ist Zeit, dass du lernst, dass dein Handeln Konsequenzen haben wird!",
+["No! Please, help me!"]="Nein! Bitte hilf mir!",
+["No! What have I done?! What have YOU done?!"]="Nein! Was habe ich getan?! Was hast DU getan?!",
+["Help me, Leaks!"]="Hilf mir, Undichte!",
+["But you said you'd let her go!"]="Aber du sagtest, dass du sie freilässt!",
+["And you believed me? Oh, god, that's cute!"]="Und du hast mir geglaubt? Ach Gottchen, das ist so süß!",
+["I won't let you kill her!"]="Ich werde nicht zulassen, dass du sie umbringst!",
+["Leaks A Lot, depressed for killing his loved one, failed to save the village..."]="Traurig darüber, sein Liebling getötet zu haben, versagte Undichte Stelle dabei, das Dorf zu retten.",
+["Thank you, oh, thank you, Leaks A Lot!"]="Danke, oh, danke, Undichte Stelle!",
+["How can I ever repay you for saving my life?"]="Wie kann ich es jemals wieder gutmachen, dass du mein Leben gerettet hast?",
+["There's nothing more satisfying for me than seeing you share your beauty with the world every morning, my princess!"]="Es gibt nichts befriedigenderes für mich, als dich jeden Morgen zu sehen, wie du deine Schönheit mit dem Rest der Welt teilst, meine Prinzessin!",
+["Let's go home!"]="Lasst uns nach Hause gehen!",
+["And so they discovered that cyborgs weren't invulnerable..."]="Und so fanden sie heraus, dass die Cyborgs nicht unverwundbar sind.",
+["All right, we just need to get to the other side of the island!"]="Okay, wir müssen einfach nur auf die andere Seite der Insel gelangen!",
+["We have no time to waste..."]="Wir haben keine Zeit zu verlieren.",
+["Well, well! Isn't that the cutest thing you've ever seen?"]="Sieh mal einer an! Ist das nicht das süßeste Ding, dass du jemals gesehen hast?",
+["Two little hogs cooperating, getting past obstacles..."]="Zwei Igelchen, sie arbeiten zusammen, bewältigen Hindernisse gemeinsam …",
+["Let me test your skills a little, will you?"]="Lass mich deine Fertigkeiten ein wenig testen, okay?",
+["Why are you doing this?"]="Warum tust du das?",
+["To help you, of course!"]="Natürlich um dir zu helfen!",
+["OH, COME ON!"]="ACH, KOMM!",
+["Let's see what your comrade does now!"]="Sehen wir mal, was dein Kamerad jetzt anstellt.",
+["Help me, please!"]="Hilf mir bitte!",
+["What are you doing? Let her go!"]="Was tust du? Lass sie gehen!",
+["Yeah? Watcha gonna do? Cry?"]="Ja und? Was willst du schon tun? Heulen?",
+["We won't let you hurt her!"]="Wir werden nicht zulassen, dass du ihr wehtust!",
+["Thank you, oh, thank you, my heroes!"]="Habt Dank, oh, habt Dank, meine Helden!",
+["There's nothing more satisfying to us than seeing you share your beauty..."]="Es gibt nichts befriedigenderes für uns, als dich jeden Morgen zu sehen, wie du deine Schönheit …",
+["... share your beauty with the world every morning, my princess!"]="…, ja, wie du deine Schönheit mit dem Rest der Welt teilst, meine Prinzessin!",
+["Dude, can you see Ramon and Spiky?"]="He, kannst du Ramon und Stachli sehen?",
+["No...I wonder where they disappeared?!"]="Nein. Ich frage mich, wohin sie verschwunden sind?!",
+["You couldn't possibly believe that after refusing my offer I'd just let you go!"]="Du kannst wohl nicht ernsthaft glauben, dass ich dich einfach laufen lassen, nachdem du mein Angebot ablehnst!",
+["You're funny!"]="Du bist lustig!",
+["There's nothing more satisfying to us than seeing you share your beauty with the world every morning, my princess!"]="Es gibt nichts befriedigenderes für uns, als dich jeden Morgen zu sehen, wie du deine Schönheit mit dem Rest der Welt teilst, meine Prinzessin!",
+["Cannibal Sentry"]="Kannibalenwache",
+["The village, unprepared, was destroyed by the cyborgs..."]="Das unvorbereitete Dorf wurde von den Cyborgs zerstört.",
+["The Tunnel Maker"]="Der Tunnelbauer",
+["Hint: Select the BlowTorch, aim and press [Fire]. Press [Fire] again to stop.|Don't blow up the crate."]="Tipp: Wähle den Schweißbrenner, ziele und drücke [Feuern]. Drücke [Feuern] erneut, um aufzuhören.|Spreng nicht die Kiste.",
+["The Moonwalk"]="Der Mondspaziergang",
+["Hint: Select the LowGravity and press [Fire]."]="Tipp: Wähle die niedrige Schwerkraft und drücke [Feuern].",
+["Slippery"]="Rutschig",
+["You'd better watch your steps..."]="Pass besser auf, wohin du trittst.",
+["Artur Detour"]="Artus Rück",
+["Led Heart"]="Geführtes Herz",
+["Orlando Boom!"]="Orlando Bumm!",
+["Nilarian"]="Nilarian",
+["Steel Eye"]="Stahlauge",
+["Rusty Joe"]="Rostjonas",
+["Hatless Jerry"]="Hutloser Igor",
+["Gas Gargler"]="Gasgurgler",
+["Leaderbot"]="Führboter",
+["Nancy Screw"]="Lockere Schraube",
+["Beep Loopers"]="Piepskreisler",
+["Corporationals"]="Kapitalista",
+["Name"]="Name",
+["Olive"]="Olive",
+["Brain Stu"]="Hirntopf",
+["Brainila"]="Hirnilia",
+["Salivaslurper"]="Speichelschlürfer",
+["Spleenlover"]="Milzlieber",
+["Thighlicker"]="Schenkelschlecker",
+["NomNom"]="Mjamjam",
+["Mindy"]="Intellekta",
+["Defeat the cannibals!|"]="Besiege die Kannibalen!|",
+["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."]="Versuche, den Häuptling zu beschützen! Du wirst nicht verlieren, wenn er stirbt, aber es ist ratsam, dass er überlebt.",
+["United We Stand"]="Gemeinsam sind wir stark",
+["Invasion"]="Invasion",
+["I'm so scared!"]="Ich hab solche Angst!",
+["Back in the village, after telling the villagers about the threat..."]="Zurück im Dorf, nachdem die Dorfbewohner vor der Gefahr gewarnt worden sind …",
+["Their buildings were very primitive back then, even for an uncivilised island."]="Ihre Gebäude waren damals sehr primitiv, selbst für eine unzivilisierte Insel.",
+["Young one, you are telling us that they can instantly change location without a shaman?"]="Jüngling, willst du uns etwa weiß machen, dass sie ihre Position sofort ändern können, ohne einen Schamanen?",
+["That is, indeed, very weird..."]="Das ist tatsächlich sehr merkwürdig.",
+["If they try coming here, they can have a taste of my delicious knuckles!"]="Wenn sie versuchen, hierher zukommen, können sie von meinen köstlichen Fäusten kosten!",
+["Haha!"]="Haha!",
+["I'm not sure about that!"]="Ich bin mir darüber nicht so sicher.",
+["They have weapons we've never seen before!"]="Sie haben Waffen, die wir noch nie zuvor gesehen haben!",
+["Luckily, I've managed to snatch some of them."]="Glücklicherweise konnte ich mir ein paar davon ergattern.",
+["Oops...I dropped them."]="Upps, ich habe sie fallen gelassen.",
+["They keep appearing like this. It's weird!"]="Sie tauchen einfach so auf. Es ist seltsam!",
+["Did anyone follow you?"]="Ist dir irgendjemand gefolgt?",
+["No, we made sure of that!"]="Nein, wir hatten extra aufgepasst.",
+["First aid kits?!"]="Erste-Hilfe-Koffer?",
+["I've seen this before. They just appear out of thin air."]="Ich hab das zuvor gesehen. Sie tauchen einfach aus dem Nichts auf.",
+["Hey guys!"]="Hey, Leute!",
+["Where have you been?"]="Wo warst du?",
+["Just on a walk."]="Nur spazieren.",
+["You have chosen the perfect moment to leave."]="Du hast den perfekten Augenblick ausgesucht, um zu gehen.",
+["HOW DO THEY KNOW WHERE WE ARE???"]="WOHER WISSEN SIE, WO WIR SIND?",
+["We have to protect the village!"]="Wir müssen das Dorf schützen!",
+["We can't hold them up much longer!"]="Wir können sie nicht länger aufhalten!",
+["We need to move!"]="Wir müssen weiter!",
+["But where can we go?"]="Aber wohin können wir gehen?",
+["To the caves..."]="Zu den Höhlen …",
+["Good idea, they'll never find us there!"]="Gute Idee, hier werden sie uns niemals finden!",
+["I need to move the tribe!"]="Ich muss den Stamm von hier fortführen.",
+["The caves are well hidden, they won't find us there!"]="Die Höhlen sind gut versteckt, sie werden uns hier nicht finden!",
+["Light Cannfantry"]="Leichte Kannfantrie",
+["Heavy Cannfantry"]="Schwere Kannfantrie",
+["Corpse Thrower"]="Leichenschmeißer",
+["Brutal Lily"]="Brutalo-Lilie",
+["Hannibal"]="Hannibal",
+["More Natives"]="Mehr Ureinwohner",
+["Traitors"]="Verräter",
+["Honest Lee"]="Leo Ehrlich",
+["Vegan Jack"]="Veganer-Jochen",
+["Sirius Lee"]="Leo Ernst",
+["Smith 0.97"]="Smith 0.97",
+["Smith 0.98"]="Smith 0.98",
+["Smith 0.99a"]="Smith 0.99a",
+["Smith 0.99b"]="Smith 0.99b",
+["Smith 0.99f"]="Smith 0.99f",
+["Smith 1.0"]="Smith 1.0",
+["Everything looks OK..."]="Alles sieht gut aus.",
+["This will be fun!"]="Das wird Spaß machen!",
+["HAHA!"]="HAHA!",
+["And how am I alive?!"]="Und wie kann es sein, dass ich am Leben bin?",
+["It must be the cyborgs again!"]="Das müssen wohl wieder diese Cyborgs sein!",
+["Looks like the whole world is falling apart!"]="Es scheint, als würde die ganze Welt auseinanderfallen!",
+["Look out! We're surrounded by cannibals!"]="Passt auf! Wir sind von Kannibalen umzingelt!",
+["Cannibals?! You're the cannibals!"]="Kannibalen?! Ihr seid die Kannibalen!",
+["WHAT?! You're the ones attacking us!"]="WAS?! Ihr seid diejenigen, die uns angreifen!",
+["You have kidnapped our whole tribe!"]="Ihr habt unseren ganzen Stamm entführt!",
+["You've been assaulting us, we have been just defending ourselves!"]="Ihr habt uns überfallen, wir haben uns nur verteidigt!",
+["I can't believe this!"]="Ich kann es nicht glauben!",
+["Have we ever attacked you first?"]="Haben wir euch jemals zuerst angegriffen?",
+["Yes!"]="Ja!",
+["When?"]="Wann?",
+["Uhmm...ok no."]="Ähm, okay, nein.",
+["But you're cannibals. It's what you do."]="Aber ihr seid Kannibalen. Das ist, was ihr tut.",
+["Again with the 'cannibals' thing!"]="Nicht schon wieder dieser »Kannibalen«-Unfug!",
+["Where do you get that?!"]="Wo habt ihr das her?",
+["Everyone knows this."]="Das weiß jeder.",
+["I didn't until about a month ago."]="Ich wusste es nicht vor einem Monat.",
+["Hmmm...actually...I didn't either."]="Hmmm, ich … eigentlich auch nicht.",
+["About a month ago, a cyborg came and told us that you're the cannibals!"]="Vor etwa einem Monat kam ein Cyborg und erzählte uns, dass ihr die Kannibalen seid.",
+["A cy-what?"]="Ein Cy-was?",
+["Cyborg. It's what the aliens call themselves."]="Cyborg. So nennen sich die Außerirdischen selbst.",
+["They told us to wear these clothes. They said that this is the newest trend."]="Sie sagten uns, dass wir diese Kleidung tragen sollten. Sie sagten, dass es der neueste Trend sei.",
+["They've been manipulating us all this time!"]="Sie haben uns die ganze Zeit manipuliert!",
+["They must be trying to weaken us!"]="Sie müssen versuchen, uns zu schwächen!",
+["We have to unite and defeat those cylergs!"]="Wir müssen uns zusammentun, und diese Cylergs besiegen!",
+["We can't let them take over our little island!"]="Wir können sie nicht unsere kleine Insel erobern lassen!",
+["You have finally figured it out!"]="Ihr habt es endlich gemerkt!",
+["You meatbags are pretty slow, you know!"]="Ihr Fleischklumpen seid ziemlich langsam, wisst ihr?",
+["Why do you want to take over our island?"]="Warum wollt ihr unsere Insel erobern?",
+["Do you have any idea how valuable grass is?"]="Habt ihr überhaupt eine Ahnung darüber, wie wertvoll Gras ist?",
+["This island is the only place left on Earth with grass on it!"]="Diese Insel ist der einzige Ort auf der Welt, der noch Gras hat.",
+["It's worth more than wood!"]="Es ist wertvoller als Holz!",
+["That makes it almost invaluable!"]="Das macht es fast unbezahlbar!",
+["We have nowhere else to live!"]="Wir haben sonst keinen Ort zu leben!",
+["That's not our problem!"]="Das ist nicht unser Problem!",
+["We'll give you a problem then!"]="Dann geben wir euch ein Problem!",
+["Nicely done, meatbags!"]="Gut gemacht, Fleischkugeln!",
+["You have won the game by proving true cooperative skills!"]="Ihr hab das Spiel gewonnen, indem ihr wahre kooperative Fähigkeiten gezeigt habt!",
+["You have proven yourselves worthy!"]="Du hast dich bewährt.",
+["Game? Was this a game to you?!"]="Spiel? War das ein Spiel für dich?!",
+["Well, yes. This was a cyborg television show."]="Ähm, ja. Es war eine Cyborg-Fernsehsendung.",
+["It is called 'Hogs of Steel'."]="Sie heißt »Igel aus Stahl«.",
+["Are you saying that many of us have died for your entertainment?"]="Willst du damit sagen, dass viele von uns nur für eure Unterhaltung gestorben sind?",
+["Our tribe, our beautiful island!"]="Unser Stamm, unsere schöne Insel!",
+["All gone...everything!"]="Alles fort, alles!",
+["But the ones alive are stronger in their heart!"]="Aber die Lebendigen sind in ihrem Herzen stärker.",
+["Just kidding, none of you have died!"]="Nur ein Witz! Niemand von euch ist gestorben!",
+["I mean, none of you ceased to live."]="Ich meine, niemand von euch hat aufgehört, zu leben.",
+["You'll see what I mean!"]="Du wirst verstehen, was ich meine.",
+["They are all waiting back in the village, haha."]="Sie warten alle im Dorf, haha.",
+["You are playing with our lives here!"]="Du spielst mit unseren Leben!",
+["Do you think you're some kind of god?"]="Hältst du dich für eine Art Gott?",
+["Interesting idea, haha!"]="Interessanter Gedanke, haha!",
+["What a douche!"]="Was für ein Blödian!",
+["The Enemy Of My Enemy"]="Der Feind meines Feindes",
+["The Union"]="Die Einheit",
+["Defeat the cyborgs!"]="Besiege die Cyborgs!",
+["Hmmm...it's a draw. How unfortunate!"]="Hmmm … Es ist unentschieden. Wie blöd!",
+["Yay, we won!"]="Hurra, wir haben gewonnen!",
+["Nice work!"]="Gute Arbeit!",
+["Hedge-cogs"]="Stachelräder",
+["Leader"]="Führer",
+["Your deaths will be avenged, cannibals!"]="Eure Tode werden gerächt sein, Kannibalen!",
+["Unit 0x0007"]="Einheit 0x0007",
+["Hogminator"]="Iglinator",
+["Carol"]="Karol",
+["Blender"]="Blender",
+["Elderbot"]="Altbot",
+["Those aliens are destroying the island!"]="Diese Außerirdischen zerstören die Insel!",
+["Dude, all the plants are gone!"]="Mann, all die Pflanzen sind fort!",
+["What am I gonna...eat, yo?"]="Was werde ich … essen?",
+["Fell From Heaven is the best! Fell From Heaven is the greatest!"]="Fiel Vom Himmel ist die Beste! Fiel Vom Himmel ist die Größte!",
+["Yuck! I bet they'll keep worshipping her even after I save the village!"]="Pfui! Ich wette, sie werden sie verehren, selbst, wenn ich das Dorf rette.",
+["I'm getting old for this!"]="Ich werd zu alt dafür!",
+["I'm getting thirsty..."]="Ich hab Durst.",
+["I wonder why I'm so angry all the time..."]="Ich frag mich, warum ich die ganze Zeit so wütend bin.",
+["It must be a childhood trauma..."]="Es muss ein Kindheitstrauma sein.",
+["Just wait till I get my hands on that trauma! ARGH!"]="Warte nur, bis ich mein Trauma in die Finger kriege! ARGH!",
+["I could just teleport myself there..."]="Ich könnte mich einfach dorthin teleportieren.",
+["It's a shame, I forgot how to do that!"]="Zu dumm, ich habe vergessen, wie man das macht.",
+["Hello again, "]="Hallo, ",
+["I just found out that they have captured your princess!"]="Ich habe gerade herausgefunden, dass sie deine Prinzessin gefangen haben!",
+["Of course I have to save her. What did I expect?!"]="Natürlich muss ich sie retten. Was habe ich erwartet?",
+["She's behind that tall thingy."]="Sie ist hinter diesem großen Dingsda.",
+["I'm here to help you rescue her."]="Ich bin hier, um dir bei ihrer Rettung zu helfen.",
+["Yo, dude, we're here, too!"]="Heda, wir sind auch da!",
+["We were trying to save her and we got lost."]="Wir versuchten, sie zu retten, aber haben uns verlaufen.",
+["That's typical of you!"]="Das ist so typisch für dich!",
+["Why are you helping us, uhm...?"]="Warum hilfst du uns, äh, …?",
+["Call me Beep! Well, 'cause I'm such a nice...person!"]="Nenn mich »Pieps«! Weil ich so eine nette … Person bin!",
+["Here, let me help you save her!"]="Hier, lass mich dir helfen, sie zu retten!",
+["Thanks!"]="Danke!",
+["Why can't he just let her go?!"]="Warum kann er sie nicht einfach freilassen?",
+["Family Reunion"]="Familientreffen",
+["Salvation"]="Erlösung",
+["Get your teammates out of their natural prison and save the princess!|Hint: Drilling holes should solve everything.|Hint: It might be a good idea to place a girder before starting to drill. Just saying.|Hint: All your hedgehogs need to be above the marked height!|Hint: Leaks A Lot needs to get really close to the princess!"]="Befrei deine Teamkollegen aus ihrem natürlichen Gefängnis und rette die Prinzessin!|Tipp: Löcher bohren sollte alle Probleme lösen.|Tipp: Es könnte eine gute Idee sein, vor dem Bohren einen Träger zu platzieren. Ich mein ja nur.|Tipp: All deine Igel müssen sich über der markierten Höhe befinden.|Tipp: Undichte Stelle muss sich sehr nahe an der Prinzessin befinden.",
+["Hostage Situation"]="Geiselrettung",
+["Save the princess! All your hogs must survive!|Hint: Kill the cyborgs first! Use the ammo very carefully!|Hint: You might want to spare a girder for cover!"]="Rette die Prinzessin! All deine Igel müssen überleben!|Tipp: Töte die Cyborgs zuerst! Benutze die Munition sehr vorsichtig!|Tipp: Du solltest vielleicht einen Träger als Deckung behalten!",
+["Thank you, my hero!"]="Danke dir, mein Held!",
+["Biomechanic Team"]="Biomechanisches Team",
+["Climb Home"]="Nach Hause klettern",
+["Rope to safety"]="Schwing dich in Sicherheit",
+["You are far from home, and the water is rising, climb up as high as you can!|Your score will be based on your height."]="Du bist weit weg von Zuhause, und das Wasser steigt, klettere so hoch, wie du kannst!|Deine Punktzahl wird von deiner Höhe abhängen.",
+["Made it!"]="Geschafft!",
+["Ahhh, home, sweet home. Made it in %d seconds."]="Ah, trautes Heim, Glück allein! Geschafft in %d Sekunden.",
+["You have beaten the challenge!"]="Du hast die Herausforderung gemeistert!",
+["Your height over time"]="Deine Höhe über die Zeit",
+["%s reached home in %.3f seconds. Congratulations!"]="%s has das Zuhause in %.3f Sekunden erreicht. Gratulation!",
+["%s bravely climbed up to a dizzy height of %d to reach home."]="Mutig erklomm %s eine schwindelerregende Höhe von %d, um das Zuhause zu erreichen.",
+["seconds"]="Sekunden",
+["%s has passed the best height of %s!"]="%s hat die beste Höhe von %s überschritten!",
+["%s never got the ninja diploma."]="%s ist bei der Ninjaprüfung durchgefallen.",
+["You have to move upwards, not downwards, %s!"]="Du musst nach oben, nicht nach unten, %s!",
+["%s never wanted to reach for the sky in the first place."]="%s wollte nie nach den Sternen greifen.",
+["%s should try the rope training mission first."]="%s sollte wohl zuerst das Seiltraining absolvieren.",
+["%s skipped ninja classes."]="%s hat den Ninjaunterricht geschwänzt.",
+["%s doesn’t really know how to handle a rope properly."]="%s weiß nicht, wie man mit einem Seil umgeht.",
+["Better luck next time!"]="Vielleicht klappt's beim nächsten Mal!",
+["It was all just bad luck!"]="So ein Pech!",
+["Well, that escalated quickly!"]="Das ging aber schnell in die Hose!",
+["What? Is it over already?"]="Wie? Ist es schon vorbei?",
+["%s was damn close to home."]="%s war verdammt nah an Zuhause.",
+["%s was close to home."]="%s war nah an Zuhause.",
+["%s was good, but not good enough."]="%s war gut, aber nicht gut genug.",
+["%s managed to pass half of the distance towards home."]="%s hat die Hälfte des Weges nach Hause absolviert.",
+["%s went over a quarter of the way towards home."]="%s hat über die Hälfte des Weges nach Hause absolviert.",
+["%s still had a long way to go."]="%s hatte noch einen langen Weg.",
+["%s made it past the hogosphere."]="%s hat es über die Igelspähre geschafft.",
+["%s barely made it past the hogosphere."]="%s hat es so gerade noch über die Igelsphäre geschafft.",
+["%s wins!"]="%s gewinnt!",
+["Team’s best heights per round"]="Die Besthöhen der Teams pro Runde",
+["This round’s award for ulitmate disappointment goes to: Everyone!"]="Der ultimative Enttäuschungspreis geht in dieser Runde an: alle!",
+["%s (%s) reached for the sky and beyond with a height of %d!"]="%s (%s) griff nach den Sternen mit einer Höhe von %d!",
+["%s (%s) was certainly not afraid of heights: Peak height of %d!"]="%s (%s) hatte ganz bestimmt keine Höhenangst: Besthöhe von %d!",
+["%s (%s) does not have to feel ashamed for their best height of %d."]="%s (%s) braucht sich für die Besthöhe von %d nicht zu schämen.",
+["%s (%s) reached a decent peak height of %d."]="%s (%s) erreichte eine gute Besthöhe von %d.",
+["%s (%s) reached a peak height of %d."]="%s (%s) erreichte eine Besthöhe von %d.",
+["The Navy greets %s for managing to get in a distance of %d away from the mainland!"]="Die Marine grüßt %s für einen Abstand von %d vom Festland!",
+["Greetings from the Navy, %s (%s), for being a distance of %d away from the mainland!"]="Grüße von der Marine, %s (%s), für einen Abstand von %d vom Festland!",
+["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."]="Dein Igel hatte panische Angst vorm Wasser und hatte einen Sicherheitsabstand von %d erreicht.",
+["%s (%s) was panicly afraid of the water and decided to get in a safe distance of %d from it."]="%s (%s) hatte panische Angst vorm Wasser und hatte einen Sicherheitsabstand von %d erreicht.",
+["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."]="Autsch! Das muss wehgetan haben. Du hast deinen armen Igel mit %d verstümmelt.",
+["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."]="Autsch! Das muss wehgetan haben. %s (%s) ist mit %d auf den Boden aufgeschlagen.",
+["Hedgewars-Basketball"]="Hedgewars-Basketball",
+["Not So Friendly Match"]="Kein-so-Freundschaftsspiel",
+["Bat your opponents through the|baskets and out of the map!"]="Schlage deine Widersacher durch|die Körbe und aus der Karte hinaus!",
+["%s is out and Team %d|scored a point!| |Score:"]="%s ist draußen und Team %d|erhält einen Punkt!| |Punktestand:",
+["%s is out and Team %d|scored a penalty!| |Score:"]="%s ist draußen und Team %d|erhält eine Strafe!| |Punktestand:",
+["TrophyRace"]="TrophyRace",
+["Use your rope to get from start to finish as fast as you can!"]="Nutze das Seil um von Start zu Ziel zu gelangen - so schnell du kannst!",
+["NEW fastest lap: "]="NEUE schnellste Runde: ",
+["Fastest lap: "]="Schnellste Runde: ",
+["Best laps per team: "]="Beste Rundenzeiten pro Team: ",
+["Team %d: "]="Team %d: ",
+["You've reached the goal!| |Time: "]="Ziel erreicht!| |Zeit: ",
+["Control pillars to score points."]="Behalte die Kontrolle über die Säulen, um Punkte zu erhalten.",
+["Goal"]="Ziel",
+["Team Scores"]="Teampunktestand",
+["GAME OVER!"]="SPIEL ZU ENDE!",
+["Victory for the "]="Sieg für ",
+["Hooray!"]="Hurra!",
+["Flag respawned!"]="Fahne wieder erschienen!",
+["You have SCORED!!"]="Du hast GEPUNKTET!",
+["Opposing Team: "]="Gegnerisches Team: ",
+["Flag returned!"]="Fahne zurückgebracht!",
+["That was pointless."]="Das war sinnlos.",
+["The flag will respawn next round."]="Die Fahne wird nächste Runde wieder auftauchen.",
+["Flag captured!"]="Fahne erobert!",
+["Boom!"]="Bumm!",
+[" - Return the enemy flag to your base to score | - First team to 3 captures wins | - You may only score when your flag is in your base | - Hogs will drop the flag if killed, or drowned | - Dropped flags may be returned or recaptured | - Hogs respawn when killed"]=" - Bringe die gegnerische Flagge zu deiner Heimatbasis, um zu punkten. | - Das Team, das zuerst 3 Flaggen erobert, gewinnt. | - Du kannst nur punkten, wenn deine eigene Flagge in deiner Basis ist | - Igel lassen die Flagge fallen, wenn sie sterben oder ertrinken | - Fallengelassene Flaggen können zurückgebracht oder wieder gestohlen werden | - Igel tauchen nach ihrem Tod wieder auf",
+["Hedgewars-Knockball"]="Hedgewars-Schlagball",
+["Bat balls at your enemies and|push them into the sea!"]="Schlage Bälle auf deine Widersacher|und lass sie ins Meer fallen!",
+["Trainee"]="Azubi",
+["Training Team"]="Traningsteam",
+["You have shot %d times."]="Du hast %d mal geschossen.",
+["Time’s up!"]="Die Zeit ist um!",
+["Targets left: %d"]="Verbleibende Ziele: %d",
+["You have destroyed all targets!"]="Du hast alle Ziele zerstört!",
+["Congratulations! You have destroyed all targets within the time."]="Gratulation! Du hast alle Ziele innerhalb der verfügbaren Zeit ausgeschaltet.",
+["You have finished the target practice!"]="Du hast die Zielübung abgeschlossen!",
+["Your accuracy was %.1f%% (+%d points)."]="Deine Treffgenauigkeit betrug %.1f%% (+%d Punkte).",
+["You had %.1fs remaining on the clock (+%d points)."]="Du hattest eine verbleibende Zeit von %.1fs (+%d Punkte).",
+["HIGHLANDER"]="HOCHLÄNDER",
+["Not all hogs are born equal."]="Nicht alle Igel werden gleich geboren.",
+["Eliminate enemy hogs and take their weapons."]="Vernichte alle gegnerischen Igel und nimm ihre Waffen.",
+["Per-Hog Ammo"]="Munition pro Igel",
+["Weapons reset."]="Waffen werden zurückgesetzt.",
+["Unlimited Attacks"]="Unbegrenzte Angriffe",
+["Jumping is disabled"]="Sprünge sind deaktiviert!",
+["Each turn you get 1-3 random weapons"]="Du bekommst jede Runde 1-3 zufällig gewählte Waffen",
+["Per team weapons"]="Waffen pro Team",
+["weaponschemes"]="Waffenschemata",
+["Unique new weapons"]="Einzigartige neue Waffen",
+["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."]="Wähle deinen Kontinent/Waffensatz mit den [Hoch]- oder [Runter]-Tasten. Du kannst ihn auch mit dem Waffenmenü auswählen.",
+["Note: Some weapons have a second option (See continent information). Find and use them with the \""]="Beachte: Einige Waffen haben eine Zweitoption (Siehe Kontinentinformationen). Finde und benutze sie mit \"",
+["switch"]="Schalter",
+["key."]="Taste.",
+["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."]="Tipp: Benutze die [Esc]-Taste (dieses Menü), wenn du den Kontinent des aktuellen Teams sehen willst, oder die Besonderheiten dieses Kontinents sehen willst.",
+["Green lipstick bullet: [Poisonous, deals no damage]"]="Grüne Lippenstiftpatrone: (giftig, kein Schaden)",
+["Cluck-cluck time: [Fire an egg ~ Sabotages and cures poison ~ Cannot be fired close to another hog]"]="Gackerzeit: (Schieß ein Ei – Sabotiert und kuriert Gift – kann nicht in der nähe anderer Igel gefeuert werden)",
+["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"]="Anno 1032: (Die Explosion wird stark schubsen – Große Reichweite, betrifft Igel in der Nähe des Ziels nicht)",
+["Dust storm: [Deals 15 damage to all enemies in the circle]"]="Staubsturm: (15 Schaden für alle Gegner im Kreis)",
+["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"]="Kricket: (Feuere eine 1-Sek.-Mine! – kann nicht in der Nähe anderer Igel gefeuert werden)",
+["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"]="Bombe fallenlassen: (Lass einen heroischen Wind, der sich bei Einschlag in eine Bombe verwandelt, fallen)",
+["Penguin roar: [Deal 15 damage + 10% of your hogs health to all hogs around you and get 2/3 back]"]="Pinguinröhren: (Richte 15 Schaden + 10% deiner Igelgesundheit auf alle Igel um dich herum und bekomme 2/3 zurück)",
+["Disguise as a Rockhopper Penguin: [Swap place with a random enemy hog in the circle]"]="Als Felsenpinguin tarnen: (Vertausche die Plätze mit einem zufälligen Igel im Kreis)",
+["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"]="Einsame Heuler: (Erhöhe das Wasser, wenn kein Igel im Kreis ist und richte 6 Schaden auf alle gegnerischen Igel an.)",
+["Hedgehog projectile: [Fire your hog like a Sticky Bomb]"]="Igelprojektil: (Feuer deinen Igel wie eine Haftmine)",
+["Napalm rocket: [Fire a bomb with napalm!]"]="Napalmrakete: (Feuer eine Bombe mit Napalm ab!)",
+["Eagle Eye: [Blink to the impact ~ One shot]"]="Adlerauge: (Teleportiere dich zum Einschlagspunkt – ein Schuss)",
+["Medicine: [Fire some exploding medicine that will heal all hogs effected by the explosion]"]="Medizin: (Feuere eine explodierende Medizin, die alle Igel im Explosionsradius heilen wird)",
+["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"]="Sabotage/Fackel: (Sabotiere alle Igel im Kreis und richte ca. 1 Schaden an, ODER feuer eine Splittergranate in die Luft)",
+["North America"]="Nordamerika",
+["Difficulty: "]="Schwierigkeitsgrad: ",
+["EASY"]="EINFACH",
+["Area"]="Gebiet",
+["Population"]="Einwohnerzahl",
+["- You can switch between hogs at the start of your turns. (Not first one)"]="- Du kannst deinen Igel am Zugbeginn aussuchen (aber nicht am 1. Zug).",
+["Special Weapons:"]="Sonderwaffen:",
+["Shotgun"]="Schrotflinte",
+["Sniper Rifle"]="Scharfschützengewehr",
+["South America"]="Südamerika",
+["MEDIUM"]="MITTEL",
+["GasBomb"]="Gasbombe",
+["Europe"]="Europa",
+["Molotov"]="Molotowcocktail",
+["Africa"]="Afrika",
+["Seduction"]="Verführung",
+["Sticky Mine"]="Haftmine",
+["Asia"]="Asien",
+["- Will give you a parachute every second turn."]="- Wird dir jeden 2. Zug einen Fallschirm geben",
+["Parachute"]="Fallschirm",
+["Australia"]="Australien",
+["Baseballbat"]="Baseballschläger",
+["Antarctica"]="Antarktika",
+["HARD"]="SCHWER",
+["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."]="Antarktischer Sommer: – Wird dir einen Träger/Schlammball und zwei Sinuskanonen/Portalgeräte jeden 4. Zug geben",
+["Kerguelen"]="Kerguelen",
+["Hammer"]="Hammer",
+["Duration"]="Dauer",
+["Zealandia"]="Neuseeland-Kontinent",
+["- Will Get 1-3 random weapons"]="- wird 1–3 zufällige Waffen erhalten",
+["- Massive weapon bonus on first turn"]="- Großer Waffenbonus am ersten Zug",
+["Sundaland"]="Sunda",
+["- You will recieve 2-4 weapons on each kill! (Even on own hogs)"]="- Du wirst 2–4 Waffen für jeden Abschuss erhalten (sogar für eigene Igel)!",
+["General information"]="Allgemeine Informationen",
+[" was extracted from the scheme|- This continent will be able to use the specials from the other continents!"]=" wurde vom Schema extahiert|– Dieser Kontinent wird alle Besonderheiten von den anderen Kontinenten benutzen können!",
+["Continental supplies"]="Kontinentallieferungen",
+["Let a continent provide your weapons!"]="Lass einen Kontinent dich mit Waffen beliefern!",
+["Select continent!"]="Wähle einen Kontinent!",
+["NORMAL"]="NORMAL",
+["You are sabotaged, RUN!"]="Du wurdest sabotiert, LAUF!",
+["WARNING: Sabotage detected!"]="WARNUNG: Sabotage erkannt!",
+["Hogs in sight!"]="Igel in Sicht!",
+["Way-Points Remaining"]="Wegpunkte verbleibend",
+["s"]="s",
+["RACER"]="WETTRENNEN",
+["TRACK COMPLETED"]="STRECKENLAUF BEENDET",
+["NEW RACE RECORD: "]="NEUER RENNREKORD: ",
+["WINNING TIME: "]="BESTZEIT: ",
+["NEW CLAN RECORD: "]="NEUER KLAN-REKORD",
+["TIME: "]="ZEIT: ",
+["s|"]="s|",
+["STATUS UPDATE"]="STATUSAKTUALISIERUNG",
+["Rounds Complete: "]="Runden gespielt: ",
+["Best Team Times: "]="Beste Team-Zeiten: ",
+["a Hedgewars mini-game"]="ein Hedgewars Mini-Spiel",
+["Build a track and race."]="Konstruiere eine Strecke und mach ein Wettrennen.",
+["Round Limit:"]="Rundenbegrenzung:",
+["You can further customize the race by changing the scheme script paramater."]="Du kannst das Renner ferner bearbeiten, indem du den Skriptparameter im Schema änderst.",
+["GAME BEGUN!!!"]="SPIEL GESTARTET!!!",
+["Complete the track as fast as you can!"]="Durchlaufe die Strecke so schnell du kannst!",
+["Please place the way-point in the open, within the map boundaries."]="Bitte platziere den Wegpunkt in der Luft, innerhalb der Kartengrenzen.",
+["Please place the way-point further from the waterline."]="Bitte platziere den Wegpunkt weiter weg vom Wasser.",
+["Race complexity limit reached."]="Rennkomplexitätslimit erreicht.",
+["Good to go!"]="Startklar!",
+["random in range from %i%% to %i%% with period of %i msec"]="Zufällig von %i%% bis %i%% mit einer Periode von %i ms",
+["changing range from %i%% to %i%% with period of %i msec"]="Sich verändernde Grenzen von %i%% bis %i%% mit einer Periode von %i ms",
+["Gravity"]="Schwerkraft",
+["Current setting is "]="Aktuelle Einstellung ist ",
+["Setup:|'g=150', where 150 is 150% of normal gravity"]="Syntax:|»g=150«, wobei »150« für 150% der normalen Schwerkraft steht.",
+["or 'g=50, g2=150, period=4000' for gravity changing|from 50 to 150 and back with period of 4000 msec"]="Oder »g=50, g2=150, period=4000« für eine Schwerkraft,|die von 50 bis 150 vor und zurück mit einer Periode von 4000 ms oszilliert.",
+["Set period to negative value for random gravity"]="Setze period auf einen negativen Werd für eine zufällige Schwerkraft",
+["RULES"]="REGELN",
+["Each turn is only ONE SECOND!"]="Jeder Zug dauert nur EINE SEKUNDE!",
+["Use your ready time to think."]="Benutze deine Vorbereitungszeit zum Denken.",
+["Slot keys save time! (F1-F10 by default)"]="Schnelltasten, um Zeit zu sparen! (standardmäßig F1–F10)",
+["SLOTS"]="SLOTS",
+["Slot"]="Slot",
+["Mine"]="Mine",
+["Teleport"]="Teleporter",
+["Blowtorch"]="Schweißbrenner",
+["Flying Saucer"]="Fliegende Untertasse",
+["Low Gravity"]="Niedrige Schwerkraft",
+["FRENZY"]="WAHNSINN",
+["a frenetic Hedgewars mini-game"]="ein hektisches Hedgewars-Minispiel",
+["The first player to kill someone becomes the Mutant."]="Der erste Spieler, der einen umbringt, wird zum Mutanten.",
+["The Mutant has super-weapons and a lot of health."]="Der Mutant hat Superwaffen und eine hohe Gesundheit.",
+["The Mutant loses health quickly if he doesn't keep scoring kills."]="Der Mutant verliert schnell an Gesundheit, wenn er nicht schnell andere Igel tötet.",
+["Normal players can only score points by killing the mutant."]="Andere Spieler erhalten nur durch das Töten des Mutanten Punkte.",
+["The player with least points (or most deaths) becomes the Bottom Feeder."]="Der Spieler mit den wenigsten Punkten (oder den meisten Toden) wird zum Versager.",
+["The Bottom Feeder can score points by killing anyone."]="Der Versager erhält Punkte durch das Töten beliebiger anderer Igel.",
+["POINTS"]="PUNKTE",
+["+2 for becoming a Mutant"]="+2 für die Verwandlung zum Mutanten",
+["+1 to a Mutant for killing anyone"]="+1 für den Mutanten, der andere tötet",
+["+1 to a Bottom Feeder for killing anyone"]="+1 für den Versager, der andere tötet",
+["-1 to anyone for a suicide"]="-1 für Selbstmord",
+["Other kills don't give you points."]="Andere Abschüsse bringen keine Punkte.",
+["Mutant"]="Mutant",
+["a Hedgewars tag game"]="ein Hedgewars-Fangenspiel",
+["ONE HOG PER TEAM! KILLING EXCESS HEDGES"]="EIN IGEL PRO TEAM! ÜBERFLÜSSIGE IGEL WERDEN GETÖTET",
+["FIRST BLOOD MUTATES"]="ERSTER MÖRDER MUTIERT",
+["DOUBLE KILL"]="DOPPEL-ABSCHUSS",
+["MEGA KILL"]="MEGA-ABSCHUSS",
+["ULTRA KILL"]="ULTRA-ABSCHUSS",
+["MONSTER KILL"]="MONSTRÖSER ABSCHUSS",
+["LUDICROUS KILL"]="HAARSTRÄUBENDER ABSCHUSS",
+["HOLY SHYTE!"]="HEILIGE SCHEISSE!",
+["INSANITY"]="WAHNSINN",
+["Score"]="Punktzahl",
+["WINNER IS "]="DER SIEGER IST ",
+["-------"]="-------",
+[" HAS MUTATED"]=" MUTIERTE",
+[" HP"]=" TP",
+["BOOM!"]="KABUMM!",
+["SCORE"]="PUNKTZAHL",
+["KILLS"]="ABSCHÜSSE",
+["invaders destroyed"]="Angreifer zerstört",
+["Rounds Complete"]="Runden gespielt",
+["Flamer"]="Flammenwerfer",
+["selected!"]="ausgewählt!",
+["shots remaining."]="Schüsse übrig",
+["Barrel Launcher"]="Fasswerfer",
+["Ammo Depleted!"]="Munition erschöpft!",
+["Mine Deployer"]="Minenleger",
+["Shield Depleted"]="Schild aufgebraucht!",
+["Shield ON:"]="Schild AN:",
+["Power Remaining"]="Verbleibende Energie",
+["Shield OFF:"]="Schild AUS:",
+["Pings left:"]="Verbleibende Pings:",
+["Destroy invaders to score points."]="Zerstöre die Angreifer um Punkte zu erhalten.",
+["Round Limit"]="Rundenbegrenzung",
+["Turn Time"]="Zeit pro Zug",
+["Movement: [Up], [Down], [Left], [Right]"]="Bewegung: [Hoch], [Runter], [Links], [Rechts]",
+["Fire"]="Feuer",
+["[Left Shift]"]="[Umschalt links]",
+["Toggle Shield"]="Schild ein/aus",
+["[Enter]"]="[Eingabe]",
+["Radar Ping"]="Radarsignal",
+["[Backspace]"]="[Rücktaste]",
+["Surfer! +15 points!"]="Surfer! +15 Punkte",
+["Shield Miser!"]="Schildgieriger",
+["Accuracy Bonus!"]="Präzisions-Bonus!",
+["Fierce Competition!"]="Harter Wettkampf!",
+["Time Extended!"]="Zeit verlängert!",
+["Drone Hunter!"]="Drohnenjäger",
+["Ammo"]="Munition",
+["Ammo Maniac!"]="Munitionsverrückter!",
+["Shield boosted! +30 power"]="Schild verstärkt! +30 Energie",
+["Shield is fully recharged!"]="Schild vollständig aufgeladen!",
+["Shield Seeker!"]="Schildsucher!",
+["Boss defeated!"]="Boss wurde besiegt!",
+["Boss Slayer!"]="Boss-Töter!",
+["Hit Combo!"]="Treffer-Combo!",
+["GOTCHA!"]="ERWISCHT!",
+["Sniper!"]="Scharfschütze!",
+["They Call Me Bullseye!"]="Man nennt mich »Adlerauge«!",
+["Point Blank Combo!"]="Nahschuss-Combo!",
+["Multi-shot!"]="Multischuss!",
+["Shield Master!"]="Schildmeister!",
+["Kamikaze Expert!"]="Kamikazeexperte!",
+["Depleted Kamikaze!"]="Munitionsloses Kamikaze!",
+["Timed Kamikaze!"]="Pünktliches Kamikaze!",
+["For improved features/stability, play 0.9.18+"]="Für bessere Features/Stabilität, spiele 0.9.18 oder später",
+["Surfer!"]="Surfer!",
+["All walls touched!"]="Alle Wände berührt!",
+["Go surf!"]="Los, surfe!",
+["Walls Left"]="Verbleibende Wände",
+["Configuration accepted."]="Konfiguration akzeptiert.",
+["You may only attack from a rope!"]="Du darfst nur von einem Seil angreifen!",
+["Spawn the crate, and attack!"]="Lass die Kiste auftauchen und greif an!",
+["Press [Enter] to accept this configuration."]="Drücke [Eingabe], um diese Konfiguration zu akzeptieren.",
+["Walls Required"]="Wände benötigt",
+["Surf Before Crate"]="Surfen Vor Kiste",
+["Attack From Rope"]="Angriff Vom Seil",
+["Super Weapons"]="Superwaffen",
+["WALL TO WALL"]="WAND-ZU-WAND",
+["a shoppa minigame"]="ein Einkaufs-Minispiel",
+["Waypoint placed."]="Wegpunkt gesetzt",
+["Available points remaining: "]="Verfügbare Punkte verbleibend:",
+["NOT ENOUGH WAYPOINTS"]="NICHT GENUG WEGPUNKTE",
+["Place more waypoints using the 'Air Attack' weapon."]="Platziere mehr Wegpunkte durch Verwenden der »Luftangriff«-Waffe",
+["THE SPECIALISTS"]="DIE SPEZIALISTEN",
+["Eliminate the enemy specialists."]="Vernichte die gegnerischen Spezialisten",
+["Game Modifiers: "]="Spiel-Modifikatoren",
+["Weapons Reset"]="Waffenzurücksetzung",
+["Switched to "]="Gewechselt zu ",
+["Prepare yourself"]="Mach dich bereit",
+["Game Started!"]="Spiel gestartet!",
+["CAPTURE THE FLAG"]="EROBERE DIE FAHNE",
+["Flags, and their home base will be placed where each team ends their first turn."]="Fahnen und deren Heimatstandort werden dort plaziert, wo jedes Team deren ersten Zug beendet.",
+["RULES OF THE GAME [Press ESC to view]"]="SPIELREGELN (Drücke [Esc] zum Anzeigen)",
+["ammo extended!"]="Munition aufgestockt!",
+["Barrel Eater!"]="Fassfresser!",
+["Mine Eater!"]="Minenfresser!",
+["Tumbling Time Extended!"]="Purzelzeit verlängert!",
+["fuel extended!"]="Treibstoff aufgetankt!",
+["Eliminate the enemy hogs to win."]="Vernichte alle gegnerischen Igel, um zu gewinnen.",
+["New Mines Per Turn"]="Neue Minen jeden Zug",
+["New Barrels Per Turn"]="Neue Fässer jeden Zug",
+["Time Extension"]="Zeitverlängerung",
+["Change Weapon"]="Waffenwechsel",
+["Grab Mines/Explosives"]="Sammle Minen/Fässer",
+["Health crates extend your time."]="Erste-Hilfe-Kisten verlängern deine Zeit.",
+["Ammo is reset at the end of your turn."]="Munition wird am Ende des Spielzuges zurückgesetzt.",
+["Double Kill!"]="Doppelmord!",
+["Killing spree!"]="Blutrausch!",
+["Unstoppable!"]="Unaufhaltsam!",
+["Friendly Fire!"]="Eigenbeschuss!",
+["Each turn you get one random weapon"]="Du bekommst jede Runde eine zufällig gewählte Waffe.",
+["Reflector Shield"]="Reflektorschild",
+["Bio-Filter"]="Biofilter",
+["Healing Station"]="Heilstation",
+["Respawner"]="Wiederbeleber",
+["Teleportation Node"]="Teleportationsstation",
+["Core"]="Kern",
+["Generator"]="Generator",
+["Support Station"]="Waffenstation",
+["Construction Station"]="Baustation",
+["Weapon Filter"]="Waffenfilter",
+["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."]="Teleportation fehlgeschlagen. Bitte teleportiere nur innerhalb des Einzugsgebiets deiner Klanteleporter.",
+["Teleportation Mode"]="Teleportationsmodus",
+["Girder Placement Mode"]="Trägerplatzierungsmodus",
+["Rubber Placement Mode"]="Gummiplatzierungsmodus",
+["Mine Placement Mode"]="Minenplatzierungsmodus",
+["Sticky Mine Placement Mode"]="Haftminenplatzierungsmodus",
+["Barrel Placement Mode"]="Pulverfassplatzierungsmodus",
+["Health Crate Placement Mode"]="Gesundheitskistenplatzierungsmodus",
+["Weapon Crate Placement Mode"]="Waffenkistenplatzierungsmodus",
+["Utility Crate Placement Mode"]="Werkzeugkistenplatzierungsmodus",
+["Structure Placement Mode"]="Gebäudeplatzierungsmodus",
+["Structure Placement Tool"]="Gebäudeplatzierungswerkzeug",
+["Object Placement Tool"]="Objektplatzierungswerkzeug",
+["Crate Placement Tool"]="Kistenplatzierungswerkzeug",
+["Drill Rocket"]="Bohrkopfrakete",
+["Mudball"]="Schlammball",
+["Cluster Bomb"]="Splittergranate",
+["Molotov Cocktail"]="Molotowcocktail",
+["Watermelon Bomb"]="Wassermelonenbombe",
+["Hellish Handgrenade"]="Höllische Handgranate",
+["Limburger"]="Limburger",
+["Flamethrower"]="Flammenwerfer",
+["Freezer"]="Eiskanone",
+["Land Sprayer"]="Landkanone",
+["Whip"]="Peitsche",
+["Baseball Bat"]="Baseballschläger",
+["Dynamite"]="Dynamit",
+["Cake"]="Kuchen",
+["Ballgun"]="Ballkanone",
+["Cleaver"]="Hackebeil",
+["Birdy"]="Birdy",
+["Pickhammer"]="Presslufthammer",
+["Personal Portal Device"]="Portalgerät",
+["Rope"]="Seil",
+["Invulnerable"]="Unverwundbar",
+["Laser Sight"]="Laservisier",
+["Vampirism"]="Vampirismus",
+["Extra Damage"]="Extraschaden",
+["Extra Time"]="Zusatzzeit",
+["You may only use 1 Extra Time per turn."]="Du darfst pro Zug nur einmal Zusatzzeit benutzen.",
+["You may only spawn 5 crates per turn."]="Du darfst pro Zug nur 5 Kisten platizeren.",
+["Invalid Placement"]="Ungültige Position",
+["Insufficient Power"]="Unzureichende Energie",
+["The Great Hog in the sky sees your sadness and grants you a boon."]="Der Große Igel im Himmel sieht deine Traurigkeit und leistet dir eine Gabe.",
+["Cost"]="Kosten",
+["CONSTRUCTION MODE"]="BAUMODUS",
+["Build a fortress and destroy your enemy."]="Baue ein Fort und zerstöre deinen Feind.",
+["There are a variety of structures available to aid you."]="Es gibt verschiedene Gebäude, um dich zu unterstützen.",
+["Use the air-attack weapons and the arrow keys to select structures."]="Benutze die Luftangriffswaffen und die Pfeiltasten, um Gebäude auszuwählen.",
+["Grants nearby hogs life-regeneration."]="Spendet nahen Igeln Lebensenergie.",
+["Aggressively removes enemy hedgehogs."]="Entfernt feindliche Igel aggressiv.",
+["Dematerializes weapons and equipment carried by enemy hedgehogs."]="Demateralisiert Waffen und Equipment, das von feindlichen Igeln getragen wird.",
+["Reflects enemy projectiles."]="Stößt feindliche Projektile ab.",
+["Generates power."]="Erzeugt Energie.",
+["Resurrects dead hedgehogs."]="Belebt tote Igel wieder.",
+["Teleporation Node"]="Teleporterstation",
+["Allows free teleportation between other nodes."]="Ermöglicht kostenlose Teleportationen zwischen anderen Stationen.",