Merge
authorunc0rr
Wed, 27 Jul 2011 11:41:43 +0400
changeset 5438 d080fb32d703
parent 5429 0caa7519cbd1 (current diff)
parent 5436 3134fafcfe12 (diff)
child 5488 fef456439238
Merge
--- a/ChangeLog.txt	Wed Jul 27 11:39:08 2011 +0400
+++ b/ChangeLog.txt	Wed Jul 27 11:41:43 2011 +0400
@@ -1,6 +1,46 @@
 + features
 * bugfixes
 
+0.9.15 -> ???:
+ + New modes: The Specialists, Space Invasion
+ + Installing content (anything under Data/ - maps, sounds, and any such stuff) to user profile allows custom adding/overriding of any Data/ content
+ + Sudden Death art
+ + New Weapon/Utility: Land Spray Gun
+ + New Game mode: Tag team
+ + Allow up to 8 teams in a game
+ + Shoppa scheme by default resets ammo
+ + Shots are on a tenth of a second delay instead of a 1 and a quarter second delay (fast deagle/portal fire)
+ + Defective mines explode if they take enough damage
+ + Rope head can attach to hogs/crates/barrels again (rope still passes through them)
+ + Control of grenade bounce
+ + Drill Strike bombs don't explode when leaving ground, but after a (customizable!) timer
+ + Ukranian localization of Default voice. support for localized voices
+ + Theme cleanup, including the new theme config file change
+ + Improvements in scoring and tracking damage
+ + Camera tracking now toggleable
+ + Mudball does not end turn
+ + Indicator for height of plane when using napalm
+ + Land smoothing (looks less pixelated on generation and damage)
+ + Improved lua script support (e.g. possibility to change hats)
+ * Prevent portaling to impossible locations better
+ * Snow accumulates more smoothly
+ * Rope should be less sticky now
+ * Fix for last portal shot always being yellow
+ * More accurate napalm strike drop location
+ * AI fixes
+ * Fixed locales, such as korean
+ * Code refactoring
+ * Various bug/leak fixes
+
+Frontend/Menu and Netgame:
+ + Drawing straight lines in drawn map mode
+ + Autokick ignored players joining your room
+ + Improved nick sorting in lobby and rooms. (not case-sensitive, letters first, friend @ top, ignored @ bottom)
+ + Display player count in lobby
+ + Lobby: Player names of online players can be clicked in chat directly so that you don't have to find them in the player list
+ * Fix invisible icons in popup menus
+ * Various fixes and adjustments
+
 0.9.14 -> 0.9.15:
  + Ability to create, save and load hand drawn maps
  + New maps: Capture the Flag (Blizzard) Map
--- a/QTfrontend/mapContainer.cpp	Wed Jul 27 11:39:08 2011 +0400
+++ b/QTfrontend/mapContainer.cpp	Wed Jul 27 11:41:43 2011 +0400
@@ -175,7 +175,7 @@
     connect(cbTemplateFilter, SIGNAL(activated(int)), this, SLOT(setTemplateFilter(int)));
 
     maze_size_label = new QLabel(tr("Type"), mapWidget);
-    mainLayout.addWidget(maze_size_label, 2, 0);
+    mapLayout->addWidget(maze_size_label, 2, 0);
     maze_size_label->hide();
     cbMazeSize = new QComboBox(mapWidget);
     cbMazeSize->addItem(tr("Small tunnels"), 0);
--- a/QTfrontend/teamselhelper.cpp	Wed Jul 27 11:39:08 2011 +0400
+++ b/QTfrontend/teamselhelper.cpp	Wed Jul 27 11:41:43 2011 +0400
@@ -49,7 +49,7 @@
         QIcon(QString(":/res/botlevels/net%1.png").arg(m_team.difficulty))
         : QIcon(QString(":/res/botlevels/%1.png").arg(m_team.difficulty));
 
-    butt = new QPushButton(difficultyIcon, team.TeamName, this);
+    butt = new QPushButton(difficultyIcon, team.TeamName.replace("&","&&"), this);
     butt->setFlat(true);
     butt->setToolTip(team.Owner);
     mainLayout.addWidget(butt);
--- a/gameServer/Actions.hs	Wed Jul 27 11:39:08 2011 +0400
+++ b/gameServer/Actions.hs	Wed Jul 27 11:41:43 2011 +0400
@@ -45,6 +45,8 @@
     | KickClient ClientIndex
     | KickRoomClient ClientIndex
     | BanClient NominalDiffTime B.ByteString ClientIndex
+    | BanIP B.ByteString NominalDiffTime B.ByteString
+    | BanList
     | ChangeMaster
     | RemoveClientTeams ClientIndex
     | ModifyClient (ClientInfo -> ClientInfo)
@@ -393,12 +395,25 @@
     modify (\s -> s{clientIndex = Just banId})
     clHost <- client's host
     currentTime <- io getCurrentTime
-    let msg = B.concat ["Ban for ", B.pack . show $ seconds, "seconds (", reason, ")"]
+    let msg = B.concat ["Ban for ", B.pack . show $ seconds, " (", reason, ")"]
     mapM_ processAction [
         AddIP2Bans clHost msg (addUTCTime seconds currentTime)
         , KickClient banId
         ]
 
+processAction (BanIP ip seconds reason) = do
+    currentTime <- io getCurrentTime
+    let msg = B.concat ["Ban for ", B.pack . show $ seconds, " (", reason, ")"]
+    processAction $
+        AddIP2Bans ip msg (addUTCTime seconds currentTime)
+
+processAction BanList = do
+    ch <- client's sendChan
+    bans <- gets (bans . serverInfo)
+    processAction $
+        AnswerClients [ch] ["BANLIST", B.pack $ show bans]
+    
+
 
 processAction (KickRoomClient kickId) = do
     modify (\s -> s{clientIndex = Just kickId})
@@ -442,15 +457,13 @@
     si <- gets serverInfo
     let validBans = filter (checkNotExpired clTime) $ bans si
     let ban = L.find (checkBan clHost clNick) $ validBans
-    when (isJust ban) $
-        mapM_ processAction [
+    mapM_ processAction $
         ModifyServerInfo (\s -> s{bans = validBans})
-        , ByeClient (getBanReason $ fromJust ban)
-        ]
+        : [ByeClient (getBanReason $ fromJust ban) | isJust ban]
     where
         checkNotExpired testTime (BanByIP _ _ time) = testTime `diffUTCTime` time <= 0
         checkNotExpired testTime (BanByNick _ _ time) = testTime `diffUTCTime` time <= 0
-        checkBan ip _ (BanByIP bip _ _) = bip == ip
+        checkBan ip _ (BanByIP bip _ _) = bip `B.isPrefixOf` ip
         checkBan _ n (BanByNick bn _ _) = bn == n
         getBanReason (BanByIP _ msg _) = msg
         getBanReason (BanByNick _ msg _) = msg
--- a/gameServer/HWProtoLobbyState.hs	Wed Jul 27 11:39:08 2011 +0400
+++ b/gameServer/HWProtoLobbyState.hs	Wed Jul 27 11:41:43 2011 +0400
@@ -154,6 +154,16 @@
     cl <- thisClient
     banId <- clientByNick banNick
     return [BanClient 60 reason (fromJust banId) | isAdministrator cl && isJust banId && fromJust banId /= ci]
+    
+handleCmd_lobby ["BANIP", ip, reason, duration] = do
+    (ci, _) <- ask
+    cl <- thisClient
+    return [BanIP ip (readInt_ duration) reason | isAdministrator cl]
+    
+handleCmd_lobby ["BANLIST"] = do
+    (ci, _) <- ask
+    cl <- thisClient
+    return [BanList | isAdministrator cl]
 
 
 handleCmd_lobby ["SET_SERVER_VAR", "MOTD_NEW", newMessage] = do
--- a/share/hedgewars/Data/Locale/bg.txt	Wed Jul 27 11:39:08 2011 +0400
+++ b/share/hedgewars/Data/Locale/bg.txt	Wed Jul 27 11:41:43 2011 +0400
@@ -12,7 +12,7 @@
 00:09=Пистолет
 00:10=Динамит
 00:11=Бухалка
-00:12=Shoryuken
+00:12=Шурикен
 00:13=сек
 00:14=Парашут
 00:15=Въздушна Атака
@@ -45,22 +45,22 @@
 01:04=На Пауза
 01:05=Наистина ли напускате (Y/Esc)?
 01:06=Внезапна смърт!
-01:07=%1 Remaining
-01:08=Fuel
+01:07=%1 остава
+01:08=Гориво
 
 ; Event messages
-; Hog (%1) died
-02:00=%1 has kicked the bucket!
-02:00=%1 has seen the light!
-02:00=%1 never saw that comming!
-; Hog (%1) drowned
-02:01=%1 plays submarine!
-02:01=%1 mimics the Titanic!
-02:01=%1 swims like a stone!
+; Hog (%1) умря
+02:00=%1 гушна букета!
+02:00=%1 видя светлината!
+02:00=%1 не видя откъде му дойде!
+; Таралежа (%1) се удави
+02:01=%1 се прави на подводница!
+02:01=%1 имитира Титаник!
+02:01=%1 плува като камък!
 ; Match starts
-02:02=Let's fight!
-02:02=Armed and ready!
-; Hog shot an home run (using the bat and another hog)
-02:10=Home Run!
-02:10=A bird, a plane, ...
-02:10=That one is out!
+02:02=Бой!
+02:02=Зареден и готов!
+; Таралежа отбеляза хоумрън (използвайки бухалка и друг таралеж)
+02:10=Х!оумрън
+02:10=Птица ли е, самолет ли е, ...
+02:10=Този е вън от играта!
--- a/share/hedgewars/Data/Locale/hedgewars_bg.ts	Wed Jul 27 11:39:08 2011 +0400
+++ b/share/hedgewars/Data/Locale/hedgewars_bg.ts	Wed Jul 27 11:41:43 2011 +0400
@@ -5,18 +5,18 @@
     <name>AmmoSchemeModel</name>
     <message>
         <source>new</source>
-        <translation type="unfinished">Нов отбор</translation>
+        <translation>Нов</translation>
     </message>
     <message>
         <source>copy of</source>
-        <translation type="unfinished"></translation>
+        <translation>копие на</translation>
     </message>
 </context>
 <context>
     <name>FreqSpinBox</name>
     <message>
         <source>Never</source>
-        <translation type="unfinished"></translation>
+        <translation>Никога</translation>
     </message>
     <message numerus="yes">
         <source>Every %1 turn</source>
@@ -30,11 +30,11 @@
     <name>GameCFGWidget</name>
     <message>
         <source>Edit schemes</source>
-        <translation type="unfinished"></translation>
+        <translation>Редактиране на схемите</translation>
     </message>
     <message>
         <source>Edit weapons</source>
-        <translation type="unfinished"></translation>
+        <translation>Редактиране на оръжията</translation>
     </message>
     <message>
         <source>Error</source>
@@ -46,26 +46,26 @@
     </message>
     <message>
         <source>When this option is enabled selecting a game scheme will auto-select a weapon</source>
-        <translation type="unfinished"></translation>
+        <translation>Когато тази настройка е включена, при избирането на игрова схема автоматично ще се избере оръжие</translation>
     </message>
 </context>
 <context>
     <name>HWChatWidget</name>
     <message>
         <source>%1 *** %2 has been removed from your ignore list</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 *** %2 беше премахнат от списъка с игнорирани</translation>
     </message>
     <message>
         <source>%1 *** %2 has been added to your ignore list</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 *** %2 беше добавен към списъка с игнорирани</translation>
     </message>
     <message>
         <source>%1 *** %2 has been removed from your friends list</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 *** %2 беше премахнат от списъка с приятели</translation>
     </message>
     <message>
         <source>%1 *** %2 has been added to your friends list</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 *** %2 беше добавен към списъка с приятели</translation>
     </message>
 </context>
 <context>
@@ -96,17 +96,17 @@
     </message>
     <message>
         <source>DefaultTeam</source>
-        <translation type="unfinished"></translation>
+        <translation>СтандартенОтбор</translation>
     </message>
     <message>
         <source>Hedgewars Demo File</source>
         <comment>File Types</comment>
-        <translation type="unfinished"></translation>
+        <translation>Файл с демо на Hedgewars</translation>
     </message>
     <message>
         <source>Hedgewars Save File</source>
         <comment>File Types</comment>
-        <translation type="unfinished"></translation>
+        <translation>Файл със запазена игра на Hedgewars</translation>
     </message>
 </context>
 <context>
@@ -160,31 +160,31 @@
     </message>
     <message>
         <source>Type</source>
-        <translation type="unfinished"></translation>
+        <translation>Тип</translation>
     </message>
     <message>
         <source>Small tunnels</source>
-        <translation type="unfinished"></translation>
+        <translation>Малки тунели</translation>
     </message>
     <message>
         <source>Medium tunnels</source>
-        <translation type="unfinished"></translation>
+        <translation>Средни тунели</translation>
     </message>
     <message>
         <source>Large tunnels</source>
-        <translation type="unfinished"></translation>
+        <translation>Големи тунели</translation>
     </message>
     <message>
         <source>Small floating islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Малки плаващи острови</translation>
     </message>
     <message>
         <source>Medium floating islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Средни плаващи острови</translation>
     </message>
     <message>
         <source>Large floating islands</source>
-        <translation type="unfinished"></translation>
+        <translation>Големи плаващи острови</translation>
     </message>
     <message>
         <source>Seed</source>
@@ -222,11 +222,11 @@
     </message>
     <message>
         <source>You got kicked</source>
-        <translation type="unfinished"></translation>
+        <translation>Вие бяхте изхвърлен</translation>
     </message>
     <message>
         <source>Password</source>
-        <translation type="unfinished"></translation>
+        <translation>Парола</translation>
     </message>
     <message>
         <source>Quit reason: </source>
@@ -238,26 +238,29 @@
     </message>
     <message>
         <source>%1 *** %2 has joined the room</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 *** %2 се присъедини към стаята</translation>
     </message>
     <message>
         <source>%1 *** %2 has joined</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 *** %2 се присъедини</translation>
     </message>
     <message>
         <source>%1 *** %2 has left (%3)</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 *** %2 напусна (%3)</translation>
     </message>
     <message>
         <source>%1 *** %2 has left</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 *** %2 напусна</translation>
     </message>
     <message>
         <source>Your nickname %1 is
 registered on Hedgewars.org
 Please provide your password below
 or pick another nickname in game config:</source>
-        <translation type="unfinished"></translation>
+        <translation>Прякорът ви %1 е
+регистриран на Hedgewars.org
+Моля въдете паролата си по-долу
+или изберете друг прякор в настройките на играта:</translation>
     </message>
 </context>
 <context>
@@ -271,69 +274,69 @@
     <name>PageAdmin</name>
     <message>
         <source>Clear Accounts Cache</source>
-        <translation type="unfinished"></translation>
+        <translation>Изчистване на кеша на профилите</translation>
     </message>
     <message>
         <source>Fetch data</source>
-        <translation type="unfinished"></translation>
+        <translation>Получаване на данни</translation>
     </message>
     <message>
         <source>Server message for latest version:</source>
-        <translation type="unfinished"></translation>
+        <translation>Съобщение на сървъра за последната версия:</translation>
     </message>
     <message>
         <source>Server message for previous versions:</source>
-        <translation type="unfinished"></translation>
+        <translation>Съобщение на сървъра за предишната версия:</translation>
     </message>
     <message>
         <source>Latest version protocol number:</source>
-        <translation type="unfinished"></translation>
+        <translation>Номер на протокола на последната версия:</translation>
     </message>
     <message>
         <source>MOTD preview:</source>
-        <translation type="unfinished"></translation>
+        <translation>Преглед на съобщението за деня:</translation>
     </message>
     <message>
         <source>Set data</source>
-        <translation type="unfinished"></translation>
+        <translation>Задаване на данни</translation>
     </message>
 </context>
 <context>
     <name>PageConnecting</name>
     <message>
         <source>Connecting...</source>
-        <translation type="unfinished"></translation>
+        <translation>Свързване...</translation>
     </message>
 </context>
 <context>
     <name>PageDrawMap</name>
     <message>
         <source>Undo</source>
-        <translation type="unfinished"></translation>
+        <translation>Отмяна</translation>
     </message>
     <message>
         <source>Clear</source>
-        <translation type="unfinished"></translation>
+        <translation>Изчистване</translation>
     </message>
     <message>
         <source>Load</source>
-        <translation type="unfinished">Зареждане</translation>
+        <translation>Зареждане</translation>
     </message>
     <message>
         <source>Save</source>
-        <translation type="unfinished"></translation>
+        <translation>Запазване</translation>
     </message>
     <message>
         <source>Load drawn map</source>
-        <translation type="unfinished"></translation>
+        <translation>Зареждане на начертана карта</translation>
     </message>
     <message>
         <source>Drawn Maps (*.hwmap);;All files (*.*)</source>
-        <translation type="unfinished"></translation>
+        <translation>Начертани карти (*.hwmap);;Всички файлове (*.*)</translation>
     </message>
     <message>
         <source>Save drawn map</source>
-        <translation type="unfinished"></translation>
+        <translation>Запазване на начертана карта</translation>
     </message>
 </context>
 <context>
@@ -355,19 +358,19 @@
     </message>
     <message>
         <source>Details</source>
-        <translation type="unfinished"></translation>
+        <translation>Подробности</translation>
     </message>
     <message>
         <source>Health graph</source>
-        <translation type="unfinished"></translation>
+        <translation>Графика на здрането</translation>
     </message>
     <message>
         <source>Ranking</source>
-        <translation type="unfinished"></translation>
+        <translation>Класиране</translation>
     </message>
     <message>
         <source>The best shot award was won by &lt;b&gt;%1&lt;/b&gt; with &lt;b&gt;%2&lt;/b&gt; pts.</source>
-        <translation type="unfinished"></translation>
+        <translation>Наградата за най-добър изстрел беше спечелена от &lt;b&gt;%1&lt;/b&gt; с &lt;b&gt;%2&lt;/b&gt; pts.</translation>
     </message>
     <message numerus="yes">
         <source>The best killer is &lt;b&gt;%1&lt;/b&gt; with &lt;b&gt;%2&lt;/b&gt; kills in a turn.</source>
@@ -380,7 +383,6 @@
         <source>A total of &lt;b&gt;%1&lt;/b&gt; hedgehog(s) were killed during this round.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
@@ -392,8 +394,7 @@
     </message>
     <message numerus="yes">
         <source>&lt;b&gt;%1&lt;/b&gt; thought it&apos;s good to shoot his own hedgehogs with &lt;b&gt;%2&lt;/b&gt; pts.</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
+        <translation>
             <numerusform></numerusform>
         </translation>
     </message>
@@ -401,14 +402,12 @@
         <source>&lt;b&gt;%1&lt;/b&gt; killed &lt;b&gt;%2&lt;/b&gt; of his own hedgehogs.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>&lt;b&gt;%1&lt;/b&gt; was scared and skipped turn &lt;b&gt;%2&lt;/b&gt; times.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
 </context>
@@ -690,18 +689,18 @@
     <name>PageNetGame</name>
     <message>
         <source>Control</source>
-        <translation type="unfinished"></translation>
+        <translation>Контрол</translation>
     </message>
 </context>
 <context>
     <name>PageNetType</name>
     <message>
         <source>LAN game</source>
-        <translation type="unfinished"></translation>
+        <translation>Игра по локална мрежа</translation>
     </message>
     <message>
         <source>Official server</source>
-        <translation type="unfinished"></translation>
+        <translation>Официален сървър</translation>
     </message>
 </context>
 <context>
@@ -716,35 +715,35 @@
     </message>
     <message>
         <source>Delete team</source>
-        <translation type="unfinished"></translation>
+        <translation>Изтриване на отбор</translation>
     </message>
     <message>
         <source>You can&apos;t edit teams from team selection. Go back to main menu to add, edit or delete teams.</source>
-        <translation type="unfinished"></translation>
+        <translation>Не можете да редактиране отбори от избирането на отбори. Върнете се назад за да добавите, редактирате или изтриете отбори.</translation>
     </message>
     <message>
         <source>New scheme</source>
-        <translation type="unfinished"></translation>
+        <translation>Нова схема</translation>
     </message>
     <message>
         <source>Edit scheme</source>
-        <translation type="unfinished"></translation>
+        <translation>Редактиране на схема</translation>
     </message>
     <message>
         <source>Delete scheme</source>
-        <translation type="unfinished"></translation>
+        <translation>Изтриване на схема</translation>
     </message>
     <message>
         <source>New weapon set</source>
-        <translation type="unfinished"></translation>
+        <translation>Нов комплект оръжия</translation>
     </message>
     <message>
         <source>Edit weapon set</source>
-        <translation type="unfinished"></translation>
+        <translation>Редактиране на комплекта оръжия</translation>
     </message>
     <message>
         <source>Delete weapon set</source>
-        <translation type="unfinished"></translation>
+        <translation>Изтриване на комплекта оръжия</translation>
     </message>
 </context>
 <context>
@@ -794,7 +793,7 @@
     </message>
     <message>
         <source>Admin features</source>
-        <translation type="unfinished"></translation>
+        <translation>Административни функционалности</translation>
     </message>
     <message>
         <source>Error</source>
@@ -806,37 +805,39 @@
     </message>
     <message>
         <source>Room Name:</source>
-        <translation type="unfinished"></translation>
+        <translation>Име на стаята:</translation>
     </message>
     <message>
         <source>This game is in lobby.
 You may join and start playing once the game starts.</source>
-        <translation type="unfinished"></translation>
+        <translation>Тази игра е в лоби.
+След като започне, може да се присъедините и да играете.</translation>
     </message>
     <message>
         <source>This game is in progress.
 You may join and spectate now but you&apos;ll have to wait for the game to end to start playing.</source>
-        <translation type="unfinished"></translation>
+        <translation>Играта тече в момента.
+Можете да се присъедините и да гледате, но ще трябва да изчакате да свърши, за да започнете да играете.</translation>
     </message>
     <message>
         <source>%1 is the host. He may adjust settings and start the game.</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 е домакина. Той може да променя настройките и да започне играта.</translation>
     </message>
     <message>
         <source>Random Map</source>
-        <translation type="unfinished"></translation>
+        <translation>Случайна карта</translation>
     </message>
     <message>
         <source>Games may be played on precreated or randomized maps.</source>
-        <translation type="unfinished"></translation>
+        <translation>Игрите могат да се играят на предварително създадени или случайно генерирани карти.</translation>
     </message>
     <message>
         <source>The Game Scheme defines general options and preferences like Round Time, Sudden Death or Vampirism.</source>
-        <translation type="unfinished"></translation>
+        <translation>Игровата схема определя общите настройки и предпочитания, като продължителност на рунда, внезапна смърт или вампиризъм.</translation>
     </message>
     <message>
         <source>The Weapon Scheme defines available weapons and their ammunition count.</source>
-        <translation type="unfinished"></translation>
+        <translation>Схемата на оръжията определя наличните оръжия и количеството боеприпаси за тях.</translation>
     </message>
     <message numerus="yes">
         <source>There are %1 clients connected to this room.</source>
@@ -849,7 +850,6 @@
         <source>There are %1 teams participating in this room.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
-            <numerusform></numerusform>
         </translation>
     </message>
     <message>
@@ -862,36 +862,37 @@
     </message>
     <message>
         <source>Random Maze</source>
-        <translation type="unfinished"></translation>
+        <translation>Случан лабиринт</translation>
     </message>
     <message>
         <source>State:</source>
-        <translation type="unfinished"></translation>
+        <translation>Състояние:</translation>
     </message>
     <message>
         <source>Rules:</source>
-        <translation type="unfinished"></translation>
+        <translation>Правила:</translation>
     </message>
     <message>
         <source>Weapons:</source>
-        <translation type="unfinished"></translation>
+        <translation>Оръжия:</translation>
     </message>
     <message>
         <source>Search:</source>
-        <translation type="unfinished"></translation>
+        <translation>Търсене:</translation>
     </message>
     <message>
         <source>Clear</source>
-        <translation type="unfinished"></translation>
+        <translation>Изчистване</translation>
     </message>
     <message>
         <source>Warning</source>
-        <translation type="unfinished"></translation>
+        <translation>Внимание</translation>
     </message>
     <message>
         <source>The game you are trying to join has started.
 Do you still want to join the room?</source>
-        <translation type="unfinished"></translation>
+        <translation>Играта, към която се опитвате да се присъедините вече е започнала.
+Все още ли желаете да се присъедините към стаята?</translation>
     </message>
 </context>
 <context>
@@ -1021,11 +1022,11 @@
     </message>
     <message>
         <source>New</source>
-        <translation type="unfinished"></translation>
+        <translation>Ново</translation>
     </message>
     <message>
         <source>Copy</source>
-        <translation type="unfinished"></translation>
+        <translation>Копиране</translation>
     </message>
 </context>
 <context>
@@ -1040,7 +1041,7 @@
     </message>
     <message>
         <source>Training Mode (Practice your skills in a range of training missions). IN DEVELOPMENT</source>
-        <translation>Тренировка (упражнете уменията си в редица тренировъчни мисии). РАЗРАБОТВА СЕ</translation>
+        <translation>Тренировка (упражнете уменията си в редица тренировъчни мисии). В ПРОЦЕС НА РАЗРАБОТКА</translation>
     </message>
     <message>
         <source>Demos (Watch recorded demos)</source>
@@ -1052,7 +1053,7 @@
     </message>
     <message>
         <source>Campaign Mode (...). IN DEVELOPMENT</source>
-        <translation type="unfinished"></translation>
+        <translation>Режим кампания (...). В ПРОЦЕС НА РАЗРАБОТКА</translation>
     </message>
 </context>
 <context>
@@ -1063,7 +1064,7 @@
     </message>
     <message>
         <source>Ban</source>
-        <translation type="unfinished"></translation>
+        <translation>Забраняване</translation>
     </message>
     <message>
         <source>Start</source>
@@ -1083,30 +1084,30 @@
     </message>
     <message>
         <source>Follow</source>
-        <translation type="unfinished"></translation>
+        <translation>Следване</translation>
     </message>
     <message>
         <source>Ignore</source>
-        <translation type="unfinished"></translation>
+        <translation>Игнориране</translation>
     </message>
     <message>
         <source>Add friend</source>
-        <translation type="unfinished"></translation>
+        <translation>Добавяне на приятел</translation>
     </message>
     <message>
         <source>Unignore</source>
-        <translation type="unfinished"></translation>
+        <translation>Отмяна на игнориране</translation>
     </message>
     <message>
         <source>Remove friend</source>
-        <translation type="unfinished"></translation>
+        <translation>Премахване на приятел</translation>
     </message>
 </context>
 <context>
     <name>QCheckBox</name>
     <message>
         <source>Check for updates at startup</source>
-        <translation type="unfinished"></translation>
+        <translation>Проверяване за обновления при стартиране</translation>
     </message>
     <message>
         <source>Enable sound</source>
@@ -1130,7 +1131,7 @@
     </message>
     <message>
         <source>Frontend fullscreen</source>
-        <translation>Преден пълен екран</translation>
+        <translation>Пълен екран</translation>
     </message>
     <message>
         <source>Append date and time to record file name</source>
@@ -1138,19 +1139,19 @@
     </message>
     <message>
         <source>Show ammo menu tooltips</source>
-        <translation type="unfinished"></translation>
+        <translation>Показване на подсказки за боеприпасите</translation>
     </message>
     <message>
         <source>Enable frontend sounds</source>
-        <translation type="unfinished"></translation>
+        <translation>Включване на звуци</translation>
     </message>
     <message>
         <source>Enable frontend music</source>
-        <translation type="unfinished"></translation>
+        <translation>Включване на музика</translation>
     </message>
     <message>
         <source>Frontend effects</source>
-        <translation type="unfinished"></translation>
+        <translation>Ефекти</translation>
     </message>
 </context>
 <context>
@@ -1169,31 +1170,31 @@
     </message>
     <message>
         <source>(System default)</source>
-        <translation type="unfinished"></translation>
+        <translation>(Стандартно за системата)</translation>
     </message>
     <message>
         <source>generated maze...</source>
-        <translation type="unfinished"></translation>
+        <translation>генериран лабиринт...</translation>
     </message>
     <message>
         <source>Mission</source>
-        <translation type="unfinished"></translation>
+        <translation>Мисия</translation>
     </message>
     <message>
         <source>Community</source>
-        <translation type="unfinished"></translation>
+        <translation>Общност</translation>
     </message>
     <message>
         <source>Any</source>
-        <translation type="unfinished"></translation>
+        <translation>Без значение</translation>
     </message>
     <message>
         <source>In lobby</source>
-        <translation type="unfinished"></translation>
+        <translation>В лоби</translation>
     </message>
     <message>
         <source>In progress</source>
-        <translation type="unfinished"></translation>
+        <translation>В прогрес</translation>
     </message>
     <message>
         <source>Default</source>
@@ -1201,11 +1202,11 @@
     </message>
     <message>
         <source>hand drawn map...</source>
-        <translation type="unfinished"></translation>
+        <translation>Ръчно нарисувана карта...</translation>
     </message>
     <message>
         <source>Disabled</source>
-        <translation type="unfinished"></translation>
+        <translation>Изключено</translation>
     </message>
     <message>
         <source>Red/Cyan</source>
@@ -1248,11 +1249,11 @@
     <name>QGroupBox</name>
     <message>
         <source>Game Modifiers</source>
-        <translation type="unfinished"></translation>
+        <translation>Модификатори на играта</translation>
     </message>
     <message>
         <source>Basic Settings</source>
-        <translation type="unfinished"></translation>
+        <translation>Основни настройки</translation>
     </message>
     <message>
         <source>Team Members</source>
@@ -1288,54 +1289,54 @@
     </message>
     <message>
         <source>Team Settings</source>
-        <translation type="unfinished"></translation>
+        <translation>Настройки на отборите</translation>
     </message>
     <message>
         <source>Misc</source>
-        <translation type="unfinished"></translation>
+        <translation>Разни</translation>
     </message>
     <message>
         <source>Schemes and Weapons</source>
-        <translation type="unfinished"></translation>
+        <translation>Схеми и оръжия</translation>
     </message>
 </context>
 <context>
     <name>QLabel</name>
     <message>
         <source>Game scheme</source>
-        <translation type="unfinished">Игрови настройки</translation>
+        <translation>Игрови схеми</translation>
     </message>
     <message>
         <source>Damage Modifier</source>
-        <translation type="unfinished"></translation>
+        <translation>Модификатор на щетите</translation>
     </message>
     <message>
         <source>Turn Time</source>
-        <translation type="unfinished"></translation>
+        <translation>Време за ход</translation>
     </message>
     <message>
         <source>Initial Health</source>
-        <translation type="unfinished"></translation>
+        <translation>Начално здраве</translation>
     </message>
     <message>
         <source>Sudden Death Timeout</source>
-        <translation type="unfinished"></translation>
+        <translation>Изтичане на времето на внезапната смърт</translation>
     </message>
     <message>
         <source>Crate Drops</source>
-        <translation type="unfinished"></translation>
+        <translation>Пускане на кашони</translation>
     </message>
     <message>
         <source>Mines Time</source>
-        <translation type="unfinished"></translation>
+        <translation>Време на мините</translation>
     </message>
     <message>
         <source>Mines</source>
-        <translation type="unfinished"></translation>
+        <translation>Мини</translation>
     </message>
     <message>
         <source>Scheme Name:</source>
-        <translation type="unfinished"></translation>
+        <translation>Име на схемата:</translation>
     </message>
     <message>
         <source>Net nick</source>
@@ -1407,39 +1408,39 @@
     </message>
     <message>
         <source>Name</source>
-        <translation type="unfinished"></translation>
+        <translation>Име</translation>
     </message>
     <message>
         <source>Type</source>
-        <translation type="unfinished"></translation>
+        <translation>Тип</translation>
     </message>
     <message>
         <source>Grave</source>
-        <translation type="unfinished"></translation>
+        <translation>Надгробна плоча</translation>
     </message>
     <message>
         <source>Flag</source>
-        <translation type="unfinished"></translation>
+        <translation>Знаме</translation>
     </message>
     <message>
         <source>Voice</source>
-        <translation type="unfinished"></translation>
+        <translation>Глас</translation>
     </message>
     <message>
         <source>Locale</source>
-        <translation type="unfinished"></translation>
+        <translation>Локал</translation>
     </message>
     <message>
         <source>Restart game to apply</source>
-        <translation type="unfinished"></translation>
+        <translation>Рестартирайте играта за да влезе в сила</translation>
     </message>
     <message>
         <source>Explosives</source>
-        <translation type="unfinished"></translation>
+        <translation>Експлозиви</translation>
     </message>
     <message>
         <source>Tip: </source>
-        <translation type="unfinished"></translation>
+        <translation>Съвет:</translation>
     </message>
     <message>
         <source>This development build is &apos;work in progress&apos; and may not be compatible with other versions of the game. Some features might be broken or incomplete. Use at your own risk!</source>
@@ -1447,35 +1448,35 @@
     </message>
     <message>
         <source>Quality</source>
-        <translation type="unfinished"></translation>
+        <translation>Качество</translation>
     </message>
     <message>
         <source>% Health Crates</source>
-        <translation type="unfinished"></translation>
+        <translation>% кашони със здраве</translation>
     </message>
     <message>
         <source>Health in Crates</source>
-        <translation type="unfinished"></translation>
+        <translation>Здраве в кашоните</translation>
     </message>
     <message>
         <source>Sudden Death Water Rise</source>
-        <translation type="unfinished"></translation>
+        <translation>Покачване на водата при Внезапна смърт</translation>
     </message>
     <message>
         <source>Sudden Death Health Decrease</source>
-        <translation type="unfinished"></translation>
+        <translation>Намаляване на здравето при Внезапна смърт</translation>
     </message>
     <message>
         <source>% Rope Length</source>
-        <translation type="unfinished"></translation>
+        <translation>% Дължина на въжето</translation>
     </message>
     <message>
         <source>Gameplay</source>
-        <translation type="unfinished"></translation>
+        <translation>Геймплей</translation>
     </message>
     <message>
         <source>Stereo rendering</source>
-        <translation type="unfinished"></translation>
+        <translation>Стерео режим</translation>
     </message>
 </context>
 <context>
@@ -1532,39 +1533,39 @@
     </message>
     <message>
         <source>Can not overwrite default weapon set &apos;%1&apos;!</source>
-        <translation type="unfinished"></translation>
+        <translation>Не моге да се презапише стандартния комплект с оръжия &apos;%1&apos;!</translation>
     </message>
     <message>
         <source>All file associations have been set.</source>
-        <translation type="unfinished"></translation>
+        <translation>Всички файлови асоциации са зададени.</translation>
     </message>
     <message>
         <source>File association failed.</source>
-        <translation type="unfinished"></translation>
+        <translation>Файловата асоциация се провали.</translation>
     </message>
     <message>
         <source>Teams</source>
-        <translation type="unfinished">Отбори</translation>
+        <translation>Отбори</translation>
     </message>
     <message>
         <source>Really delete this team?</source>
-        <translation type="unfinished"></translation>
+        <translation>Наистина ли да бъде изтрит този отбор?</translation>
     </message>
     <message>
         <source>Schemes</source>
-        <translation type="unfinished"></translation>
+        <translation>Схеми</translation>
     </message>
     <message>
         <source>Can not delete default scheme &apos;%1&apos;!</source>
-        <translation type="unfinished"></translation>
+        <translation>Стандартната схема &apos;%1&apos; не може да бъде изтрита!</translation>
     </message>
     <message>
         <source>Really delete this game scheme?</source>
-        <translation type="unfinished"></translation>
+        <translation>Наистина ли да бъде изтрите тази игрова схема?</translation>
     </message>
     <message>
         <source>Can not delete default weapon set &apos;%1&apos;!</source>
-        <translation type="unfinished"></translation>
+        <translation>Не моге да се изтрие стандартния комплект с оръжия &apos;%1&apos;!</translation>
     </message>
 </context>
 <context>
@@ -1583,11 +1584,11 @@
     </message>
     <message>
         <source>Nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>Прякор</translation>
     </message>
     <message>
         <source>Please enter your nickname</source>
-        <translation type="unfinished"></translation>
+        <translation>Моля въведете прякорът си</translation>
     </message>
 </context>
 <context>
@@ -1654,73 +1655,73 @@
     </message>
     <message>
         <source>Random Team</source>
-        <translation type="unfinished"></translation>
+        <translation>Случаен отбор</translation>
     </message>
     <message>
         <source>Associate file extensions</source>
-        <translation type="unfinished"></translation>
+        <translation>Асоцииране на файлови разширения</translation>
     </message>
     <message>
         <source>more</source>
-        <translation type="unfinished"></translation>
+        <translation>повече</translation>
     </message>
 </context>
 <context>
     <name>QTableWidget</name>
     <message>
         <source>Room Name</source>
-        <translation type="unfinished"></translation>
+        <translation>Име на стаята</translation>
     </message>
     <message>
         <source>C</source>
-        <translation type="unfinished"></translation>
+        <translation>C</translation>
     </message>
     <message>
         <source>T</source>
-        <translation type="unfinished"></translation>
+        <translation>T</translation>
     </message>
     <message>
         <source>Owner</source>
-        <translation type="unfinished"></translation>
+        <translation>Притежател</translation>
     </message>
     <message>
         <source>Map</source>
-        <translation type="unfinished">Карта</translation>
+        <translation>Карта</translation>
     </message>
     <message>
         <source>Rules</source>
-        <translation type="unfinished"></translation>
+        <translation>Правила</translation>
     </message>
     <message>
         <source>Weapons</source>
-        <translation type="unfinished">Оръжия</translation>
+        <translation>Оръжия</translation>
     </message>
 </context>
 <context>
     <name>SelWeaponWidget</name>
     <message>
         <source>Weapon set</source>
-        <translation type="unfinished"></translation>
+        <translation>Комплект оръжия</translation>
     </message>
     <message>
         <source>Probabilities</source>
-        <translation type="unfinished"></translation>
+        <translation>Веротности</translation>
     </message>
     <message>
         <source>Ammo in boxes</source>
-        <translation type="unfinished"></translation>
+        <translation>Боеприпаси в кашоните</translation>
     </message>
     <message>
         <source>Delays</source>
-        <translation type="unfinished"></translation>
+        <translation>Закъснения</translation>
     </message>
     <message>
         <source>new</source>
-        <translation type="unfinished">Нов отбор</translation>
+        <translation>нов</translation>
     </message>
     <message>
         <source>copy of</source>
-        <translation type="unfinished"></translation>
+        <translation>копие на</translation>
     </message>
 </context>
 <context>
@@ -1742,95 +1743,95 @@
     <name>ToggleButtonWidget</name>
     <message>
         <source>Fort Mode</source>
-        <translation type="unfinished"></translation>
+        <translation>Режим на фортове</translation>
     </message>
     <message>
         <source>Divide Teams</source>
-        <translation type="unfinished"></translation>
+        <translation>Разделяне на отборите</translation>
     </message>
     <message>
         <source>Solid Land</source>
-        <translation type="unfinished"></translation>
+        <translation>Твърда земя</translation>
     </message>
     <message>
         <source>Add Border</source>
-        <translation type="unfinished">Добави гранична ивица</translation>
+        <translation>Добави гранична ивица</translation>
     </message>
     <message>
         <source>Low Gravity</source>
-        <translation type="unfinished"></translation>
+        <translation>Ниска гравитация</translation>
     </message>
     <message>
         <source>Laser Sight</source>
-        <translation type="unfinished"></translation>
+        <translation>Лазерен мерник</translation>
     </message>
     <message>
         <source>Invulnerable</source>
-        <translation type="unfinished"></translation>
+        <translation>Неуязвимост</translation>
     </message>
     <message>
         <source>Vampirism</source>
-        <translation type="unfinished"></translation>
+        <translation>Вампиризъм</translation>
     </message>
     <message>
         <source>Karma</source>
-        <translation type="unfinished"></translation>
+        <translation>Карма</translation>
     </message>
     <message>
         <source>Artillery</source>
-        <translation type="unfinished"></translation>
+        <translation>Артилерия</translation>
     </message>
     <message>
         <source>Random Order</source>
-        <translation type="unfinished"></translation>
+        <translation>Произволен ред</translation>
     </message>
     <message>
         <source>King</source>
-        <translation type="unfinished"></translation>
+        <translation>Крал</translation>
     </message>
     <message>
         <source>Place Hedgehogs</source>
-        <translation type="unfinished"></translation>
+        <translation>Поставяне на таралежи</translation>
     </message>
     <message>
         <source>Clan Shares Ammo</source>
-        <translation type="unfinished"></translation>
+        <translation>Кланът споделя оръжията</translation>
     </message>
     <message>
         <source>Disable Girders</source>
-        <translation type="unfinished"></translation>
+        <translation>Изкбючване на греди</translation>
     </message>
     <message>
         <source>Disable Land Objects</source>
-        <translation type="unfinished"></translation>
+        <translation>Изключване на обекти по земята</translation>
     </message>
     <message>
         <source>AI Survival Mode</source>
-        <translation type="unfinished"></translation>
+        <translation>Режим ИИ оцеляване</translation>
     </message>
     <message>
         <source>Reset Health</source>
-        <translation type="unfinished"></translation>
+        <translation>Изчистване на здрането</translation>
     </message>
     <message>
         <source>Unlimited Attacks</source>
-        <translation type="unfinished"></translation>
+        <translation>Неограничени атаки</translation>
     </message>
     <message>
         <source>Reset Weapons</source>
-        <translation type="unfinished"></translation>
+        <translation>Изчистване на оръжията</translation>
     </message>
     <message>
         <source>Per Hedgehog Ammo</source>
-        <translation type="unfinished"></translation>
+        <translation>Боеприпаси за всеки таралеж поотделно</translation>
     </message>
     <message>
         <source>Disable Wind</source>
-        <translation type="unfinished"></translation>
+        <translation>Изключване на вятъра</translation>
     </message>
     <message>
         <source>More Wind</source>
-        <translation type="unfinished"></translation>
+        <translation>Още вятър</translation>
     </message>
 </context>
 <context>
@@ -1975,120 +1976,120 @@
     </message>
     <message>
         <source>zoom in</source>
-        <translation type="unfinished"></translation>
+        <translation>Приближаване</translation>
     </message>
     <message>
         <source>zoom out</source>
-        <translation type="unfinished"></translation>
+        <translation>Отдалечаване</translation>
     </message>
     <message>
         <source>reset zoom</source>
-        <translation type="unfinished"></translation>
+        <translation>Изчиставане на мащабирането</translation>
     </message>
     <message>
         <source>long jump</source>
-        <translation type="unfinished"></translation>
+        <translation>Дълъг скок</translation>
     </message>
     <message>
         <source>high jump</source>
-        <translation type="unfinished"></translation>
+        <translation>Висок скок</translation>
     </message>
     <message>
         <source>slot 10</source>
-        <translation type="unfinished">Слот 10</translation>
+        <translation>Слот 10</translation>
     </message>
 </context>
 <context>
     <name>binds (categories)</name>
     <message>
         <source>Basic controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Основни контроли</translation>
     </message>
     <message>
         <source>Weapon controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Контроли за оръжията</translation>
     </message>
     <message>
         <source>Camera and cursor controls</source>
-        <translation type="unfinished"></translation>
+        <translation>Контроли за камерата и показалеца</translation>
     </message>
     <message>
         <source>Other</source>
-        <translation type="unfinished">Друго</translation>
+        <translation>Друго</translation>
     </message>
 </context>
 <context>
     <name>binds (descriptions)</name>
     <message>
         <source>Move your hogs and aim:</source>
-        <translation type="unfinished"></translation>
+        <translation>Преместете таралежите си и се прицелете:</translation>
     </message>
     <message>
         <source>Traverse gaps and obstacles by jumping:</source>
-        <translation type="unfinished"></translation>
+        <translation>Преодолявайте празнини и препятствия чрез скачане:</translation>
     </message>
     <message>
         <source>Fire your selected weapon or trigger an utility item:</source>
-        <translation type="unfinished"></translation>
+        <translation>Стреляйте с избраното оръжие или задействайте инструмент:</translation>
     </message>
     <message>
         <source>Pick a weapon or a target location under the cursor:</source>
-        <translation type="unfinished"></translation>
+        <translation>Изберете оръжие или местоположение под показалеца:</translation>
     </message>
     <message>
         <source>Switch your currently active hog (if possible):</source>
-        <translation type="unfinished"></translation>
+        <translation>Превключете текущо избрания таралеж ( ако е възможно):</translation>
     </message>
     <message>
         <source>Pick a weapon or utility item:</source>
-        <translation type="unfinished"></translation>
+        <translation>Изберете оръжие или инструмент:</translation>
     </message>
     <message>
         <source>Set the timer on bombs and timed weapons:</source>
-        <translation type="unfinished"></translation>
+        <translation>Задайте таймер на бомбите и оръжията с таймер:</translation>
     </message>
     <message>
         <source>Move the camera to the active hog:</source>
-        <translation type="unfinished"></translation>
+        <translation>Преместете камерата към активния таралеж:</translation>
     </message>
     <message>
         <source>Move the cursor or camera without using the mouse:</source>
-        <translation type="unfinished"></translation>
+        <translation>Преместете показалеца или камерата без помощта на мишката:</translation>
     </message>
     <message>
         <source>Modify the camera&apos;s zoom level:</source>
-        <translation type="unfinished"></translation>
+        <translation>Променете нивото на мащабиране на картата:</translation>
     </message>
     <message>
         <source>Talk to your team or all participants:</source>
-        <translation type="unfinished"></translation>
+        <translation>Говорете с отбора си или всички участници:</translation>
     </message>
     <message>
         <source>Pause, continue or leave your game:</source>
-        <translation type="unfinished"></translation>
+        <translation>Сложете на пауза, продължете или напудснете играта:</translation>
     </message>
     <message>
         <source>Modify the game&apos;s volume while playing:</source>
-        <translation type="unfinished"></translation>
+        <translation>Променете силата на звука на играта докато играете:</translation>
     </message>
     <message>
         <source>Toggle fullscreen mode:</source>
-        <translation type="unfinished"></translation>
+        <translation>Превключване на пълен екран:</translation>
     </message>
     <message>
         <source>Take a screenshot:</source>
-        <translation type="unfinished"></translation>
+        <translation>Прихващане на екран:</translation>
     </message>
     <message>
         <source>Toggle labels above hedgehogs:</source>
-        <translation type="unfinished"></translation>
+        <translation>Премключване на надписи над таралежите:</translation>
     </message>
 </context>
 <context>
     <name>binds (keys)</name>
     <message>
         <source>Axis</source>
-        <translation type="unfinished"></translation>
+        <translation>Ос</translation>
     </message>
     <message>
         <source>(Up)</source>
@@ -2112,11 +2113,11 @@
     </message>
     <message>
         <source>Button</source>
-        <translation type="unfinished"></translation>
+        <translation>Бутон</translation>
     </message>
     <message>
         <source>Keyboard</source>
-        <translation type="unfinished"></translation>
+        <translation>Клавиатура</translation>
     </message>
     <message>
         <source>Delete</source>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Missions/Training/User_Mission_-_Bamboo_Thicket.lua	Wed Jul 27 11:41:43 2011 +0400
@@ -0,0 +1,87 @@
+
+loadfile(GetDataPath() .. "Scripts/Locale.lua")()
+
+local player = nil 
+local enemy = nil
+local firedShell = false
+local turnNumber = 0
+
+local hhs = {}
+local numhhs = 0
+
+function onGameInit()
+
+	Seed = 0 
+	TurnTime = 20000 
+	CaseFreq = 0 
+	MinesNum = 0 
+	Explosives = 0 
+	Map = "Bamboo" 
+	Theme = "Bamboo"
+
+	AddTeam(loc("Pathetic Resistance"), 14483456, "Simple", "Island", "Default")
+	player = AddHog("Ikeda", 0, 10, "StrawHat")
+			
+	AddTeam(loc("Cybernetic Empire"), 	1175851, "Simple", "Island", "Default")
+	enemy = AddHog(loc("Unit 835"), 5, 10, "cyborg")
+
+	SetGearPosition(player,1166,1680)
+	SetGearPosition(enemy,2848,1443)
+
+end
+
+
+function onGameStart()
+
+	ShowMission(loc("Bamboo Thicket"), loc("User Challenge"), loc("Eliminate the enemy before the time runs out"), -amBazooka, 0)
+
+	--WEAPON CRATE LIST. WCRATES: 1
+	SpawnAmmoCrate(1915,1876,amBazooka)
+	--UTILITY CRATE LIST. UCRATES: 2
+	SpawnUtilityCrate(1986,1141,amBlowTorch)
+	SpawnUtilityCrate(1427,1527,amParachute)
+
+	AddAmmo(enemy, amGrenade, 100)
+		
+end
+
+function onNewTurn()
+	SetWind(100)
+	turnNumber = turnNumber + 1
+end
+
+function onAmmoStoreInit()
+	SetAmmo(amSkip, 9, 0, 0, 0)
+	SetAmmo(amGirder, 4, 0, 0, 0)
+	SetAmmo(amBlowTorch, 0, 0, 0, 1)
+	SetAmmo(amParachute, 0, 0, 0, 2)
+	SetAmmo(amBazooka, 0, 0, 0, 2)
+end
+
+
+function onGearAdd(gear)
+
+	if GetGearType(gear) == gtHedgehog then
+		hhs[numhhs] = gear
+		numhhs = numhhs + 1
+	elseif GetGearType(gear) == gtShell then
+		firedShell = true
+	end
+
+end
+
+function onGearDelete(gear)
+
+	if (gear == enemy) then
+		
+		ShowMission(loc("Bamboo Thicket"), loc("MISSION SUCCESSFUL"), loc("Congratulations!"), 0, 0)
+		
+		if (turnNumber < 6) and (firedShell == false) then
+			AddCaption(loc("Achievement Unlocked") .. ": " .. loc("Energetic Engineer"),0xffba00ff,capgrpMessage2)
+		end
+
+	elseif gear == player then
+		ShowMission(loc("Bamboo Thicket"), loc("MISSION FAILED"), loc("Oh no! Just try again!"), -amSkip, 0)
+	end
+
+end
Binary file share/hedgewars/Data/Themes/Golf/Ball.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Border.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Car.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Chunk.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Clouds.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Club.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Flag1.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Flag2.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Flake.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Girder.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Hole.png has changed
Binary file share/hedgewars/Data/Themes/Golf/LandBackTex.png has changed
Binary file share/hedgewars/Data/Themes/Golf/LandTex.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Sky.png has changed
Binary file share/hedgewars/Data/Themes/Golf/SkyL.png has changed
Binary file share/hedgewars/Data/Themes/Golf/SkyR.png has changed
Binary file share/hedgewars/Data/Themes/Golf/Tee.png has changed
Binary file share/hedgewars/Data/Themes/Golf/horizont.png has changed
Binary file share/hedgewars/Data/Themes/Golf/icon.png has changed
Binary file share/hedgewars/Data/Themes/Golf/icon@2x.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/share/hedgewars/Data/Themes/Golf/theme.cfg	Wed Jul 27 11:41:43 2011 +0400
@@ -0,0 +1,15 @@
+sky = 117, 141, 186
+border = 38, 114, 35
+water-top = $54, $5C, $9D
+water-bottom = $34, $3C, $7D
+water-opacity = $80
+music = nature.ogg
+clouds = 9
+object = Ball, 3, 0, 18, 24, 6, 1, 0, 0, 24, 13
+object = Tee, 1, 6, 22, 5, 4, 1, 0, 0, 16, 20
+object = Car, 1, 65, 258, 80, 2, 1, 0, 0, 240, 215
+object = Hole, 5, 0, 44, 100, 4, 1, 19, 0, 54, 41
+object = Flag1, 1, 65, 258, 80, 2, 1, 0, 0, 240, 215
+object = Flag2, 1, 65, 258, 80, 2, 1, 0, 0, 240, 215
+object = Club, 2, 162, 254, 21, 6, 1, 0, 0, 240, 245
+flakes = 100, 1, 1000, 50, 50