# HG changeset patch # User antonc27 # Date 1528650746 -7200 # Node ID ba39a1d396c026ad416a0796ad678c06c6c88353 # Parent 6e8b807bda4bf33d6f5e32a301fabc23e777e06c# Parent 236cc4cf2448c9074186c983496c32518a29bedf Merge default to ios-develop diff -r 6e8b807bda4b -r ba39a1d396c0 .hgignore --- a/.hgignore Sun Jun 10 18:56:51 2018 +0200 +++ b/.hgignore Sun Jun 10 19:12:26 2018 +0200 @@ -5,8 +5,8 @@ .git CMakeCache.txt CMakeFiles -moc_*.cxx -qrc_*.cxx +moc_*.* +qrc_*.* *.o *.a *.qm @@ -26,7 +26,7 @@ tools/cmake_uninstall.cmake install_manifest.txt .DS_Store -*.swp +*.sw? *.orig vittorio.* project_files/HedgewarsMobile/Data/ @@ -35,7 +35,7 @@ misc/liblua/Xcode/build/ misc/libphysfs/Xcode/build/ misc/libphyslayer/Xcode/build/ -moc_*.cxx_parameters +moc_*.cpp_parameters *.log *.cmd *.patch diff -r 6e8b807bda4b -r ba39a1d396c0 .hgtags --- a/.hgtags Sun Jun 10 18:56:51 2018 +0200 +++ b/.hgtags Sun Jun 10 19:12:26 2018 +0200 @@ -77,4 +77,14 @@ 0000000000000000000000000000000000000000 0.9.22-RC 8cc070640fd1f4affb3c5dd5652b4d75a075c200 0.9.23-alpha 8610462e3d336e112bffcd7c1530d271242216f1 0.9.23-release +a4e7e62f2c0dcf67ff2181550085475b09455377 0.9.24-release +3f2ee2f9b51d53f3de50c812aef87f3a681c0328 0.9.24.1-release +3f2ee2f9b51d53f3de50c812aef87f3a681c0328 0.9.24.1-release +0000000000000000000000000000000000000000 0.9.24.1-release +0000000000000000000000000000000000000000 0.9.24.1-release +ea98a45452e512f691c4866520849d69777398ef 0.9.24.1-release +ea98a45452e512f691c4866520849d69777398ef 0.9.24.1-release +0000000000000000000000000000000000000000 0.9.24.1-release +0000000000000000000000000000000000000000 0.9.24.1-release +afc089c39556bdd895892fa36ed47aaec83c3825 0.9.24.1-release 195208deff1dd3e22d303d4a92c2ba14be3b6623 Hedgewars-iOS-2.1 diff -r 6e8b807bda4b -r ba39a1d396c0 .travis.yml --- a/.travis.yml Sun Jun 10 18:56:51 2018 +0200 +++ b/.travis.yml Sun Jun 10 19:12:26 2018 +0200 @@ -1,5 +1,5 @@ sudo: required -dist: trusty +dist: xenial language: c sudo: true os: @@ -52,7 +52,6 @@ before_install: | if [ "$TRAVIS_OS_NAME" == "linux" ]; then - sudo add-apt-repository -y ppa:zoogie/sdl2-snapshots sudo apt-get update -qq elif [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update --all @@ -66,11 +65,9 @@ install: | if [ "$TRAVIS_OS_NAME" == "linux" ]; then - sudo apt-get install -y debhelper cmake dpkg-dev libqt4-dev qt4-qmake libphysfs-dev libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev libsdl2-image-dev libsdl2-net-dev bzip2 ghc libghc-mtl-dev libghc-parsec3-dev libghc-vector-dev libghc-zlib-dev libghc-random-dev libghc-stm-dev libghc-network-dev libghc-sandi-dev libghc-hslogger-dev libghc-utf8-string-dev libghc-sha-dev libghc-entropy-dev libghc-regex-tdfa-dev liblua5.1-0-dev imagemagick fpc fp-compiler fp-units-misc libpng-dev fp-units-gfx libavcodec-dev libavformat-dev libglew1.6-dev + sudo apt-get install -y debhelper cmake dpkg-dev qtbase5-dev qtbase5-private-dev qttools5-dev-tools qttools5-dev libphysfs-dev libsdl2-dev libsdl2-ttf-dev libsdl2-mixer-dev libsdl2-image-dev libsdl2-net-dev bzip2 ghc libghc-mtl-dev libghc-vector-dev libghc-zlib-dev libghc-random-dev libghc-network-dev libghc-sandi-dev libghc-hslogger-dev libghc-utf8-string-dev libghc-sha-dev libghc-entropy-dev libghc-regex-tdfa-dev liblua5.1-0-dev fpc fp-compiler fp-units-misc libpng-dev fp-units-gfx libavcodec-dev libavformat-dev libglew1.6-dev elif [ "$TRAVIS_OS_NAME" == "osx" ]; then - brew tap cartr/qt4 - brew tap-pin cartr/qt4 - brew install qt@4 + brew install qt5 brew install fpc glew physfs lua51 sdl2 sdl2_image sdl2_net sdl2_ttf ffmpeg ghc cabal-install brew install sdl2_mixer --with-libvorbis # use cabal install haskell deps, pas2c ones are covered by server diff -r 6e8b807bda4b -r ba39a1d396c0 CMakeLists.txt --- a/CMakeLists.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -80,8 +80,8 @@ #versioning set(CPACK_PACKAGE_VERSION_MAJOR 0) set(CPACK_PACKAGE_VERSION_MINOR 9) -set(CPACK_PACKAGE_VERSION_PATCH 23) -set(HEDGEWARS_PROTO_VER 53) +set(CPACK_PACKAGE_VERSION_PATCH 25) +set(HEDGEWARS_PROTO_VER 56) set(HEDGEWARS_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") include(${CMAKE_MODULE_PATH}/revinfo.cmake) diff -r 6e8b807bda4b -r ba39a1d396c0 CREDITS --- a/CREDITS Sun Jun 10 18:56:51 2018 +0200 +++ b/CREDITS Sun Jun 10 19:12:26 2018 +0200 @@ -92,6 +92,7 @@ = VOICES ========== - Stephen Alexander +- mtg90pl : Default_pl, Russian_pl ========== = MISSIONS @@ -130,6 +131,11 @@ - Invulnerable sound: remix based on a sound by pepingrillin (CC-0) https://www.freesound.org/people/pepingrillin/sounds/252079/ +================== += OTHER GRAPHICS = +================== +- Custom ammo images for Continental supplies: KarBoy2314PL + ====================== = LICENSE REFERENCES = ====================== diff -r 6e8b807bda4b -r ba39a1d396c0 ChangeLog.txt --- a/ChangeLog.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/ChangeLog.txt Sun Jun 10 19:12:26 2018 +0200 @@ -1,5 +1,170 @@ + features * bugfixes +====================== 0.9.25 ====================== +Game: + * Fix extreme amounts of droplets when shooting with minigun into ocean world edge + * Fix hog being unable to walk after using sniper rifle without firing both shots + +Continental supplies: + + Continents are now selected before the game starts + + Continents give hog different start health + + Add Antarctica special: Upside-Down World (teleport to top of map) + + Major rewrite of ALL texts for better usability + + Add custom weapon tooltips + + Improve audiovisual effects + + Show message when hog receives new continent ammo + + Sabotaged hedgehogs also emit smoke when it's not their turn + + Can switch continent in reverse order with [Precise]+[Switch] + * Invulnerability now protects from sabotage damage + * Sabotage kills hog instantly when health reaches 0 + * Reliably prevent using of Lonely Cries and baseball bat specials when usage not allowed + * Don't explode Anno 1302, Medicine and Bouncy Boomerang if drowning + * Don't play “Missed” and “Laugh” taunt when those don't make sense + * Fix retreat timer not turning red for some weapons + +Lua API: + + New call: Retreat(time [, respectGetAwayTimeFactor): Force current turn into retreating mode + + New call: GetAmmoTimer(gearUid, ammoType): Returns current set timer for given ammoType and hog gear in ms. Returns nil for non-timerable ammo + + New call: EnableSwitchHog(): Enable hog switching + + New parameter: SetAmmoTexts: 5th param. showExtra: Set to false to hide texts like “Not yet available” + +====================== 0.9.24.1 ==================== + * Fix crash when portable portal device is fired at reduced graphics quality + * Fix possible crash when starting Hedgewars frontend in fullscreen mode + +====================== 0.9.24 ====================== +Game: + + New weapon: Minigun + + New game modifier: Enable switch hedgehog at start of turn + + Change weapon icons: Mudball, air mine + + Add healing visual effect in Paramedics mode and a few scripts + + Show remaining ammo when using Birdy egg or RC Plane bomb + + Add separate control for team chat (default: U) + + Add separate control for changing hedgehog tags (default: Home) + + Toggle all hedgehog tags at once with [Precise] + [Change hedgehog tags] + + Hedgehog tag translucency is now changed with [Switch] + [Change hedgehog tags] + + When using flying saucer shortly after a jump, stay in-mid air + + No longer cut off team/hedgehog names when not playing online + * Fix possible network desynchronization and crash when players rejoin an active game + * Fix time box being usable in Sudden Death with 0 health decrease + * Fix chat input key being sometimes registered twice + * Fix not displaying current volume status after pressing mute key + * Fix many effects not being correctly recorded by the video recorder + * Fix quit menu showing incorrect keys if using non-default key bindings + * Fix script translations not being loaded for Portuguese and Chinese + * When using seduction, only show “CENSORED” text in English locale + +Frontend: + + Migrate to Qt 5 + + Schemes are now stored in separate files under Schemes + + Add default directory DrawnMaps for hand-drawn maps + + Lead player to training missions when starting Hedgewars the first time + * Fix map preview, map name, style name not being displayed if host selects map or style you don't have + * Remove “Upload to YouTube” functionality (it was broken for years) + * Fix broken preview of team hats (e.g. cap_team) + * Fix chart in stats screen not supporting negative numbers + +Content: + + New scenarios: Bazooka Battlefield, Tentacle Terror + + New basic training mission: Movement + + Completely redo basic training missions: Bazooka, Grenade, Rope + + Major overhaul of Sudden Death visuals in most themes + + New flag: uk_scotland + + New voice: Default_pl (Polish) + + New voice: Russian_pl (Polish with a Russian accent) + + Add theme icons for: Blox, CrazyMission, Deepspace, Eyes, Planes + +Styles and game modes: + + Various styles: Add current score/time next to team bars (where applicable) + + Remove rubber duck from most weapon schemes and Random Weapon and Balanced Random Weapon + + Construction Mode: Add a few shortcuts + + Construction Mode: Show selected object at cursor and a crate preview icon + + Construction Mode: Remember all selections + + Construction Mode: Add subtle glow to healing station + + Construction Mode: Allow to change "Switch Hedgehog" in weapon scheme + + Construction Mode: Hide selected sub-modes from crate/object placer from enemies over the net + + Highlander: Replace undocumented script param “mode=orig” to “multiuse=true” + + Highlander: Display the meaning of “multiuse=true” (or lack thereof) in mission panel + + Continental supplies: Custom weapon icons for the special weapons + + Racer, Tech Racer: Before starting a round, make first waypoint flash and center camera to it + + Racer, Tech Racer: Various other waypoint appearance improvements + + Racer: Use dark waypoints in bright themes like Bath + + Racer, HedgeEditor: Show waypoint outline around cursor when placing waypoints + + Battalion: Minor message and visual improvements + + Battalion: Mutate hog hats by default, but not the names + + Battalion: Script parameter “mutatenames=true” to also change the hog names (default: false) + + Battalion (King Mode): Kings always wear crowns and non-kings don't, regardless of settings + + Battalion (King Mode): If the king dies, the hogs die normally instead of disappearing + + Space Invasion: Add a default Space Invasion game scheme + + Capture the Flag: Can now be played with more than 2 clans + + Capture the Flag: Show team scores and score graph in stats screen + + HedgeEditor: Show cursor coordinates in top left corner + + Control: Always remove TimeBox and Resurrector + + Climb Home: Show messages when a fire cake is nearby and when you're inside home + + ShoppaMap: Map complexity can now be changed with the slider + + ShoppaMap: Remove script parameter “pad” + * The Specialists: Less buggy hog switching at turn start + * Mutant: When game ends due to all land being gone, declare the highest-scoring team the winner + * Battalion: Some texts in the mission panel were wrong and misleading + * Construction Mode: Remove drill strike if added by weapon scheme (it's broken) + * Construction Mode, Racer, HedgeEditor: No longer play Incoming voice for building stuff, fix other sound problems + * Capture the Flag: Fix many bugs caused by playing with >2 teams + * Capture the Flag: Properly place flag when first hog uses kamikaze or TimeBox + * Capture the Flag: Fix flag not being dropped when carrier uses piano strike + * CTF_Blizzard: Don't allow more than 2 clans. Excess hogs will be removed + +A Space Adventure: + + Precise Shooting: Display collected ammo + + Hard Flying: Display personal best at mission start + + Killing the Specialists: Add event messages and graphical effects + * Killing the Specialists: Fix very misleading hints in mission panel + * Killing the Specialists: Fix number of rounds measured being way too low + +A Classic Fairytale: + + Mission 3: Display number of turns left at timed parcours + + Mission 2, Mission 5: Reduce computer hog levels + + Mission 6: Change mines + + Mission 7: Add one additional pick hammer in a crate + * Fix incorrect storytelling in mission descriptions + * Missions now work even with corrupted team file, by using a default behaviour + * Mission 1: Fix error message spam when Leaks a Lot drowns + * Mission 3: Fix cannibals sometimes doing nothing for a full turn + * Mission 6: Fix cyborgs sometimes doing nothing for a full turn + * Mission 8: Fix invisible cyborg sometimes blocking the way + * Mission 9: Fix cannibal talking to himself in cut scene if mission starts with 3 natives + +Missions: + + Target Practice: Re-center camera to hog when projectile is destroyed or drowns + +Theme customization: + + Add fallback music with new keys “fallback-music” and “fallback-sd-music” + + Allow to hide themes explicitly with new key “hidden”. Using this key it's possible for hidden themes to have icons + * Fix green color channel on themes with key “sd-tint” + +Lua API: + + New library: SimpleMission: Allows to create missions more easily + + New call: WriteLnToChat(string): Add a line in the chat + + New call: SetVampiric(bool): Toggle vampirism + + New call: SetLaserSight(bool): Toggle laser sight + + New call: GetWind(): Returns current wind (approximation) from -100 to 100 + + New call: GetTeamName(teamIdx): Returns name of team with given index (starts at 0) + + New call: GetTeamIndex(teamname): Returns index of team with given name + + New call: GetTeamClan(teamname): Returns clan of team with given name + + New call: SpawnSupplyCrate(x, y, content, [, amount]): Spawn ammo or utility crate, depending on content + + New call: HealHog(gearUid, healthBoost[, showMessage[, tint]]): Heal hedgehog with graphical effects and message + + New call: SetTeamLabel(teamname[, label]): Set an arbitrary label for a team, will be displayed next to the team bar + + New call: SetSoundMask(soundId, isMasked): Allows to disable playing a sound effect from engine + + New call: SkipTurn(): Force current hedgehog to skip turn + + New call: Explode(x, y, radius[, options]): Cause an explosion + + New param: PlaySound accepts 3rd parameter for voices: instaVoice: If true, sound plays instantly instead of being queued + + New callback: onEndTurn(): Called at the end of a turn (when gears have settled) + + New callback: onSkipTurn(): Called when a hog skips turn + + New hedgehog effect: heArtillery: Per-hedgehog artillery mode (can't walk). Values: 1 = permanently active. 2 = temporarily active (sniper rifle). 0 = not active + * AddAmmo now automatically unselects weapon if it would remove current ammo from current hedgehog + * Fix call: SetWeapon(amNothing) now unselects weapon + * Fix call: SetWind did not update flake flying direction + * Fix global: TotalRounds was stuck at -1 for several turns + * Fix CursorX, CursorY often not being updated when moving cursor at screen border ====================== 0.9.23 ====================== HIGHLIGHTS: @@ -38,7 +203,7 @@ * Redo flags: cm_pentagram, cm_soviet, armenia, ireland, nepal, suisse, sweden, turkey Game engine (weapons): - + New weapon: rubber duck + + New weapon: Rubber duck + Freezer can now freeze sticky mines (they get disabled and fall into the water) + Keep rope / parachute / flying saucer selected when destroyed and secondary ammo selected * Gameplay fix: Hammer damage is now rounded down. This means it will cause NO DAMAGE to a hedgehog with less than 3 hp. diff -r 6e8b807bda4b -r ba39a1d396c0 INSTALL.md --- a/INSTALL.md Sun Jun 10 18:56:51 2018 +0200 +++ b/INSTALL.md Sun Jun 10 19:12:26 2018 +0200 @@ -16,22 +16,29 @@ - CMake >= 2.6.0 - A make program (e.g. GNU Make) - Free Pascal Compiler (FPC) >= 2.2.4 -- Qt = 4.7.0 +- Qt 5 - SDL >= 2.0 - SDL\_net >= 2.0 - SDL\_mixer >= 2.0 - SDL\_image >= 2.0 - SDL\_ttf >= 2.0 +### Recommended optional dependencies + +These are not strictly required to build Hedgewars, but it's +usually better to have them installed. Hedgewars has fallback mechanisms +in if these are not found on your system. + +- qtstyleplugins (for Qt 5) +- PhysFS >= 2.0.0 +- Lua = 5.1.0 + ### Optional dependencies For some additional features, you can optionally install these dependencies: -- For Hedgewars: - - PhysFS >= 2.0.0 (recommended) - - Lua = 5.1.0 (recommended) - For PNG screenshots: - - libpng >= 1.2 (recommended) + - libpng >= 1.2 - For video recording: - FFmpeg or Libav - For the Hedgewars Server: diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/CMakeLists.txt --- a/QTfrontend/CMakeLists.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -1,24 +1,17 @@ -# Configure for Qt4 -set(QT_MIN_VERSION "4.7.0") -include(CheckLibraryExists) +if(APPLE AND EXISTS /usr/local/opt/qt5) + # Special treatment for OS X users who + # install Qt5 via Homebrew. + # Homebrew installs Qt5 (up to at least 5.9.1) in + # /usr/local/qt5, ensure it can be found by CMake since + # it is not in the default /usr/local prefix. + list(APPEND CMAKE_PREFIX_PATH "/usr/local/opt/qt5") +endif() -set(QT_USE_QTCORE TRUE) -set(QT_USE_QTGUI TRUE) -set(QT_USE_QTNETWORK TRUE) -set(QT_USE_QTSVG FALSE) -set(QT_USE_QTXML FALSE) -set(QT_USE_QTOPENGL FALSE) -set(QT_USE_QTMAIN TRUE) +find_package(Qt5 COMPONENTS Core Widgets Gui Network) -find_package(Qt4 REQUIRED) -include(${QT_USE_FILE}) +include_directories(${Qt5Core_PRIVATE_INCLUDE_DIRS}) -# https://bugreports.qt-project.org/browse/QTBUG-17333 -if(APPLE AND - ${QTVERSION} VERSION_GREATER "4.7.0" AND - ${QTVERSION} VERSION_LESS "4.7.4") - message(FATAL_ERROR "This version of Qt is known *not* to work, please update or use a lower version") -endif() +include(CheckLibraryExists) find_package(SDL2 REQUIRED) find_package(SDL2_mixer 2 REQUIRED) #audio in SDLInteraction @@ -159,9 +152,9 @@ endif() endif() -qt4_add_resources(hwfr_rez_src ${hwfr_rez}) +qt5_add_resources(hwfr_rez_src ${hwfr_rez}) -qt4_wrap_cpp(hwfr_moc_srcs ${hwfr_moc_hdrs}) +qt5_wrap_cpp(hwfr_moc_srcs ${hwfr_moc_hdrs}) if(APPLE) @@ -198,14 +191,14 @@ list(APPEND HW_LINK_LIBS physfs physlayer - ${QT_LIBRARIES} + Qt5::Core Qt5::Widgets Qt5::Gui Qt5::Network ) list(APPEND HW_LINK_LIBS ${SDL2_LIBRARY} ${SDL2_MIXER_LIBRARIES} ) - + if(WIN32 AND NOT UNIX) if(NOT SDL2_LIBRARY) list(APPEND HW_LINK_LIBS SDL2) diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/binds.cpp --- a/QTfrontend/binds.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/binds.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -47,17 +47,18 @@ {"+attack", "space", QT_TRANSLATE_NOOP("binds", "attack"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Fire your selected weapon or trigger an utility item:")}, {"put", "mousel", QT_TRANSLATE_NOOP("binds", "put"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Pick a weapon or a target location under the cursor:")}, {"findhh", "h", QT_TRANSLATE_NOOP("binds", "autocam / find hedgehog"),QT_TRANSLATE_NOOP("binds (categories)", "Camera"), QT_TRANSLATE_NOOP("binds (descriptions)", "Toggle automatic camera / refocus on active hedgehog:")}, - {"+cur_u", "[8]", QT_TRANSLATE_NOOP("binds", "up"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Move the cursor or camera without using the mouse:")}, - {"+cur_l", "[4]", QT_TRANSLATE_NOOP("binds", "left"), NULL, NULL}, - {"+cur_r", "[6]", QT_TRANSLATE_NOOP("binds", "right"), NULL, NULL}, - {"+cur_d", "[2]", QT_TRANSLATE_NOOP("binds", "down"), NULL, NULL}, + {"+cur_u", "keypad_8", QT_TRANSLATE_NOOP("binds", "up"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Move the cursor or camera without using the mouse:")}, + {"+cur_l", "keypad_4", QT_TRANSLATE_NOOP("binds", "left"), NULL, NULL}, + {"+cur_r", "keypad_6", QT_TRANSLATE_NOOP("binds", "right"), NULL, NULL}, + {"+cur_d", "keypad_2", QT_TRANSLATE_NOOP("binds", "down"), NULL, NULL}, // {"+cur_m", "", QT_TRANSLATE_NOOP("binds", "movement key modifier"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Specify a modifier key to move camera and cursor using your default hog movement keys:")}, {"zoomin", "wheelup", QT_TRANSLATE_NOOP("binds", "zoom in"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Modify the camera's zoom level:")}, {"zoomout", "wheeldown", QT_TRANSLATE_NOOP("binds", "zoom out"), NULL, NULL}, {"zoomreset", "mousem", QT_TRANSLATE_NOOP("binds", "reset zoom"), NULL, NULL}, {"chat", "t", QT_TRANSLATE_NOOP("binds", "chat"), QT_TRANSLATE_NOOP("binds (categories)", "Miscellaneous"), QT_TRANSLATE_NOOP("binds (descriptions)", "Talk to your team or all participants:")}, + {"chat team", "u", QT_TRANSLATE_NOOP("binds", "team chat"), NULL, NULL}, {"history", "`", QT_TRANSLATE_NOOP("binds", "chat history"), NULL, NULL}, - {"pause", "p", QT_TRANSLATE_NOOP("binds", "pause"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Pause, continue or leave your game:")}, + {"pause", "p", QT_TRANSLATE_NOOP("binds", "pause / auto skip"),NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Pause, continue or leave your game:")}, {"quit", "escape", QT_TRANSLATE_NOOP("binds", "quit"), NULL, NULL}, {"confirm", "y", QT_TRANSLATE_NOOP("binds", "confirmation"), NULL, NULL}, {"+voldown", "9", QT_TRANSLATE_NOOP("binds", "volume down"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Modify the game's volume while playing:")}, @@ -68,6 +69,7 @@ {"+speedup", "s", QT_TRANSLATE_NOOP("binds", "speed up replay"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Demo replay:")}, //: This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen {"rotmask", "delete", QT_TRANSLATE_NOOP("binds", "toggle team bars"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Heads-up display:")}, + {"rottags", "home", QT_TRANSLATE_NOOP("binds", "toggle hedgehog tags"), NULL, NULL}, #ifdef VIDEOREC {"record", "r", QT_TRANSLATE_NOOP("binds", "record"), NULL, QT_TRANSLATE_NOOP("binds (descriptions)", "Record video:")} #endif diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/binds.h --- a/QTfrontend/binds.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/binds.h Sun Jun 10 19:12:26 2018 +0200 @@ -22,9 +22,9 @@ #include #ifdef VIDEOREC -#define BINDS_NUMBER 47 +#define BINDS_NUMBER 49 #else -#define BINDS_NUMBER 46 +#define BINDS_NUMBER 48 #endif struct BindAction diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/campaign.cpp --- a/QTfrontend/campaign.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/campaign.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -88,9 +88,7 @@ // get locale QSettings settings(dataMgr.settingsFileName(), QSettings::IniFormat); - QString loc = settings.value("misc/locale", "").toString(); - if (loc.isEmpty()) - loc = QLocale::system().name(); + QString loc = QLocale().name(); QString campaignDescFile = QString("physfs://Locale/campaigns_" + loc + ".txt"); // if file is non-existant try with language only if (!QFile::exists(campaignDescFile)) diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/drawmapscene.cpp --- a/QTfrontend/drawmapscene.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/drawmapscene.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -25,6 +25,10 @@ #include "drawmapscene.h" +#define DRAWN_MAP_COLOR_LAND (Qt::yellow) +#define DRAWN_MAP_COLOR_CURSOR_PEN (Qt::green) +#define DRAWN_MAP_COLOR_CURSOR_ERASER (Qt::red) + template T sqr(const T & x) { return x*x; @@ -32,9 +36,9 @@ DrawMapScene::DrawMapScene(QObject *parent) : QGraphicsScene(parent), - m_pen(Qt::yellow), - m_brush(Qt::yellow), - m_cursor(new QGraphicsEllipseItem(-0.5, -0.5, 1, 1)) + m_pen(DRAWN_MAP_COLOR_LAND), + m_brush(DRAWN_MAP_COLOR_LAND), + m_cursor(new QGraphicsEllipseItem(-5, -5, 5, 5)) { setSceneRect(0, 0, 4096, 2048); @@ -48,15 +52,18 @@ m_pathType = Polyline; - m_pen.setWidth(76); + m_pen.setWidth(DRAWN_MAP_BRUSH_SIZE_START); m_pen.setJoinStyle(Qt::RoundJoin); m_pen.setCapStyle(Qt::RoundCap); m_currPath = 0; m_isCursorShown = false; - m_cursor->setPen(QPen(Qt::green)); + QPen cursorPen = QPen(DRAWN_MAP_COLOR_CURSOR_PEN); + cursorPen.setJoinStyle(Qt::RoundJoin); + cursorPen.setCapStyle(Qt::RoundCap); + cursorPen.setWidth(brushSize()); + m_cursor->setPen(cursorPen); m_cursor->setZValue(1); - m_cursor->setScale(m_pen.width()); } void DrawMapScene::mouseMoveEvent(QGraphicsSceneMouseEvent * mouseEvent) @@ -124,7 +131,7 @@ path.lineTo(mouseEvent->scenePos()); PathParams params; - params.width = serializePenWidth(m_pen.width()); + params.width = serializePenWidth(brushSize()); params.erasing = m_isErasing; params.initialPoint = mouseEvent->scenePos().toPoint(); params.points = QList() << params.initialPoint; @@ -178,20 +185,38 @@ } } -void DrawMapScene::wheelEvent(QGraphicsSceneWheelEvent * wheelEvent) +void DrawMapScene::setBrushSize(int newBrushSize) { - if(wheelEvent->delta() > 0 && m_pen.width() < 516) - m_pen.setWidth(m_pen.width() + 10); - else if(wheelEvent->delta() < 0 && m_pen.width() >= 16) - m_pen.setWidth(m_pen.width() - 10); + if(newBrushSize > DRAWN_MAP_BRUSH_SIZE_MAX) + newBrushSize = DRAWN_MAP_BRUSH_SIZE_MAX; + if(newBrushSize < DRAWN_MAP_BRUSH_SIZE_MIN) + newBrushSize = DRAWN_MAP_BRUSH_SIZE_MIN; - m_cursor->setScale(m_pen.width()); - + m_pen.setWidth(newBrushSize); + QPen cursorPen = m_cursor->pen(); + cursorPen.setWidth(m_pen.width()); + m_cursor->setPen(cursorPen); if(m_currPath) { m_currPath->setPen(m_pen); paths.first().width = serializePenWidth(m_pen.width()); } + + emit brushSizeChanged(newBrushSize); +} + +int DrawMapScene::brushSize() +{ + return m_pen.width(); +} + +void DrawMapScene::wheelEvent(QGraphicsSceneWheelEvent * wheelEvent) +{ + int b = brushSize(); + if(wheelEvent->delta() > 0) + setBrushSize(b + DRAWN_MAP_BRUSH_SIZE_STEP); + else if(wheelEvent->delta() < 0 && b >= DRAWN_MAP_BRUSH_SIZE_MIN) + setBrushSize(b - DRAWN_MAP_BRUSH_SIZE_STEP); } void DrawMapScene::showCursor() @@ -266,10 +291,15 @@ void DrawMapScene::setErasing(bool erasing) { m_isErasing = erasing; - if(erasing) + QPen cursorPen = m_cursor->pen(); + if(erasing) { m_pen.setBrush(m_eraser); - else + cursorPen.setColor(DRAWN_MAP_COLOR_CURSOR_ERASER); + } else { m_pen.setBrush(m_brush); + cursorPen.setColor(DRAWN_MAP_COLOR_CURSOR_PEN); + } + m_cursor->setPen(cursorPen); } QByteArray DrawMapScene::encode() @@ -306,8 +336,12 @@ { hideCursor(); + // Remember erasing mode bool erasing = m_isErasing; + // Use seperate for decoding the map, don't mess with the user pen + QPen load_pen = QPen(m_pen); + oldItems.clear(); oldPaths.clear(); clear(); @@ -333,7 +367,7 @@ if(params.points.size()) { - addPath(pointsToPath(params.points), m_pen); + addPath(pointsToPath(params.points), load_pen); paths.prepend(params); @@ -341,12 +375,12 @@ } quint8 penWidth = flags & 0x3f; - m_pen.setWidth(deserializePenWidth(penWidth)); + load_pen.setWidth(deserializePenWidth(penWidth)); params.erasing = flags & 0x40; if(params.erasing) - m_pen.setBrush(m_eraser); + load_pen.setBrush(m_eraser); else - m_pen.setBrush(m_brush); + load_pen.setBrush(m_brush); params.width = penWidth; } else if(isSpecial) @@ -369,12 +403,13 @@ if(params.points.size()) { - addPath(pointsToPath(params.points), m_pen); + addPath(pointsToPath(params.points), load_pen); paths.prepend(params); } emit pathChanged(); + // Restore erasing mode setErasing(erasing); } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/drawmapscene.h --- a/QTfrontend/drawmapscene.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/drawmapscene.h Sun Jun 10 19:12:26 2018 +0200 @@ -23,6 +23,11 @@ #include #include +#define DRAWN_MAP_BRUSH_SIZE_STEP (10) +#define DRAWN_MAP_BRUSH_SIZE_MAX (516) +#define DRAWN_MAP_BRUSH_SIZE_MIN (16) +#define DRAWN_MAP_BRUSH_SIZE_START (76) + class QGraphicsPathItem; struct PathParams @@ -50,9 +55,11 @@ QByteArray encode(); void decode(QByteArray data); int pointsCount(); + int brushSize(); signals: void pathChanged(); + void brushSizeChanged(int brushSize); public slots: void undo(); @@ -63,6 +70,7 @@ void showCursor(); void hideCursor(); void setPathType(PathType pathType); + void setBrushSize(int brushSize); private: QPen m_pen; diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/game.cpp --- a/QTfrontend/game.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/game.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -140,11 +140,11 @@ void HWGame::SendQuickConfig() { QByteArray teamscfg; - ThemeModel * themeModel = DataManager::instance().themeModel(); + QAbstractItemModel * themeModel = DataManager::instance().themeModel()->withoutHidden(); HWProto::addStringToBuffer(teamscfg, "TL"); HWProto::addStringToBuffer(teamscfg, QString("etheme %1") - .arg((themeModel->rowCount() > 0) ? themeModel->index(rand() % themeModel->rowCount()).data(ThemeModel::ActualNameRole).toString() : "steel")); + .arg((themeModel->rowCount() > 0) ? themeModel->index(rand() % themeModel->rowCount(), 0).data(ThemeModel::ActualNameRole).toString() : "Nature")); HWProto::addStringToBuffer(teamscfg, "eseed " + QUuid::createUuid().toString()); HWProto::addStringToBuffer(teamscfg, "e$template_filter 2"); @@ -255,11 +255,10 @@ { int size = msg.size(); emit ErrorMessage( - tr("A Fatal ERROR occured! - The game engine had to stop.\n\n" - "We are very sorry for the inconvenience :(\n\n" - "If this keeps happening, please click the '%1' button in the main menu!\n\n" - "Last two engine messages:\n%2") - .arg("Feedback") + tr("A fatal ERROR occured! The game engine had to stop.\n\n" + "We are very sorry for the inconvenience. :-(\n\n" + "If this keeps happening, please click the 'Feedback' button in the main menu!\n\n" + "Last engine message:\n%1") .arg(QString::fromUtf8(msg.mid(2).left(size - 4)))); return; } @@ -537,7 +536,7 @@ void HWGame::sendCampaignVar(const QByteArray &varToSend) { QString varToFind = QString::fromUtf8(varToSend); - QSettings teamfile(QString("physfs://Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0); + QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0); teamfile.setIniCodec("UTF-8"); QString varValue = teamfile.value("Campaign " + campaign + "/" + varToFind, "").toString(); QByteArray command; @@ -554,7 +553,7 @@ QString varToWrite = QString::fromUtf8(varVal.left(i)); QString varValue = QString::fromUtf8(varVal.mid(i + 1)); - QSettings teamfile(QString("physfs://Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0); + QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(campaignTeam), QSettings::IniFormat, 0); teamfile.setIniCodec("UTF-8"); teamfile.setValue("Campaign " + campaign + "/" + varToWrite, varValue); } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/gameuiconfig.cpp --- a/QTfrontend/gameuiconfig.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/gameuiconfig.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -134,7 +134,7 @@ netHost = new QString(value("net/ip", "").toString()); netPort = value("net/port", NETGAME_DEFAULT_PORT).toUInt(); - Form->ui.pageNetServer->leServerDescr->setText(value("net/servername", "hedgewars server").toString()); + Form->ui.pageNetServer->leServerDescr->setText(value("net/servername", "Hedgewars Server").toString()); Form->ui.pageNetServer->sbPort->setValue(value("net/serverport", NETGAME_DEFAULT_PORT).toUInt()); Form->ui.pageOptions->CBShowFPS->setChecked(value("fps/show", false).toBool()); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/hedgewars.qrc --- a/QTfrontend/hedgewars.qrc Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/hedgewars.qrc Sun Jun 10 19:12:26 2018 +0200 @@ -4,6 +4,7 @@ res/css/qt.css res/css/chat.css res/css/christmas.css + res/css/april1.css res/css/easter.css res/css/birthday.css res/hh25x25.png @@ -73,6 +74,7 @@ res/BackgroundBirthday.png res/Exit.png res/HedgewarsTitle.png + res/TomatowarsTitle.png res/LocalPlay.png res/NetworkPlay.png res/NetworkPlayDisabled.png @@ -80,13 +82,27 @@ res/camera.png res/Settings.png res/dropdown.png + res/dropdown_disabled.png + res/dropdown_selected.png res/new.png res/edit.png res/delete.png res/checked.png + res/checkedHover.png + res/checkedPressed.png res/unchecked.png + res/uncheckedHover.png + res/uncheckedPressed.png + res/radioButtonChecked.png + res/radioButtonCheckedHover.png + res/radioButtonCheckedPressed.png + res/radioButtonUnchecked.png + res/radioButtonUncheckedHover.png + res/radioButtonUncheckedPressed.png res/missionFinished.png res/missionFinishedSelected.png + res/missingMap.png + res/missingTheme@2x.png res/dlcMarker.png res/dlcMarkerSelected.png res/graphicsicon.png @@ -105,11 +121,16 @@ res/lightbulb_on.png res/lightbulb_off.png res/spin_up.png + res/spin_up_disabled.png res/spin_down.png + res/spin_down_disabled.png + res/sort_up.png + res/sort_down.png res/PlaySound.png res/hh_small.png res/btnDisabled.png res/btnBorder@2x.png + res/btnSwitchHog@2x.png res/btnInvulnerable@2x.png res/btnLaserSight@2x.png res/btnLowGravity@2x.png @@ -171,7 +192,10 @@ res/info.png res/kick.png res/lock.png + res/lock_disabled.png res/unlock.png + res/unlock_disabled.png + res/splitter.png res/StatsMedal1.png res/StatsMedal2.png res/StatsMedal3.png diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/hwconsts.h --- a/QTfrontend/hwconsts.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/hwconsts.h Sun Jun 10 19:12:26 2018 +0200 @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#if !defined(TARGET_OS_IPHONE) +#if !(TARGET_OS_IPHONE) #include #include #include @@ -67,6 +67,7 @@ #define SEASON_CHRISTMAS 2 #define SEASON_HWBDAY 4 #define SEASON_EASTER 8 +#define SEASON_APRIL1 16 #define NETGAME_DEFAULT_SERVER "netserver.hedgewars.org" #define NETGAME_DEFAULT_PORT 46631 diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/hwform.cpp --- a/QTfrontend/hwform.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/hwform.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -90,7 +90,7 @@ #include "chatwidget.h" #include "input_ip.h" #include "input_password.h" -#include "ammoSchemeModel.h" +#include "gameSchemeModel.h" #include "bgwidget.h" #include "drawmapwidget.h" #include "mouseoverfilter.h" @@ -231,10 +231,7 @@ pageSwitchMapper = new QSignalMapper(this); connect(pageSwitchMapper, SIGNAL(mapped(int)), this, SLOT(GoToPage(int))); - - connect(config, SIGNAL(frontendFullscreen(bool)), this, SLOT(onFrontendFullscreen(bool))); - onFrontendFullscreen(config->isFrontendFullscreen()); - + connect(ui.pageMain->BtnSinglePlayer, SIGNAL(clicked()), pageSwitchMapper, SLOT(map())); pageSwitchMapper->setMapping(ui.pageMain->BtnSinglePlayer, ID_PAGE_SINGLEPLAYER); @@ -347,10 +344,10 @@ connect(ui.pageVideos, SIGNAL(goBack()), config, SLOT(SaveVideosOptions())); - ammoSchemeModel = new AmmoSchemeModel(this, cfgdir->absolutePath() + "/schemes.ini"); - ui.pageScheme->setModel(ammoSchemeModel); - ui.pageMultiplayer->gameCFG->GameSchemes->setModel(ammoSchemeModel); - ui.pageOptions->SchemesName->setModel(ammoSchemeModel); + gameSchemeModel = new GameSchemeModel(this, cfgdir->absolutePath() + "/Schemes/Game"); + ui.pageScheme->setModel(gameSchemeModel); + ui.pageMultiplayer->gameCFG->GameSchemes->setModel(gameSchemeModel); + ui.pageOptions->SchemesName->setModel(gameSchemeModel); wBackground = new BGWidget(this); wBackground->setFixedSize(this->width(), this->height()); @@ -380,6 +377,9 @@ PagesStack.push(ID_PAGE_MAIN); ((AbstractPage*)ui.Pages->widget(ID_PAGE_MAIN))->triggerPageEnter(); GoBack(); + + connect(config, SIGNAL(frontendFullscreen(bool)), this, SLOT(onFrontendFullscreen(bool))); + onFrontendFullscreen(config->isFrontendFullscreen()); } void HWForm::onFrontendFullscreen(bool value) @@ -646,6 +646,11 @@ GoToPage(ID_PAGE_VIDEOS); } +void HWForm::GoToTraining() +{ + GoToPage(ID_PAGE_TRAINING); +} + //TODO: maybe find a better place for this? QString HWForm::stringifyPageId(quint32 id) { @@ -914,7 +919,7 @@ //if (curid == ID_PAGE_NETGAME && (!game || game->gameState != gsStarted)) hwnet->partRoom(); if (curid == ID_PAGE_SCHEME) - ammoSchemeModel->Save(); + gameSchemeModel->Save(); #if (QT_VERSION >= 0x040600) /**Start animation :**/ @@ -1074,14 +1079,14 @@ void HWForm::DeleteScheme() { ui.pageScheme->selectScheme->setCurrentIndex(ui.pageOptions->SchemesName->currentIndex()); - if (ui.pageOptions->SchemesName->currentIndex() < ammoSchemeModel->numberOfDefaultSchemes) + if (ui.pageOptions->SchemesName->currentIndex() < gameSchemeModel->numberOfDefaultSchemes) { MessageDialog::ShowErrorMessage(QMessageBox::tr("Cannot delete default scheme '%1'!").arg(ui.pageOptions->SchemesName->currentText()), this); } else { ui.pageScheme->deleteRow(); - ammoSchemeModel->Save(); + gameSchemeModel->Save(); } } @@ -1894,7 +1899,7 @@ ui.pageNetGame->restrictJoins->setChecked(false); ui.pageNetGame->restrictTeamAdds->setChecked(false); ui.pageNetGame->restrictUnregistered->setChecked(false); - ui.pageNetGame->pGameCFG->GameSchemes->setModel(ammoSchemeModel); + ui.pageNetGame->pGameCFG->GameSchemes->setModel(gameSchemeModel); ui.pageNetGame->pGameCFG->setMaster(true); ui.pageNetGame->pNetTeamsWidget->setInteractivity(true); @@ -1931,7 +1936,7 @@ if (hwnet) { - NetAmmoSchemeModel * netAmmo = new NetAmmoSchemeModel(hwnet); + NetGameSchemeModel * netAmmo = new NetGameSchemeModel(hwnet); connect(hwnet, SIGNAL(netSchemeConfig(QStringList)), netAmmo, SLOT(setNetSchemeConfig(QStringList))); ui.pageNetGame->pGameCFG->GameSchemes->setModel(netAmmo); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/hwform.h --- a/QTfrontend/hwform.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/hwform.h Sun Jun 10 19:12:26 2018 +0200 @@ -47,7 +47,7 @@ class GameUIConfig; class HWNetRegisterServer; class QCloseEvent; -class AmmoSchemeModel; +class GameSchemeModel; class QSettings; class QSignalMapper; @@ -66,6 +66,7 @@ void setButtonDescription(QString desc); void backDescription(); void GoToVideos(); + void GoToTraining(); void NetConnectQuick(const QString & host, quint16 port); void PlayDemoQuick(const QString & demofilename); @@ -196,7 +197,7 @@ QPointer editedTeam; QPointer hwnet; HWNamegen * namegen; - AmmoSchemeModel * ammoSchemeModel; + GameSchemeModel * gameSchemeModel; QStack PagesStack; QString previousCampaignName; QString previousTeamName; diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/main.cpp --- a/QTfrontend/main.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/main.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -20,7 +20,6 @@ #include #include -#include #include #include #include @@ -29,6 +28,8 @@ #include #include #include +#include +#include #include "hwform.h" #include "hwconsts.h" @@ -51,6 +52,8 @@ #include #endif +#include + // Program resources #ifdef __APPLE__ static CocoaInitializer * cocoaInit = NULL; @@ -93,6 +96,10 @@ season = SEASON_HWBDAY; years_since_foundation = date.year() - 2004; } + else if (date.month() == 4 && date.day() == 1) + { + season = SEASON_APRIL1; + } //Easter? else if (calculateEaster(date.year()) == date) season = SEASON_EASTER; @@ -153,8 +160,30 @@ .arg(HWApplication::tr("Hedgewars can use a %1 (e.g. \"%2\") to connect on start.", "command-line").arg(HWApplication::tr("CONNECTSTRING", "command-line")).arg(QString("hwplay://") + NETGAME_DEFAULT_SERVER)); } -int main(int argc, char *argv[]) -{ +int main(int argc, char *argv[]) { + /* Qt5 Base removed Motif, Plastique. These are now in the Qt style plugins + (Ubuntu: qt5-style-plugins, which was NOT backported by Debian/Ubuntu to stable/LTS). + Windows appears to render best of the remaining options but still isn't quite right. */ + + // Try setting Plastique if available + QStyle* coreStyle; + coreStyle = QStyleFactory::create("Plastique"); + if(coreStyle != 0) { + QApplication::setStyle(coreStyle); + qDebug("Qt style set: Plastique"); + } else { + // Use Windows as fallback. + // FIXME: Under Windows style, some widgets like scrollbars don't render as nicely + coreStyle = QStyleFactory::create("Windows"); + if(coreStyle != 0) { + QApplication::setStyle(coreStyle); + qDebug("Qt style set: Windows"); + } else { + // Windows style should not be missing in Qt5 Base. If it does, something went terribly wrong! + qWarning("No Qt style could be set! Using the default one."); + } + } + // Since we're calling this first, closeResources() will be the last thing called after main() returns. atexit(closeResources); @@ -252,8 +281,6 @@ splash.show(); #endif - app.setStyle(new QPlastiqueStyle()); - QDateTime now = QDateTime::currentDateTime(); srand(now.toTime_t()); rand(); @@ -295,6 +322,7 @@ // config/save paths checkForDir(cfgdir->absolutePath() + "/Demos"); + checkForDir(cfgdir->absolutePath() + "/DrawnMaps"); checkForDir(cfgdir->absolutePath() + "/Saves"); checkForDir(cfgdir->absolutePath() + "/Screenshots"); checkForDir(cfgdir->absolutePath() + "/Teams"); @@ -311,6 +339,8 @@ return 1; } + bool isProbablyNewPlayer = false; + // setup PhysFS engine = new FileEngineHandler(argv[0]); engine->mount(datadir->absolutePath()); @@ -325,24 +355,52 @@ QSettings settings(DataManager::instance().settingsFileName(), QSettings::IniFormat); settings.setIniCodec("UTF-8"); + // Heuristic to figure out if the user is (probably) a first-time player. + // If nickname is not set, then probably yes. + // The hidden setting firstLaunch is, if present, used to force HW to + // treat iself as if it were launched the first time. + QString nick = settings.value("net/nick", QString()).toString(); + if (settings.contains("frontend/firstLaunch")) + { + isProbablyNewPlayer = settings.value("frontend/firstLaunch").toBool(); + } + else + { + isProbablyNewPlayer = nick.isNull(); + } + + // Set firstLaunch to false to make sure we remember we have been launched before. + settings.setValue("frontend/firstLaunch", false); + QString cc = settings.value("misc/locale", QString()).toString(); if (cc.isEmpty()) { cc = QLocale::system().name(); + qDebug("Detected system locale: %s", qPrintable(cc)); // Fallback to current input locale if "C" locale is returned if(cc == "C") - cc = HWApplication::keyboardInputLocale().name(); + cc = HWApplication::inputMethod()->locale().name(); } + else + { + qDebug("Configured frontend locale: %s", qPrintable(cc)); + } + QLocale::setDefault(cc); + QString defaultLocaleName = QLocale().name(); + qDebug("Frontend uses locale: %s", qPrintable(defaultLocaleName)); - // Load locale files into translators - if (!TranslatorHedgewars.load(QString("physfs://Locale/hedgewars_%1").arg(cc))) - qWarning("Failed to install Hedgewars translation (%s)", qPrintable(cc)); - if (!TranslatorQt.load(QString("%1/qt_%2").arg(QLibraryInfo::location(QLibraryInfo::TranslationsPath), cc))) - qWarning("Failed to install Qt translation (%s)", qPrintable(cc)); - app.installTranslator(&TranslatorHedgewars); - app.installTranslator(&TranslatorQt); - app.setLayoutDirection(QLocale(cc).textDirection()); + if (defaultLocaleName != "C") + { + // Load locale files into translators + if (!TranslatorHedgewars.load(QLocale(), "hedgewars", "_", QString("physfs://Locale"))) + qWarning("Failed to install Hedgewars translation (%s)", qPrintable(defaultLocaleName)); + if (!TranslatorQt.load(QLocale(), "qt", "_", QString(QLibraryInfo::location(QLibraryInfo::TranslationsPath)))) + qWarning("Failed to install Qt translation (%s)", qPrintable(defaultLocaleName)); + app.installTranslator(&TranslatorHedgewars); + app.installTranslator(&TranslatorQt); + } + app.setLayoutDirection(QLocale().textDirection()); } #ifdef _WIN32 @@ -369,6 +427,9 @@ case SEASON_CHRISTMAS : fname = "christmas.css"; break; + case SEASON_APRIL1 : + fname = "april1.css"; + break; case SEASON_EASTER : fname = "easter.css"; break; @@ -398,6 +459,23 @@ #endif app.form->show(); + // Show welcome message for (suspected) first-time player and + // point towards the Training menu. + if(isProbablyNewPlayer) { + QMessageBox questionTutorialMsg(app.form); + questionTutorialMsg.setIcon(QMessageBox::Question); + questionTutorialMsg.setWindowTitle(QMessageBox::tr("Welcome to Hedgewars")); + questionTutorialMsg.setText(QMessageBox::tr("Welcome to Hedgewars!\n\nYou seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars?")); + questionTutorialMsg.setWindowModality(Qt::WindowModal); + questionTutorialMsg.addButton(QMessageBox::Yes); + questionTutorialMsg.addButton(QMessageBox::No); + + int answer = questionTutorialMsg.exec(); + if (answer == QMessageBox::Yes) { + app.form->GoToTraining(); + } + } + if (app.urlString) app.fakeEvent(); return app.exec(); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/model/HatModel.cpp --- a/QTfrontend/model/HatModel.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/model/HatModel.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -78,7 +78,7 @@ QString str = hatsList.at(i); str = str.remove(QRegExp("\\.png$")); - QPixmap pix( + QPixmap hatpix( "physfs://Graphics/Hats/" + QString(isReserved?"Reserved/":"") + str + ".png" ); @@ -87,20 +87,51 @@ if (isReserved) str = "Reserved "+str.remove(0,32); - QPixmap tmppix(32, 37); - tmppix.fill(QColor(Qt::transparent)); + // Color for team hats. We use the default color of the first team. + QColor overlay_color = QColor(colors[0]); + + QPixmap ppix(32, 37); + ppix.fill(QColor(Qt::transparent)); + QPainter painter(&ppix); + + QPixmap opix(32, 37); + opix.fill(QColor(Qt::transparent)); + QPainter overlay_painter(&opix); + + // The hat is drawn in reverse: First the color overlay, then the hat, then the hedgehog. - QPainter painter(&tmppix); + // draw hat's color layer, if present + int overlay_offset = -1; + if((hatpix.height() == 32) && (hatpix.width() == 64)) { + overlay_offset = 32; + } else if(hatpix.width() > 64) { + overlay_offset = 64; + } + if(overlay_offset > -1) { + // colorized layer + overlay_painter.drawPixmap(QPoint(0, 0), hatpix.copy(overlay_offset, 0, 32, 32)); + overlay_painter.setCompositionMode(QPainter::CompositionMode_Multiply); + overlay_painter.fillRect(0, 0, 32, 32, overlay_color); + + // uncolorized layer and combine + painter.drawPixmap(QPoint(0, 0), hatpix.copy(overlay_offset, 0, 32, 32)); + painter.setCompositionMode(QPainter::CompositionMode_SourceAtop); + painter.drawPixmap(QPoint(0, 0), opix.copy(0, 0, 32, 32)); + } + + // draw hat below the color layer + painter.setCompositionMode(QPainter::CompositionMode_DestinationOver); + painter.drawPixmap(QPoint(0, 0), hatpix.copy(0, 0, 32, 32)); + + // draw hedgehog below the hat painter.drawPixmap(QPoint(0, 5), hhpix); - painter.drawPixmap(QPoint(0, 0), pix.copy(0, 0, 32, 32)); - if(pix.width() > 32) - painter.drawPixmap(QPoint(0, 0), pix.copy(32, 0, 32, 32)); + painter.end(); if (str == "NoHat") - hats.prepend(new QStandardItem(QIcon(tmppix), str)); + hats.prepend(new QStandardItem(QIcon(ppix), str)); else - hats.append(new QStandardItem(QIcon(tmppix), str)); + hats.append(new QStandardItem(QIcon(ppix), str)); } QStandardItemModel::appendColumn(hats); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/model/MapModel.cpp --- a/QTfrontend/model/MapModel.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/model/MapModel.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -129,18 +129,19 @@ { // get locale QSettings settings(datamgr.settingsFileName(), QSettings::IniFormat); - QString locale = settings.value("misc/locale", "").toString(); - if (locale.isEmpty()) - locale = QLocale::system().name(); + QString locale = QLocale().name(); QSettings descSettings(QString("physfs://Maps/%1/desc.txt").arg(map), QSettings::IniFormat); descSettings.setIniCodec("UTF-8"); desc = descSettings.value(locale, QString()).toString(); - // If not found, try with lanague-only code + // If not found, try with language-only code if (desc.isEmpty()) { QString localeSimple = locale.remove(QRegExp("_.*$")); desc = descSettings.value(localeSimple, QString()).toString(); + // If still not found, use English + if (desc.isEmpty()) + desc = descSettings.value("en", QString()).toString(); } desc = desc.replace("_n", "\n").replace("_c", ",").replace("__", "_"); } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/model/ThemeFilterProxyModel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QTfrontend/model/ThemeFilterProxyModel.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,71 @@ +/* + * Hedgewars, a free turn based strategy game + * Copyright (c) 2004-2018 Andrey Korotaev + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @brief ThemeFilterProxyModel class implementation + */ + +#include "ThemeModel.h" +#include "ThemeFilterProxyModel.h" + +ThemeFilterProxyModel::ThemeFilterProxyModel(QObject *parent) + : QSortFilterProxyModel(parent) +{ + isFilteringDLC = false; + isFilteringHidden = false; +} + +bool ThemeFilterProxyModel::filterAcceptsRow(int sourceRow, const QModelIndex & sourceParent) const +{ + QModelIndex index = sourceModel()->index(sourceRow, 0, sourceParent); + bool searchOkay = true; + if(!filterRegExp().isEmpty()) + { + // Check regular expression set by the theme chooser search + QString name = index.data(ThemeModel::ActualNameRole).toString(); + int in = filterRegExp().indexIn(name); + searchOkay = in != -1; + } + + if(isFilteringDLC || isFilteringHidden) + { + bool isDLC = index.data(ThemeModel::IsDlcRole).toBool(); + bool isHidden = index.data(ThemeModel::IsHiddenRole).toBool(); + + return ( ((isFilteringDLC && !isDLC) || !isFilteringDLC) && + ((isFilteringHidden && !isHidden) || !isFilteringHidden) ) && + searchOkay; + } + else + { + return searchOkay; + } +} + +void ThemeFilterProxyModel::setFilterDLC(bool enable) +{ + isFilteringDLC = enable; + invalidateFilter(); +} + +void ThemeFilterProxyModel::setFilterHidden(bool enable) +{ + isFilteringHidden = enable; + invalidateFilter(); +} diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/model/ThemeFilterProxyModel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QTfrontend/model/ThemeFilterProxyModel.h Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,49 @@ +/* + * Hedgewars, a free turn based strategy game + * Copyright (c) 2004-2018 Andrey Korotaev + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file + * @brief Class definition of ThemeFilterProxyModel + */ + +#ifndef HEDGEWARS_THEMEFILTERPROXYMODEL_H +#define HEDGEWARS_THEMEFILTERPROXYMODEL_H + +#include + +/** + * @brief A filter model for filtering DLC themes + */ +class ThemeFilterProxyModel : public QSortFilterProxyModel +{ + Q_OBJECT + + public: + ThemeFilterProxyModel(QObject *parent = 0); + void setFilterDLC(bool enabled); + void setFilterHidden(bool enabled); + + protected: + bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const; + + private: + bool isFilteringDLC; + bool isFilteringHidden; +}; + +#endif // HEDGEWARS_THEMEFILTERPROXYMODEL_H diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/model/ThemeModel.cpp --- a/QTfrontend/model/ThemeModel.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/model/ThemeModel.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -33,21 +33,48 @@ m_themesLoaded = false; m_filteredNoDLC = NULL; + m_filteredNoHidden = NULL; + m_filteredNoDLCOrHidden = NULL; } -QSortFilterProxyModel * ThemeModel::withoutDLC() +// Filters out DLC themes, e.g. themes which do not come by default +ThemeFilterProxyModel * ThemeModel::withoutDLC() { if (m_filteredNoDLC == NULL) { - m_filteredNoDLC = new QSortFilterProxyModel(this); + m_filteredNoDLC = new ThemeFilterProxyModel(this); m_filteredNoDLC->setSourceModel(this); - // filtering based on IsDlcRole would be nicer - // but seems this model can only do string-based filtering :| - m_filteredNoDLC->setFilterRegExp(QRegExp("^[^*]")); + m_filteredNoDLC->setFilterDLC(true); } return m_filteredNoDLC; } +// Filters out hidden themes, these are themes which are not supposed to be +// seen by the user. +ThemeFilterProxyModel * ThemeModel::withoutHidden() +{ + if (m_filteredNoHidden == NULL) + { + m_filteredNoHidden = new ThemeFilterProxyModel(this); + m_filteredNoHidden->setSourceModel(this); + m_filteredNoHidden->setFilterHidden(true); + } + return m_filteredNoHidden; +} + +// Combination of the two above for convenience +ThemeFilterProxyModel * ThemeModel::withoutDLCOrHidden() +{ + if (m_filteredNoDLCOrHidden == NULL) + { + m_filteredNoDLCOrHidden = new ThemeFilterProxyModel(this); + m_filteredNoDLCOrHidden->setSourceModel(this); + m_filteredNoDLCOrHidden->setFilterDLC(true); + m_filteredNoDLCOrHidden->setFilterHidden(true); + } + return m_filteredNoDLCOrHidden; +} + int ThemeModel::rowCount(const QModelIndex &parent) const { if(parent.isValid()) @@ -95,16 +122,42 @@ foreach (QString theme, themes) { + QMap dataset; + // themes without icon are supposed to be hidden QString iconpath = QString("physfs://Themes/%1/icon.png").arg(theme); if (!QFile::exists(iconpath)) - continue; - - QMap dataset; + { + dataset.insert(IsHiddenRole, true); + } + else + { + // themes with the key “hidden” in theme.cfg are hidden, too + QFile themeCfgFile(QString("physfs://Themes/%1/theme.cfg").arg(theme)); + if (themeCfgFile.open(QFile::ReadOnly)) + { + QTextStream stream(&themeCfgFile); + QString line = stream.readLine(); + QString key; + while (!line.isNull()) + { + key = QString(line); + int equalsPos = line.indexOf('='); + key.truncate(equalsPos - 1); + key = key.simplified(); + if (!line.startsWith(';') && key == "hidden") + { + dataset.insert(IsHiddenRole, true); + break; + } + line = stream.readLine(); + } + } + } // detect if theme is dlc - QString themeDir = PHYSFS_getRealDir(QString("Themes/%1/icon.png").arg(theme).toLocal8Bit().data()); + QString themeDir = PHYSFS_getRealDir(QString("Themes/%1").arg(theme).toLocal8Bit().data()); bool isDLC = !themeDir.startsWith(datadir->absolutePath()); dataset.insert(IsDlcRole, isDLC); @@ -118,8 +171,12 @@ dataset.insert(Qt::DisplayRole, (isDLC ? "*" : "") + theme); // load and set preview icon - QIcon preview(QString("physfs://Themes/%1/icon@2x.png").arg(theme)); - dataset.insert(Qt::DecorationRole, preview); + iconpath = QString("physfs://Themes/%1/icon@2x.png").arg(theme); + if (QFile::exists(iconpath)) + { + QIcon preview(QString("physfs://Themes/%1/icon@2x.png").arg(theme)); + dataset.insert(Qt::DecorationRole, preview); + } m_data.append(dataset); } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/model/ThemeModel.h --- a/QTfrontend/model/ThemeModel.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/model/ThemeModel.h Sun Jun 10 19:12:26 2018 +0200 @@ -25,11 +25,12 @@ #define HEDGEWARS_THEMEMODEL_H #include -#include #include #include #include +#include +#include "ThemeFilterProxyModel.h" #include "DataManager.h" /** @@ -40,17 +41,21 @@ Q_OBJECT public: - enum Roles { ActualNameRole = Qt::UserRole, IsDlcRole, IconPathRole }; + enum Roles { ActualNameRole = Qt::UserRole, IsDlcRole, IconPathRole, IsHiddenRole }; explicit ThemeModel(QObject *parent = 0); int rowCount(const QModelIndex &parent = QModelIndex()) const; QVariant data(const QModelIndex &index, int role) const; - QSortFilterProxyModel * withoutDLC(); + ThemeFilterProxyModel * withoutDLC(); + ThemeFilterProxyModel * withoutHidden(); + ThemeFilterProxyModel * withoutDLCOrHidden(); private: mutable QList > m_data; mutable bool m_themesLoaded; - mutable QSortFilterProxyModel * m_filteredNoDLC; + mutable ThemeFilterProxyModel * m_filteredNoDLC; + mutable ThemeFilterProxyModel * m_filteredNoHidden; + mutable ThemeFilterProxyModel * m_filteredNoDLCOrHidden; void loadThemes() const; }; diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/model/ammoSchemeModel.cpp --- a/QTfrontend/model/ammoSchemeModel.cpp Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,905 +0,0 @@ -/* - * Hedgewars, a free turn based strategy game - * Copyright (c) 2004-2015 Andrey Korotaev - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include -#include - -#include "ammoSchemeModel.h" -#include "hwconsts.h" - -QList defaultScheme = QList() - << QVariant("Default") // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(false) // solid land 3 - << QVariant(false) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(false) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(false) // artillery 11 - << QVariant(true) // random order 12 - << QVariant(false) // king 13 - << QVariant(false) // place hog 14 - << QVariant(false) // shared ammo 15 - << QVariant(false) // disable girders 16 - << QVariant(false) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(false) // inf. attack 19 - << QVariant(false) // reset weps 20 - << QVariant(false) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(45) // turn time 27 - << QVariant(100) // init health 28 - << QVariant(15) // sudden death 29 - << QVariant(5) // case prob 30 - << QVariant(3) // mines time 31 - << QVariant(4) // mines number 32 - << QVariant(0) // mine dud pct 33 - << QVariant(2) // explosives 34 - << QVariant(0) // air mines 35 - << QVariant(35) // health case pct 36 - << QVariant(25) // health case amt 37 - << QVariant(47) // water rise amt 38 - << QVariant(5) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - -AmmoSchemeModel::AmmoSchemeModel(QObject* parent, const QString & fileName) : - QAbstractTableModel(parent), - fileConfig(fileName, QSettings::IniFormat) -{ - predefSchemesNames = QStringList() - << "Default" - << "Pro Mode" - << "Shoppa" - << "Clean Slate" - << "Minefield" - << "Barrel Mayhem" - << "Tunnel Hogs" - << "Timeless" - << "Thinking with Portals" - << "King Mode" - << "Construction Mode" - << "HedgeEditor" - ; - - numberOfDefaultSchemes = predefSchemesNames.size(); - - spNames = QStringList() - << "name" // 0 - << "fortsmode" // 1 - << "divteams" // 2 - << "solidland" // 3 - << "border" // 4 - << "lowgrav" // 5 - << "laser" // 6 - << "invulnerability" // 7 - << "resethealth" // 8 - << "vampiric" // 9 - << "karma" // 10 - << "artillery" // 11 - << "randomorder" // 12 - << "king" // 13 - << "placehog" // 14 - << "sharedammo" // 15 - << "disablegirders" // 16 - << "disablelandobjects" // 17 - << "aisurvival" // 18 - << "infattack" // 19 - << "resetweps" // 20 - << "perhogammo" // 21 - << "disablewind" // 22 - << "morewind" // 23 - << "tagteam" // 24 - << "bottomborder" // 25 - << "damagefactor" // 26 - << "turntime" // 27 - << "health" // 28 - << "suddendeath" // 29 - << "caseprobability" // 30 - << "minestime" // 31 - << "minesnum" // 32 - << "minedudpct" // 33 - << "explosives" // 34 - << "airmines" // 35 - << "healthprobability" // 36 - << "healthcaseamount" // 37 - << "waterrise" // 38 - << "healthdecrease" // 39 - << "ropepct" // 40 - << "getawaytime" // 41 - << "worldedge" // 42 - << "scriptparam" // scriptparam 43 - ; - - QList proMode; - proMode - << predefSchemesNames[1] // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(false) // solid land 3 - << QVariant(false) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(false) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(false) // artillery 11 - << QVariant(true) // random order 12 - << QVariant(false) // king 13 - << QVariant(false) // place hog 14 - << QVariant(true) // shared ammo 15 - << QVariant(false) // disable girders 16 - << QVariant(false) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(false) // inf. attack 19 - << QVariant(false) // reset weps 20 - << QVariant(false) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(15) // turn time 27 - << QVariant(100) // init health 28 - << QVariant(15) // sudden death 29 - << QVariant(0) // case prob 30 - << QVariant(3) // mines time 31 - << QVariant(0) // mines number 32 - << QVariant(0) // mine dud pct 33 - << QVariant(2) // explosives 34 - << QVariant(0) // air mines 35 - << QVariant(35) // health case pct 36 - << QVariant(25) // health case amt 37 - << QVariant(47) // water rise amt 38 - << QVariant(5) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - - QList shoppa; - shoppa - << predefSchemesNames[2] // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(true) // solid land 3 - << QVariant(true) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(false) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(false) // artillery 11 - << QVariant(true) // random order 12 - << QVariant(false) // king 13 - << QVariant(false) // place hog 14 - << QVariant(true) // shared ammo 15 - << QVariant(true) // disable girders 16 - << QVariant(true) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(false) // inf. attack 19 - << QVariant(true) // reset weps 20 - << QVariant(false) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(30) // turn time 27 - << QVariant(100) // init health 28 - << QVariant(50) // sudden death 29 - << QVariant(1) // case prob 30 - << QVariant(0) // mines time 31 - << QVariant(0) // mines number 32 - << QVariant(0) // mine dud pct 33 - << QVariant(0) // explosives 34 - << QVariant(0) // air mines 35 - << QVariant(0) // health case pct 36 - << QVariant(25) // health case amt 37 - << QVariant(0) // water rise amt 38 - << QVariant(0) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - - QList cleanslate; - cleanslate - << predefSchemesNames[3] // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(false) // solid land 3 - << QVariant(false) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(true) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(false) // artillery 11 - << QVariant(true) // random order 12 - << QVariant(false) // king 13 - << QVariant(false) // place hog 14 - << QVariant(false) // shared ammo 15 - << QVariant(false) // disable girders 16 - << QVariant(false) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(true) // inf. attack 19 - << QVariant(true) // reset weps 20 - << QVariant(false) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(45) // turn time 27 - << QVariant(100) // init health 28 - << QVariant(15) // sudden death 29 - << QVariant(5) // case prob 30 - << QVariant(3) // mines time 31 - << QVariant(4) // mines number 32 - << QVariant(0) // mine dud pct 33 - << QVariant(2) // explosives 34 - << QVariant(0) // air mines 35 - << QVariant(35) // health case pct 36 - << QVariant(25) // health case amt 37 - << QVariant(47) // water rise amt 38 - << QVariant(5) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - - QList minefield; - minefield - << predefSchemesNames[4] // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(false) // solid land 3 - << QVariant(false) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(false) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(false) // artillery 11 - << QVariant(true) // random order 12 - << QVariant(false) // king 13 - << QVariant(false) // place hog 14 - << QVariant(true) // shared ammo 15 - << QVariant(true) // disable girders 16 - << QVariant(false) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(false) // inf. attack 19 - << QVariant(false) // reset weps 20 - << QVariant(false) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(30) // turn time 27 - << QVariant(50) // init health 28 - << QVariant(15) // sudden death 29 - << QVariant(0) // case prob 30 - << QVariant(0) // mines time 31 - << QVariant(200) // mines number 32 - << QVariant(0) // mine dud pct 33 - << QVariant(0) // explosives 34 - << QVariant(0) // air mines 35 - << QVariant(35) // health case pct 36 - << QVariant(25) // health case amt 37 - << QVariant(47) // water rise amt 38 - << QVariant(5) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - - QList barrelmayhem; - barrelmayhem - << predefSchemesNames[5] // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(false) // solid land 3 - << QVariant(false) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(false) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(false) // artillery 11 - << QVariant(true) // random order 12 - << QVariant(false) // king 13 - << QVariant(false) // place hog 14 - << QVariant(true) // shared ammo 15 - << QVariant(false) // disable girders 16 - << QVariant(false) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(false) // inf. attack 19 - << QVariant(false) // reset weps 20 - << QVariant(false) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(30) // turn time 27 - << QVariant(100) // init health 28 - << QVariant(15) // sudden death 29 - << QVariant(0) // case prob 30 - << QVariant(0) // mines time 31 - << QVariant(0) // mines number 32 - << QVariant(0) // mine dud pct 33 - << QVariant(200) // explosives 34 - << QVariant(0) // air mines 35 - << QVariant(35) // health case pct 36 - << QVariant(25) // health case amt 37 - << QVariant(47) // water rise amt 38 - << QVariant(5) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - - QList tunnelhogs; - tunnelhogs - << predefSchemesNames[6] // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(false) // solid land 3 - << QVariant(true) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(false) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(false) // artillery 11 - << QVariant(true) // random order 12 - << QVariant(false) // king 13 - << QVariant(false) // place hog 14 - << QVariant(true) // shared ammo 15 - << QVariant(true) // disable girders 16 - << QVariant(true) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(false) // inf. attack 19 - << QVariant(false) // reset weps 20 - << QVariant(false) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(30) // turn time 27 - << QVariant(100) // init health 28 - << QVariant(15) // sudden death 29 - << QVariant(5) // case prob 30 - << QVariant(3) // mines time 31 - << QVariant(10) // mines number 32 - << QVariant(10) // mine dud pct 33 - << QVariant(10) // explosives 34 - << QVariant(4) // air mines 35 - << QVariant(35) // health case pct 36 - << QVariant(25) // health case amt 37 - << QVariant(47) // water rise amt 38 - << QVariant(5) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - - QList timeless; - timeless - << predefSchemesNames[7] // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(false) // solid land 3 - << QVariant(false) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(false) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(false) // artillery 11 - << QVariant(true) // random order 12 - << QVariant(false) // king 13 - << QVariant(false) // place hog 14 - << QVariant(false) // shared ammo 15 - << QVariant(false) // disable girders 16 - << QVariant(false) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(false) // inf. attack 19 - << QVariant(false) // reset weps 20 - << QVariant(true) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(9999) // turn time 27 - << QVariant(100) // init health 28 - << QVariant(15) // sudden death 29 - << QVariant(5) // case prob 30 - << QVariant(3) // mines time 31 - << QVariant(5) // mines number 32 - << QVariant(10) // mine dud pct 33 - << QVariant(2) // explosives 34 - << QVariant(0) // air mines 35 - << QVariant(35) // health case pct 36 - << QVariant(30) // health case amt 37 - << QVariant(0) // water rise amt 38 - << QVariant(0) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - - QList thinkingportals; - thinkingportals - << predefSchemesNames[8] // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(false) // solid land 3 - << QVariant(false) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(false) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(true) // artillery 11 - << QVariant(true) // random order 12 - << QVariant(false) // king 13 - << QVariant(false) // place hog 14 - << QVariant(false) // shared ammo 15 - << QVariant(false) // disable girders 16 - << QVariant(false) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(false) // inf. attack 19 - << QVariant(false) // reset weps 20 - << QVariant(false) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(45) // turn time 27 - << QVariant(100) // init health 28 - << QVariant(15) // sudden death 29 - << QVariant(2) // case prob 30 - << QVariant(3) // mines time 31 - << QVariant(5) // mines number 32 - << QVariant(0) // mine dud pct 33 - << QVariant(5) // explosives 34 - << QVariant(4) // air mines 35 - << QVariant(25) // health case pct 36 - << QVariant(25) // health case amt 37 - << QVariant(47) // water rise amt 38 - << QVariant(5) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - - QList kingmode; - kingmode - << predefSchemesNames[9] // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(false) // solid land 3 - << QVariant(false) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(false) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(false) // artillery 11 - << QVariant(true) // random order 12 - << QVariant(true) // king 13 - << QVariant(false) // place hog 14 - << QVariant(false) // shared ammo 15 - << QVariant(false) // disable girders 16 - << QVariant(false) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(false) // inf. attack 19 - << QVariant(false) // reset weps 20 - << QVariant(false) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(45) // turn time 27 - << QVariant(100) // init health 28 - << QVariant(15) // sudden death 29 - << QVariant(5) // case prob 30 - << QVariant(3) // mines time 31 - << QVariant(4) // mines number 32 - << QVariant(0) // mine dud pct 33 - << QVariant(2) // explosives 34 - << QVariant(0) // air mines 35 - << QVariant(35) // health case pct 36 - << QVariant(25) // health case amt 37 - << QVariant(47) // water rise amt 38 - << QVariant(5) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - - QList construction; - construction - << predefSchemesNames[10] // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(false) // solid land 3 - << QVariant(false) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(false) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(false) // artillery 11 - << QVariant(true) // random order 12 - << QVariant(false) // king 13 - << QVariant(false) // place hog 14 - << QVariant(false) // shared ammo 15 - << QVariant(true) // disable girders 16 - << QVariant(true) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(true) // inf. attack 19 - << QVariant(false) // reset weps 20 - << QVariant(true) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(45) // turn time 27 - << QVariant(100) // init health 28 - << QVariant(15) // sudden death 29 - << QVariant(5) // case prob 30 - << QVariant(3) // mines time 31 - << QVariant(0) // mines number 32 - << QVariant(0) // mine dud pct 33 - << QVariant(0) // explosives 34 - << QVariant(0) // air mines 35 - << QVariant(35) // health case pct 36 - << QVariant(25) // health case amt 37 - << QVariant(47) // water rise amt 38 - << QVariant(5) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - - QList hedgeeditor; - hedgeeditor - << predefSchemesNames[11] // name 0 - << QVariant(false) // fortsmode 1 - << QVariant(false) // team divide 2 - << QVariant(false) // solid land 3 - << QVariant(false) // border 4 - << QVariant(false) // low gravity 5 - << QVariant(false) // laser sight 6 - << QVariant(false) // invulnerable 7 - << QVariant(false) // reset health 8 - << QVariant(false) // vampiric 9 - << QVariant(false) // karma 10 - << QVariant(false) // artillery 11 - << QVariant(false) // random order 12 - << QVariant(false) // king 13 - << QVariant(false) // place hog 14 - << QVariant(false) // shared ammo 15 - << QVariant(false) // disable girders 16 - << QVariant(false) // disable land objects 17 - << QVariant(false) // AI survival 18 - << QVariant(false) // inf. attack 19 - << QVariant(false) // reset weps 20 - << QVariant(true) // per hog ammo 21 - << QVariant(false) // no wind 22 - << QVariant(false) // more wind 23 - << QVariant(false) // tag team 24 - << QVariant(false) // bottom border 25 - << QVariant(100) // damage modfier 26 - << QVariant(9999) // turn time 27 - << QVariant(100) // init health 28 - << QVariant(50) // sudden death 29 - << QVariant(5) // case prob 30 - << QVariant(3) // mines time 31 - << QVariant(0) // mines number 32 - << QVariant(0) // mine dud pct 33 - << QVariant(0) // explosives 34 - << QVariant(0) // air mines 35 - << QVariant(35) // health case pct 36 - << QVariant(25) // health case amt 37 - << QVariant(0) // water rise amt 38 - << QVariant(0) // health dec amt 39 - << QVariant(100) // rope modfier 40 - << QVariant(100) // get away time 41 - << QVariant(0) // world edge 42 - << QVariant() // scriptparam 43 - ; - - - - schemes.append(defaultScheme); - schemes.append(proMode); - schemes.append(shoppa); - schemes.append(cleanslate); - schemes.append(minefield); - schemes.append(barrelmayhem); - schemes.append(tunnelhogs); - schemes.append(timeless); - schemes.append(thinkingportals); - schemes.append(kingmode); - schemes.append(construction); - schemes.append(hedgeeditor); - - - int size = fileConfig.beginReadArray("schemes"); - for (int i = 0; i < size; ++i) - { - fileConfig.setArrayIndex(i); - - if (!predefSchemesNames.contains(fileConfig.value(spNames[0]).toString())) - { - QList scheme; - - for (int k = 0; k < spNames.size(); ++k) - scheme << fileConfig.value(spNames[k], defaultScheme[k]); - - schemes.append(scheme); - } - } - fileConfig.endArray(); -} - -QVariant AmmoSchemeModel::headerData(int section, Qt::Orientation orientation, int role) const -{ - Q_UNUSED(section); - Q_UNUSED(orientation); - Q_UNUSED(role); - - return QVariant(); -} - -int AmmoSchemeModel::rowCount(const QModelIndex &parent) const -{ - if (parent.isValid()) - return 0; - else - return schemes.size(); -} - -int AmmoSchemeModel::columnCount(const QModelIndex & parent) const -{ - if (parent.isValid()) - return 0; - else - return defaultScheme.size(); -} - -bool AmmoSchemeModel::hasScheme(QString name) -{ - for(int i=0; i= schemes.size() - || index.column() >= defaultScheme.size() - || role != Qt::EditRole) - return false; - - schemes[index.row()][index.column()] = value; - - emit dataChanged(index, index); - return true; -} - -bool AmmoSchemeModel::insertRows(int row, int count, const QModelIndex & parent) -{ - Q_UNUSED(count); - - beginInsertRows(parent, schemes.size(), schemes.size()); - - if (row == -1) - { - QList newScheme = defaultScheme; - - QString newName = tr("New"); - if(hasScheme(newName)) - { - //name already used -> look for an appropriate name: - int i=2; - while(hasScheme(newName = tr("New (%1)").arg(i++))) ; - } - newScheme[0] = QVariant(newName); - schemes.insert(schemes.size(), newScheme); - } - else - { - QList newScheme = schemes[row]; - QString oldName = newScheme[0].toString(); - QString newName = tr("Copy of %1").arg(oldName); - if(hasScheme(newName)) - { - //name already used -> look for an appropriate name: - int i=2; - while(hasScheme(newName = tr("Copy of %1 (%2)").arg(oldName).arg(i++))); - } - newScheme[0] = QVariant(newName); - schemes.insert(schemes.size(), newScheme); - } - - endInsertRows(); - - return true; -} - -bool AmmoSchemeModel::removeRows(int row, int count, const QModelIndex & parent) -{ - if(count != 1 - || row < numberOfDefaultSchemes - || row >= schemes.size()) - return false; - - beginRemoveRows(parent, row, row); - - schemes.removeAt(row); - - endRemoveRows(); - - return true; -} - -QVariant AmmoSchemeModel::data(const QModelIndex &index, int role) const -{ - if (!index.isValid() || index.row() < 0 - || index.row() >= schemes.size() - || index.column() >= defaultScheme.size() - || (role != Qt::EditRole && role != Qt::DisplayRole) - ) - return QVariant(); - - return schemes[index.row()][index.column()]; -} - -void AmmoSchemeModel::Save() -{ - fileConfig.beginWriteArray("schemes", schemes.size() - numberOfDefaultSchemes); - - for (int i = 0; i < schemes.size() - numberOfDefaultSchemes; ++i) - { - fileConfig.setArrayIndex(i); - - QList scheme = schemes[i + numberOfDefaultSchemes]; - - for (int k = 0; k < scheme.size(); ++k) - fileConfig.setValue(spNames[k], scheme[k]); - } - fileConfig.endArray(); -} - - -NetAmmoSchemeModel::NetAmmoSchemeModel(QObject * parent) : - QAbstractTableModel(parent) -{ - netScheme = defaultScheme; -} - -QVariant NetAmmoSchemeModel::headerData(int section, Qt::Orientation orientation, int role) const -{ - Q_UNUSED(section); - Q_UNUSED(orientation); - Q_UNUSED(role); - - return QVariant(); -} - -int NetAmmoSchemeModel::rowCount(const QModelIndex & parent) const -{ - if (parent.isValid()) - return 0; - else - return 1; -} - -int NetAmmoSchemeModel::columnCount(const QModelIndex & parent) const -{ - if (parent.isValid()) - return 0; - else - return defaultScheme.size(); -} - -QVariant NetAmmoSchemeModel::data(const QModelIndex &index, int role) const -{ - if (!index.isValid() || index.row() < 0 - || index.row() > 1 - || index.column() >= defaultScheme.size() - || (role != Qt::EditRole && role != Qt::DisplayRole) - ) - return QVariant(); - - return netScheme[index.column()]; -} - -void NetAmmoSchemeModel::setNetSchemeConfig(QStringList cfg) -{ - if(cfg.size() != netScheme.size()) - { - qWarning("Incorrect scheme cfg size"); - return; - } - - cfg[cfg.size()-1] = cfg[cfg.size()-1].mid(1); - - for(int i = 0; i < cfg.size(); ++i) - netScheme[i] = QVariant(cfg[i]); - - reset(); -} diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/model/ammoSchemeModel.h --- a/QTfrontend/model/ammoSchemeModel.h Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -/* - * Hedgewars, a free turn based strategy game - * Copyright (c) 2004-2015 Andrey Korotaev - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef _AMMO_SCHEME_MODEL_INCLUDED -#define _AMMO_SCHEME_MODEL_INCLUDED - -#include -#include -#include -#include - -class AmmoSchemeModel : public QAbstractTableModel -{ - Q_OBJECT - - public: - AmmoSchemeModel(QObject * parent, const QString & fileName); - - QVariant headerData(int section, Qt::Orientation orientation, int role) const; - int rowCount(const QModelIndex & parent) const; - int columnCount(const QModelIndex & parent) const; - bool hasScheme(QString name); - Qt::ItemFlags flags(const QModelIndex & index) const; - bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole); - bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex()); - bool removeRows(int row, int count, const QModelIndex & parent = QModelIndex()); - QVariant data(const QModelIndex &index, int role) const; - - int numberOfDefaultSchemes; - QStringList predefSchemesNames; - QStringList spNames; - - public slots: - void Save(); - -// signals: -// void dataChanged(const QModelIndex & topLeft, const QModelIndex & bottomRight); - - protected: - QList< QList > schemes; - - private: - QSettings fileConfig; -}; - -class NetAmmoSchemeModel : public QAbstractTableModel -{ - Q_OBJECT - - public: - NetAmmoSchemeModel(QObject * parent); - - QVariant headerData(int section, Qt::Orientation orientation, int role) const; - int rowCount(const QModelIndex & parent) const; - int columnCount(const QModelIndex & parent) const; - QVariant data(const QModelIndex &index, int role) const; - - public slots: - void setNetSchemeConfig(QStringList cfg); - - private: - QList netScheme; -}; - -#endif // _AMMO_SCHEME_MODEL_INCLUDED diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/model/gameSchemeModel.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QTfrontend/model/gameSchemeModel.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,1049 @@ +/* + * Hedgewars, a free turn based strategy game + * Copyright (c) 2004-2015 Andrey Korotaev + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include +#include +#include +#include +#include +#include + +#include "gameSchemeModel.h" +#include "hwconsts.h" + +QList defaultScheme = QList() + << QVariant("Default") // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(false) // shared ammo 15 + << QVariant(false) // disable girders 16 + << QVariant(false) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(false) // inf. attack 19 + << QVariant(false) // reset weps 20 + << QVariant(false) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(45) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(15) // sudden death 29 + << QVariant(5) // case prob 30 + << QVariant(3) // mines time 31 + << QVariant(4) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(2) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(35) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(47) // water rise amt 38 + << QVariant(5) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + << QVariant() // scriptparam 43 + ; + +GameSchemeModel::GameSchemeModel(QObject* parent, const QString & directory) : + QAbstractTableModel(parent) +{ + predefSchemesNames = QStringList() + << "Default" + << "Pro Mode" + << "Shoppa" + << "Clean Slate" + << "Minefield" + << "Barrel Mayhem" + << "Tunnel Hogs" + << "Timeless" + << "Thinking with Portals" + << "King Mode" + << "Construction Mode" + << "Space Invasion" + << "HedgeEditor" + ; + + numberOfDefaultSchemes = predefSchemesNames.size(); + + spNames = QStringList() + << "name" // 0 | Name should be first forever + << "switchhog" // 1 + << "divteams" // 2 + << "solidland" // 3 + << "border" // 4 + << "lowgrav" // 5 + << "laser" // 6 + << "invulnerability" // 7 + << "resethealth" // 8 + << "vampiric" // 9 + << "karma" // 10 + << "artillery" // 11 + << "randomorder" // 12 + << "king" // 13 + << "placehog" // 14 + << "sharedammo" // 15 + << "disablegirders" // 16 + << "disablelandobjects" // 17 + << "aisurvival" // 18 + << "infattack" // 19 + << "resetweps" // 20 + << "perhogammo" // 21 + << "disablewind" // 22 + << "morewind" // 23 + << "tagteam" // 24 + << "bottomborder" // 25 + << "damagefactor" // 26 + << "turntime" // 27 + << "health" // 28 + << "suddendeath" // 29 + << "caseprobability" // 30 + << "minestime" // 31 + << "minesnum" // 32 + << "minedudpct" // 33 + << "explosives" // 34 + << "airmines" // 35 + << "healthprobability" // 36 + << "healthcaseamount" // 37 + << "waterrise" // 38 + << "healthdecrease" // 39 + << "ropepct" // 40 + << "getawaytime" // 41 + << "worldedge" // 42 + << "scriptparam" // scriptparam 43 + ; + + QList proMode; + proMode + << predefSchemesNames[1] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(true) // shared ammo 15 + << QVariant(false) // disable girders 16 + << QVariant(false) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(false) // inf. attack 19 + << QVariant(false) // reset weps 20 + << QVariant(false) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(15) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(15) // sudden death 29 + << QVariant(0) // case prob 30 + << QVariant(3) // mines time 31 + << QVariant(0) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(2) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(35) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(47) // water rise amt 38 + << QVariant(5) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + << QVariant() // scriptparam 43 + ; + + QList shoppa; + shoppa + << predefSchemesNames[2] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(true) // solid land 3 + << QVariant(true) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(true) // shared ammo 15 + << QVariant(true) // disable girders 16 + << QVariant(true) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(false) // inf. attack 19 + << QVariant(true) // reset weps 20 + << QVariant(false) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(30) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(50) // sudden death 29 + << QVariant(1) // case prob 30 + << QVariant(0) // mines time 31 + << QVariant(0) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(0) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(0) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(0) // water rise amt 38 + << QVariant(0) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + << QVariant() // scriptparam 43 + ; + + QList cleanslate; + cleanslate + << predefSchemesNames[3] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(true) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(false) // shared ammo 15 + << QVariant(false) // disable girders 16 + << QVariant(false) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(true) // inf. attack 19 + << QVariant(true) // reset weps 20 + << QVariant(false) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(45) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(15) // sudden death 29 + << QVariant(5) // case prob 30 + << QVariant(3) // mines time 31 + << QVariant(4) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(2) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(35) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(47) // water rise amt 38 + << QVariant(5) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + << QVariant() // scriptparam 43 + ; + + QList minefield; + minefield + << predefSchemesNames[4] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(true) // shared ammo 15 + << QVariant(true) // disable girders 16 + << QVariant(false) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(false) // inf. attack 19 + << QVariant(false) // reset weps 20 + << QVariant(false) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(30) // turn time 27 + << QVariant(50) // init health 28 + << QVariant(15) // sudden death 29 + << QVariant(0) // case prob 30 + << QVariant(0) // mines time 31 + << QVariant(200) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(0) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(35) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(47) // water rise amt 38 + << QVariant(5) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + << QVariant() // scriptparam 43 + ; + + QList barrelmayhem; + barrelmayhem + << predefSchemesNames[5] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(true) // shared ammo 15 + << QVariant(false) // disable girders 16 + << QVariant(false) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(false) // inf. attack 19 + << QVariant(false) // reset weps 20 + << QVariant(false) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(30) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(15) // sudden death 29 + << QVariant(0) // case prob 30 + << QVariant(0) // mines time 31 + << QVariant(0) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(200) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(35) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(47) // water rise amt 38 + << QVariant(5) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + << QVariant() // scriptparam 43 + ; + + QList tunnelhogs; + tunnelhogs + << predefSchemesNames[6] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(true) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(true) // shared ammo 15 + << QVariant(true) // disable girders 16 + << QVariant(true) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(false) // inf. attack 19 + << QVariant(false) // reset weps 20 + << QVariant(false) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(30) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(15) // sudden death 29 + << QVariant(5) // case prob 30 + << QVariant(3) // mines time 31 + << QVariant(10) // mines number 32 + << QVariant(10) // mine dud pct 33 + << QVariant(10) // explosives 34 + << QVariant(4) // air mines 35 + << QVariant(35) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(47) // water rise amt 38 + << QVariant(5) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + << QVariant() // scriptparam 43 + ; + + QList timeless; + timeless + << predefSchemesNames[7] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(false) // shared ammo 15 + << QVariant(false) // disable girders 16 + << QVariant(false) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(false) // inf. attack 19 + << QVariant(false) // reset weps 20 + << QVariant(true) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(9999) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(15) // sudden death 29 + << QVariant(5) // case prob 30 + << QVariant(3) // mines time 31 + << QVariant(5) // mines number 32 + << QVariant(10) // mine dud pct 33 + << QVariant(2) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(35) // health case pct 36 + << QVariant(30) // health case amt 37 + << QVariant(0) // water rise amt 38 + << QVariant(0) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + << QVariant() // scriptparam 43 + ; + + QList thinkingportals; + thinkingportals + << predefSchemesNames[8] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(true) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(false) // shared ammo 15 + << QVariant(false) // disable girders 16 + << QVariant(false) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(false) // inf. attack 19 + << QVariant(false) // reset weps 20 + << QVariant(false) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(45) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(15) // sudden death 29 + << QVariant(2) // case prob 30 + << QVariant(3) // mines time 31 + << QVariant(5) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(5) // explosives 34 + << QVariant(4) // air mines 35 + << QVariant(25) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(47) // water rise amt 38 + << QVariant(5) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + << QVariant() // scriptparam 43 + ; + + QList kingmode; + kingmode + << predefSchemesNames[9] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(true) // king 13 + << QVariant(false) // place hog 14 + << QVariant(false) // shared ammo 15 + << QVariant(false) // disable girders 16 + << QVariant(false) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(false) // inf. attack 19 + << QVariant(false) // reset weps 20 + << QVariant(false) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(45) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(15) // sudden death 29 + << QVariant(5) // case prob 30 + << QVariant(3) // mines time 31 + << QVariant(4) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(2) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(35) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(47) // water rise amt 38 + << QVariant(5) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + << QVariant() // scriptparam 43 + ; + + QList construction; + construction + << predefSchemesNames[10] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(false) // shared ammo 15 + << QVariant(true) // disable girders 16 + << QVariant(true) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(true) // inf. attack 19 + << QVariant(false) // reset weps 20 + << QVariant(true) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(45) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(15) // sudden death 29 + << QVariant(5) // case prob 30 + << QVariant(3) // mines time 31 + << QVariant(0) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(0) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(35) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(47) // water rise amt 38 + << QVariant(5) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + // NOTE: If you change this, also change the defaults in the Construction Mode script + << QVariant("initialenergy=550, energyperround=50, maxenergy=1000, cratesperround=5") // scriptparam 43 + ; + + QList spaceinvasion; + spaceinvasion + << predefSchemesNames[11] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(true) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(false) // shared ammo 15 + << QVariant(true) // disable girders 16 + << QVariant(false) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(false) // inf. attack 19 + << QVariant(false) // reset weps 20 + << QVariant(false) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(45) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(50) // sudden death 29 + << QVariant(0) // case prob 30 + << QVariant(3) // mines time 31 + << QVariant(0) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(0) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(0) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(0) // water rise amt 38 + << QVariant(0) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + // NOTE: If you change this, also change the defaults in the Space Invasion script + << QVariant("rounds=3, shield=30, barrels=5, pings=2, barrelbonus=3, shieldbonus=30, timebonus=4") // scriptparam 43 + ; + + QList hedgeeditor; + hedgeeditor + << predefSchemesNames[12] // name 0 + << QVariant(false) // switchhog 1 + << QVariant(false) // team divide 2 + << QVariant(false) // solid land 3 + << QVariant(false) // border 4 + << QVariant(false) // low gravity 5 + << QVariant(false) // laser sight 6 + << QVariant(false) // invulnerable 7 + << QVariant(false) // reset health 8 + << QVariant(false) // vampiric 9 + << QVariant(false) // karma 10 + << QVariant(false) // artillery 11 + << QVariant(false) // random order 12 + << QVariant(false) // king 13 + << QVariant(false) // place hog 14 + << QVariant(false) // shared ammo 15 + << QVariant(false) // disable girders 16 + << QVariant(false) // disable land objects 17 + << QVariant(false) // AI survival 18 + << QVariant(false) // inf. attack 19 + << QVariant(false) // reset weps 20 + << QVariant(true) // per hog ammo 21 + << QVariant(false) // no wind 22 + << QVariant(false) // more wind 23 + << QVariant(false) // tag team 24 + << QVariant(false) // bottom border 25 + << QVariant(100) // damage modfier 26 + << QVariant(9999) // turn time 27 + << QVariant(100) // init health 28 + << QVariant(50) // sudden death 29 + << QVariant(0) // case prob 30 + << QVariant(3) // mines time 31 + << QVariant(0) // mines number 32 + << QVariant(0) // mine dud pct 33 + << QVariant(0) // explosives 34 + << QVariant(0) // air mines 35 + << QVariant(35) // health case pct 36 + << QVariant(25) // health case amt 37 + << QVariant(0) // water rise amt 38 + << QVariant(0) // health dec amt 39 + << QVariant(100) // rope modfier 40 + << QVariant(100) // get away time 41 + << QVariant(0) // world edge 42 + << QVariant() // scriptparam 43 + ; + + + + schemes.append(defaultScheme); + schemes.append(proMode); + schemes.append(shoppa); + schemes.append(cleanslate); + schemes.append(minefield); + schemes.append(barrelmayhem); + schemes.append(tunnelhogs); + schemes.append(timeless); + schemes.append(thinkingportals); + schemes.append(kingmode); + schemes.append(construction); + schemes.append(spaceinvasion); + schemes.append(hedgeeditor); + + if (!QDir(cfgdir->absolutePath() + "/Schemes").exists()) { + QDir().mkdir(cfgdir->absolutePath() + "/Schemes"); + } + if (!QDir(directory).exists()) { + QDir().mkdir(directory); + + qDebug("No /Schemes/Game directory found. Trying to import game schemes from schemes.ini."); + + QSettings legacyFileConfig(cfgdir->absolutePath() + "/schemes.ini", QSettings::IniFormat); + int size = legacyFileConfig.beginReadArray("schemes"); + int imported = 0; + for (int i = 0; i < size; ++i) + { + legacyFileConfig.setArrayIndex(i); + + QString schemeName = legacyFileConfig.value(spNames[0]).toString(); + if (!schemeName.isNull() && !predefSchemesNames.contains(schemeName)) + { + QList scheme; + QFile file(directory + "/" + schemeName + ".hwg"); + + // Add keys to scheme info and create file + if (file.open(QIODevice::WriteOnly)) { + QTextStream stream(&file); + + for (int k = 0; k < spNames.size(); ++k) { + scheme << legacyFileConfig.value(spNames[k], defaultScheme[k]); + + // File handling + // We skip the name key (k==0), it is not stored redundantly in file. + // The file name is used for that already. + if(k != 0) { + // The file is just a list of key=value pairs + stream << spNames[k] << "=" << legacyFileConfig.value(spNames[k], defaultScheme[k]).toString(); + stream << endl; + } + } + file.close(); + } + imported++; + + schemes.append(scheme); + } + } + qDebug("%d game scheme(s) imported.", imported); + legacyFileConfig.endArray(); + } else { + QStringList scheme_dir = QDir(directory).entryList(QDir::Files); + + for(int i = 0; i < scheme_dir.size(); i++) + { + QList scheme; + QFile file(directory + "/" + scheme_dir[i]); + + // Chop off file name suffix + QString schemeName = scheme_dir[i]; + if (schemeName.endsWith(".hwg", Qt::CaseInsensitive)) { + schemeName.chop(4); + } + // Parse game scheme file + if (file.open(QIODevice::ReadOnly)) { + QTextStream stream(&file); + QString line, key, value; + QHash fileKeyValues; + do { + // Read line and get key and value + line = stream.readLine(); + key = line.section(QChar('='), 0, 0); + value = line.section(QChar('='), 1); + if(!key.isNull() && !value.isNull()) { + fileKeyValues[key] = value; + } + } while (!line.isNull()); + + // Add scheme name manually + scheme << schemeName; + // Add other keys from the QHash. + for (int k = 1; k < spNames.size(); ++k) { + key = spNames[k]; + if (fileKeyValues.contains(key)) { + scheme << fileKeyValues.value(key); + } else { + // Use default value in case the key is not set + scheme << defaultScheme[k]; + } + } + schemes.append(scheme); + + file.close(); + } + } + } +} + +QVariant GameSchemeModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + Q_UNUSED(section); + Q_UNUSED(orientation); + Q_UNUSED(role); + + return QVariant(); +} + +int GameSchemeModel::rowCount(const QModelIndex &parent) const +{ + if (parent.isValid()) + return 0; + else + return schemes.size(); +} + +int GameSchemeModel::columnCount(const QModelIndex & parent) const +{ + if (parent.isValid()) + return 0; + else + return defaultScheme.size(); +} + +bool GameSchemeModel::hasScheme(QString name) +{ + for(int i=0; i= schemes.size() + || index.column() >= defaultScheme.size() + || role != Qt::EditRole) + return false; + + schemes[index.row()][index.column()] = value; + + emit dataChanged(index, index); + return true; +} + +bool GameSchemeModel::insertRows(int row, int count, const QModelIndex & parent) +{ + Q_UNUSED(count); + + beginInsertRows(parent, schemes.size(), schemes.size()); + + if (row == -1) + { + QList newScheme = defaultScheme; + + QString newName = tr("New"); + if(hasScheme(newName)) + { + //name already used -> look for an appropriate name: + int i=2; + while(hasScheme(newName = tr("New (%1)").arg(i++))) ; + } + newScheme[0] = QVariant(newName); + schemes.insert(schemes.size(), newScheme); + } + else + { + QList newScheme = schemes[row]; + QString oldName = newScheme[0].toString(); + QString newName = tr("Copy of %1").arg(oldName); + if(hasScheme(newName)) + { + //name already used -> look for an appropriate name: + int i=2; + while(hasScheme(newName = tr("Copy of %1 (%2)").arg(oldName).arg(i++))); + } + newScheme[0] = QVariant(newName); + schemes.insert(schemes.size(), newScheme); + } + + endInsertRows(); + + return true; +} + +bool GameSchemeModel::removeRows(int row, int count, const QModelIndex & parent) +{ + if(count != 1 + || row < numberOfDefaultSchemes + || row >= schemes.size()) + return false; + + beginRemoveRows(parent, row, row); + + QList scheme = schemes[row]; + int j = spNames.indexOf("name"); + QFile(cfgdir->absolutePath() + "/Schemes/Game/" + scheme[j].toString() + ".hwg").remove(); + schemes.removeAt(row); + + endRemoveRows(); + + return true; +} + +QVariant GameSchemeModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid() || index.row() < 0 + || index.row() >= schemes.size() + || index.column() >= defaultScheme.size() + || (role != Qt::EditRole && role != Qt::DisplayRole) + ) + return QVariant(); + + return schemes[index.row()][index.column()]; +} + +void GameSchemeModel::Save() +{ + for (int i = 0; i < schemes.size() - numberOfDefaultSchemes; ++i) + { + QList scheme = schemes[i + numberOfDefaultSchemes]; + int j = spNames.indexOf("name"); + + QString schemeName = scheme[j].toString(); + QFile file(cfgdir->absolutePath() + "/Schemes/Game/" + schemeName + ".hwg"); + + if (file.open(QIODevice::WriteOnly)) { + QTextStream stream(&file); + for (int k = 0; k < spNames.size(); ++k) { + // We skip the name key + if(k != j) { + // The file is just a list of key=value pairs + stream << spNames[k] << "=" << scheme[k].toString(); + stream << endl; + } + } + file.close(); + } + } +} + + +NetGameSchemeModel::NetGameSchemeModel(QObject * parent) : + QAbstractTableModel(parent) +{ + netScheme = defaultScheme; +} + +QVariant NetGameSchemeModel::headerData(int section, Qt::Orientation orientation, int role) const +{ + Q_UNUSED(section); + Q_UNUSED(orientation); + Q_UNUSED(role); + + return QVariant(); +} + +int NetGameSchemeModel::rowCount(const QModelIndex & parent) const +{ + if (parent.isValid()) + return 0; + else + return 1; +} + +int NetGameSchemeModel::columnCount(const QModelIndex & parent) const +{ + if (parent.isValid()) + return 0; + else + return defaultScheme.size(); +} + +QVariant NetGameSchemeModel::data(const QModelIndex &index, int role) const +{ + if (!index.isValid() || index.row() < 0 + || index.row() > 1 + || index.column() >= defaultScheme.size() + || (role != Qt::EditRole && role != Qt::DisplayRole) + ) + return QVariant(); + + return netScheme[index.column()]; +} + +void NetGameSchemeModel::setNetSchemeConfig(QStringList cfg) +{ + if(cfg.size() != netScheme.size()) + { + qWarning("Incorrect scheme cfg size"); + return; + } + + beginResetModel(); + + cfg[cfg.size()-1] = cfg[cfg.size()-1].mid(1); + + for(int i = 0; i < cfg.size(); ++i) + netScheme[i] = QVariant(cfg[i]); + + endResetModel(); +} diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/model/gameSchemeModel.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QTfrontend/model/gameSchemeModel.h Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,73 @@ +/* + * Hedgewars, a free turn based strategy game + * Copyright (c) 2004-2015 Andrey Korotaev + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef _GAME_SCHEME_MODEL_INCLUDED +#define _GAME_SCHEME_MODEL_INCLUDED + +#include +#include +#include + +class GameSchemeModel : public QAbstractTableModel +{ + Q_OBJECT + + public: + GameSchemeModel(QObject * parent, const QString & fileName); + + QVariant headerData(int section, Qt::Orientation orientation, int role) const; + int rowCount(const QModelIndex & parent) const; + int columnCount(const QModelIndex & parent) const; + bool hasScheme(QString name); + Qt::ItemFlags flags(const QModelIndex & index) const; + bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole); + bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex()); + bool removeRows(int row, int count, const QModelIndex & parent = QModelIndex()); + QVariant data(const QModelIndex &index, int role) const; + + int numberOfDefaultSchemes; + QStringList predefSchemesNames; + QStringList spNames; + + public slots: + void Save(); + + protected: + QList< QList > schemes; +}; + +class NetGameSchemeModel : public QAbstractTableModel +{ + Q_OBJECT + + public: + NetGameSchemeModel(QObject * parent); + + QVariant headerData(int section, Qt::Orientation orientation, int role) const; + int rowCount(const QModelIndex & parent) const; + int columnCount(const QModelIndex & parent) const; + QVariant data(const QModelIndex &index, int role) const; + + public slots: + void setNetSchemeConfig(QStringList cfg); + + private: + QList netScheme; +}; + +#endif // _GAME_SCHEME_MODEL_INCLUDED diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/model/playerslistmodel.cpp --- a/QTfrontend/model/playerslistmodel.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/model/playerslistmodel.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -309,10 +309,10 @@ } if(index.data(Ignore).toBool()) - setData(index, Qt::gray, Qt::ForegroundRole); + setData(index, QColor(Qt::gray), Qt::ForegroundRole); else if(index.data(Friend).toBool()) - setData(index, Qt::green, Qt::ForegroundRole); + setData(index, QColor(Qt::green), Qt::ForegroundRole); else setData(index, QBrush(QColor(0xff, 0xcc, 0x00)), Qt::ForegroundRole); } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/net/hwmap.cpp --- a/QTfrontend/net/hwmap.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/net/hwmap.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -79,7 +79,7 @@ { quint8 *buf = (quint8*) readbuffer.constData(); QImage im(buf, 256, 128, QImage::Format_Mono); - im.setNumColors(2); + im.setColorCount(2); QPixmap px(QSize(256, 128)); QPixmap pxres(px.size()); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/net/netudpwidget.cpp --- a/QTfrontend/net/netudpwidget.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/net/netudpwidget.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -33,15 +33,19 @@ void HWNetUdpModel::updateList() { - games.clear(); + beginResetModel(); + + games.clear(); - reset(); + endResetModel(); - pUdpSocket->writeDatagram("hedgewars client", QHostAddress::Broadcast, NETGAME_DEFAULT_PORT); + pUdpSocket->writeDatagram("hedgewars client", QHostAddress::Broadcast, NETGAME_DEFAULT_PORT); } void HWNetUdpModel::onClientRead() { + beginResetModel(); + while (pUdpSocket->hasPendingDatagrams()) { QByteArray datagram; @@ -60,7 +64,7 @@ } } - reset(); + endResetModel(); } QVariant HWNetUdpModel::data(const QModelIndex &index, diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/net/newnetclient.cpp --- a/QTfrontend/net/newnetclient.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/net/newnetclient.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -99,7 +99,7 @@ void HWNewNet::CreateRoom(const QString & room, const QString & password) { - if(netClientState != InLobby) + if(netClientState != InLobby || !ByteLength(room)) { qWarning("Illegal try to create room!"); return; @@ -176,6 +176,11 @@ RawSendNet(QString("EM%1%2").arg(delimiter).arg(msg)); } +int HWNewNet::ByteLength(const QString & str) +{ + return str.toUtf8().size(); +} + void HWNewNet::RawSendNet(const QString & str) { RawSendNet(str.toUtf8()); @@ -242,7 +247,7 @@ void HWNewNet::SendPasswordHash(const QString & hash) { // don't send it immediately, only store and check if server asked us for a password - m_passwordHash = hash.toAscii(); + m_passwordHash = hash.toLatin1(); maybeSendPassword(); } @@ -271,7 +276,7 @@ if (lst[0] == "ERROR") { if (lst.size() == 2) - emit Error(HWApplication::translate("server", lst[1].toAscii().constData())); + emit Error(HWApplication::translate("server", lst[1].toLatin1().constData())); else emit Error("Unknown error"); return; @@ -280,7 +285,7 @@ if (lst[0] == "WARNING") { if (lst.size() == 2) - emit Warning(HWApplication::translate("server", lst[1].toAscii().constData())); + emit Warning(HWApplication::translate("server", lst[1].toLatin1().constData())); else emit Warning("Unknown warning"); return; @@ -447,7 +452,7 @@ while(flags.size() > 1) { flags.remove(0, 1); - char c = flags[0].toAscii(); + char c = flags[0].toLatin1(); bool inRoom = (netClientState == InRoom || netClientState == InGame); switch(c) @@ -673,7 +678,7 @@ } m_game_connected = false; Disconnect(); - emit disconnected(HWApplication::translate("server", lst[1].toAscii().constData())); + emit disconnected(HWApplication::translate("server", lst[1].toLatin1().constData())); return; } @@ -727,7 +732,7 @@ } for(int i = 1; i < lst.size(); ++i) { - QByteArray em = QByteArray::fromBase64(lst[i].toAscii()); + QByteArray em = QByteArray::fromBase64(lst[i].toLatin1()); emit FromNet(em); } return; @@ -909,7 +914,7 @@ void HWNewNet::chatLineToNet(const QString& str) { - if(str != "") + if(ByteLength(str)) { RawSendNet(QString("CHAT") + delimiter + str); QString action = HWProto::chatStringToAction(str); @@ -922,7 +927,7 @@ void HWNewNet::chatLineToLobby(const QString& str) { - if(str != "") + if(ByteLength(str)) { RawSendNet(QString("CHAT") + delimiter + str); QString action = HWProto::chatStringToAction(str); @@ -1155,18 +1160,18 @@ return; QString hash = QCryptographicHash::hash( - m_clientSalt.toAscii() - .append(m_serverSalt.toAscii()) + m_clientSalt.toLatin1() + .append(m_serverSalt.toLatin1()) .append(m_passwordHash) - .append(cProtoVer->toAscii()) + .append(cProtoVer->toLatin1()) .append("!hedgewars") , QCryptographicHash::Sha1).toHex(); m_serverHash = QCryptographicHash::hash( - m_serverSalt.toAscii() - .append(m_clientSalt.toAscii()) + m_serverSalt.toLatin1() + .append(m_clientSalt.toLatin1()) .append(m_passwordHash) - .append(cProtoVer->toAscii()) + .append(cProtoVer->toLatin1()) .append("!hedgewars") , QCryptographicHash::Sha1).toHex(); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/net/newnetclient.h --- a/QTfrontend/net/newnetclient.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/net/newnetclient.h Sun Jun 10 19:12:26 2018 +0200 @@ -84,6 +84,7 @@ QStringList cmdbuf; + int ByteLength(const QString & str); void RawSendNet(const QString & buf); void RawSendNet(const QByteArray & buf); void ParseCmd(const QStringList & lst); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/net/proto.h --- a/QTfrontend/net/proto.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/net/proto.h Sun Jun 10 19:12:26 2018 +0200 @@ -22,7 +22,7 @@ #include #include #include - +#include class HWProto : public QObject { diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/net/tcpBase.cpp --- a/QTfrontend/net/tcpBase.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/net/tcpBase.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -228,8 +228,10 @@ { Q_UNUSED(exitStatus); - if(m_connected) - ClientDisconnect(); + if(!m_connected) { // yes, it is intended to be like this + ClientDisconnect(); // need to do cleanup in case no connection occured, + //if m_connected is true, it is done automatically in socket disconnect handler + } // show error message if there was an error that was not an engine's // fatal error - because that one already sent a info via IPC diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/TomatowarsTitle.png Binary file QTfrontend/res/TomatowarsTitle.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnDisabled.png Binary file QTfrontend/res/btnDisabled.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnKarma.png Binary file QTfrontend/res/btnKarma.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnKarma@2x.png Binary file QTfrontend/res/btnKarma@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnKing.png Binary file QTfrontend/res/btnKing.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnKing@2x.png Binary file QTfrontend/res/btnKing@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnPerHogAmmo.png Binary file QTfrontend/res/btnPerHogAmmo.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnPerHogAmmo@2x.png Binary file QTfrontend/res/btnPerHogAmmo@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnResetHealth.png Binary file QTfrontend/res/btnResetHealth.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnResetHealth@2x.png Binary file QTfrontend/res/btnResetHealth@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnSharedAmmo.png Binary file QTfrontend/res/btnSharedAmmo.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnSharedAmmo@2x.png Binary file QTfrontend/res/btnSharedAmmo@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnSwitchHog.png Binary file QTfrontend/res/btnSwitchHog.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnSwitchHog@2x.png Binary file QTfrontend/res/btnSwitchHog@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnTeamsDivide.png Binary file QTfrontend/res/btnTeamsDivide.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/btnTeamsDivide@2x.png Binary file QTfrontend/res/btnTeamsDivide@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/checked.png Binary file QTfrontend/res/checked.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/checkedHover.png Binary file QTfrontend/res/checkedHover.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/checkedPressed.png Binary file QTfrontend/res/checkedPressed.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/css/april1.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/QTfrontend/res/css/april1.css Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,455 @@ +/****************************************************************************** + * + * CSS-like definition of Qt frontend appearance + * + ****************************************************************************** + * + * see http://doc.qt.nokia.com/4.5/stylesheet.html + * + ****************************************************************************** + * + * This file can be stored at different locations, but it will be read only + * once, based on first file found in this order: + * + * /Data/css/qt.css + * /css/qt.css + * (:/res/css/qt.css) + * + *****************************************************************************/ + +#infoButton +{ +border: transparent; +background: transparent; +width: 800px; +min-width: 800px; +qproperty-icon: url(":/res/TomatowarsTitle.png"); +qproperty-iconSize: 800px 165px; +} +HWForm,QDialog { +background-image: url(":/res/Background.png"); +background-position: bottom center; +background-repeat: repeat-x; +background-color: #141250; +} + +* { +color: #ffcc00; +selection-background-color: #ffcc00; +selection-color: #00351d; +} + +a { color:#c8c8ff; } + +QLineEdit, QListWidget, QListView, QTableView, QTableWidget, QTextBrowser, QSpinBox, QComboBox, +QComboBox QAbstractItemView, QPlainTextEdit, QMenu::item, #labelLikeLineEdit { +background-color: rgba(13, 5, 68, 70%); +} + +VertScrArea, QGraphicsView { +border-style: solid; border-width: 2px; border-color: #cca300; border-radius: 3px; +} +#gameStatsView { +border-color: #332816; +} + +QSplitter::handle { +background-image: url(":/res/splitter.png"); +background-clip: content; +} +QSplitter::handle:horizontal { +width: 7px; +background-repeat: repeat-y; +} +QSplitter::handle:vertical { +height: 7px; +background-repeat: repeat-x; +} + +QComboBox::separator { +border: solid; border-width: 3px; border-color: #ffcc00; +} + +QPushButton, QListWidget, QListView, QTableView, QTableWidget, QLineEdit, +QTextBrowser, QSpinBox, QToolBox, QComboBox, QPlainTextEdit, +QComboBox QAbstractItemView, IconedGroupBox, +.QGroupBox, #gameStackContainer, TeamSelWidget, SelWeaponWidget, +QTabWidget::pane, QTabBar::tab, #mapPreview, #labelLikeLineEdit { +border: solid; +border-width: 3px; +border-color: #ffcc00; +} + +QPushButton:hover, QLineEdit:hover, QListWidget:hover, QListView:hover, +QSpinBox:hover, QToolBox:hover, QComboBox:hover { +border-color: yellow; +} + +TeamShowWidget QPushButton { +icon-size: 48px; +text-align: left; +background-color: #0d0544; +color: orange; +font: bold; +border-width: 2px; +margin: 6px 0px 6px 0px; +} +TeamShowWidget QPushButton:disabled { +color: #a0a0a0; +} + +QToolButton { +background-color: #11084A; +} + +QToolButton:hover { +background-color: #150A61; +} + +QToolButton:pressed { +background-color: #100744; +} + +QLineEdit, QListWidget, QListView, QTableView, QTableWidget, QTextBrowser, +QSpinBox, QToolBox, QPlainTextEdit, QToolButton, #mapPreview, #labelLikeLineEdit { +border-radius: 10px; +} + +#mapPreview { +background-color: #0d0544; +} +#mapPreview:disabled{ +border-color: #a0a0a0; +background-color: #0d0544; +color: #ffffff; +} + +QLineEdit, QLabel, QHeaderView, QListWidget, QListView, QTableView, +QTableWidget, QSpinBox, QToolBox::tab, QComboBox, QComboBox QAbstractItemView, +IconedGroupBox, .QGroupBox, #gameStackContainer, TeamSelWidget, +SelWeaponWidget, QCheckBox, QRadioButton, QPushButton, QPlainTextEdit, +#mapName { +font: bold 13px; +} +.QLabel{ +background-color: transparent; +} +SelWeaponWidget QTabWidget::pane, SelWeaponWidget QTabBar::tab:selected { +background-position: bottom center; +background-repeat: repeat-x; +background-color: #000000; +} +.QGroupBox, #gameStackContainer, TeamSelWidget, SelWeaponWidget { +background-position: bottom center; +background-repeat: repeat-x; +border-radius: 16px; +background-color: rgba(13, 5, 68, 70%); +padding: 6px; +margin-top: 4px; +} +/* Experimenting with PaintOnScreen and border-radius on IconedGroupBox children didn't work out well +IconedGroupBox QComboBox, IconedGroupBox QPushButton, IconedGroupBox QLineEdit, +IconedGroupBox QSpinBox { +border-radius: 0; +} +IconedGroupBox, IconedGroupBox *, QTabWidget::pane, QTabBar::tab:selected, QToolBox::tab QWidget{" */ +IconedGroupBox, QTabWidget::pane, QTabBar::tab:selected, QToolBox::tab QWidget{ +background-color: #130f2c; +} + +QTabWidget::pane { +border-radius: 8px; +border-top-left-radius: 0px; +} + +GameCFGWidget { +border: none; +} + +QPushButton { +border-radius: 8px; +background-origin: margin; +background-position: top left; +background-color: rgba(18, 42, 5, 70%); +} + +QPushButton:pressed, QToolButton:pressed { +border-color: white; +} + +QPushButton:focus { +outline: none; +} + +QHeaderView { +background-color: #00351d; +border: solid; +border-bottom-width: 3px; +border-top-width: 0px; +border-left-width: 0px; +border-right-width: 0px; +border-color: #ffcc00; +} +QHeaderView::section { +border-left-width: 1px; +border-right-width: 1px; +border-top-width: 0; +border-bottom-width: 0px; +border-color: #001d10; +border-style: solid; +background-color: #00351d; +padding: 4px; +} +QHeaderView::section:pressed { +background-color: #00250d; +} +QHeaderView::up-arrow { +image: url(":/res/sort_up.png"); +} +QHeaderView::down-arrow{ +image: url(":/res/sort_down.png"); +} + +QTableView, QTableWidget { +alternate-background-color: #2f213a; +gridline-color: transparent; +} +QTabWidget::pane { top: -2px; } +QTabBar::tab { +border-radius: 0; +border-top-left-radius: 6px; +border-top-right-radius: 6px; +padding: 3px; +background-color: #00351d; +color: #ffcc00; +} +QTabBar::tab:selected { +border-bottom-color: #0d0544; +border-bottom-width: 0; +} +QSpinBox::up-button{ +background: transparent; +width: 16px; +height: 10px; +} + +QSpinBox::up-arrow { +image: url(":/res/spin_up.png"); +} +QSpinBox::up-arrow:disabled { +image: url(":/res/spin_up_disabled.png"); +} + +QSpinBox::down-arrow { +image: url(":/res/spin_down.png"); +} +QSpinBox::down-arrow:disabled { +image: url(":/res/spin_down_disabled.png"); +} + +QSpinBox::down-button { +background: transparent; +width: 16px; +height: 10px; +} + +QComboBox { +border-radius: 10px; +padding: 3px; +height: 18px; +} +QComboBox:pressed{ +border-color: white; +} +QComboBox::drop-down{ +border: transparent; +width: 25px; +} +QComboBox::down-arrow { +image: url(":/res/dropdown.png"); +} +QComboBox::down-arrow:disabled { +image: url(":/res/dropdown_disabled.png"); +} + +VertScrArea { +background-position: bottom center; +background-repeat: repeat-x; +} + +IconedGroupBox { +border-radius: 16px; +padding: 2px; +} + +QGroupBox::title{ +subcontrol-origin: margin; +subcontrol-position: top left; +text-align: left; +left: 15px; +} + +QCheckBox::indicator:checked{ +image: url(":/res/checked.png"); +} +QCheckBox::indicator:checked:hover{ +image: url(":/res/checkedHover.png"); +} +QCheckBox::indicator:checked:pressed{ +image: url(":/res/checkedPressed.png"); +} +QCheckBox::indicator:unchecked{ +image: url(":/res/unchecked.png"); +} +QCheckBox::indicator:unchecked:hover{ +image: url(":/res/uncheckedHover.png"); +} +QCheckBox::indicator:unchecked:pressed{ +image: url(":/res/uncheckedPressed.png"); +} + +QRadioButton::indicator:checked{ +image: url(":/res/radioButtonChecked.png"); +} +QRadioButton::indicator:checked:hover{ +image: url(":/res/radioButtonCheckedHover.png"); +} +QRadioButton::indicator:checked:pressed{ +image: url(":/res/radioButtonCheckedPressed.png"); +} +QRadioButton::indicator:unchecked{ +image: url(":/res/radioButtonUnchecked.png"); +} +QRadioButton::indicator:unchecked:hover{ +image: url(":/res/radioButtonUncheckedHover.png"); +} +QRadioButton::indicator:unchecked:pressed{ +image: url(":/res/radioButtonUncheckedPressed.png"); +} + +.QWidget{ +background: transparent; +} + +QTabWidget::pane { +border-top-width: 2px; +} + +QMenu{ +background-color: #ffcc00; +margin: 3px; +} +QMenu::item { +background-color: #0d0544; +border: 1px solid transparent; +font: bold; +padding: 2px 25px 2px 20px; +} +QMenu::item:selected { +background-color: #2d2564; +} +QMenu::indicator { +width: 16px; +height: 16px; +} +QMenu::indicator:non-exclusive:checked{ +image: url(":/res/checked.png"); +} +QMenu::indicator:non-exclusive:unchecked{ +image: url(":/res/unchecked.png"); +} + +QToolTip{ +background-color: #0d0544; +border: 1px solid #ffcc00; +} + +:disabled{ +color: #a0a0a0; +border-color: #a0a0a0; +} +QListWidget:item:selected:disabled, QListView:item:selected:disabled{ +color: rgba(13, 5, 68, 70%); +background-color: #a0a0a0; +} +SquareLabel, ItemNum { +background-color: #000000; +} + +QSlider::groove::horizontal { +height: 2px; +margin: 2px 0px; +background-color: #ffcc00; +} +QSlider::groove::horizontal:disabled { +background-color: #a0a0a0; +} + +QSlider::handle::horizontal { +border: 0px; +margin: -8px 0px; +background-color: #ffcc00; +width: 12px; +height: 6px; +border-radius: 3px; +} +QSlider::handle::horizontal:disabled { +background-color: #a0a0a0; +} + +HatButton, ThemeButton { +text-align: left; +} + +#hatList, #hatList:hover, #themeList, #themeList:hover { +border-color: #F6CB1C; +} + +#hatList QScrollBar, #themeList QScrollBar { +background-color: #130F2A; +border-top-right-radius: 10px; +border-bottom-right-radius: 10px; +} + +#hatList, #themeList { +border-color: #F6CB1C; +border-width: 3px; +border-style: solid; +border-radius: 10px; +border-top-left-radius: 0px; +} + +#hatList::item, #themeList::item { +background-color: #11084A; +padding: 4px; +border-radius: 10px; +color: #ffcc00 !important; +font: 8px; +border-width: 2px; +border-color: #11084A; +} + +#hatList::item:hover, #themeList::item:hover { +background-color: #150A61; +} + +#hatList::item:selected, #themeList::item:selected { +background-color: #150A61; +} + +QDialogButtonBox QPushButton { +padding: 3px 5px; +} + +#gameCfgWidgetTabs { +border-radius: 16px; +border-top-left-radius: 0px; +} + +TeamSelWidget, #gameStackContainer, #GBoxOptions { +border-radius: 10px; +} + +PageMultiplayer TeamSelWidget { +min-height: 500px; +} diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/css/qt.css --- a/QTfrontend/res/css/qt.css Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/res/css/qt.css Sun Jun 10 19:12:26 2018 +0200 @@ -17,6 +17,11 @@ * *****************************************************************************/ +#infoButton +{ +border: transparent; +background: transparent; +} HWForm,QDialog { background-image: url(":/res/Background.png"); background-position: bottom center; @@ -32,16 +37,36 @@ a { color:#c8c8ff; } -QLineEdit, QListWidget, QListView, QTableView, QTextBrowser, QSpinBox, QComboBox, +QLineEdit, QListWidget, QListView, QTableView, QTableWidget, QTextBrowser, QSpinBox, QComboBox, QComboBox QAbstractItemView, QPlainTextEdit, QMenu::item, #labelLikeLineEdit { background-color: rgba(13, 5, 68, 70%); } +VertScrArea, QGraphicsView { +border-style: solid; border-width: 2px; border-color: #cca300; border-radius: 3px; +} +#gameStatsView { +border-color: #332816; +} + +QSplitter::handle { +background-image: url(":/res/splitter.png"); +background-clip: content; +} +QSplitter::handle:horizontal { +width: 7px; +background-repeat: repeat-y; +} +QSplitter::handle:vertical { +height: 7px; +background-repeat: repeat-x; +} + QComboBox::separator { border: solid; border-width: 3px; border-color: #ffcc00; } -QPushButton, QListWidget, QListView, QTableView, QLineEdit, QHeaderView, +QPushButton, QListWidget, QListView, QTableView, QTableWidget, QLineEdit, QTextBrowser, QSpinBox, QToolBox, QComboBox, QPlainTextEdit, QComboBox QAbstractItemView, IconedGroupBox, .QGroupBox, #gameStackContainer, TeamSelWidget, SelWeaponWidget, @@ -56,6 +81,19 @@ border-color: yellow; } +TeamShowWidget QPushButton { +icon-size: 48px; +text-align: left; +background-color: #0d0544; +color: orange; +font: bold; +border-width: 2px; +margin: 6px 0px 6px 0px; +} +TeamShowWidget QPushButton:disabled { +color: #a0a0a0; +} + QToolButton { background-color: #11084A; } @@ -68,7 +106,7 @@ background-color: #100744; } -QLineEdit, QListWidget, QListView, QTableView, QTextBrowser, +QLineEdit, QListWidget, QListView, QTableView, QTableWidget, QTextBrowser, QSpinBox, QToolBox, QPlainTextEdit, QToolButton, #mapPreview, #labelLikeLineEdit { border-radius: 10px; } @@ -76,13 +114,22 @@ #mapPreview { background-color: #0d0544; } +#mapPreview:disabled{ +border-color: #a0a0a0; +background-color: #0d0544; +color: #ffffff; +} QLineEdit, QLabel, QHeaderView, QListWidget, QListView, QTableView, -QSpinBox, QToolBox::tab, QComboBox, QComboBox QAbstractItemView, +QTableWidget, QSpinBox, QToolBox::tab, QComboBox, QComboBox QAbstractItemView, IconedGroupBox, .QGroupBox, #gameStackContainer, TeamSelWidget, -SelWeaponWidget, QCheckBox, QRadioButton, QPushButton, QPlainTextEdit { +SelWeaponWidget, QCheckBox, QRadioButton, QPushButton, QPlainTextEdit, +#mapName { font: bold 13px; } +.QLabel{ +background-color: transparent; +} SelWeaponWidget QTabWidget::pane, SelWeaponWidget QTabBar::tab:selected { background-position: bottom center; background-repeat: repeat-x; @@ -111,10 +158,6 @@ border-top-left-radius: 0px; } -QLineEdit:disabled, QSpinBox:disabled { -border-color: gray; -} - GameCFGWidget { border: none; } @@ -135,12 +178,35 @@ } QHeaderView { -border-radius: 0; -border-width: 0; +background-color: #00351d; +border: solid; border-bottom-width: 3px; -background-color: #00351d; +border-top-width: 0px; +border-left-width: 0px; +border-right-width: 0px; +border-color: #ffcc00; } -QTableView { +QHeaderView::section { +border-left-width: 1px; +border-right-width: 1px; +border-top-width: 0; +border-bottom-width: 0px; +border-color: #001d10; +border-style: solid; +background-color: #00351d; +padding: 4px; +} +QHeaderView::section:pressed { +background-color: #00250d; +} +QHeaderView::up-arrow { +image: url(":/res/sort_up.png"); +} +QHeaderView::down-arrow{ +image: url(":/res/sort_down.png"); +} + +QTableView, QTableWidget { alternate-background-color: #2f213a; gridline-color: transparent; } @@ -166,10 +232,16 @@ QSpinBox::up-arrow { image: url(":/res/spin_up.png"); } +QSpinBox::up-arrow:disabled { +image: url(":/res/spin_up_disabled.png"); +} QSpinBox::down-arrow { image: url(":/res/spin_down.png"); } +QSpinBox::down-arrow:disabled { +image: url(":/res/spin_down_disabled.png"); +} QSpinBox::down-button { background: transparent; @@ -192,6 +264,9 @@ QComboBox::down-arrow { image: url(":/res/dropdown.png"); } +QComboBox::down-arrow:disabled { +image: url(":/res/dropdown_disabled.png"); +} VertScrArea { background-position: bottom center; @@ -213,9 +288,40 @@ QCheckBox::indicator:checked{ image: url(":/res/checked.png"); } +QCheckBox::indicator:checked:hover{ +image: url(":/res/checkedHover.png"); +} +QCheckBox::indicator:checked:pressed{ +image: url(":/res/checkedPressed.png"); +} QCheckBox::indicator:unchecked{ image: url(":/res/unchecked.png"); } +QCheckBox::indicator:unchecked:hover{ +image: url(":/res/uncheckedHover.png"); +} +QCheckBox::indicator:unchecked:pressed{ +image: url(":/res/uncheckedPressed.png"); +} + +QRadioButton::indicator:checked{ +image: url(":/res/radioButtonChecked.png"); +} +QRadioButton::indicator:checked:hover{ +image: url(":/res/radioButtonCheckedHover.png"); +} +QRadioButton::indicator:checked:pressed{ +image: url(":/res/radioButtonCheckedPressed.png"); +} +QRadioButton::indicator:unchecked{ +image: url(":/res/radioButtonUnchecked.png"); +} +QRadioButton::indicator:unchecked:hover{ +image: url(":/res/radioButtonUncheckedHover.png"); +} +QRadioButton::indicator:unchecked:pressed{ +image: url(":/res/radioButtonUncheckedPressed.png"); +} .QWidget{ background: transparent; @@ -256,6 +362,11 @@ :disabled{ color: #a0a0a0; +border-color: #a0a0a0; +} +QListWidget:item:selected:disabled, QListView:item:selected:disabled{ +color: rgba(13, 5, 68, 70%); +background-color: #a0a0a0; } SquareLabel, ItemNum { background-color: #000000; @@ -266,6 +377,9 @@ margin: 2px 0px; background-color: #ffcc00; } +QSlider::groove::horizontal:disabled { +background-color: #a0a0a0; +} QSlider::handle::horizontal { border: 0px; @@ -275,6 +389,9 @@ height: 6px; border-radius: 3px; } +QSlider::handle::horizontal:disabled { +background-color: #a0a0a0; +} HatButton, ThemeButton { text-align: left; diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/dropdown_disabled.png Binary file QTfrontend/res/dropdown_disabled.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/dropdown_selected.png Binary file QTfrontend/res/dropdown_selected.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/html/about.html --- a/QTfrontend/res/html/about.html Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/res/html/about.html Sun Jun 10 19:12:26 2018 +0200 @@ -80,7 +80,7 @@ Chinese: Jie Luo <lililjlj@gmail.com>
English: Andrey Korotaev <unC0Rr@gmail.com>
Finnish: Nina Kuisma <ninnnu@gmail.com>, Janne Uusitupa
- French: Antoine Turmel <geekshadow@gmail.com>, Clement Woitrain <sphrixclement@gmail.com>, Matisumi
+ French: Antoine Turmel <geekshadow@gmail.com>, Clement Woitrain <sphrixclement@gmail.com>, Matisumi, Case_Of
German: Peter Hüwe <PeterHuewe@gmx.de>, Mario Liebisch <mario.liebisch@gmail.com>, Richard Karolyi <sheepluva@ercatec.net>, Wuzzy <Wuzzy2@mail.ru>
Greek: <talos_kriti@yahoo.gr>
Italian: Luca Bonora <bonora.luca@gmail.com>, Marco Bresciani <m.bresciani@email.it>, Gianfranco Costamagna <costamagnagianfranco@yahoo.it>, Enrico <enricobe@hotmail.com>
@@ -89,7 +89,7 @@ Lithuanian: Lukas Urbonas <lukasu08@gmail.com>
Polish: Maciej Mroziński <mynick2@o2.pl>, Wojciech Latkowski <magik17l@gmail.com>, Piotr Mitana, Maciej Górny, KoBeWi
Portuguese: Fábio Canário <inufabie@gmail.com>
- Russian: Andrey Korotaev <unC0Rr@gmail.com>, Vitaly Novichkov <admin@wohlnet.ru>, Anton Malmygin <antonc27@mail.ru>
+ Russian: Andrey Korotaev <unC0Rr@gmail.com>, Vitaly Novichkov <admin@wohlnet.ru>, Anton Malmygin <antonc27@mail.ru>, greno4ka
Slovak: Jose Riha
Spanish: Carlos Vives <mail@carlosvives.es>
Swedish: Niklas Grahn <raewolusjoon@yaoo.com>, Henrik Rostedt <henrik.rostedt@gmail.com>
diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/lock_disabled.png Binary file QTfrontend/res/lock_disabled.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/missingMap.png Binary file QTfrontend/res/missingMap.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/missingTheme.png Binary file QTfrontend/res/missingTheme.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/missingTheme@2x.png Binary file QTfrontend/res/missingTheme@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/radioButtonChecked.png Binary file QTfrontend/res/radioButtonChecked.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/radioButtonCheckedHover.png Binary file QTfrontend/res/radioButtonCheckedHover.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/radioButtonCheckedPressed.png Binary file QTfrontend/res/radioButtonCheckedPressed.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/radioButtonUnchecked.png Binary file QTfrontend/res/radioButtonUnchecked.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/radioButtonUncheckedHover.png Binary file QTfrontend/res/radioButtonUncheckedHover.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/radioButtonUncheckedPressed.png Binary file QTfrontend/res/radioButtonUncheckedPressed.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/radioChecked.png Binary file QTfrontend/res/radioChecked.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/sort_down.png Binary file QTfrontend/res/sort_down.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/sort_up.png Binary file QTfrontend/res/sort_up.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/spin_down_disabled.png Binary file QTfrontend/res/spin_down_disabled.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/spin_up_disabled.png Binary file QTfrontend/res/spin_up_disabled.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/splitter.png Binary file QTfrontend/res/splitter.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/uncheckedHover.png Binary file QTfrontend/res/uncheckedHover.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/uncheckedPressed.png Binary file QTfrontend/res/uncheckedPressed.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/res/unlock_disabled.png Binary file QTfrontend/res/unlock_disabled.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/sdlkeys.h --- a/QTfrontend/sdlkeys.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/sdlkeys.h Sun Jun 10 19:12:26 2018 +0200 @@ -94,21 +94,21 @@ {"y", "Y"}, {"z", "Z"}, {"delete", QT_TRANSLATE_NOOP("binds (keys)", "Delete")}, - {"[0]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 0")}, - {"[1]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 1")}, - {"[2]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 2")}, - {"[3]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 3")}, - {"[4]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 4")}, - {"[5]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 5")}, - {"[6]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 6")}, - {"[7]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 7")}, - {"[8]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 8")}, - {"[9]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 9")}, - {"[.]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad .")}, - {"[/]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad /")}, - {"[*]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad *")}, - {"[-]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad -")}, - {"[+]", QT_TRANSLATE_NOOP("binds (keys)", "Numpad +")}, + {"keypad_0", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 0")}, + {"keypad_1", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 1")}, + {"keypad_2", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 2")}, + {"keypad_3", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 3")}, + {"keypad_4", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 4")}, + {"keypad_5", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 5")}, + {"keypad_6", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 6")}, + {"keypad_7", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 7")}, + {"keypad_8", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 8")}, + {"keypad_9", QT_TRANSLATE_NOOP("binds (keys)", "Numpad 9")}, + {"keypad_.", QT_TRANSLATE_NOOP("binds (keys)", "Numpad .")}, + {"keypad_/", QT_TRANSLATE_NOOP("binds (keys)", "Numpad /")}, + {"keypad_*", QT_TRANSLATE_NOOP("binds (keys)", "Numpad *")}, + {"keypad_-", QT_TRANSLATE_NOOP("binds (keys)", "Numpad -")}, + {"keypad_+", QT_TRANSLATE_NOOP("binds (keys)", "Numpad +")}, {"enter", QT_TRANSLATE_NOOP("binds (keys)", "Enter")}, {"equals", QT_TRANSLATE_NOOP("binds (keys)", "Equals")}, {"up", QT_TRANSLATE_NOOP("binds (keys)", "Up")}, diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/team.cpp --- a/QTfrontend/team.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/team.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -41,7 +41,7 @@ for (int i = 0; i < HEDGEHOGS_PER_TEAM; i++) { m_hedgehogs.append(HWHog()); - m_hedgehogs[i].Name = (QLineEdit::tr("hedgehog %1").arg(i+1)); + m_hedgehogs[i].Name = (QLineEdit::tr("Hedgehog %1").arg(i+1)); m_hedgehogs[i].Hat = "NoHat"; } m_grave = "Statue"; @@ -171,7 +171,7 @@ bool HWTeam::loadFromFile() { - QSettings teamfile(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name)), QSettings::IniFormat, 0); + QSettings teamfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name)), QSettings::IniFormat, 0); teamfile.setIniCodec("UTF-8"); m_name = teamfile.value("Team/Name", m_name).toString(); m_grave = teamfile.value("Team/Grave", "Statue").toString(); @@ -185,7 +185,7 @@ for(int i = 0; i < HEDGEHOGS_PER_TEAM; i++) { QString hh = QString("Hedgehog%1/").arg(i); - m_hedgehogs[i].Name = teamfile.value(hh + "Name", QString("hedgehog %1").arg(i+1)).toString(); + m_hedgehogs[i].Name = teamfile.value(hh + "Name", QString("Hedgehog %1").arg(i+1)).toString(); m_hedgehogs[i].Hat = teamfile.value(hh + "Hat", "NoHat").toString(); m_hedgehogs[i].Rounds = teamfile.value(hh + "Rounds", 0).toInt(); m_hedgehogs[i].Kills = teamfile.value(hh + "Kills", 0).toInt(); @@ -204,7 +204,7 @@ bool HWTeam::fileExists() { - QFile f(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name))); + QFile f(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name))); return f.exists(); } @@ -220,7 +220,7 @@ { if(m_isNetTeam) return false; - QFile cfgfile(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name))); + QFile cfgfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name))); cfgfile.remove(); return true; } @@ -229,12 +229,12 @@ { if (OldTeamName != m_name) { - QFile cfgfile(QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(OldTeamName))); + QFile cfgfile(QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(OldTeamName))); cfgfile.remove(); OldTeamName = m_name; } - QString fileName = QString("physfs://Teams/%1.hwt").arg(DataManager::safeFileName(m_name)); + QString fileName = QString(cfgdir->absolutePath() + "/Teams/%1.hwt").arg(DataManager::safeFileName(m_name)); DataManager::ensureFileExists(fileName); QSettings teamfile(fileName, QSettings::IniFormat, 0); teamfile.setIniCodec("UTF-8"); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/dialog/upload_video.cpp --- a/QTfrontend/ui/dialog/upload_video.cpp Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,312 +0,0 @@ -/* - * Hedgewars, a free turn based strategy game - * Copyright (c) 2004-2015 Andrey Korotaev - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "upload_video.h" -#include "hwconsts.h" - -// User-agent string used in http requests. -// Don't make it a global varibale - crash on linux because of cVersionString -#define USER_AGENT ("Hedgewars-QtFrontend/" + *cVersionString).toAscii() - -// This is developer key obtained from http://code.google.com/apis/youtube/dashboard/ -// If you are reusing this code outside Hedgewars, don't use this developer key, -// obtain you own at http://code.google.com/apis/youtube/dashboard/ -static const QByteArray devKey = "AI39si5pKjxR0XgNIlmrEFF-LyYD31rps4g2O5dZTxLgD0fvJ2rHxrMrNFY8FYTZrzeI3VlaFVQLKfFnSBugvdZmy8vFzRDefQ"; - -HWUploadVideoDialog::HWUploadVideoDialog(QWidget* parent, const QString &filename, QNetworkAccessManager* netManager) : QDialog(parent) -{ - this->filename = filename; - this->netManager = netManager; - - setWindowTitle(tr("Upload video")); - - // Google requires us to display this, see https://developers.google.com/youtube/terms - QString GoogleNotice = - "

By clicking 'upload,' you certify that you own all rights to the content or that " - "you are authorized by the owner to make the content publicly available on YouTube, " - "and that it otherwise complies with the YouTube Terms of Service located at " - "https://www.youtube.com/t/terms.

"; - - // youtube doesn't understand this characters, even when they are properly escaped - // (either with CDATA or with < or >) - QRegExp rx("[^<>]*"); - - int row = 0; - - QGridLayout * layout = new QGridLayout(this); - layout->setColumnStretch(0, 1); - layout->setColumnStretch(1, 2); - - QLabel * lbLabel = new QLabel(this); - lbLabel->setWordWrap(true); - lbLabel->setText(QLabel::tr( - "Please provide either the YouTube account name " - "or the email address associated with the Google Account.")); - layout->addWidget(lbLabel, row++, 0, 1, 2); - - lbLabel = new QLabel(this); - lbLabel->setText(QLabel::tr("Account name (or email): ")); - layout->addWidget(lbLabel, row, 0); - - leAccount = new QLineEdit(this); - layout->addWidget(leAccount, row++, 1); - - lbLabel = new QLabel(this); - lbLabel->setText(QLabel::tr("Password: ")); - layout->addWidget(lbLabel, row, 0); - - lePassword = new QLineEdit(this); - lePassword->setEchoMode(QLineEdit::Password); - layout->addWidget(lePassword, row++, 1); - - cbSave = new QCheckBox(this); - cbSave->setText(QCheckBox::tr("Save account name and password")); - layout->addWidget(cbSave, row++, 0, 1, 2); - - QFrame * hr = new QFrame(this); - hr->setFrameStyle(QFrame::HLine); - hr->setLineWidth(3); - hr->setFixedHeight(10); - layout->addWidget(hr, row++, 0, 1, 2); - - lbLabel = new QLabel(this); - lbLabel->setText(QLabel::tr("Video title: ")); - layout->addWidget(lbLabel, row, 0); - - leTitle = new QLineEdit(this); - leTitle->setText(filename); - leTitle->setValidator(new QRegExpValidator(rx, leTitle)); - layout->addWidget(leTitle, row++, 1); - - lbLabel = new QLabel(this); - lbLabel->setText(QLabel::tr("Video description: ")); - layout->addWidget(lbLabel, row++, 0, 1, 2); - - teDescription = new QPlainTextEdit(this); - layout->addWidget(teDescription, row++, 0, 1, 2); - - lbLabel = new QLabel(this); - lbLabel->setText(QLabel::tr("Tags (comma separated): ")); - layout->addWidget(lbLabel, row, 0); - - leTags = new QLineEdit(this); - leTags->setText("hedgewars"); - leTags->setMaxLength(500); - leTags->setValidator(new QRegExpValidator(rx, leTags)); - layout->addWidget(leTags, row++, 1); - - cbPrivate = new QCheckBox(this); - cbPrivate->setText(QCheckBox::tr("Video is private")); - layout->addWidget(cbPrivate, row++, 0, 1, 2); - - hr = new QFrame(this); - hr->setFrameStyle(QFrame::HLine); - hr->setLineWidth(3); - hr->setFixedHeight(10); - layout->addWidget(hr, row++, 0, 1, 2); - - lbLabel = new QLabel(this); - lbLabel->setWordWrap(true); - lbLabel->setTextInteractionFlags(Qt::LinksAccessibleByMouse); - lbLabel->setTextFormat(Qt::RichText); - lbLabel->setOpenExternalLinks(true); - lbLabel->setText(GoogleNotice); - layout->addWidget(lbLabel, row++, 0, 1, 2); - - QDialogButtonBox* dbbButtons = new QDialogButtonBox(this); - btnUpload = dbbButtons->addButton(tr("Upload"), QDialogButtonBox::ActionRole); - QPushButton * pbCancel = dbbButtons->addButton(QDialogButtonBox::Cancel); - layout->addWidget(dbbButtons, row++, 0, 1, 2); - - /* hr = new QFrame(this); - hr->setFrameStyle(QFrame::HLine); - hr->setLineWidth(3); - hr->setFixedHeight(10); - layout->addWidget(hr, row++, 0, 1, 2);*/ - - connect(btnUpload, SIGNAL(clicked()), this, SLOT(upload())); - connect(pbCancel, SIGNAL(clicked()), this, SLOT(reject())); - - this->setWindowModality(Qt::WindowModal); -} - -void HWUploadVideoDialog::showEvent(QShowEvent * event) -{ - QDialog::showEvent(event); - - // set width to the same value as height (otherwise dialog has too small width) - QSize s = size(); - QPoint p = pos(); - resize(s.height(), s.height()); - move(p.x() - (s.height() - s.width())/2, p.y()); -} - -void HWUploadVideoDialog::setEditable(bool editable) -{ - leTitle->setEnabled(editable); - leAccount->setEnabled(editable); - lePassword->setEnabled(editable); - btnUpload->setEnabled(editable); -} - -void HWUploadVideoDialog::upload() -{ - setEditable(false); - - // Documentation is at https://developers.google.com/youtube/2.0/developers_guide_protocol_clientlogin#ClientLogin_Authentication - QNetworkRequest request; - request.setUrl(QUrl("https://www.google.com/accounts/ClientLogin")); - request.setRawHeader("User-Agent", USER_AGENT); - request.setRawHeader("Content-Type", "application/x-www-form-urlencoded"); - - QString account(QUrl::toPercentEncoding(leAccount->text())); - QString pass(QUrl::toPercentEncoding(lePassword->text())); - QByteArray data = QString("Email=%1&Passwd=%2&service=youtube&source=Hedgewars").arg(account).arg(pass).toAscii(); - - QNetworkReply *reply = netManager->post(request, data); - connect(reply, SIGNAL(finished()), this, SLOT(authFinished())); -} - -static QString XmlEscape(const QString& str) -{ - QString str2 = str; - // youtube doesn't understand this characters, even when they are properly escaped - // (either with CDATA or with < >) - str2.replace('<', ' ').replace('>', ' '); - return "", "]]]]>") + "]]>"; -} - -void HWUploadVideoDialog::authFinished() -{ - QNetworkReply *reply = (QNetworkReply*)sender(); - reply->deleteLater(); - - int HttpCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); - - QByteArray answer = reply->readAll(); - QString authToken = ""; - QList lines = answer.split('\n'); - foreach (const QByteArray& line, lines) - { - QString str(line); - if (!str.startsWith("Auth=", Qt::CaseInsensitive)) - continue; - str.remove(0, 5); - authToken = str; - break; - } - if (authToken.isEmpty()) - { - QString errorStr = QMessageBox::tr("Error while authenticating at google.com:\n"); - if (HttpCode == 403) - errorStr += QMessageBox::tr("Login or password is incorrect"); - else - errorStr += reply->errorString(); - - QMessageBox deniedMsg(this); - deniedMsg.setIcon(QMessageBox::Warning); - deniedMsg.setWindowTitle(QMessageBox::tr("Video upload - Error")); - deniedMsg.setText(errorStr); - deniedMsg.setWindowModality(Qt::WindowModal); - deniedMsg.exec(); - - setEditable(true); - return; - } - - QByteArray auth = ("GoogleLogin auth=" + authToken).toAscii(); - - // We have authenticated, now we can send metadata and start upload - // Documentation is here: https://developers.google.com/youtube/2.0/developers_guide_protocol_resumable_uploads#Resumable_uploads - QByteArray body = - "" - "" - "" - // "" - "Games" - "" - "" - + XmlEscape(leTitle->text()).toUtf8() + - "" - "" - + XmlEscape(teDescription->toPlainText()).toUtf8() + - "" - "" - + XmlEscape(leTags->text()).toUtf8() + - "" - + (cbPrivate->isChecked()? "" : "") + - "" - ""; - - QNetworkRequest request; - request.setUrl(QUrl("http://uploads.gdata.youtube.com/resumable/feeds/api/users/default/uploads")); - request.setRawHeader("User-Agent", USER_AGENT); - request.setRawHeader("Authorization", auth); - request.setRawHeader("GData-Version", "2"); - request.setRawHeader("X-GData-Key", "key=" + devKey); - request.setRawHeader("Slug", filename.toUtf8()); - request.setRawHeader("Content-Type", "application/atom+xml; charset=UTF-8"); - - reply = netManager->post(request, body); - connect(reply, SIGNAL(finished()), this, SLOT(startUpload())); -} - -void HWUploadVideoDialog::startUpload() -{ - QNetworkReply *reply = (QNetworkReply*)sender(); - reply->deleteLater(); - - location = QString::fromLatin1(reply->rawHeader("Location")); - if (location.isEmpty()) - { - QString errorStr = QMessageBox::tr("Error while sending metadata to youtube.com:\n"); - errorStr += reply->errorString(); - - QMessageBox deniedMsg(this); - deniedMsg.setIcon(QMessageBox::Warning); - deniedMsg.setWindowTitle(QMessageBox::tr("Video upload - Error")); - deniedMsg.setText(errorStr); - deniedMsg.setWindowModality(Qt::WindowModal); - deniedMsg.exec(); - - setEditable(true); - return; - } - - accept(); -} diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/dialog/upload_video.h --- a/QTfrontend/ui/dialog/upload_video.h Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -/* - * Hedgewars, a free turn based strategy game - * Copyright (c) 2004-2015 Andrey Korotaev - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#ifndef UPLOAD_VIDEO_H -#define UPLOAD_VIDEO_H - -#include - -class QLineEdit; -class QCheckBox; -class QPlainTextEdit; -class QLabel; -class QNetworkAccessManager; - -class HWUploadVideoDialog : public QDialog -{ - Q_OBJECT - public: - HWUploadVideoDialog(QWidget* parent, const QString& filename, QNetworkAccessManager* netManager); - - QLineEdit* leAccount; - QLineEdit* lePassword; - QCheckBox* cbSave; - - QLineEdit* leTitle; - QPlainTextEdit* teDescription; - QLineEdit* leTags; - QCheckBox* cbPrivate; - - QPushButton* btnUpload; - - QString location; - - private: - QNetworkAccessManager* netManager; - QString filename; - - void setEditable(bool editable); - - protected: - // virtual from QWidget - void showEvent(QShowEvent * event); - - private slots: - void upload(); - void authFinished(); - void startUpload(); -}; - -#endif // UPLOAD_VIDEO_H diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pageadmin.cpp --- a/QTfrontend/ui/page/pageadmin.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pageadmin.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -98,7 +98,7 @@ << tr("Expiration") << tr("Reason") ); - twBans->horizontalHeader()->setResizeMode(2, QHeaderView::Stretch); + twBans->horizontalHeader()->setSectionResizeMode(2, QHeaderView::Stretch); twBans->setEditTriggers(QAbstractItemView::NoEditTriggers); twBans->setSelectionBehavior(QAbstractItemView::SelectRows); twBans->setSelectionMode(QAbstractItemView::SingleSelection); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagedata.cpp --- a/QTfrontend/ui/page/pagedata.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagedata.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -31,8 +31,6 @@ #include "pagedata.h" #include "databrowser.h" #include "hwconsts.h" -#include "DataManager.h" -#include "FileEngine.h" QLayout * PageDataDownload::bodyLayoutDefinition() { @@ -197,9 +195,6 @@ out.write(reply->readAll()); out.close(); - - // now mount it - FileEngineHandler::mount(fileName); } } @@ -229,7 +224,6 @@ if (m_contentDownloaded) { m_contentDownloaded = false; - //DataManager::instance().reload(); } } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagedrawmap.cpp --- a/QTfrontend/ui/page/pagedrawmap.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagedrawmap.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -21,9 +21,12 @@ #include #include #include +#include +#include #include "pagedrawmap.h" #include "drawmapwidget.h" +#include "hwconsts.h" QLayout * PageDrawMap::bodyLayoutDefinition() @@ -32,22 +35,30 @@ cbEraser = new QCheckBox(tr("Eraser"), this); pageLayout->addWidget(cbEraser, 0, 0); - pbUndo = addButton(tr("Undo"), pageLayout, 1, 0); rbPolyline = new QRadioButton(tr("Polyline"), this); - pageLayout->addWidget(rbPolyline, 2, 0); + pageLayout->addWidget(rbPolyline, 1, 0); rbRectangle = new QRadioButton(tr("Rectangle"), this); - pageLayout->addWidget(rbRectangle, 3, 0); + pageLayout->addWidget(rbRectangle, 2, 0); rbEllipse = new QRadioButton(tr("Ellipse"), this); - pageLayout->addWidget(rbEllipse, 4, 0); + pageLayout->addWidget(rbEllipse, 3, 0); rbPolyline->setChecked(true); - pbClear = addButton(tr("Clear"), pageLayout, 5, 0); - pbOptimize = addButton(tr("Optimize"), pageLayout, 6, 0); + sbBrushSize = new QSpinBox(this); + sbBrushSize->setWhatsThis(tr("Brush size")); + sbBrushSize->setRange(DRAWN_MAP_BRUSH_SIZE_MIN, DRAWN_MAP_BRUSH_SIZE_MAX); + sbBrushSize->setValue(DRAWN_MAP_BRUSH_SIZE_START); + sbBrushSize->setSingleStep(DRAWN_MAP_BRUSH_SIZE_STEP); + pageLayout->addWidget(sbBrushSize, 4, 0); + + pbUndo = addButton(tr("Undo"), pageLayout, 5, 0); + pbClear = addButton(tr("Clear"), pageLayout, 6, 0); + + pbOptimize = addButton(tr("Optimize"), pageLayout, 7, 0); + // The optimize button is quite buggy, so we disable it for now. + // TODO: Re-enable optimize button when it's finished. pbOptimize->setVisible(false); - pbLoad = addButton(tr("Load"), pageLayout, 7, 0); - pbSave = addButton(tr("Save"), pageLayout, 8, 0); drawMapWidget = new DrawMapWidget(this); pageLayout->addWidget(drawMapWidget, 0, 1, 10, 1); @@ -55,12 +66,33 @@ return pageLayout; } +QLayout * PageDrawMap::footerLayoutDefinition() +{ + QHBoxLayout * bottomLayout = new QHBoxLayout(); + + bottomLayout->addStretch(); + + pbLoad = addButton(":/res/Load.png", bottomLayout, 0, true, Qt::AlignBottom); + pbLoad ->setWhatsThis(tr("Load")); + pbLoad->setStyleSheet("QPushButton{margin: 24px 0 0 0;}"); + + pbSave = addButton(":/res/Save.png", bottomLayout, 0, true, Qt::AlignBottom); + pbSave ->setWhatsThis(tr("Save")); + pbSave->setStyleSheet("QPushButton{margin: 24px 0 0 0;}"); + + return bottomLayout; +} + void PageDrawMap::connectSignals() { connect(cbEraser, SIGNAL(toggled(bool)), drawMapWidget, SLOT(setErasing(bool))); connect(pbUndo, SIGNAL(clicked()), drawMapWidget, SLOT(undo())); connect(pbClear, SIGNAL(clicked()), drawMapWidget, SLOT(clear())); connect(pbOptimize, SIGNAL(clicked()), drawMapWidget, SLOT(optimize())); + connect(sbBrushSize, SIGNAL(valueChanged(int)), drawMapWidget, SLOT(setBrushSize(int))); + + connect(drawMapWidget, SIGNAL(brushSizeChanged(int)), this, SLOT(brushSizeChanged(int))); + connect(pbLoad, SIGNAL(clicked()), this, SLOT(load())); connect(pbSave, SIGNAL(clicked()), this, SLOT(save())); @@ -76,7 +108,8 @@ void PageDrawMap::load() { - QString fileName = QFileDialog::getOpenFileName(NULL, tr("Load drawn map"), ".", tr("Drawn Maps") + " (*.hwmap);;" + tr("All files") + " (*)"); + QString loadDir = QDir(cfgdir->absolutePath() + "/DrawnMaps").absolutePath(); + QString fileName = QFileDialog::getOpenFileName(this, tr("Load drawn map"), loadDir, tr("Drawn Maps") + " (*.hwmap);;" + tr("All files") + " (*)"); if(!fileName.isEmpty()) drawMapWidget->load(fileName); @@ -84,7 +117,8 @@ void PageDrawMap::save() { - QString fileName = QFileDialog::getSaveFileName(NULL, tr("Save drawn map"), "./map.hwmap", tr("Drawn Maps") + " (*.hwmap);;" + tr("All files") + " (*)"); + QString saveDir = QDir(cfgdir->absolutePath() + "/DrawnMaps/map.hwmap").absolutePath(); + QString fileName = QFileDialog::getSaveFileName(this, tr("Save drawn map"), saveDir, tr("Drawn Maps") + " (*.hwmap);;" + tr("All files") + " (*)"); if(!fileName.isEmpty()) drawMapWidget->save(fileName); @@ -99,3 +133,8 @@ else if(rbEllipse->isChecked()) drawMapWidget->setPathType(DrawMapScene::Ellipse); } } + +void PageDrawMap::brushSizeChanged(int brushSize) +{ + sbBrushSize->setValue(brushSize); +} diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagedrawmap.h --- a/QTfrontend/ui/page/pagedrawmap.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagedrawmap.h Sun Jun 10 19:12:26 2018 +0200 @@ -35,6 +35,7 @@ protected: QLayout * bodyLayoutDefinition(); + QLayout * footerLayoutDefinition(); void connectSignals(); private: @@ -47,6 +48,10 @@ QRadioButton * rbPolyline; QRadioButton * rbRectangle; QRadioButton * rbEllipse; + QSpinBox * sbBrushSize; + + public slots: + void brushSizeChanged(int brushSize); private slots: void load(); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pageeditteam.cpp --- a/QTfrontend/ui/page/pageeditteam.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pageeditteam.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -77,7 +77,7 @@ HHNameEdit[i]->setMinimumWidth(120); HHNameEdit[i]->setFixedHeight(36); HHNameEdit[i]->setWhatsThis(tr("This hedgehog's name")); - HHNameEdit[i]->setStyleSheet("padding: 6px;"); + HHNameEdit[i]->setStyleSheet("QLineEdit { padding: 6px; }"); GBHLayout->addWidget(HHNameEdit[i], i + 1, 1, 1, 2); btnRandomHogName[i] = addButton(":/res/dice.png", GBHLayout, i + 1, 5, 1, 1, true); @@ -128,6 +128,7 @@ TeamNameEdit = new QLineEdit(GBoxTeam); TeamNameEdit->setMaxLength(64); TeamNameEdit->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); + TeamNameEdit->setStyleSheet("QLineEdit { padding: 6px; }"); GBTLayout->addWidget(TeamNameEdit, 0, 1, 1, 2); vbox2->addWidget(GBoxTeam); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagegamestats.cpp --- a/QTfrontend/ui/page/pagegamestats.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagegamestats.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -70,6 +70,7 @@ // graph graphic = new FitGraphicsView(gb); + graphic->setObjectName("gameStatsView"); labelGraphTitle = new QLabel(this); labelGraphTitle->setTextFormat(Qt::RichText); labelGraphTitle->setText("

" + PageGameStats::tr("Health graph") + "

"); @@ -78,6 +79,7 @@ gbl->addWidget(graphic); graphic->scale(1.0, -1.0); graphic->setBackgroundBrush(QBrush(Qt::black)); + graphic->setRenderHint(QPainter::Antialiasing, true); labelGameWin = new QLabel(this); labelGameWin->setTextFormat(Qt::RichText); @@ -160,8 +162,6 @@ void PageGameStats::renderStats() { - graphic->show(); - labelGraphTitle-> show(); if(defaultGraphTitle) { labelGraphTitle->setText("

" + PageGameStats::tr("Health graph") + "

"); } else { @@ -172,28 +172,81 @@ labelGraphTitle->hide(); graphic->hide(); } else { - QGraphicsScene * scene = new QGraphicsScene(); + graphic->setScene(Q_NULLPTR); + m_scene.reset(new QGraphicsScene(this)); + + // min and max value across the entire chart + qint32 minValue = 0; + qint32 maxValue = 0; + bool minMaxValuesInitialized = false; - QMap >::const_iterator i = healthPoints.constBegin(); + // max data points per clan + int maxDataPoints = 0; + for(QMap >::const_iterator i = healthPoints.constBegin(); i != healthPoints.constEnd(); ++i) + { + maxDataPoints = qMax(maxDataPoints, i.value().size()); + } + + /* There must be at least 2 data points for any clan, + otherwise there's not much to look at. ;-) */ + if(maxDataPoints < 2) { + labelGraphTitle->hide(); + graphic->hide(); + return; + } + + QMap >::const_iterator i = healthPoints.constBegin(); while (i != healthPoints.constEnd()) { - quint32 c = i.key(); - //QColor clanColor = QColor(qRgb((c >> 16) & 255, (c >> 8) & 255, c & 255)); - QVector hps = i.value(); + qint32 c = i.key(); + const QVector& hps = i.value(); QPainterPath path; - if (hps.size()) - path.moveTo(0, hps[0]); - for(int t = 1; t < hps.size(); ++t) + if (hps.size()) { + path.moveTo(0, hps[0]); + if(minMaxValuesInitialized) { + minValue = qMin(minValue, hps[0]); + maxValue = qMax(maxValue, hps[0]); + } else { + minValue = hps[0]; + maxValue = hps[0]; + minMaxValuesInitialized = true; + } + } + + for(int t = 0; t < hps.size(); ++t) { path.lineTo(t, hps[t]); + maxValue = qMax(maxValue, hps[t]); + minValue = qMin(minValue, hps[t]); + } - scene->addPath(path, QPen(c)); + QPen pen(c); + pen.setWidth(2); + pen.setCosmetic(true); + + m_scene->addPath(path, pen); ++i; } - graphic->setScene(scene); + graphic->setScene(m_scene.data()); + + // Calculate the bounding box of the final chart + qint32 sceneMinY = minValue; + qint32 sceneMaxY = maxValue; + // If all values are 0 or greater, make sure to include 0 at the bottom. + if(sceneMinY >= 0 && sceneMaxY >= 0) + sceneMinY = 0; + // If all values are equal, we must increase sceneMaxY, otherwise the scene rect + // would have a height of 0 and will screw up + if(sceneMinY == sceneMaxY) + sceneMaxY++; + graphic->setSceneRect(0, sceneMinY, maxDataPoints-1, sceneMaxY - sceneMinY); + graphic->fitInView(graphic->sceneRect()); + + graphic->show(); + labelGraphTitle->show(); } } @@ -233,7 +286,7 @@ { int i = info.indexOf(' '); quint32 clan = info.left(i).toInt(); - quint32 hp = info.mid(i + 1).toUInt(); + qint32 hp = info.mid(i + 1).toInt(); healthPoints[clan].append(hp); break; } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagegamestats.h --- a/QTfrontend/ui/page/pagegamestats.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagegamestats.h Sun Jun 10 19:12:26 2018 +0200 @@ -66,10 +66,11 @@ private: void AddStatText(const QString & msg); - QMap > healthPoints; + QMap > healthPoints; unsigned int playerPosition; quint32 lastColor; bool defaultGraphTitle; + QScopedPointer m_scene; protected: QLayout * bodyLayoutDefinition(); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagemain.cpp --- a/QTfrontend/ui/page/pagemain.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagemain.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -75,7 +75,7 @@ // button order matters for overlapping (what's on top and what isn't) BtnInfo = addButton(":/res/HedgewarsTitle.png", pageLayout, 0, 0, 1, 4, true); - BtnInfo->setStyleSheet("border: transparent;background: transparent;"); + BtnInfo->setObjectName("infoButton"); BtnInfo->setWhatsThis(tr("Read about who is behind the Hedgewars Project")); pageLayout->setAlignment(BtnInfo, Qt::AlignHCenter); @@ -166,9 +166,7 @@ QSettings settings(dataMgr.settingsFileName(), QSettings::IniFormat); - QString loc = settings.value("misc/locale", "").toString(); - if (loc.isEmpty()) - loc = QLocale::system().name(); + QString loc = QLocale().name(); QString tipFile = QString("physfs://Locale/tips_" + loc + ".xml"); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagenet.cpp --- a/QTfrontend/ui/page/pagenet.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagenet.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -99,7 +99,7 @@ { tvServersList->setModel(new HWNetUdpModel(tvServersList)); - tvServersList->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch); + tvServersList->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch); static_cast(tvServersList->model())->updateList(); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pageoptions.cpp --- a/QTfrontend/ui/page/pageoptions.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pageoptions.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -134,6 +134,7 @@ CBTeamName = new QComboBox(groupTeams); CBTeamName->setMaxVisibleItems(50); + CBTeamName->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); groupTeams->layout()->addWidget(CBTeamName, 0, 0); BtnNewTeam = new QPushButton(groupTeams); @@ -175,6 +176,7 @@ SchemesName = new QComboBox(groupSchemes); SchemesName->setMaxVisibleItems(50); + SchemesName->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); groupSchemes->layout()->addWidget(SchemesName, 0, 0); SchemeNew = new QPushButton(groupSchemes); @@ -207,6 +209,7 @@ WeaponsName = new QComboBox(groupWeapons); WeaponsName->setMaxVisibleItems(50); + WeaponsName->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); groupWeapons->layout()->addWidget(WeaponsName, 0, 0); WeaponNew = new QPushButton(groupWeapons); @@ -652,17 +655,8 @@ // Fallback code, if language name is empty for some reason. This should normally not happen if(entryName.isEmpty()) { - if(lname == "gd") - { - /* Workaround for Qt4: nativeLanguageName does not return correct name for Scottish Gaelic (QTBUG-59929), - so we have to add it ourselves :-/ */ - entryName = QString::fromUtf8("Gàidhlig"); - } - else - { - // If all else fails, show error and the locale identifier - entryName = tr("MISSING LANGUAGE NAME [%1]").arg(lname); - } + // Show error and the locale identifier + entryName = tr("MISSING LANGUAGE NAME [%1]").arg(lname); } CBLanguage->addItem(entryName, lname); } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pageroomslist.cpp --- a/QTfrontend/ui/page/pageroomslist.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pageroomslist.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -29,12 +29,13 @@ #include #include #include +#include #include #include "roomslistmodel.h" -#include "ammoSchemeModel.h" +#include "gameSchemeModel.h" #include "hwconsts.h" #include "chatwidget.h" #include "roomnameprompt.h" @@ -154,7 +155,8 @@ roomsList = new RoomTableView(this); roomsList->setSelectionBehavior(QAbstractItemView::SelectRows); roomsList->verticalHeader()->setVisible(false); - roomsList->horizontalHeader()->setResizeMode(QHeaderView::Interactive); + roomsList->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive); + roomsList->horizontalHeader()->stretchLastSection(); roomsList->setAlternatingRowColors(true); roomsList->setShowGrid(false); roomsList->setSelectionMode(QAbstractItemView::SingleSelection); @@ -587,27 +589,18 @@ h->setSortIndicatorShown(true); h->setSortIndicator(RoomsListModel::StateColumn, Qt::AscendingOrder); - h->setResizeMode(RoomsListModel::NameColumn, QHeaderView::Stretch); + h->setSectionResizeMode(RoomsListModel::NameColumn, QHeaderView::Stretch); - if (!restoreHeaderState()) - { - h->resizeSection(RoomsListModel::PlayerCountColumn, 32); - h->resizeSection(RoomsListModel::TeamCountColumn, 32); - h->resizeSection(RoomsListModel::OwnerColumn, 100); - h->resizeSection(RoomsListModel::MapColumn, 100); - h->resizeSection(RoomsListModel::SchemeColumn, 100); - h->resizeSection(RoomsListModel::WeaponsColumn, 100); - } + h->resizeSection(RoomsListModel::PlayerCountColumn, 32); + h->resizeSection(RoomsListModel::TeamCountColumn, 32); + h->resizeSection(RoomsListModel::OwnerColumn, 100); + h->resizeSection(RoomsListModel::MapColumn, 100); + h->resizeSection(RoomsListModel::SchemeColumn, 100); + h->resizeSection(RoomsListModel::WeaponsColumn, 100); // hide column used for filtering roomsList->hideColumn(RoomsListModel::StateColumn); - // save header state on change - connect(roomsList->horizontalHeader(), SIGNAL(sortIndicatorChanged(int, Qt::SortOrder)), - this, SLOT(saveHeaderState())); - connect(roomsList->horizontalHeader(), SIGNAL(sectionResized(int, int, int)), - this, SLOT(saveHeaderState())); - roomsList->repaint(); } @@ -670,27 +663,3 @@ { m_gameSettings = settings; } - -bool PageRoomsList::restoreHeaderState() -{ - if (m_gameSettings->contains("frontend/roomslist_splitter")) - { - m_splitter->restoreState(QByteArray::fromBase64( - (m_gameSettings->value("frontend/roomslist_splitter").toByteArray()))); - } - - if (m_gameSettings->contains("frontend/roomslist_header")) - { - return roomsList->horizontalHeader()->restoreState(QByteArray::fromBase64( - (m_gameSettings->value("frontend/roomslist_header").toByteArray()))); - } else return false; -} - -void PageRoomsList::saveHeaderState() -{ - m_gameSettings->setValue("frontend/roomslist_header", - QString(roomsList->horizontalHeader()->saveState().toBase64())); - - m_gameSettings->setValue("frontend/roomslist_splitter", - QString(m_splitter->saveState().toBase64())); -} diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pageroomslist.h --- a/QTfrontend/ui/page/pageroomslist.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pageroomslist.h Sun Jun 10 19:12:26 2018 +0200 @@ -23,7 +23,7 @@ #include "AbstractPage.h" class HWChatWidget; -class AmmoSchemeModel; +class GameSchemeModel; class QTableView; class RoomsListModel; class QSortFilterProxyModel; @@ -84,7 +84,6 @@ void onJoinConfirmation(const QString &); void onSortIndicatorChanged(int logicalIndex, Qt::SortOrder order); void onFilterChanged(); - void saveHeaderState(); void onRoomNameChosen(const QString &, const QString &password); void roomSelectionChanged(const QModelIndex &, const QModelIndex &); void moveSelectionUp(); @@ -100,7 +99,7 @@ QAction * showJoinRestricted; QSplitter * m_splitter; - AmmoSchemeModel * ammoSchemeModel; + GameSchemeModel * gameSchemeModel; bool restoreHeaderState(); }; diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagescheme.cpp --- a/QTfrontend/ui/page/pagescheme.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagescheme.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -27,7 +27,7 @@ #include #include -#include "ammoSchemeModel.h" +#include "gameSchemeModel.h" #include "pagescheme.h" #include "FreqSpinBox.h" #include "MinesTimeSpinBox.h" @@ -84,6 +84,10 @@ TBW_bottomborder->setWhatsThis(tr("Add an indestructible border along the bottom")); glGMLayout->addWidget(TBW_bottomborder,0,3,1,1); + TBW_switchhog = new ToggleButtonWidget(gbGameModes, ":/res/btnSwitchHog@2x.png"); + TBW_switchhog->setWhatsThis(tr("Select a hedgehog at the beginning of a turn")); + glGMLayout->addWidget(TBW_switchhog,0,4,1,1); + TBW_solid = new ToggleButtonWidget(gbGameModes, ":/res/btnSolid@2x.png"); TBW_solid->setWhatsThis(tr("Land can not be destroyed!")); glGMLayout->addWidget(TBW_solid,1,0,1,1); @@ -494,15 +498,14 @@ LE_ScriptParam->setMaxLength(240); glBSLayout->addWidget(LE_ScriptParam,17,2,1,1); - - l = new QLabel(gbBasicSettings); - l->setText(QLabel::tr("Scheme Name:")); + L_name = new QLabel(gbBasicSettings); + L_name->setText(QLabel::tr("Scheme Name:")); LE_name = new QLineEdit(this); LE_name->setWhatsThis(tr("Name of this scheme")); gl->addWidget(LE_name,15,1,1,5); - gl->addWidget(l,15,0,1,1); + gl->addWidget(L_name,15,0,1,1); return pageLayout; } @@ -546,6 +549,7 @@ selectScheme->setModel(model); mapper->addMapping(LE_name, 0); + mapper->addMapping(TBW_switchhog, 1); mapper->addMapping(TBW_teamsDivide, 2); mapper->addMapping(TBW_solid, 3); mapper->addMapping(TBW_border, 4); @@ -608,7 +612,7 @@ void PageScheme::deleteRow() { - int numberOfDefaultSchemes = ((AmmoSchemeModel*)mapper->model())->numberOfDefaultSchemes; + int numberOfDefaultSchemes = ((GameSchemeModel*)mapper->model())->numberOfDefaultSchemes; if (selectScheme->currentIndex() < numberOfDefaultSchemes) { QMessageBox deniedMsg(this); @@ -637,10 +641,11 @@ void PageScheme::schemeSelected(int n) { - int c = ((AmmoSchemeModel*)mapper->model())->numberOfDefaultSchemes; + int c = ((GameSchemeModel*)mapper->model())->numberOfDefaultSchemes; gbGameModes->setEnabled(n >= c); gbBasicSettings->setEnabled(n >= c); LE_name->setEnabled(n >= c); + L_name->setEnabled(n >= c); } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagescheme.h --- a/QTfrontend/ui/page/pagescheme.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagescheme.h Sun Jun 10 19:12:26 2018 +0200 @@ -75,6 +75,7 @@ ToggleButtonWidget * TBW_morewind; ToggleButtonWidget * TBW_tagteam; ToggleButtonWidget * TBW_bottomborder; + ToggleButtonWidget * TBW_switchhog; QSpinBox * SB_DamageModifier; QSpinBox * SB_TurnTime; @@ -94,6 +95,7 @@ QSpinBox * SB_GetAwayTime; QComboBox * CB_WorldEdge; QLineEdit * LE_name; + QLabel * L_name; QLineEdit * LE_ScriptParam; QGroupBox * gbGameModes; diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagetraining.cpp --- a/QTfrontend/ui/page/pagetraining.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagetraining.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -156,9 +157,7 @@ QSettings settings(dataMgr.settingsFileName(), QSettings::IniFormat); - QString loc = settings.value("misc/locale", "").toString(); - if (loc.isEmpty()) - loc = QLocale::system().name(); + QString loc = QLocale().name(); QString infoFile = QString("physfs://Locale/missions_" + loc + ".txt"); @@ -194,14 +193,46 @@ m_widget = lstScenarios; break; } + // scripts to load + // first, load scripts in order specified in order.cfg (if present) + QFile orderFile(QString("physfs://Missions/%1/order.cfg").arg(subFolder)); + QStringList orderedMissions; + if (orderFile.open(QFile::ReadOnly)) + { + QString m_id; + QTextStream input(&orderFile); + while(true) + { + m_id = input.readLine(); + if(m_id.isNull() || m_id.isEmpty()) + { + break; + } + QListWidgetItem * item = new QListWidgetItem(m_id); + QString name = item->text().replace("_", " "); + name = m_info->value(m_id + ".name", name).toString(); + item->setText(name); + item->setData(Qt::UserRole, m_id); + m_widget->addItem(item); + + orderedMissions << m_id; + } + } + + // then, just load anything else in no particular order m_list = dataMgr.entryList( "Missions/" + subFolder, QDir::Files, QStringList("*.lua")). replaceInStrings(QRegExp("\\.lua$"), ""); - // scripts to load - TODO: model? foreach (const QString & m_id, m_list) { + // Disallow duplicates from order.cfg + if (orderedMissions.contains(m_id)) + { + continue; + } + QListWidgetItem * item = new QListWidgetItem(m_id); // fallback name: replace underscores in mission name with spaces diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagevideos.cpp --- a/QTfrontend/ui/page/pagevideos.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagevideos.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -39,9 +39,6 @@ #include #include #include -#include -#include -#include #include #include "hwconsts.h" @@ -51,7 +48,6 @@ #include "gameuiconfig.h" #include "recorder.h" #include "ask_quit.h" -#include "upload_video.h" static const QSize ThumbnailSize(350, 350*3/5); @@ -60,7 +56,7 @@ { vcName, vcSize, - vcProgress, // either encoding or uploading + vcProgress, // for encoding vcNumColumns, }; @@ -77,9 +73,7 @@ QString name; QString prefix; // original filename without extension QString desc; // description (duration, resolution, etc...) - QString uploadUrl; // https://youtu.be/??????? HWRecorder * pRecorder; // non NULL if file is being encoded - QNetworkReply * pUploading; // non NULL if file is being uploaded bool seen; // used when updating directory float lastSizeUpdate; float progress; @@ -96,7 +90,6 @@ { this->name = name; pRecorder = NULL; - pUploading = NULL; lastSizeUpdate = 0; progress = 0; seen = false; @@ -133,8 +126,8 @@ filesTable->setMinimumWidth(400); QHeaderView * header = filesTable->horizontalHeader(); - header->setResizeMode(vcName, QHeaderView::ResizeToContents); - header->setResizeMode(vcSize, QHeaderView::Fixed); + header->setSectionResizeMode(vcName, QHeaderView::ResizeToContents); + header->setSectionResizeMode(vcSize, QHeaderView::Fixed); header->resizeSection(vcSize, 100); header->setStretchLastSection(true); @@ -180,8 +173,6 @@ labelDesc->setTextFormat(Qt::RichText); labelDesc->setWordWrap(true); labelDesc->setOpenExternalLinks(true); - //labelDesc->setMinimumSize(ThumbnailSize); - //pTopDescLayout->addWidget(labelDesc, 1); // buttons: play and delete btnPlay = new QPushButton(QPushButton::tr("Play"), pDescGroup); @@ -192,10 +183,6 @@ btnDelete->setEnabled(false); btnDelete->setWhatsThis(QPushButton::tr("Delete this video")); pBottomDescLayout->addWidget(btnDelete); - btnToYouTube = new QPushButton(QPushButton::tr("Upload to YouTube"), pDescGroup); - btnToYouTube->setEnabled(false); - btnToYouTube->setWhatsThis(QPushButton::tr("Upload this video to your YouTube account")); - pBottomDescLayout->addWidget(btnToYouTube); pDescLayout->addWidget(labelThumbnail, 0); pDescLayout->addWidget(labelDesc, 0); @@ -220,16 +207,14 @@ connect(filesTable, SIGNAL(currentCellChanged(int,int,int,int)), this, SLOT(currentCellChanged())); connect(btnPlay, SIGNAL(clicked()), this, SLOT(playSelectedFile())); connect(btnDelete, SIGNAL(clicked()), this, SLOT(deleteSelectedFiles())); - connect(btnToYouTube, SIGNAL(clicked()), this, SLOT(uploadToYouTube())); connect(btnOpenDir, SIGNAL(clicked()), this, SLOT(openVideosDirectory())); } PageVideos::PageVideos(QWidget* parent) : AbstractPage(parent), - config(0), netManager(0) + config(0) { nameChangedFromCode = false; numRecorders = 0; - numUploads = 0; initPage(); } @@ -249,19 +234,24 @@ // get file size as string static QString FileSizeStr(const QString & path) { - quint64 size = QFileInfo(path).size(); + qint64 size = QFileInfo(path).size(); - quint64 KiB = 1024; - quint64 MiB = 1024*KiB; - quint64 GiB = 1024*MiB; +#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)) + return QLocale().formattedDataSize(size); +#else + qint64 KiB = 1024; + qint64 MiB = 1024*KiB; + qint64 GiB = 1024*MiB; QString sizeStr; + float fsize = (float) size; if (size >= GiB) - return QString("%1 GiB").arg(QString::number(float(size)/GiB, 'f', 2)); + return QString("%1 GiB").arg(QLocale().toString(fsize/GiB, 'f', 2)); if (size >= MiB) - return QString("%1 MiB").arg(QString::number(float(size)/MiB, 'f', 2)); - if (size >= KiB) - return QString("%1 KiB").arg(QString::number(float(size)/KiB, 'f', 2)); + return QString("%1 MiB").arg(QLocale().toString(fsize/MiB, 'f', 2)); + if (size >= KiB) + return QString("%1 KiB").arg(QLocale().toString(fsize/KiB, 'f', 2)); return PageVideos::tr("%1 bytes", "", size).arg(QString::number(size)); +#endif } // set file size in file list in specified row @@ -334,7 +324,8 @@ { QProgressBar * progressBar = (QProgressBar*)filesTable->cellWidget(row, vcProgress); progressBar->setValue(value*10000); - progressBar->setFormat(QString("%1%").arg(value*100, 0, 'f', 2)); + //: Video encoding progress. %1 = number + progressBar->setFormat(QString(tr("%1%")).arg(QLocale().toString(value*100, 'f', 2))); item->progress = value; } @@ -491,15 +482,12 @@ clearThumbnail(); btnPlay->setEnabled(false); btnDelete->setEnabled(false); - btnToYouTube->setEnabled(false); return; } btnPlay->setEnabled(item->ready()); - btnToYouTube->setEnabled(item->ready()); btnDelete->setEnabled(true); btnDelete->setText(item->ready()? QPushButton::tr("Delete") : QPushButton::tr("Cancel")); - btnToYouTube->setText(item->pUploading? QPushButton::tr("Cancel uploading") : QPushButton::tr("Upload to YouTube")); // construct string with desctiption of this file to display it QString desc = item->name + "\n\n"; @@ -543,21 +531,6 @@ item->prefix.truncate(pt); } - if (item->ready() && item->uploadUrl.isEmpty()) - { - // try to load url from file - QFile * file = new QFile(cfgdir->absoluteFilePath("VideoTemp/" + item->prefix + "-url.txt"), this); - if (!file->open(QIODevice::ReadOnly)) - item->uploadUrl = "no"; - else - { - QByteArray data = file->readAll(); - file->close(); - item->uploadUrl = QString::fromUtf8(data.data()); - } - } - if (item->uploadUrl != "no") - desc += QString("%1").arg(item->uploadUrl); desc.replace("\n", "
"); labelDesc->setText(desc); @@ -688,14 +661,14 @@ QDesktopServices::openUrl(QUrl("file:///" + path)); } -// clear VideoTemp directory (except for thumbnails and upload links) +// clear VideoTemp directory (except for thumbnails) void PageVideos::clearTemp() { QDir temp(cfgdir->absolutePath() + "/VideoTemp"); QStringList files = temp.entryList(QDir::Files); foreach (const QString& file, files) { - if (!file.endsWith(".bmp") && !file.endsWith(".png") && !file.endsWith("-url.txt")) + if (!file.endsWith(".bmp") && !file.endsWith(".png")) temp.remove(file); } } @@ -703,7 +676,7 @@ bool PageVideos::tryQuit(HWForm * form) { bool quit = true; - if (numRecorders != 0 || numUploads != 0) + if (numRecorders != 0) { // ask user what to do - abort or wait HWAskQuitDialog * askd = new HWAskQuitDialog(this, form); @@ -718,7 +691,6 @@ // returns multi-line string with list of videos in progress /* it will look like this: foo.avi (15.21% - encoding) -bar.avi (18.21% - uploading) */ QString PageVideos::getVideosInProgress() { @@ -728,16 +700,17 @@ { VideoItem * item = nameItem(i); QString process; - if (!item->ready()) - process = tr("encoding"); - else if (item->pUploading) - process = tr("uploading"); - else + if (item->ready()) continue; float progress = 100*item->progress; if (progress > 99.99) progress = 99.99; // displaying 100% may be confusing - list += item->name + " (" + QString::number(progress, 'f', 2) + "% - " + process + ")\n"; + //: Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + list += QString(tr("%1 (%2%) - %3")) + .arg(item->name) + .arg(QLocale().toString(progress, 'f', 2)) + .arg(tr("encoding")) + + "\n"; } return list; } @@ -771,168 +744,3 @@ } } -VideoItem * PageVideos::itemFromReply(QNetworkReply* reply, int & row) -{ - VideoItem * item = NULL; - int count = filesTable->rowCount(); - // find corresponding item (maybe there is a better way to implement this?) - for (int i = 0; i < count; i++) - { - item = nameItem(i); - if (item->pUploading == reply) - { - row = i; - break; - } - } - return item; -} - -void PageVideos::uploadProgress(qint64 bytesSent, qint64 bytesTotal) -{ - QNetworkReply* reply = (QNetworkReply*)sender(); - int row; - VideoItem * item = itemFromReply(reply, row); - setProgress(row, item, bytesSent*1.0/bytesTotal); -} - -void PageVideos::uploadFinished() -{ - QNetworkReply* reply = (QNetworkReply*)sender(); - reply->deleteLater(); - - int row; - VideoItem * item = itemFromReply(reply, row); - if (!item) - return; - - item->pUploading = NULL; - - // extract video id from reply - QString videoid; - QXmlStreamReader xml(reply); - while (!xml.atEnd()) - { - xml.readNext(); - if (xml.qualifiedName() == "yt:videoid") - { - videoid = xml.readElementText(); - break; - } - } - - if (!videoid.isEmpty()) - { - item->uploadUrl = "https://youtu.be/" + videoid; - updateDescription(); - - // save url in file - QFile * file = new QFile(cfgdir->absoluteFilePath("VideoTemp/" + item->prefix + "-url.txt"), this); - if (file->open(QIODevice::WriteOnly)) - { - file->write(item->uploadUrl.toUtf8()); - file->close(); - } - } - - filesTable->setCellWidget(row, vcProgress, NULL); // remove progress bar - numUploads--; -} - -// this will protect saved youtube password from those who cannot read source code -static QString protectPass(QString str) -{ - QByteArray array = str.toUtf8(); - for (int i = 0; i < array.size(); i++) - array[i] = array[i] ^ 0xC4 ^ i; - array = array.toBase64(); - return QString::fromLatin1(array.data()); -} - -static QString unprotectPass(QString str) -{ - QByteArray array = QByteArray::fromBase64(str.toAscii()); - for (int i = 0; i < array.size(); i++) - array[i] = array[i] ^ 0xC4 ^ i; - return QString::fromUtf8(array); -} - -void PageVideos::uploadToYouTube() -{ - int row = filesTable->currentRow(); - VideoItem * item = nameItem(row); - - if (item->pUploading) //Act as 'cancel uploading' button - { - // ask user if (s)he is serious - QMessageBox reallyStopMsg(this); - reallyStopMsg.setIcon(QMessageBox::Question); - reallyStopMsg.setWindowTitle(QMessageBox::tr("Videos - Are you sure?")); - reallyStopMsg.setText(QMessageBox::tr("Do you really want to cancel uploading %1?").arg(item->name)); - reallyStopMsg.setWindowModality(Qt::WindowModal); - reallyStopMsg.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); - - if (reallyStopMsg.exec() != QMessageBox::Ok) - return; - item->pUploading->abort(); - btnToYouTube->setText(QPushButton::tr("Upload to YouTube")); - filesTable->setCellWidget(row, vcProgress, NULL); // remove progress bar - //numUploads--; - return; - } - - if (!netManager) - netManager = new QNetworkAccessManager(this); - - HWUploadVideoDialog* dlg = new HWUploadVideoDialog(this, item->name, netManager); - dlg->deleteLater(); - if (config->value("youtube/save").toBool()) - { - dlg->cbSave->setChecked(true); - dlg->leAccount->setText(config->value("youtube/name").toString()); - dlg->lePassword->setText(unprotectPass(config->value("youtube/pswd").toString())); - } - - bool result = dlg->exec(); - - if (dlg->cbSave->isChecked()) - { - config->setValue("youtube/save", true); - config->setValue("youtube/name", dlg->leAccount->text()); - config->setValue("youtube/pswd", protectPass(dlg->lePassword->text())); - } - else - { - config->setValue("youtube/save", false); - config->setValue("youtube/name", ""); - config->setValue("youtube/pswd", ""); - } - - if (!result) - return; - - QNetworkRequest request(QUrl(dlg->location)); - request.setRawHeader("Content-Type", "application/octet-stream"); - - QFile * file = new QFile(item->path(), this); - if (!file->open(QIODevice::ReadOnly)) - return; - - // add progress bar - QProgressBar * progressBar = new QProgressBar(filesTable); - progressBar->setMinimum(0); - progressBar->setMaximum(10000); - progressBar->setValue(0); - // make it different from progress-bar used during encoding (use blue color) - progressBar->setStyleSheet("* {color: #00ccff; selection-background-color: #00ccff;}" ); - filesTable->setCellWidget(row, vcProgress, progressBar); - - QNetworkReply* reply = netManager->put(request, file); - file->setParent(reply); // automatically close file when needed - item->pUploading = reply; - connect(reply, SIGNAL(uploadProgress(qint64, qint64)), this, SLOT(uploadProgress(qint64, qint64))); - connect(reply, SIGNAL(finished()), this, SLOT(uploadFinished())); - numUploads++; - - updateDescription(); -} diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/page/pagevideos.h --- a/QTfrontend/ui/page/pagevideos.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/page/pagevideos.h Sun Jun 10 19:12:26 2018 +0200 @@ -22,8 +22,6 @@ #include "AbstractPage.h" -class QNetworkAccessManager; -class QNetworkReply; class GameUIConfig; class HWRecorder; class VideoItem; @@ -60,17 +58,15 @@ void clearTemp(); void clearThumbnail(); void setProgress(int row, VideoItem* item, float value); - VideoItem * itemFromReply(QNetworkReply* reply, int & row); GameUIConfig * config; - QNetworkAccessManager* netManager; // file list group QTableWidget *filesTable; QPushButton *btnOpenDir; // description group - QPushButton *btnPlay, *btnDelete, *btnToYouTube; + QPushButton *btnPlay, *btnDelete; QLabel *labelDesc; QLabel *labelThumbnail; @@ -78,7 +74,7 @@ // (in signal cellChanged) bool nameChangedFromCode; - int numRecorders, numUploads; + int numRecorders; private slots: void encodingFinished(bool success); @@ -90,9 +86,6 @@ void deleteSelectedFiles(); void openVideosDirectory(); void updateFileList(const QString & path); - void uploadToYouTube(); - void uploadProgress(qint64 bytesSent, qint64 bytesTotal); - void uploadFinished(); }; #endif // PAGE_VIDEOS_H diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/about.cpp --- a/QTfrontend/ui/widget/about.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/about.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -26,6 +26,7 @@ #include #include #include +#include #include "hwconsts.h" #include "SDLInteraction.h" #include "SDL.h" diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/chatwidget.cpp --- a/QTfrontend/ui/widget/chatwidget.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/chatwidget.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -32,6 +32,7 @@ #include #include #include +#include #include "DataManager.h" #include "hwconsts.h" @@ -312,7 +313,7 @@ else if (link.scheme() == "hwnick") { // decode nick - QString nick = QString::fromUtf8(QByteArray::fromBase64(link.encodedQuery())); + QString nick = QString::fromUtf8(QByteArray::fromBase64(link.query(QUrl::FullyDecoded).toLatin1())); QModelIndexList mil = chatNicks->model()->match(chatNicks->model()->index(0, 0), Qt::DisplayRole, nick); bool isOffline = (mil.size() < 1); @@ -374,10 +375,10 @@ { if (nickname != m_userNick) return QString("%2").arg( - QString(nickname.toUtf8().toBase64())).arg(Qt::escape(nickname)); + QString(nickname.toUtf8().toBase64())).arg(nickname.toHtmlEscaped()); // unlinked nick (if own one) - return QString("%1").arg(Qt::escape(nickname)); + return QString("%1").arg(nickname.toHtmlEscaped()); } const QRegExp HWChatWidget::URLREGEXP = QRegExp("(http(s)?://)?(www\\.)?((([^/:?&#]+\\.)?hedgewars\\.org|code\\.google\\.com|googlecode\\.com|hh\\.unit22\\.org)(/[^ ]*)?)"); @@ -399,7 +400,7 @@ QString HWChatWidget::messageToHTML(const QString & message) { - QString formattedStr = Qt::escape(message); + QString formattedStr = message.toHtmlEscaped(); // link some urls formattedStr = formattedStr.replace(URLREGEXP, "\\4"); return formattedStr; @@ -606,9 +607,9 @@ { addLine("msg_PlayerInfo", QString(" >>> %1 - %2 %3 %4") .arg(linkedNick(nick)) - .arg(Qt::escape(ip == "[]"?"":ip)) - .arg(Qt::escape(version)) - .arg(Qt::escape(roomInfo)) + .arg(QString(ip == "[]"?"":ip).toHtmlEscaped()) + .arg(version.toHtmlEscaped()) + .arg(roomInfo.toHtmlEscaped()) ); } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/colorwidget.cpp --- a/QTfrontend/ui/widget/colorwidget.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/colorwidget.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -30,7 +30,7 @@ QStandardItem * item = m_colorsModel->item(m_color); - setStyleSheet(QString("border: 2px solid orange; border-radius: 8px; background: %1").arg(item->data().value().name())); + setStyleSheet(QString("* { border: 2px solid #ffcc00; border-radius: 8px; background: %1 } :disabled { border-color: #a0a0a0; }").arg(item->data().value().name())); /* QPalette p = palette(); p.setColor(QPalette::Window, item->data().value()); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/drawmapwidget.cpp --- a/QTfrontend/ui/widget/drawmapwidget.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/drawmapwidget.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -56,12 +56,16 @@ ui->graphicsView->setScene(scene); connect(scene, SIGNAL(pathChanged()), this, SLOT(pathChanged())); + connect(scene, SIGNAL(brushSizeChanged(int)), this, SLOT(brushSizeChanged_slot(int))); } void DrawMapWidget::resizeEvent(QResizeEvent * event) { Q_UNUSED(event); + if(!m_scene) + return; + int height = this->height(); int width = this->width(); @@ -133,6 +137,11 @@ if(m_scene) m_scene->setPathType(pathType); } +void DrawMapWidget::setBrushSize(int brushSize) +{ + if(m_scene) m_scene->setBrushSize(brushSize); +} + void DrawMapWidget::save(const QString & fileName) { if(m_scene) @@ -179,7 +188,10 @@ ui->lblPoints->setNum(m_scene->pointsCount()); } - +void DrawMapWidget::brushSizeChanged_slot(int brushSize) +{ + emit brushSizeChanged(brushSize); +} DrawMapView::DrawMapView(QWidget *parent) : QGraphicsView(parent) diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/drawmapwidget.h --- a/QTfrontend/ui/widget/drawmapwidget.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/drawmapwidget.h Sun Jun 10 19:12:26 2018 +0200 @@ -24,6 +24,7 @@ #include #include #include +#include #include "drawmapscene.h" @@ -59,14 +60,19 @@ { QVBoxLayout * vbox = new QVBoxLayout(drawMapWidget); vbox->setMargin(0); - lblPoints = new QLabel("0", drawMapWidget); QLayout * arLayout = new QVBoxLayout(); arLayout->setAlignment(Qt::AlignCenter); vbox->addLayout(arLayout); + lblPoints = new QLabel("0", drawMapWidget); + lblPoints->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); + arLayout->addWidget(lblPoints); + graphicsView = new DrawMapView(drawMapWidget); graphicsView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); graphicsView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + graphicsView->setRenderHint(QPainter::Antialiasing, true); + graphicsView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum); arLayout->addWidget(graphicsView); retranslateUi(drawMapWidget); @@ -102,6 +108,10 @@ void save(const QString & fileName); void load(const QString & fileName); void setPathType(DrawMapScene::PathType pathType); + void setBrushSize(int brushSize); + + signals: + void brushSizeChanged(int brushSize); protected: void changeEvent(QEvent *e); @@ -115,6 +125,7 @@ private slots: void pathChanged(); + void brushSizeChanged_slot(int brushSize); }; #endif // DRAWMAPWIDGET_H diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/feedbackdialog.cpp --- a/QTfrontend/ui/widget/feedbackdialog.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/feedbackdialog.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include #include @@ -109,7 +109,8 @@ CheckSendSpecs = new QCheckBox(); CheckSendSpecs->setText(QLabel::tr("Send system information")); - CheckSendSpecs->setChecked(true); + CheckSendSpecs->setChecked(false); + CheckSendSpecs->setToolTip(tr("This is optional, but this information might help us to resolve bugs and other technical problems.")); BtnViewInfo = new QPushButton(tr("View")); BtnViewInfo->setFixedHeight(40); feedbackLayout->addWidget(CheckSendSpecs, 0, 2, 2, 1); @@ -136,7 +137,7 @@ label_captcha = new QLabel(); label_captcha->setStyleSheet("border: 3px solid #ffcc00; border-radius: 4px"); - label_captcha->setText("loading
captcha"); + label_captcha->setText(QLabel::tr("Loading
CAPTCHA ...")); label_captcha->setFixedSize(200, 50); captchaLayout->addWidget(label_captcha); @@ -474,7 +475,7 @@ this, SLOT(finishedSlot(QNetworkReply*))); QNetworkRequest header(QUrl("https://hedgewars.org/feedback/?submit")); - header.setRawHeader("Content-Length", QString::number(body.size()).toAscii()); + header.setRawHeader("Content-Length", QString::number(body.size()).toLatin1()); header.setRawHeader("Content-Type", "application/x-www-form-urlencoded"); nam->post(header, body); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/frameTeam.cpp --- a/QTfrontend/ui/widget/frameTeam.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/frameTeam.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -28,7 +28,8 @@ #include "DataManager.h" FrameTeams::FrameTeams(QWidget* parent) : - QFrame(parent), mainLayout(this), nonInteractive(false) + QFrame(parent), mainLayout(this), nonInteractive(false), + hasDecoFrame(false) { QPalette newPalette = palette(); newPalette.setColor(QPalette::Window, QColor(0x00, 0x00, 0x00)); @@ -72,6 +73,7 @@ mainLayout.addWidget(pTeamShowWidget); teamToWidget.insert(team, pTeamShowWidget); QResizeEvent* pevent=new QResizeEvent(parentWidget()->size(), parentWidget()->size()); + updateDecoFrame(); QCoreApplication::postEvent(parentWidget(), pevent); } @@ -83,6 +85,7 @@ it.value()->deleteLater(); teamToWidget.erase(it); QResizeEvent* pevent=new QResizeEvent(parentWidget()->size(), parentWidget()->size()); + updateDecoFrame(); QCoreApplication::postEvent(parentWidget(), pevent); } @@ -95,6 +98,7 @@ teamToWidget.erase(it++); } QResizeEvent* pevent=new QResizeEvent(parentWidget()->size(), parentWidget()->size()); + updateDecoFrame(); QCoreApplication::postEvent(parentWidget(), pevent); } @@ -134,3 +138,28 @@ { return QSize(-1, teamToWidget.size() * 39 + 9); } + +void FrameTeams::setDecoFrameEnabled(bool enabled) +{ + hasDecoFrame = enabled; + updateDecoFrame(); +} + +void FrameTeams::updateDecoFrame() +{ + if (hasDecoFrame && teamToWidget.size() >= 1) + { + setStyleSheet( + "FrameTeams{" + "border: solid;" + "border-width: 1px;" + "border-radius: 16px;" + "border-color: #ffcc00;" + "}" + ); + } + else + { + setStyleSheet("FrameTeams{ border: transparent }"); + } +} diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/frameTeam.h --- a/QTfrontend/ui/widget/frameTeam.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/frameTeam.h Sun Jun 10 19:12:26 2018 +0200 @@ -44,6 +44,7 @@ void setInteractivity(bool interactive); int getNextColor(); QSize sizeHint() const; + void setDecoFrameEnabled(bool enabled); signals: void teamColorChanged(const HWTeam&); @@ -61,6 +62,9 @@ typedef QMap tmapTeamToWidget; tmapTeamToWidget teamToWidget; bool nonInteractive; + + bool hasDecoFrame; + void updateDecoFrame(); }; #endif // _FRAME_TAM_INCLUDED diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/gamecfgwidget.cpp --- a/QTfrontend/ui/widget/gamecfgwidget.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/gamecfgwidget.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -34,7 +34,7 @@ #include "igbox.h" #include "DataManager.h" #include "hwconsts.h" -#include "ammoSchemeModel.h" +#include "gameSchemeModel.h" #include "proto.h" #include "GameStyleModel.h" #include "themeprompt.h" @@ -106,14 +106,20 @@ OptionsInnerContainer->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); GBoxOptionsLayout = new QGridLayout(OptionsInnerContainer); - GBoxOptionsLayout->addWidget(new QLabel(QLabel::tr("Style"), this), 1, 0); + lblScript = new QLabel(QLabel::tr("Style"), this); + GBoxOptionsLayout->addWidget(lblScript, 1, 0); Scripts = new QComboBox(this); Scripts->setMaxVisibleItems(30); GBoxOptionsLayout->addWidget(Scripts, 1, 1); - Scripts->setModel(DataManager::instance().gameStyleModel()); m_curScript = Scripts->currentText(); + + ScriptsLabel = new QLabel(this); + ScriptsLabel->setHidden(true); + ScriptsLabel->setTextFormat(Qt::PlainText); + GBoxOptionsLayout->addWidget(ScriptsLabel, 1, 1); + connect(Scripts, SIGNAL(currentIndexChanged(int)), this, SLOT(scriptChanged(int))); QWidget *SchemeWidget = new QWidget(this); @@ -125,29 +131,43 @@ GameSchemes = new QComboBox(SchemeWidget); GameSchemes->setMaxVisibleItems(30); SchemeWidgetLayout->addWidget(GameSchemes, 0, 2); + + GameSchemesLabel = new QLabel(SchemeWidget); + GameSchemesLabel->setHidden(true); + GameSchemesLabel->setTextFormat(Qt::PlainText); + SchemeWidgetLayout->addWidget(GameSchemesLabel, 0, 2); + connect(GameSchemes, SIGNAL(currentIndexChanged(int)), this, SLOT(schemeChanged(int))); - SchemeWidgetLayout->addWidget(new QLabel(QLabel::tr("Scheme"), SchemeWidget), 0, 0); + lblScheme = new QLabel(QLabel::tr("Scheme"), SchemeWidget); + SchemeWidgetLayout->addWidget(lblScheme, 0, 0); QPixmap pmEdit(":/res/edit.png"); + QIcon iconEdit = QIcon(pmEdit); - QPushButton * goToSchemePage = new QPushButton(SchemeWidget); + goToSchemePage = new QPushButton(SchemeWidget); goToSchemePage->setWhatsThis(tr("Edit schemes")); goToSchemePage->setIconSize(pmEdit.size()); - goToSchemePage->setIcon(pmEdit); + goToSchemePage->setIcon(iconEdit); goToSchemePage->setMaximumWidth(pmEdit.width() + 6); SchemeWidgetLayout->addWidget(goToSchemePage, 0, 3); connect(goToSchemePage, SIGNAL(clicked()), this, SLOT(jumpToSchemes())); - SchemeWidgetLayout->addWidget(new QLabel(QLabel::tr("Weapons"), SchemeWidget), 1, 0); + lblWeapons = new QLabel(QLabel::tr("Weapons"), SchemeWidget); + SchemeWidgetLayout->addWidget(lblWeapons, 1, 0); WeaponsName = new QComboBox(SchemeWidget); WeaponsName->setMaxVisibleItems(30); SchemeWidgetLayout->addWidget(WeaponsName, 1, 2); + WeaponsNameLabel = new QLabel(SchemeWidget); + WeaponsNameLabel->setHidden(true); + WeaponsNameLabel->setTextFormat(Qt::PlainText); + SchemeWidgetLayout->addWidget(WeaponsNameLabel, 1, 2); + connect(WeaponsName, SIGNAL(currentIndexChanged(int)), this, SLOT(ammoChanged(int))); - QPushButton * goToWeaponPage = new QPushButton(SchemeWidget); + goToWeaponPage = new QPushButton(SchemeWidget); goToWeaponPage->setWhatsThis(tr("Edit weapons")); goToWeaponPage->setIconSize(pmEdit.size()); goToWeaponPage->setIcon(pmEdit); @@ -159,8 +179,10 @@ bindEntries->setWhatsThis(tr("Game scheme will auto-select a weapon")); bindEntries->setChecked(true); bindEntries->setMaximumWidth(42); - bindEntries->setStyleSheet( "QCheckBox::indicator:checked { image: url(\":/res/lock.png\"); }" - "QCheckBox::indicator:unchecked { image: url(\":/res/unlock.png\"); }" ); + bindEntries->setStyleSheet( "QCheckBox::indicator:checked:enabled { image: url(\":/res/lock.png\"); }" + "QCheckBox::indicator:checked:disabled { image: url(\":/res/lock_disabled.png\"); }" + "QCheckBox::indicator:unchecked:enabled { image: url(\":/res/unlock.png\"); }" + "QCheckBox::indicator:unchecked:disabled { image: url(\":/res/unlock_disabled.png\"); }" ); SchemeWidgetLayout->addWidget(bindEntries, 0, 1, 0, 1, Qt::AlignVCenter); connect(pMapContainer, SIGNAL(seedChanged(const QString &)), this, SLOT(seedChanged(const QString &))); @@ -377,7 +399,7 @@ QMessageBox illegalMsg(parentWidget()); illegalMsg.setIcon(QMessageBox::Warning); illegalMsg.setWindowTitle(QMessageBox::tr("Error")); - illegalMsg.setText(QMessageBox::tr("Cannot use the ammo '%1'!").arg(name)); + illegalMsg.setText(QMessageBox::tr("Cannot use the weapon scheme '%1'!").arg(name)); illegalMsg.setWindowModality(Qt::WindowModal); illegalMsg.exec(); } @@ -464,7 +486,9 @@ } if (param == "SCRIPT") { - Scripts->setCurrentIndex(Scripts->findText(value)); + int in = Scripts->findText(value); + Scripts->setCurrentIndex(in); + ScriptsLabel->setText(value); pMapContainer->setScript(Scripts->itemData(Scripts->currentIndex(), GameStyleModel::ScriptRole).toString().toUtf8(), schemeData(43).toString()); return; } @@ -509,11 +533,16 @@ { if (index >= 0) { + WeaponsNameLabel->setText(WeaponsName->currentText()); emit paramChanged( "AMMO", QStringList() << WeaponsName->itemText(index) << WeaponsName->itemData(index).toString() ); } + else + { + WeaponsNameLabel->setText(""); + } } void GameCFGWidget::mapChanged(const QString & value) @@ -521,16 +550,21 @@ if(isEnabled() && pMapContainer->getCurrentIsMission()) { Scripts->setEnabled(false); + lblScript->setEnabled(false); Scripts->setCurrentIndex(0); if (pMapContainer->getCurrentScheme() == "locked") { GameSchemes->setEnabled(false); + goToSchemePage->setEnabled(false); + lblScheme->setEnabled(false); GameSchemes->setCurrentIndex(GameSchemes->findText("Default")); } else { GameSchemes->setEnabled(true); + goToSchemePage->setEnabled(true); + lblScheme->setEnabled(true); int num = GameSchemes->findText(pMapContainer->getCurrentScheme()); if (num != -1) GameSchemes->setCurrentIndex(num); @@ -541,11 +575,15 @@ if (pMapContainer->getCurrentWeapons() == "locked") { WeaponsName->setEnabled(false); + goToWeaponPage->setEnabled(false); + lblWeapons->setEnabled(false); WeaponsName->setCurrentIndex(WeaponsName->findText("Default")); } else { WeaponsName->setEnabled(true); + goToWeaponPage->setEnabled(true); + lblWeapons->setEnabled(true); int num = WeaponsName->findText(pMapContainer->getCurrentWeapons()); if (num != -1) WeaponsName->setCurrentIndex(num); @@ -561,8 +599,13 @@ else { Scripts->setEnabled(true); + lblScript->setEnabled(true); GameSchemes->setEnabled(true); + goToSchemePage->setEnabled(true); + lblScheme->setEnabled(true); WeaponsName->setEnabled(true); + goToWeaponPage->setEnabled(true); + lblWeapons->setEnabled(true); bindEntries->setEnabled(true); } emit paramChanged("MAP", QStringList(value)); @@ -612,6 +655,12 @@ } } } + + if(index == -1) + GameSchemesLabel->setText(""); + else + GameSchemesLabel->setText(GameSchemes->currentText()); + pMapContainer->setScript(Scripts->itemData(Scripts->currentIndex(), GameStyleModel::ScriptRole).toString().toUtf8(), schemeData(43).toString()); } @@ -628,11 +677,15 @@ if (scheme == "locked") { GameSchemes->setEnabled(false); + goToSchemePage->setEnabled(false); + lblScheme->setEnabled(false); GameSchemes->setCurrentIndex(GameSchemes->findText("Default")); } else if (m_master) { GameSchemes->setEnabled(true); + goToSchemePage->setEnabled(true); + lblScheme->setEnabled(true); int num = GameSchemes->findText(scheme); if (num != -1) GameSchemes->setCurrentIndex(num); @@ -643,11 +696,15 @@ if (weapons == "locked") { WeaponsName->setEnabled(false); + goToWeaponPage->setEnabled(false); + lblWeapons->setEnabled(false); WeaponsName->setCurrentIndex(WeaponsName->findText("Default")); } else if (m_master) { WeaponsName->setEnabled(true); + goToWeaponPage->setEnabled(true); + lblWeapons->setEnabled(true); int num = WeaponsName->findText(weapons); if (num != -1) WeaponsName->setCurrentIndex(num); @@ -663,17 +720,25 @@ else { GameSchemes->setEnabled(true); + goToSchemePage->setEnabled(true); + lblScheme->setEnabled(true); WeaponsName->setEnabled(true); + goToWeaponPage->setEnabled(true); + lblWeapons->setEnabled(true); bindEntries->setEnabled(true); } - if (!index) + if (index == -1) { pMapContainer->setScript(QString(""), QString("")); + ScriptsLabel->setStyleSheet("color: #b50000;"); } else { pMapContainer->setScript(Scripts->itemData(index, GameStyleModel::ScriptRole).toString().toUtf8(), schemeData(43).toString()); + ScriptsLabel->setText(Scripts->currentText()); + ScriptsLabel->setStyleSheet(""); } + emit paramChanged("SCRIPT", QStringList(name)); } @@ -731,8 +796,28 @@ if (master == m_master) return; m_master = master; + if (master) + { + // Reset script if not found + if (Scripts->currentIndex() == -1) + { + Scripts->setCurrentIndex(Scripts->findText("Normal")); + } + } + pMapContainer->setMaster(master); + GameSchemes->setHidden(!master); + WeaponsName->setHidden(!master); + Scripts->setHidden(!master); + goToSchemePage->setHidden(!master); + goToWeaponPage->setHidden(!master); + bindEntries->setHidden(!master); + + GameSchemesLabel->setHidden(master); + WeaponsNameLabel->setHidden(master); + ScriptsLabel->setHidden(master); + foreach (QWidget *widget, m_childWidgets) widget->setEnabled(master); } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/gamecfgwidget.h --- a/QTfrontend/ui/widget/gamecfgwidget.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/gamecfgwidget.h Sun Jun 10 19:12:26 2018 +0200 @@ -47,6 +47,11 @@ QComboBox * Scripts; QComboBox * GameSchemes; QComboBox * WeaponsName; + QPushButton * goToSchemePage; + QPushButton * goToWeaponPage; + QLabel * ScriptsLabel; + QLabel * GameSchemesLabel; + QLabel * WeaponsNameLabel; HWMapContainer* pMapContainer; QVariant schemeData(int column) const; bool isMaster(); @@ -93,6 +98,9 @@ QGridLayout * GBoxOptionsLayout; QWidget * OptionsInnerContainer; QWidget * StackContainer; + QLabel * lblScript; + QLabel * lblScheme; + QLabel * lblWeapons; QWidget * mapContainerFree; QWidget * mapContainerTabbed; diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/hedgehogerWidget.cpp --- a/QTfrontend/ui/widget/hedgehogerWidget.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/hedgehogerWidget.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -63,6 +63,7 @@ void CHedgehogerWidget::setNonInteractive() { nonInteractive=true; + repaint(); } void CHedgehogerWidget::setHHNum(unsigned int num) @@ -105,6 +106,8 @@ } QPainter painter(this); + if(nonInteractive) + painter.setPen(QPen(QColor("#FFA0A0A0"))); painter.setFont(QFont("MS Shell Dlg", 10, QFont::Bold)); painter.drawText(this->width() - 12, 23, QString::number(numItems)); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/keybinder.cpp --- a/QTfrontend/ui/widget/keybinder.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/keybinder.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -154,7 +154,7 @@ curTable = new QTableWidget(0, 2); curTable->verticalHeader()->setVisible(false); curTable->horizontalHeader()->setVisible(false); - curTable->horizontalHeader()->setResizeMode(QHeaderView::Stretch); + curTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); curTable->verticalHeader()->setDefaultSectionSize(rowHeight); curTable->setShowGrid(false); curTable->setStyleSheet("QTableWidget { border: none; } "); @@ -180,6 +180,12 @@ curTable->insertRow(row); curTable->setItem(row, 0, nameCell); QTableWidgetItem * bindCell = new QTableWidgetItem(comboBox->currentText()); + QIcon dropDownIcon = QIcon(); + QPixmap dd1 = QPixmap(":/res/dropdown.png"); + QPixmap dd2 = QPixmap(":/res/dropdown_selected.png"); + dropDownIcon.addPixmap(dd1, QIcon::Normal); + dropDownIcon.addPixmap(dd2, QIcon::Selected); + bindCell->setIcon(dropDownIcon); bindCell->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); curTable->setItem(row, 1, bindCell); curTable->resizeColumnsToContents(); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/mapContainer.cpp --- a/QTfrontend/ui/widget/mapContainer.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/mapContainer.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -64,15 +64,28 @@ m_prevMapFeatureSize = 12; m_mapFeatureSize = 12; m_withoutDLC = false; + m_missingMap = false; hhSmall.load(":/res/hh_small.png"); hhLimit = 18; templateFilter = 0; m_master = true; - linearGrad = QLinearGradient(QPoint(128, 0), QPoint(128, 128)); - linearGrad.setColorAt(1, QColor(0, 0, 192)); - linearGrad.setColorAt(0, QColor(66, 115, 225)); + linearGradNormal = QLinearGradient(QPoint(128, 0), QPoint(128, 128)); + linearGradNormal.setColorAt(1, QColor(0, 0, 192)); + linearGradNormal.setColorAt(0, QColor(66, 115, 225)); + + linearGradLoading = QLinearGradient(QPoint(128, 0), QPoint(128, 128)); + linearGradLoading.setColorAt(1, QColor(58, 58, 137)); + linearGradLoading.setColorAt(0, QColor(90, 109, 153)); + + linearGradMapError = QLinearGradient(QPoint(128, 0), QPoint(128, 128)); + linearGradMapError.setColorAt(1, QColor(255, 1, 0)); + linearGradMapError.setColorAt(0, QColor(255, 119, 0)); + + linearGradNoPreview = QLinearGradient(QPoint(128, 0), QPoint(128, 128)); + linearGradNoPreview.setColorAt(1, QColor(15, 9, 72)); + linearGradNoPreview.setColorAt(0, QColor(15, 9, 72)); mainLayout.setContentsMargins(HWApplication::style()->pixelMetric(QStyle::PM_LayoutLeftMargin), 10, @@ -90,18 +103,23 @@ topWidget->setContentsMargins(0, 0, 0, 0); topLayout->setContentsMargins(0, 0, 0, 0); - QHBoxLayout * twoColumnLayout = new QHBoxLayout(); + twoColumnLayout = new QHBoxLayout(); QVBoxLayout * leftLayout = new QVBoxLayout(); + leftLayout->setAlignment(Qt::AlignLeft); QVBoxLayout * rightLayout = new QVBoxLayout(); twoColumnLayout->addLayout(leftLayout, 0); - twoColumnLayout->addStretch(1); twoColumnLayout->addLayout(rightLayout, 0); QVBoxLayout * drawnControls = new QVBoxLayout(); + /* Map type label */ + + QLabel* lblMapType = new QLabel(tr("Map type:")); + topLayout->setSpacing(10); + topLayout->addWidget(lblMapType, 0); + m_childWidgets << lblMapType; + /* Map type combobox */ - topLayout->setSpacing(10); - topLayout->addWidget(new QLabel(tr("Map type:")), 0); cType = new QComboBox(this); topLayout->addWidget(cType, 1); cType->insertItem(0, tr("Image map"), MapModel::StaticMap); @@ -148,6 +166,7 @@ QLabel * lblMapPreviewText = new QLabel(this); lblMapPreviewText->setText(tr("Map preview:")); leftLayout->addWidget(lblMapPreviewText, 0); + m_childWidgets << lblMapPreviewText; /* Map Preview */ @@ -158,6 +177,7 @@ mapPreview->setContentsMargins(0, 0, 0, 0); leftLayout->addWidget(mapPreview, 0); connect(mapPreview, SIGNAL(clicked()), this, SLOT(previewClicked())); + m_childWidgets << mapPreview; /* Bottom-Left layout */ @@ -167,7 +187,10 @@ /* Map list label */ lblMapList = new QLabel(this); + lblMapList->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum); + lblMapList->setAlignment(Qt::AlignTop | Qt::AlignLeft); rightLayout->addWidget(lblMapList, 0); + m_childWidgets << lblMapList; /* Static maps list */ @@ -181,6 +204,26 @@ rightLayout->addWidget(missionMapList, 1); m_childWidgets << missionMapList; + /* Map name (when not room master) */ + /* We use a QTextEdit instead of QLabel because it is able + to wrap at any character. */ + teMapName = new QTextEdit(this); + teMapName->setObjectName("mapName"); + teMapName->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum); + teMapName->setAlignment(Qt::AlignTop | Qt::AlignLeft); + + /* Boilerplate to emulate a QLabel */ + teMapName->setReadOnly(true); + teMapName->setAcceptRichText(false); + teMapName->setFrameStyle(QFrame::NoFrame); + teMapName->setStyleSheet("background-color: transparent"); + + teMapName->setLineWrapMode(QTextEdit::WidgetWidth); + teMapName->setWordWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere); + + rightLayout->addWidget(teMapName, 1); + m_childWidgets << teMapName; + /* Map load and edit buttons */ drawnControls->addStretch(1); @@ -234,7 +277,7 @@ mapFeatureSize->setMinimum(1); //mapFeatureSize->setFixedWidth(259); mapFeatureSize->setValue(m_mapFeatureSize); - mapFeatureSize->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + mapFeatureSize->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); bottomLeftLayout->addWidget(mapFeatureSize, 0); connect(mapFeatureSize, SIGNAL(valueChanged(int)), this, SLOT(setFeatureSize(int))); m_childWidgets << mapFeatureSize; @@ -244,7 +287,7 @@ lblDesc = new QLabel(); lblDesc->setWordWrap(true); lblDesc->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - lblDesc->setAlignment(Qt::AlignTop | Qt::AlignLeft); + lblDesc->setAlignment(Qt::AlignBottom | Qt::AlignLeft); lblDesc->setStyleSheet("font: 10px;"); bottomLeftLayout->addWidget(lblDesc, 100); @@ -292,6 +335,24 @@ changeMapType(MapModel::GeneratedMap); } +void HWMapContainer::onImageReceived(const QPixmap &newImage) +{ + // When image received from the engine. + switch (m_mapInfo.type) + { + case MapModel::GeneratedMap: + case MapModel::GeneratedMaze: + case MapModel::GeneratedPerlin: + case MapModel::HandDrawnMap: + case MapModel::FortsMap: + setImage(newImage); + break; + // Throw away image if we have switched the map mode in the meantime + default: + return; + } +} + void HWMapContainer::setImage(const QPixmap &newImage) { addInfoToPreview(newImage); @@ -300,43 +361,61 @@ cType->setEnabled(isMaster()); } +void HWMapContainer::setImage(const QPixmap &newImage, const QLinearGradient &linearGrad, bool showHHLimit) +{ + addInfoToPreview(newImage, linearGrad, showHHLimit); + + pMap = 0; + + cType->setEnabled(isMaster()); +} + + void HWMapContainer::setHHLimit(int newHHLimit) { hhLimit = newHHLimit; } +void HWMapContainer::addInfoToPreview(const QPixmap &image) +{ + addInfoToPreview(image, linearGradNormal, true); +} + // Should this add text to identify map size? -void HWMapContainer::addInfoToPreview(const QPixmap &image) +void HWMapContainer::addInfoToPreview(const QPixmap &image, const QLinearGradient &linearGrad, bool drawHHLimit) { QPixmap finalImage = QPixmap(image.size()); -//finalImage.fill(QColor(0, 0, 0, 0)); + QPainter p(&finalImage); - QPainter p(&finalImage); p.fillRect(finalImage.rect(), linearGrad); p.drawPixmap(finalImage.rect(), image); - //p.setPen(QColor(0xf4,0x9e,0xe9)); - p.setPen(QColor(0xff,0xcc,0x00)); - p.setBrush(QColor(0, 0, 0)); - p.drawRect(finalImage.rect().width() - hhSmall.rect().width() - 28, 3, 40, 20); - p.setFont(QFont("MS Shell Dlg", 10)); - QString text = (hhLimit > 0) ? QString::number(hhLimit) : "?"; - p.drawText(finalImage.rect().width() - hhSmall.rect().width() - 14 - (hhLimit > 9 ? 10 : 0), 18, text); - p.drawPixmap(finalImage.rect().width() - hhSmall.rect().width() - 5, 5, hhSmall.rect().width(), hhSmall.rect().height(), hhSmall); + + if (drawHHLimit) + { + p.setPen(QColor(0xff,0xcc,0x00)); + p.setBrush(QColor(0, 0, 0)); + p.setFont(QFont("MS Shell Dlg", 10)); + + p.drawRect(finalImage.rect().width() - hhSmall.rect().width() - 28, 3, 40, 20); - // Shrink, crop, and center preview image - /*QPixmap centered(QSize(m_previewSize.width() - 6, m_previewSize.height() - 6)); - QPainter pc(¢ered); - pc.fillRect(centered.rect(), linearGrad); - pc.drawPixmap(-3, -3, finalImage);*/ + QString text = (hhLimit > 0) ? QString::number(hhLimit) : "?"; + p.drawText(finalImage.rect().width() - hhSmall.rect().width() - 14 - (hhLimit > 9 ? 10 : 0), 18, text); + p.drawPixmap(finalImage.rect().width() - hhSmall.rect().width() - 5, 5, hhSmall.rect().width(), hhSmall.rect().height(), hhSmall); + } - mapPreview->setIcon(QIcon(finalImage)); + // Set the map preview image. Make sure it is always colored the same, + // no matter if disabled or not. + QIcon mapPreviewIcon = QIcon(); + mapPreviewIcon.addPixmap(finalImage, QIcon::Normal); + mapPreviewIcon.addPixmap(finalImage, QIcon::Disabled); + mapPreview->setIcon(mapPreviewIcon); mapPreview->setIconSize(finalImage.size()); } void HWMapContainer::askForGeneratedPreview() { pMap = new HWMap(this); - connect(pMap, SIGNAL(ImageReceived(QPixmap)), this, SLOT(setImage(QPixmap))); + connect(pMap, SIGNAL(ImageReceived(QPixmap)), this, SLOT(onImageReceived(const QPixmap))); connect(pMap, SIGNAL(HHLimitReceived(int)), this, SLOT(setHHLimit(int))); connect(pMap, SIGNAL(destroyed(QObject *)), this, SLOT(onPreviewMapDestroyed(QObject *))); pMap->getImage(m_seed, @@ -351,17 +430,16 @@ setHHLimit(0); - const QPixmap waitIcon(":/res/iconTime.png"); + QPixmap waitImage(m_previewSize); + waitImage.fill(Qt::transparent); - QPixmap waitImage(m_previewSize); QPainter p(&waitImage); - - p.fillRect(waitImage.rect(), linearGrad); + const QPixmap waitIcon(":/res/iconTime.png"); int x = (waitImage.width() - waitIcon.width()) / 2; int y = (waitImage.height() - waitIcon.height()) / 2; p.drawPixmap(QPoint(x, y), waitIcon); - addInfoToPreview(waitImage); + setImage(waitImage, linearGradLoading, false); cType->setEnabled(false); } @@ -486,20 +564,37 @@ } else if (m_staticMapModel->mapExists(map)) { + m_missingMap = false; changeMapType(MapModel::StaticMap, m_staticMapModel->index(m_staticMapModel->findMap(map), 0)); } else if (m_missionMapModel->mapExists(map)) { + m_missingMap = false; changeMapType(MapModel::MissionMap, m_missionMapModel->index(m_missionMapModel->findMap(map), 0)); } else { qDebug() << "HWMapContainer::intSetMap: Map doesn't exist: " << map; + m_missingMap = true; + m_curMap = map; + m_mapInfo.name = map; + setMapNameLabel(map, false); + if (m_mapInfo.type == MapModel::StaticMap) + setupStaticMapsView(m_curMap); + else if (m_mapInfo.type == MapModel::MissionMap) + setupMissionMapsView(m_curMap); + else + { + m_mapInfo.type = MapModel::StaticMap; + setupStaticMapsView(m_curMap); + changeMapType(m_mapInfo.type, QModelIndex()); + } + updatePreview(); } } void HWMapContainer::setMap(const QString & map) { - if ((m_mapInfo.type == MapModel::Invalid) || (map != m_mapInfo.name)) + if ((m_mapInfo.type == MapModel::Invalid) || (map != m_mapInfo.name) || m_missingMap) intSetMap(map); } @@ -510,7 +605,7 @@ if(mdl.size()) updateTheme(mdl.at(0)); else - intSetIconlessTheme(theme); + setMissingTheme(theme); } void HWMapContainer::setRandomMap() @@ -568,9 +663,9 @@ QAbstractItemModel * tmodel; if (m_withoutDLC) - tmodel = m_themeModel->withoutDLC(); + tmodel = m_themeModel->withoutDLCOrHidden(); else - tmodel = m_themeModel; + tmodel = m_themeModel->withoutHidden(); if(!tmodel->rowCount()) return; quint32 themeNum = rand() % tmodel->rowCount(); @@ -701,7 +796,8 @@ void HWMapContainer::showEvent(QShowEvent * event) { - if (!m_previewEnabled) { + if (!m_previewEnabled) + { m_previewEnabled = true; setRandomTheme(); updatePreview(); @@ -717,19 +813,22 @@ if (pMap) { - disconnect(pMap, 0, this, SLOT(setImage(const QPixmap))); + disconnect(pMap, 0, this, SLOT(onImageReceived(const QPixmap))); disconnect(pMap, 0, this, SLOT(setHHLimit(int))); + disconnect(pMap, 0, this, SLOT(onPreviewMapDestroyed(QObject *))); pMap = 0; } - QPixmap failIcon; + QPixmap failPixmap; + QIcon failIcon; switch(m_mapInfo.type) { case MapModel::Invalid: - failIcon = QPixmap(":/res/btnDisabled.png"); - mapPreview->setIcon(QIcon(failIcon)); - mapPreview->setIconSize(failIcon.size()); + // Map error image + failPixmap = QPixmap(":/res/missingMap.png"); + setImage(failPixmap, linearGradMapError, false); + lblDesc->clear(); break; case MapModel::GeneratedMap: case MapModel::GeneratedMaze: @@ -739,17 +838,32 @@ askForGeneratedPreview(); break; default: - QPixmap mapImage; - bool success = mapImage.load("physfs://Maps/" + m_mapInfo.name + "/preview.png"); - - if(!success) + // For maps loaded from image + if(m_missingMap) + { + // Map error image due to missing map + failPixmap = QPixmap(":/res/missingMap.png"); + setImage(failPixmap, linearGradMapError, false); + lblDesc->clear(); + break; + } + else { - mapPreview->setIcon(QIcon()); - return; + // Draw map preview + QPixmap mapImage; + bool success = mapImage.load("physfs://Maps/" + m_mapInfo.name + "/preview.png"); + + setHHLimit(m_mapInfo.limit); + if(!success) + { + // Missing preview image + QPixmap empty = QPixmap(m_previewSize); + empty.fill(Qt::transparent); + setImage(empty, linearGradNoPreview, true); + return; + } + setImage(mapImage); } - - hhLimit = m_mapInfo.limit; - addInfoToPreview(mapImage); } } @@ -769,7 +883,7 @@ { // restore theme selection // do this before map selection restore, because map may overwrite theme - if (!m_theme.isEmpty()) + if (!m_theme.isNull() && !m_theme.isEmpty()) { QModelIndexList mdl = m_themeModel->match(m_themeModel->index(0), Qt::DisplayRole, m_theme); if (mdl.size() > 0) @@ -779,7 +893,7 @@ } // restore map selection - if (!m_curMap.isEmpty()) + if (!m_curMap.isNull() && !m_curMap.isEmpty()) intSetMap(m_curMap); else updatePreview(); @@ -839,6 +953,7 @@ { staticMapList->hide(); missionMapList->hide(); + teMapName->hide(); lblMapList->hide(); generationStyles->hide(); mazeStyles->hide(); @@ -883,7 +998,15 @@ missionMapChanged(newMap.isValid() ? newMap : missionMapList->currentIndex()); lblMapList->setText(tr("Mission:")); lblMapList->show(); - missionMapList->show(); + setMapNameLabel(m_curMap, !m_missingMap); + if(m_master) + { + missionMapList->show(); + } + else + { + teMapName->show(); + } mapFeatureSize->hide(); lblDesc->setText(m_mapInfo.desc); lblDesc->show(); @@ -895,8 +1018,16 @@ staticMapChanged(newMap.isValid() ? newMap : staticMapList->currentIndex()); lblMapList->setText(tr("Map:")); lblMapList->show(); + setMapNameLabel(m_curMap, !m_missingMap); + if(m_master) + { + staticMapList->show(); + } + else + { + teMapName->show(); + } mapFeatureSize->hide(); - staticMapList->show(); emit mapChanged(m_curMap); break; case MapModel::FortsMap: @@ -984,12 +1115,10 @@ { m_theme = selectedTheme = current.data(ThemeModel::ActualNameRole).toString(); m_themeID = current.row(); - QIcon icon = qVariantValue(current.data(Qt::DecorationRole)); - //QSize iconSize = icon.actualSize(QSize(65535, 65535)); - //btnTheme->setFixedHeight(64); - //btnTheme->setIconSize(iconSize); + QIcon icon = current.data(Qt::DecorationRole).value(); btnTheme->setIcon(icon); - btnTheme->setText(tr("Theme: %1").arg(current.data(Qt::DisplayRole).toString())); + QString themeLabel = tr("Theme: %1").arg(current.data(Qt::DisplayRole).toString()); + btnTheme->setText(themeLabel); updateThemeButtonSize(); } @@ -1008,24 +1137,31 @@ { QListView * mapList; - if (type == 0) mapList = staticMapList; - else if (type == 1) mapList = missionMapList; - else return; + if (type == 0) + { + mapList = staticMapList; + m_mapInfo.type = MapModel::StaticMap; + } + else if (type == 1) + { + mapList = missionMapList; + m_mapInfo.type = MapModel::MissionMap; + } + else + return; // Make sure it is a valid index if (!map.isValid()) { + // Make sure there's always a valid selection in the map list if (old.isValid()) { mapList->setCurrentIndex(old); mapList->scrollTo(old); } - else - { - m_mapInfo.type = MapModel::Invalid; - updatePreview(); - } - + m_mapInfo.type = MapModel::Invalid; + m_missingMap = true; + updatePreview(); return; } @@ -1035,6 +1171,11 @@ mapList->setCurrentIndex(map); mapList->scrollTo(map); } + if (m_missingMap) + { + m_missingMap = false; + updatePreview(); + } Q_ASSERT(map.data(Qt::UserRole + 1).canConvert()); // Houston, we have a problem. setMapInfo(map.data(Qt::UserRole + 1).value()); @@ -1046,9 +1187,9 @@ m_curMap = m_mapInfo.name; // the map has no pre-defined theme, so let's use the selected one - if (m_mapInfo.theme.isEmpty()) + if (m_mapInfo.theme.isNull() || m_mapInfo.theme.isEmpty()) { - if (!selectedTheme.isEmpty()) + if (!selectedTheme.isNull() && !selectedTheme.isEmpty()) { setTheme(selectedTheme); emit themeChanged(selectedTheme); @@ -1068,7 +1209,8 @@ void HWMapContainer::loadDrawing() { - QString fileName = QFileDialog::getOpenFileName(NULL, tr("Load drawn map"), ".", tr("Drawn Maps") + " (*.hwmap);;" + tr("All files") + " (*)"); + QString loadDir = QDir(cfgdir->absolutePath() + "/DrawnMaps").absolutePath(); + QString fileName = QFileDialog::getOpenFileName(this, tr("Load drawn map"), loadDir, tr("Drawn Maps") + " (*.hwmap);;" + tr("All files") + " (*)"); if(fileName.isEmpty()) return; @@ -1109,18 +1251,69 @@ foreach (QWidget *widget, m_childWidgets) widget->setEnabled(master); + + if(m_mapInfo.type == MapModel::StaticMap) + { + teMapName->setHidden(master); + staticMapList->setVisible(master); + } + else if(m_mapInfo.type == MapModel::MissionMap) + { + teMapName->setHidden(master); + missionMapList->setVisible(master); + } + + if(master) + { + // Room delegation cleanup if we get room control. + + if(m_missingMap) + { + // Reset map if we don't have the host's map + m_missingMap = false; + if(m_mapInfo.type == MapModel::MissionMap) + { + missionMapList->selectionModel()->setCurrentIndex(m_missionMapModel->index(0, 0), QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent); + } + else + { + if(m_mapInfo.type != MapModel::StaticMap) + { + changeMapType(MapModel::StaticMap); + } + staticMapList->selectionModel()->setCurrentIndex(m_staticMapModel->index(0, 0), QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent); + } + } + else + { + // Set random theme if we don't have it + QModelIndexList mdl = m_themeModel->match(m_themeModel->index(0), ThemeModel::ActualNameRole, m_theme); + if(!mdl.size()) + setRandomTheme(); + } + } + else + { + setMapNameLabel(m_curMap, true); + } } -void HWMapContainer::intSetIconlessTheme(const QString & name) +void HWMapContainer::setMissingTheme(const QString & name) { - if (name.isEmpty()) return; + if (name.isNull() || name.isEmpty()) return; m_theme = name; - btnTheme->setIcon(QIcon()); - btnTheme->setText(tr("Theme: %1").arg(name)); + QPixmap pixMissing = QPixmap(":/res/missingTheme@2x.png"); + QIcon iconMissing = QIcon(); + iconMissing.addPixmap(pixMissing, QIcon::Normal); + iconMissing.addPixmap(pixMissing, QIcon::Disabled); + btnTheme->setIcon(iconMissing); + // Question mark in front of theme name denotes it's missing + btnTheme->setText(tr("Theme: %1").arg("?" + name)); + updateThemeButtonSize(); } -void HWMapContainer::setupMissionMapsView() +void HWMapContainer::setupMissionMapsView(const QString & initialMap) { if(m_missionsViewSetup) return; m_missionsViewSetup = true; @@ -1133,10 +1326,13 @@ SIGNAL(currentRowChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(missionMapChanged(const QModelIndex &, const QModelIndex &))); - missionSelectionModel->setCurrentIndex(m_missionMapModel->index(0, 0), QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent); + int m = 0; + if(!initialMap.isNull()) + m = m_missionMapModel->findMap(initialMap); + missionSelectionModel->setCurrentIndex(m_missionMapModel->index(m, 0), QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent); } -void HWMapContainer::setupStaticMapsView() +void HWMapContainer::setupStaticMapsView(const QString & initialMap) { if(m_staticViewSetup) return; m_staticViewSetup = true; @@ -1149,5 +1345,25 @@ SIGNAL(currentRowChanged(const QModelIndex &, const QModelIndex &)), this, SLOT(staticMapChanged(const QModelIndex &, const QModelIndex &))); - staticSelectionModel->setCurrentIndex(m_staticMapModel->index(0, 0), QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent); + int m = 0; + if(!initialMap.isNull()) + m = m_staticMapModel->findMap(initialMap); + staticSelectionModel->setCurrentIndex(m_staticMapModel->index(m, 0), QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent); } + +// Call this function instead of setting the text of the map name label +// directly. +void HWMapContainer::setMapNameLabel(QString mapName, bool validMap) +{ + // Cut off insanely long names to be displayed + if(mapName.length() >= 90) + { + mapName.truncate(84); + mapName.append(" (...)"); + } + teMapName->setPlainText(mapName); + if(validMap) + teMapName->setStyleSheet("background-color: transparent;"); + else + teMapName->setStyleSheet("background-color: transparent; color: #b50000;"); +} diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/mapContainer.h --- a/QTfrontend/ui/widget/mapContainer.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/mapContainer.h Sun Jun 10 19:12:26 2018 +0200 @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -99,12 +100,11 @@ void drawnMapChanged(const QByteArray & data); private slots: - void setImage(const QPixmap & newImage); + void onImageReceived(const QPixmap & newImage); void setHHLimit(int hhLimit); void setRandomSeed(); void setRandomTheme(); void setRandomMap(); - void addInfoToPreview(const QPixmap & image); void setNewSeed(const QString & newSeed); void mapTypeChanged(int); void showThemePrompt(); @@ -147,6 +147,7 @@ QComboBox * cType; QListView * staticMapList; QListView * missionMapList; + QTextEdit * teMapName; QListWidget * generationStyles; QListWidget * mazeStyles; QLabel * lblMapList; @@ -158,12 +159,14 @@ QPushButton * btnRandTheme; QString selectedTheme; QPushButton * btnSeed; + QHBoxLayout * twoColumnLayout; bool m_master; QList m_childWidgets; bool m_previewEnabled; bool m_missionsViewSetup; bool m_staticViewSetup; bool m_withoutDLC; + bool m_missingMap; void intSetSeed(const QString & seed); void intSetMap(const QString & map); @@ -171,15 +174,20 @@ void intSetTemplateFilter(int); void intSetMazeSize(int size); void intSetFeatureSize(int size); - void intSetIconlessTheme(const QString & name); + void setMissingTheme(const QString & name); void mapChanged(const QModelIndex & map, int type, const QModelIndex & old = QModelIndex()); + void setImage(const QPixmap & newImage); + void setImage(const QPixmap & newImage, const QLinearGradient & linearGrad, bool showHHLimit); + void addInfoToPreview(const QPixmap & image); + void addInfoToPreview(const QPixmap & image, const QLinearGradient & linearGrad, bool drawHHLimit); void setMapInfo(MapModel::MapInfo mapInfo); void changeMapType(MapModel::MapType type, const QModelIndex & newMap = QModelIndex()); void updateHelpTexts(MapModel::MapType type); void updatePreview(); void updateThemeButtonSize(); - void setupMissionMapsView(); - void setupStaticMapsView(); + void setupMissionMapsView(const QString & initialMap = QString()); + void setupStaticMapsView(const QString & initialMap = QString()); + void setMapNameLabel(QString mapName, bool validMap); MapModel::MapInfo m_mapInfo; int m_themeID; @@ -188,7 +196,10 @@ QString m_theme; QString m_curMap; - QLinearGradient linearGrad; ///< for preview background + QLinearGradient linearGradNormal; ///< for preview background + QLinearGradient linearGradLoading; ///< for preview background while loading/generating map + QLinearGradient linearGradNoPreview; ///< for preview background when map preview image is missing + QLinearGradient linearGradMapError; ///< for preview background when map is missing QSize m_previewSize; }; diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/selectWeapon.cpp --- a/QTfrontend/ui/widget/selectWeapon.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/selectWeapon.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -21,6 +21,7 @@ #include "weaponItem.h" #include "hwconsts.h" +#include #include #include #include @@ -84,16 +85,63 @@ QFrame(parent), m_numItems(numItems) { - wconf = new QSettings(cfgdir->absolutePath() + "/weapons.ini", QSettings::IniFormat, this); + wconf = new QMap(); + for(int i = 0; i < cDefaultAmmos.size(); ++i) + { + wconf->insert(cDefaultAmmos[i].first, cDefaultAmmos[i].second); + } - for(int i = 0; i < cDefaultAmmos.size(); ++i) - wconf->setValue(cDefaultAmmos[i].first, cDefaultAmmos[i].second); + if (!QDir(cfgdir->absolutePath() + "/Schemes").exists()) { + QDir().mkdir(cfgdir->absolutePath() + "/Schemes"); + } + if (!QDir(cfgdir->absolutePath() + "/Schemes/Ammo").exists()) { + qDebug("No /Schemes/Ammo directory found. Trying to import weapon schemes from weapons.ini."); + QDir().mkdir(cfgdir->absolutePath() + "/Schemes/Ammo"); + + QSettings old_wconf(cfgdir->absolutePath() + "/weapons.ini", QSettings::IniFormat); + + QStringList defaultAmmos; + for(int i = 0; i < cDefaultAmmos.size(); ++i) + { + defaultAmmos.append(cDefaultAmmos[i].first); + } - QStringList keys = wconf->allKeys(); - for(int i = 0; i < keys.size(); i++) - { - if (wconf->value(keys[i]).toString().size() != cDefaultAmmoStore->size()) - wconf->setValue(keys[i], fixWeaponSet(wconf->value(keys[i]).toString())); + QStringList keys = old_wconf.allKeys(); + int imported = 0; + for(int i = 0; i < keys.size(); i++) + { + if (!defaultAmmos.contains(keys[i])) { + wconf->insert(keys[i], fixWeaponSet(old_wconf.value(keys[i]).toString())); + QFile file(cfgdir->absolutePath() + "/Schemes/Ammo/" + keys[i] + ".hwa"); + if (file.open(QIODevice::WriteOnly)) { + QTextStream stream( &file ); + stream << old_wconf.value(keys[i]).toString() << endl; + file.close(); + } + imported++; + } + } + qDebug("%d weapon scheme(s) imported.", imported); + } else { + QStringList schemes = QDir(cfgdir->absolutePath() + "/Schemes/Ammo").entryList(QDir::Files); + + for(int i = 0; i < schemes.size(); i++) + { + QFile file(cfgdir->absolutePath() + "/Schemes/Ammo/" + schemes[i]); + QString config; + if (file.open(QIODevice::ReadOnly)) { + QTextStream stream( &file ); + stream >> config; + file.close(); + } + + // Chop off file name suffix + QString schemeName = schemes[i]; + if (schemeName.endsWith(".hwa", Qt::CaseInsensitive)) { + schemeName.chop(4); + } + wconf->insert(schemeName, fixWeaponSet(config)); + } } QString currentState = *cDefaultAmmoStore; @@ -159,10 +207,13 @@ { bool enable = true; for(int i = 0; i < cDefaultAmmos.size(); i++) + { if (!cDefaultAmmos[i].first.compare(m_name->text())) { enable = false; + break; } + } for(int i = 0; i < m_numItems; ++i) { twi::iterator it = weaponItems.find(i); @@ -182,10 +233,12 @@ void SelWeaponWidget::setDefault() { for(int i = 0; i < cDefaultAmmos.size(); i++) + { if (!cDefaultAmmos[i].first.compare(m_name->text())) { return; } + } setWeapons(*cDefaultAmmoStore); } @@ -250,7 +303,13 @@ // remove old entry wconf->remove(curWeaponsName); } - wconf->setValue(m_name->text(), stateFull); + wconf->insert(m_name->text(), stateFull); + QFile file(cfgdir->absolutePath() + "/Schemes/Ammo/" + m_name->text()+ ".hwa"); + if (file.open(QIODevice::WriteOnly)) { + QTextStream stream( &file ); + stream << stateFull << endl; + file.close(); + } emit weaponsEdited(curWeaponsName, m_name->text(), stateFull); } @@ -262,7 +321,7 @@ QString SelWeaponWidget::getWeaponsString(const QString& name) const { - return wconf->value(name).toString(); + return wconf->find(name).value(); } void SelWeaponWidget::deleteWeaponsName() @@ -271,6 +330,7 @@ if (delWeaponsName == "") return; for(int i = 0; i < cDefaultAmmos.size(); i++) + { if (!cDefaultAmmos[i].first.compare(delWeaponsName)) { QMessageBox deniedMsg(this); @@ -281,6 +341,7 @@ deniedMsg.exec(); return; } + } QMessageBox reallyDeleteMsg(this); reallyDeleteMsg.setIcon(QMessageBox::Question); @@ -293,6 +354,7 @@ { isDeleting = true; wconf->remove(delWeaponsName); + QFile(cfgdir->absolutePath() + "/Schemes/Ammo/" + curWeaponsName + ".hwa").remove(); emit weaponsDeleted(delWeaponsName); } } @@ -308,7 +370,7 @@ while(wconf->contains(newName = tr("New (%1)").arg(i++))) ; } setWeaponsName(newName); - wconf->setValue(newName, *cEmptyAmmoStore); + wconf->insert(newName, *cEmptyAmmoStore); emit weaponsAdded(newName, *cEmptyAmmoStore); } @@ -320,7 +382,7 @@ if(name != "" && wconf->contains(name)) { - setWeapons(wconf->value(name).toString()); + setWeapons(wconf->find(name).value()); } else { @@ -337,7 +399,7 @@ QStringList SelWeaponWidget::getWeaponNames() const { - return wconf->allKeys(); + return wconf->keys(); } void SelWeaponWidget::copy() @@ -355,7 +417,7 @@ } setWeaponsName(newName); setWeapons(ammo); - wconf->setValue(newName, ammo); + wconf->insert(newName, ammo); emit weaponsAdded(newName, ammo); } } @@ -374,7 +436,9 @@ ; for(int i = sl.length() - 1; i >= 0; --i) + { sl[i] = sl[i].leftJustified(neededLength, '0', true); + } return sl.join(QString()); } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/selectWeapon.h --- a/QTfrontend/ui/widget/selectWeapon.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/selectWeapon.h Sun Jun 10 19:12:26 2018 +0200 @@ -80,7 +80,7 @@ QLineEdit* m_name; //storage for all the weapons sets - QSettings* wconf; + QMap* wconf; const int m_numItems; int operator [] (unsigned int weaponIndex) const; diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/teamselect.cpp --- a/QTfrontend/ui/widget/teamselect.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/teamselect.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -250,16 +250,7 @@ if (maxHeight > 0) area->setMaximumHeight(maxHeight); if (setFrame) - { - area->setStyleSheet( - "FrameTeams{" - "border: solid;" - "border-width: 1px;" - "border-radius: 16px;" - "border-color: #ffcc00;" - "}" - ); - } + pfteams->setDecoFrameEnabled(true); } TeamSelWidget::TeamSelWidget(QWidget* parent) : diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/teamselhelper.cpp --- a/QTfrontend/ui/widget/teamselhelper.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/teamselhelper.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -57,15 +57,6 @@ butt->setFlat(true); butt->setToolTip(team.owner()); mainLayout.addWidget(butt); - butt->setStyleSheet("QPushButton{" - "icon-size: 48px;" - "text-align: left;" - "background-color: #0d0544;" - "color: orange;" - "font: bold;" - "border-width: 2px;" - "margin: 6px 0px 6px 0px;" - "}"); if(m_isPlaying) { diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/themeprompt.cpp --- a/QTfrontend/ui/widget/themeprompt.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/themeprompt.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -68,11 +68,13 @@ setStyleSheet("QPushButton { padding: 5px; margin-top: 10px; }"); - // Theme model, and a model for setting a filter + // Theme model ThemeModel * themeModel = DataManager::instance().themeModel(); - filterModel = new QSortFilterProxyModel(); - filterModel->setSourceModel(themeModel); + filterModel = themeModel->withoutHidden(); + // Custom filter extension filterModel->setFilterCaseSensitivity(Qt::CaseInsensitive); + // Reset search field + filterModel->setFilterFixedString(QString()); // Grid QGridLayout * dialogLayout = new QGridLayout(this); @@ -119,7 +121,7 @@ // Cancel button (closes dialog) QPushButton * btnCancel = new QPushButton(tr("Cancel")); - connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject())); + connect(btnCancel, SIGNAL(clicked()), this, SLOT(onRejected())); // Select button QPushButton * btnSelect = new QPushButton(tr("Use selected theme")); @@ -168,9 +170,16 @@ list->moveRight(); } +void ThemePrompt::onRejected() +{ + reject(); + filterModel->setFilterFixedString(QString()); +} + void ThemePrompt::onAccepted() { themeChosen(list->currentIndex()); + filterModel->setFilterFixedString(QString()); } // When a theme is selected diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/themeprompt.h --- a/QTfrontend/ui/widget/themeprompt.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/themeprompt.h Sun Jun 10 19:12:26 2018 +0200 @@ -54,6 +54,7 @@ private slots: void onAccepted(); + void onRejected(); void themeChosen(const QModelIndex & index); void filterChanged(const QString & text); void moveUp(); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/togglebutton.cpp --- a/QTfrontend/ui/widget/togglebutton.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/togglebutton.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -24,20 +24,32 @@ { setCheckable(true); - QPixmap pm(":/res/btnDisabled.png"); + QPixmap pixOffOverlay(":/res/btnDisabled.png"); QPainter * painter = new QPainter(); - pmChecked.load(img); - pmDisabled.load(img); + QPixmap pixOn = QPixmap(img); + QPixmap pixOff = QPixmap(img); - setMaximumWidth(pmChecked.width() + 6); + // Use the same image for disabled (i.e. non-clickable) button. + // The default would be gray which is a little bit hard on the eye. + // The disabled state is communicated to the user by the button + // border, which turns gray. + icoChecked.addPixmap(pixOn, QIcon::Normal); + icoChecked.addPixmap(pixOn, QIcon::Disabled); - painter->begin(&pmDisabled); - painter->drawPixmap(pmDisabled.rect(), pm); + pixOff.setDevicePixelRatio(pixOffOverlay.devicePixelRatio()); + + setMaximumWidth(pixOn.width() + 6); + + painter->begin(&pixOff); + painter->drawPixmap(pixOff.rect(), pixOffOverlay); painter->end(); - setIconSize(pmDisabled.size()); - setIcon(pmDisabled); + icoUnchecked.addPixmap(pixOff, QIcon::Normal); + icoUnchecked.addPixmap(pixOff, QIcon::Disabled); + + setIconSize(pixOff.size()); + setIcon(icoUnchecked); connect(this, SIGNAL(toggled(bool)), this, SLOT(eventToggled(bool))); } @@ -48,5 +60,5 @@ void ToggleButtonWidget::eventToggled(bool checked) { - setIcon(checked ? pmChecked : pmDisabled); + setIcon(checked ? icoChecked : icoUnchecked); } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/ui/widget/togglebutton.h --- a/QTfrontend/ui/widget/togglebutton.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/ui/widget/togglebutton.h Sun Jun 10 19:12:26 2018 +0200 @@ -25,6 +25,7 @@ #include #include #include +#include class ToggleButtonWidget : public QPushButton { @@ -33,8 +34,8 @@ ToggleButtonWidget(QWidget * parent, QString img); ~ToggleButtonWidget(); private: - QPixmap pmChecked; - QPixmap pmDisabled; + QIcon icoUnchecked; + QIcon icoChecked; private slots: void eventToggled(bool checked); }; diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/util/DataManager.cpp --- a/QTfrontend/util/DataManager.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/util/DataManager.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -172,11 +172,11 @@ { if(m_settingsFileName.isEmpty()) { - QFile settingsFile("physfs://settings.ini"); + QFile settingsFile(cfgdir->absoluteFilePath("settings.ini")); if(!settingsFile.exists()) { - QFile oldSettingsFile("physfs://hedgewars.ini"); + QFile oldSettingsFile(cfgdir->absoluteFilePath("hedgewars.ini")); settingsFile.open(QFile::WriteOnly); settingsFile.close(); diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/util/FileEngine.h --- a/QTfrontend/util/FileEngine.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/util/FileEngine.h Sun Jun 10 19:12:26 2018 +0200 @@ -1,9 +1,7 @@ #ifndef _FileEngine_h #define _FileEngine_h -#include -#include -#include +#include #include #include "physfs.h" diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/util/LibavInteraction.cpp --- a/QTfrontend/util/LibavInteraction.cpp Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/util/LibavInteraction.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -302,26 +302,64 @@ if (!pCodec) continue; + + AVCodec* pDecoder = avcodec_find_decoder(pCodec->codec_id); + QString decoderName = pDecoder ? pDecoder->name : tr("unknown"); if (pCodec->codec_type == AVMEDIA_TYPE_VIDEO) { - desc += QString(tr("Video: %1x%2")).arg(pCodec->width).arg(pCodec->height) + ", "; if (pStream->avg_frame_rate.den) { float fps = float(pStream->avg_frame_rate.num)/pStream->avg_frame_rate.den; - desc += QString(tr("%1 FPS")).arg(fps, 0, 'f', 2) + ", "; + //: Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + desc += QString(tr("Video: %1x%2, %3 FPS, %4")).arg(pCodec->width).arg(pCodec->height).arg(QLocale().toString(fps, 'f', 2)).arg(decoderName); + } + else + { + //: Video metadata. %1 = video width, %2 = video height, %3 = decoder name + desc += QString(tr("Video: %1x%2, %3")).arg(pCodec->width).arg(pCodec->height).arg(decoderName); } } else if (pCodec->codec_type == AVMEDIA_TYPE_AUDIO) + { desc += tr("Audio: "); + desc += decoderName; + } else continue; - AVCodec* pDecoder = avcodec_find_decoder(pCodec->codec_id); - desc += pDecoder? pDecoder->name : tr("unknown"); desc += "\n"; } AVDictionaryEntry* pComment = av_dict_get(pContext->metadata, "comment", NULL, 0); if (pComment) - desc += QString("\n") + pComment->value; + { + // Video comment. We expect a simple key value storage in a particular format + // and parse it here so the key names can be localized. + desc += QString("\n"); + QStringList strings = QString(pComment->value).split('\n'); + QString sPlayer, sTheme, sMap, sRecord; + for(int i=0; i < strings.count(); i++) + { + QString s = strings.at(i); + // Original key names are in English, like: + // Key: Value + if (s.startsWith("Player: ")) + sPlayer = QString(s.mid(8)); + else if (s.startsWith("Theme: ")) + sTheme = QString(s.mid(7)); + else if (s.startsWith("Map: ")) + sMap = QString(s.mid(5)); + else if (s.startsWith("Record: ")) + sRecord = QString(s.mid(8)); + } + if(!sPlayer.isNull()) + desc += QString(tr("Player: %1")).arg(sPlayer) + "\n"; + if(!sTheme.isNull()) + desc += QString(tr("Theme: %1")).arg(sTheme) + "\n"; + if(!sMap.isNull()) + desc += QString(tr("Map: %1")).arg(sMap) + "\n"; + if(!sRecord.isNull()) + //: As in ‘recording’ + desc += QString(tr("Record: %1")).arg(sRecord); + } avformat_close_input(&pContext); return desc; } diff -r 6e8b807bda4b -r ba39a1d396c0 QTfrontend/weapons.h --- a/QTfrontend/weapons.h Sun Jun 10 18:56:51 2018 +0200 +++ b/QTfrontend/weapons.h Sun Jun 10 19:12:26 2018 +0200 @@ -16,10 +16,10 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#define AMMOLINE_EMPTY_QT "0000009000000000000000000000000000000000000000000000000000" -#define AMMOLINE_EMPTY_PROB "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_EMPTY_DELAY "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_EMPTY_CRATE "1311110312111111123114111111111111111211111111111111111111" +#define AMMOLINE_EMPTY_QT "00000090000000000000000000000000000000000000000000000000000" +#define AMMOLINE_EMPTY_PROB "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_EMPTY_DELAY "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_EMPTY_CRATE "13111103121111111231141111111111111112111111111111111111111" /* AmmoType lookup table (use monospace font / cursor movements) @@ -82,63 +82,64 @@ amRubber-------------------------------------------------------------------------------| amAirMine-------------------------------------------------------------------------------| amDuck-----------------------------------------------------------------------------------| + amMinigun---------------------------------------------------------------------------------| */ -#define AMMOLINE_DEFAULT_QT "9391929422199121032235111001200000000211100101011111000102" -#define AMMOLINE_DEFAULT_PROB "0405040541600655546554464776576666666155510101115411111114" -#define AMMOLINE_DEFAULT_DELAY "0000000000000205500000040007004000000000220000000600020000" -#define AMMOLINE_DEFAULT_CRATE "1311110312111111123114111111111111111211111111111111111111" +#define AMMOLINE_DEFAULT_QT "93919294221991210322351110012000000002111001010111110001000" +#define AMMOLINE_DEFAULT_PROB "04050405416006555465544647765766666661555101011154111111107" +#define AMMOLINE_DEFAULT_DELAY "00000000000002055000000400070040000000002200000006000200000" +#define AMMOLINE_DEFAULT_CRATE "13111103121111111231141111111111111112111111111111111111111" -#define AMMOLINE_CRAZY_QT "9999999999999999992999999999999999299999999999999992999199" -#define AMMOLINE_CRAZY_PROB "1111110111111111111111111111111111111111111111111111111111" -#define AMMOLINE_CRAZY_DELAY "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_CRAZY_CRATE "1311110312111111123114111111111111111211111111111111111111" +#define AMMOLINE_CRAZY_QT "99999999999999999929999999999999992999999999999999929991999" +#define AMMOLINE_CRAZY_PROB "11111101111111111111111111111111111111111111111111111111111" +#define AMMOLINE_CRAZY_DELAY "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_CRAZY_CRATE "13111103121111111231141111111111111112111111111111111111111" -#define AMMOLINE_PROMODE_QT "9090009000000000000009000000000000000000000000000000000000" -#define AMMOLINE_PROMODE_PROB "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_PROMODE_DELAY "0000000000000205500000040007004000000000200000000000020000" -#define AMMOLINE_PROMODE_CRATE "1111110111111111111111111111111111111111111111111111111111" +#define AMMOLINE_PROMODE_QT "90900090000000000000090000000000000000000000000000000000000" +#define AMMOLINE_PROMODE_PROB "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_PROMODE_DELAY "00000000000002055000000400070040000000002000000000000200000" +#define AMMOLINE_PROMODE_CRATE "11111101111111111111111111111111111111111111111111111111111" -#define AMMOLINE_SHOPPA_QT "0000009900000000000000000000000000000000000000000000000000" -#define AMMOLINE_SHOPPA_PROB "4444410044244402210112121222422000000002000400010011001011" -#define AMMOLINE_SHOPPA_DELAY "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_SHOPPA_CRATE "1111110111111111111111111111111111111111111111111111111111" +#define AMMOLINE_SHOPPA_QT "00000099000000000000000000000000000000000000000000000000000" +#define AMMOLINE_SHOPPA_PROB "44444100442444022101121212224220000000020004000100110010101" +#define AMMOLINE_SHOPPA_DELAY "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_SHOPPA_CRATE "11111101111111111111111111111111111111111111111111111111111" -#define AMMOLINE_CLEAN_QT "1010009000010000011000000000000000000000000000001000000000" -#define AMMOLINE_CLEAN_PROB "0405040541600655546554464776576666666155510101115411121114" -#define AMMOLINE_CLEAN_DELAY "0000000000000000000000000000000000000000000000000000020000" -#define AMMOLINE_CLEAN_CRATE "1311110312111111123114111111111111111211111111111111111111" +#define AMMOLINE_CLEAN_QT "10100090000100000110000000000000000000000000000010000000000" +#define AMMOLINE_CLEAN_PROB "04050405416006555465544647765766666661555101011154111211104" +#define AMMOLINE_CLEAN_DELAY "00000000000000000000000000000000000000000000000000000200000" +#define AMMOLINE_CLEAN_CRATE "13111103121111111231141111111111111112111111111111111111111" -#define AMMOLINE_MINES_QT "0000009900090000000300000000000000000000000000000000000000" -#define AMMOLINE_MINES_PROB "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_MINES_DELAY "0000000000000205500000040007004000000000200000000600020000" -#define AMMOLINE_MINES_CRATE "1111110111111111111111111111111111111111111111111111111111" +#define AMMOLINE_MINES_QT "00000099000900000003000000000000000000000000000000000000000" +#define AMMOLINE_MINES_PROB "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_MINES_DELAY "00000000000002055000000400070040000000002000000006000200000" +#define AMMOLINE_MINES_CRATE "11111101111111111111111111111111111111111111111111111111111" -#define AMMOLINE_PORTALS_QT "9000009002000000002100000000000000110000090000000000000000" -#define AMMOLINE_PORTALS_PROB "0405040541600655546554464776576666666155510101115411121112" -#define AMMOLINE_PORTALS_DELAY "0000000000000205500000040007004000000000200000000600020000" -#define AMMOLINE_PORTALS_CRATE "1311110312111111123114111111111111111211111111111111111111" +#define AMMOLINE_PORTALS_QT "90000090020000000021000000000000001100000900000000000000000" +#define AMMOLINE_PORTALS_PROB "04050405416006555465544647765766666661555101011154111211102" +#define AMMOLINE_PORTALS_DELAY "00000000000002055000000400070040000000002000000006000200000" +#define AMMOLINE_PORTALS_CRATE "13111103121111111231141111111111111112111111111111111111111" -#define AMMOLINE_ONEEVERY_QT "1111119111111111111111111111111111111111111111111111111111" -#define AMMOLINE_ONEEVERY_PROB "1111110111111111111111111111111111111111111111111111111111" -#define AMMOLINE_ONEEVERY_DELAY "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_ONEEVERY_CRATE "1111110111111111111111111111111111111111111111111111111111" +#define AMMOLINE_ONEEVERY_QT "11111191111111111111111111111111111111111111111111111111111" +#define AMMOLINE_ONEEVERY_PROB "11111101111111111111111111111111111111111111111111111111111" +#define AMMOLINE_ONEEVERY_DELAY "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_ONEEVERY_CRATE "11111101111111111111111111111111111111111111111111111111111" -#define AMMOLINE_HIGHLANDER_QT "1111119111111111111101911111111110010111110111100100101111" -#define AMMOLINE_HIGHLANDER_PROB "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_HIGHLANDER_DELAY "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_HIGHLANDER_CRATE "0000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_HIGHLANDER_QT "11111191111111111111019111111111100101111101111001001011101" +#define AMMOLINE_HIGHLANDER_PROB "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_HIGHLANDER_DELAY "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_HIGHLANDER_CRATE "00000000000000000090000000000000000000000000000000000000000" -#define AMMOLINE_CONSTRUCTION_QT "1100019000000010010000000000000000000000000000000000000000" -#define AMMOLINE_CONSTRUCTION_PROB "1111110111111111111111111111111111111111111111111111111111" -#define AMMOLINE_CONSTRUCTION_DELAY "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_CONSTRUCTION_CRATE "1111110111111111111111111111111111111111111111111111111111" +#define AMMOLINE_CONSTRUCTION_QT "11000190000000100100900000000000000000000000000000000000000" +#define AMMOLINE_CONSTRUCTION_PROB "11111101111111100100011111101111111111111101111100101110101" +#define AMMOLINE_CONSTRUCTION_DELAY "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_CONSTRUCTION_CRATE "11111101111111111111111111111111111111111111111111111111111" -#define AMMOLINE_SHOPPAPRO_QT "0000009900000000000000000000000000000000000000000000000000" -#define AMMOLINE_SHOPPAPRO_PROB "4444400044044400000000000000400000000000000000000000000000" -#define AMMOLINE_SHOPPAPRO_DELAY "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_SHOPPAPRO_CRATE "1111110111111111111111111111111111111111111111111111121111" +#define AMMOLINE_SHOPPAPRO_QT "00000099000000000000000000000000000000000000000000000000000" +#define AMMOLINE_SHOPPAPRO_PROB "44444000440444000000000000004000000000000000000000000000000" +#define AMMOLINE_SHOPPAPRO_DELAY "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_SHOPPAPRO_CRATE "11111101111111111111111111111111111111111111111111111211111" -#define AMMOLINE_HEDGEEDITOR_QT "0000009000000000000000000000000000000000000000000000000000" -#define AMMOLINE_HEDGEEDITOR_PROB "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_HEDGEEDITOR_DELAY "0000000000000000000000000000000000000000000000000000000000" -#define AMMOLINE_HEDGEEDITOR_CRATE "1111110111111111111111111111111111111111111111111111111111" +#define AMMOLINE_HEDGEEDITOR_QT "00000090000000000000000000000000000000000000000000000000000" +#define AMMOLINE_HEDGEEDITOR_PROB "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_HEDGEEDITOR_DELAY "00000000000000000000000000000000000000000000000000000000000" +#define AMMOLINE_HEDGEEDITOR_CRATE "11111101111111111111111111111111111111111111111111111111111" diff -r 6e8b807bda4b -r ba39a1d396c0 README.md --- a/README.md Sun Jun 10 18:56:51 2018 +0200 +++ b/README.md Sun Jun 10 19:12:26 2018 +0200 @@ -6,35 +6,38 @@ This is the funniest and most addictive game you'll ever play—hilarious fun that you can enjoy anywhere, anytime. **Hedgewars** is a **turn-based strategy game** but the real buzz is from watching the **devastation caused by those -pesky hedgehogs** with those fantastic weapons—sneaky little blighters with a -bad attitude! +pesky hedgehogs** with those fantastic weapons—sneaky little blighters with +a bad attitude! Each player controls a **team of up to 8 hedgehogs**. During the course of the game, players take turns with one of their hedgehogs. They then use whatever tools and weapons are available to **attack and kill the opponents' -hedgehogs**, thereby winning the game. Hedgehogs may move around the terrain -in a variety of ways, normally by walking and jumping but also by using -particular tools such as the rope or parachute, to move to otherwise -inaccessible areas. Each **turn is time-limited** to ensure that players do -not hold up the game with excessive thinking or moving. +hedgehogs**, thereby winning the game. + +To destroy your foes you can use one out of **over 40 weapons**! +Launch bazookas or homing bees, drop mines, dynamite or explosive rubber ducks, +throw grenades or watermelon bombs, poison them with stinky cheese, send them +flying with a baseball bat, and much more! -A large **variety of tools and weapons** are available for players during -the game. Hedgewars features the standard artillery-genre classics (such as -grenade, cluster bomb, bazooka, shotgun), but also boasts a host of other -weapons quite unique to it alone. +Most weapons cause **explosions that deform the terrain**, removing +circular chunks. Hedgehogs can die by drowning, being thrown off +either side of the arena, or when their health is reduced to zero. -Most weapons, when used, cause **explosions that deform the terrain**, -removing circular chunks. Hedgehogs can die by drowning, being thrown off -either side of the arena, or when their health is reduced to zero. +Hedgehogs may move around the terrain in a variety of ways, normally by +walking and jumping but also by using particular tools such as the rope +or parachute, to move to otherwise inaccessible areas. Each **turn is +time-limited** to ensure that players do not hold up the game with +excessive thinking or moving. Getting started --------------- -For complete beginners we recommend to start with the the first 2 or 3 -missions of the campaign “A Classic Fairytale” in the singleplayer menu. -It explains the basic controls and gameplay. - -Note that Hedgewars doesn't have a *complete* tutorial yet, but it is -planned to create one in future versions. +For complete beginners we recommend to play in singleplayer mode first. +Start with the Basic Movement Training found in the training menu. +Proceed with the other training missions. +After completing the training, try to play some quick matches against the +computer (also found in the singleplayer menu). +Hedgewars has many weapons, so play a few matches to get a better feeling +for them. In-depth information about the game can be found online: @@ -50,17 +53,20 @@ * Right mouse button: Open ammo menu * Left mouse button: Select target or weapon * Space bar: Shoot -* Left shift: Precise -* Left shift + Up/Down: Precise aiming +* Left shift: Precise (this is a modifier key) +* Precise + Up/Down: Precise aiming +* Precise + Left/Right: Turn around without walking +* Hold down Precise: Prevent slipping on ice * Enter: Jump * Backspace: High jump * Backspace ×2: Backjump * Tab: Switch hedgehog (after activating the utility) * 1-5: Set weapon timer * F1-F10: Weapon shortcuts -* P: Pause (also shows mission panel) +* P: Pause, when playing offline, toggle automatic turn skipping when online * Esc: Quit with prompt (also shows mission panel) * T: Chat +* U: Team chat For the full list, go to the Hedgewars settings. Also read the weapon tooltips for weapon-specific controls. @@ -70,12 +76,10 @@ These are lesser-known controls of Hedgewars, they are based on your configured controls: -* Confirm: Team chat (if not confirming quit) -* Hold down Precise: Prevent slipping on ice -* Precise + Left/Right: Turn around -* Precise + Toggle team bars: Change hedgehog tabs +* Precise + Toggle hedgehog tags: Change visible hedgehog tags (team name/hog name/health) +* Switch + Toggle hedgehog tags: Toggle hedgehog tag translucency * Precise + Toggle team bars + Switch: Toggle HUD -* Precise + Screenshot: Save current map + mask in Screenshot directory +* Precise + Capture (screenshot key): Save current map + mask into Screenshot directory Installation instructions ------------------------- @@ -112,7 +116,7 @@ images and sounds are distributed under the terms of the GNU Free Documentation Licence version 1.2. See the `COPYING` file for the full text of the licenses. -Copyright 2004-2015 Andrey Korotaev and others. +Copyright 2004-2018 Andrey Korotaev and others. See `QTfrontend/res/html/about.html` and `CREDITS` for a more complete list of authors. diff -r 6e8b807bda4b -r ba39a1d396c0 bin/CMakeLists.txt --- a/bin/CMakeLists.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/bin/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -1,9 +1,6 @@ if(WIN32 AND NOT UNIX) - file(GLOB DLLs *.dll) - file(GLOB ICOs *.ico) - - install(FILES - ${DLLs} - ${ICOs} - DESTINATION ${target_library_install_dir}) + install(DIRECTORY . + DESTINATION ${target_library_install_dir} + FILES_MATCHING PATTERN "*.dll" PATTERN "*.ico" + ) endif(WIN32 AND NOT UNIX) diff -r 6e8b807bda4b -r ba39a1d396c0 cmake_modules/CheckHaskellModuleExists.cmake --- a/cmake_modules/CheckHaskellModuleExists.cmake Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,55 +0,0 @@ -# Based on CheckLibraryExists.cmake from CMake -#============================================================================= -# Copyright 2002-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= - -macro(CHECK_HASKELL_MODULE_EXISTS MODULE FUNCTION PARAMCOUNT LIBRARY) - set(VARIABLE "HS_MODULE_${LIBRARY}_${FUNCTION}") - if(${VARIABLE} MATCHES ^${VARIABLE}$) - message(STATUS "Looking for ${FUNCTION} in ${MODULE}") - - set(PARAMETERS "") - - if(PARAMCOUNT GREATER 0) - foreach(__TRASH__ RANGE 1 ${PARAMCOUNT}) - set(PARAMETERS "${PARAMETERS} undefined") - endforeach() - endif() - - #set(PARAMETERS "") - - execute_process(COMMAND ${GHC_EXECUTABLE} - "-DMODULE=${MODULE}" - "-DFUNCTION=${FUNCTION}" - "-DPARAMETERS=${PARAMETERS}" - -hide-all-packages - -package ${LIBRARY} - -package base - -cpp - -c "${CMAKE_MODULE_PATH}/checkModule.hs" - RESULT_VARIABLE COMMAND_RESULT - ERROR_VARIABLE BUILD_ERROR - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - if(${COMMAND_RESULT} EQUAL 0) - message(STATUS "Looking for ${FUNCTION} in ${MODULE} - found") - set(${VARIABLE} 1 CACHE INTERNAL "Have module ${MODULE}") - file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log - "Determining if the function ${FUNCTION} exists in the ${MODULE} passed\n\n") - else() - message(STATUS "Looking for ${FUNCTION} in ${MODULE} - not found") - set(${VARIABLE} "" CACHE INTERNAL "Have module ${MODULE}") - file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log - "Determining if the function ${FUNCTION} exists in the ${MODULE} " - "failed with the following output:\n" - "${BUILD_ERROR}\n\n") - message(FATAL_ERROR "Haskell library '${LIBRARY}' required") - endif() - endif() -endmacro() diff -r 6e8b807bda4b -r ba39a1d396c0 cmake_modules/CheckHaskellPackageExists.cmake --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cmake_modules/CheckHaskellPackageExists.cmake Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,47 @@ +# Checks if a given Haskell package exists (using ghc-pkg) +# and fails if it's missing. +# Loosely based on CheckLibraryExists.cmake from CMake. +#============================================================================= +# Copyright 2002-2009 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= + +macro(CHECK_HASKELL_PACKAGE_EXISTS PACKAGE MODULE FUNCTION PARAMCOUNT) +# NOTE: MODULE, FUNCTION and PARAMCOUNT are curretly ignored. +# TODO: Either implement these or drop? + + set(VARIABLE "HS_PACKAGE_${PACKAGE}") + if(NOT (${VARIABLE} EQUAL "1")) + message(STATUS "Looking for Haskell package ${PACKAGE} ...") + + execute_process(COMMAND ${GHC_PKG_EXECUTABLE} + "latest" + ${PACKAGE} + "--simple-output" + RESULT_VARIABLE COMMAND_RESULT + ERROR_VARIABLE BUILD_ERROR + OUTPUT_STRIP_TRAILING_WHITESPACE + OUTPUT_QUIET + ) + + if(${COMMAND_RESULT} EQUAL 0) + message(STATUS "Looking for Haskell package ${PACKAGE} - found") + set(${VARIABLE} "1" CACHE INTERNAL "Have package ${PACKAGE}") + file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log + "Determining if the Haskell package ${PACKAGE} exists has passed\n\n") + else() + message(STATUS "Looking for Haskell package ${PACKAGE} - not found") + set(${VARIABLE} "0" CACHE INTERNAL "Have package ${PACKAGE}") + file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log + "Determining if the Haskell package ${PACKAGE} " + "exists failed with the following output:\n" + "${BUILD_ERROR}\n\n") + message(FATAL_ERROR "Haskell package '${PACKAGE}' required") + endif() + endif() +endmacro() diff -r 6e8b807bda4b -r ba39a1d396c0 cmake_modules/FindGHC.cmake --- a/cmake_modules/FindGHC.cmake Sun Jun 10 18:56:51 2018 +0200 +++ b/cmake_modules/FindGHC.cmake Sun Jun 10 19:12:26 2018 +0200 @@ -1,9 +1,10 @@ # - Try to find the Glasgow Haskell Compiler executable # Once done this will define # -# GHC_FOUND - system has GHC -# GHC_VERSION - GHC version -# GHC_EXECUTABLE - GHC executable +# GHC_VERSION - GHC version +# GHC_EXECUTABLE - GHC executable +# GHC_PKG_VERSION - ghc-pkg version +# GHC_PKG_EXECUTABLE - ghc-pkg executable # # Copyright (c) 2013, Vittorio Giovara # @@ -16,6 +17,11 @@ PATHS /opt/local/bin /usr/local/bin /usr/bin ) +find_program(GHC_PKG_EXECUTABLE + NAMES ghc-pkg + PATHS /opt/local/bin /usr/local/bin /usr/bin + ) + if (GHC_EXECUTABLE) # check ghc version execute_process(COMMAND ${GHC_EXECUTABLE} -V @@ -32,6 +38,22 @@ endif() endif() +if (GHC_PKG_EXECUTABLE) + # check ghc-pkg version + execute_process(COMMAND ${GHC_PKG_EXECUTABLE} -V + OUTPUT_VARIABLE GHC_PKG_VERSION_OUTPUT + ERROR_VARIABLE GHC_PKG_VERSION_ERROR + RESULT_VARIABLE GHC_PKG_VERSION_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + + if(${GHC_PKG_VERSION_RESULT} EQUAL 0) + string(REGEX MATCH "([0-9]+)" GHC_PKG_VERSION ${GHC_PKG_VERSION_OUTPUT}) + else() + message(SEND_ERROR "Command \"${GHC_PKG_EXECUTABLE} -V\" failed with output: ${GHC_PKG_VERSION_ERROR}") + endif() +endif() + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(GHC DEFAULT_MSG GHC_EXECUTABLE GHC_VERSION) mark_as_advanced(GHC_VERSION) diff -r 6e8b807bda4b -r ba39a1d396c0 cmake_modules/cpackvars.cmake --- a/cmake_modules/cpackvars.cmake Sun Jun 10 18:56:51 2018 +0200 +++ b/cmake_modules/cpackvars.cmake Sun Jun 10 19:12:26 2018 +0200 @@ -71,7 +71,7 @@ "hwengine\\\\.desktop$" "Info\\\\.plist$" #qt extra files - "moc_.*\\\\.cxx_parameters" + "moc_.*" "\\\\.qrc.depends$" "\\\\.qm$" #other cmake generated files diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer/CMakeLists.txt --- a/gameServer/CMakeLists.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -3,27 +3,25 @@ find_package_or_disable(GHC NOSERVER) -include(${CMAKE_MODULE_PATH}/CheckHaskellModuleExists.cmake) +include(${CMAKE_MODULE_PATH}/CheckHaskellPackageExists.cmake) -check_haskell_module_exists("Control.Exception" mask 1 base) -check_haskell_module_exists("Data.Map" size 1 containers) -check_haskell_module_exists("Data.Vector" length 1 vector) -check_haskell_module_exists("Data.ByteString" pack 1 bytestring) -check_haskell_module_exists("Network.BSD" getHostName 0 network) -check_haskell_module_exists("Data.Time" getCurrentTime 0 time) -check_haskell_module_exists("Control.Monad.State" fix 1 mtl) -check_haskell_module_exists("Codec.Binary.Base64" encode 1 sandi) -check_haskell_module_exists("System.Log.Logger" warningM 1 hslogger) -check_haskell_module_exists("System.Process" createProcess 3 process) -check_haskell_module_exists("Data.ByteString.Lazy.UTF8" decode 1 utf8-string) -check_haskell_module_exists("Data.Digest.Pure.SHA" sha1 1 SHA) -check_haskell_module_exists("System.Entropy" openHandle 0 entropy) -check_haskell_module_exists("Codec.Compression.Zlib" decompress 1 zlib) -check_haskell_module_exists("System.Random" getStdGen 0 random) -check_haskell_module_exists("Text.Regex.TDFA.ByteString" execute 2 regex-tdfa) - -# this one needs type signatures to work -# check_haskell_module_exists("Control.DeepSeq" deepseq 2 deepseq) +check_haskell_package_exists(base "Control.Exception" mask 1) +check_haskell_package_exists(containers "Data.Map" size 1) +check_haskell_package_exists(vector "Data.Vector" length 1) +check_haskell_package_exists(bytestring "Data.ByteString" pack 1) +check_haskell_package_exists(network "Network.BSD" getHostName 0) +check_haskell_package_exists(time "Data.Time" getCurrentTime 0) +check_haskell_package_exists(mtl "Control.Monad.State" fix 1) +check_haskell_package_exists(sandi "Codec.Binary.Base64" encode 1) +check_haskell_package_exists(hslogger "System.Log.Logger" warningM 1) +check_haskell_package_exists(process "System.Process" createProcess 3) +check_haskell_package_exists(utf8-string "Data.ByteString.Lazy.UTF8" decode 1) +check_haskell_package_exists(SHA "Data.Digest.Pure.SHA" sha1 1) +check_haskell_package_exists(entropy "System.Entropy" openHandle 0) +check_haskell_package_exists(zlib "Codec.Compression.Zlib" decompress 1) +check_haskell_package_exists(random "System.Random" getStdGen 0) +check_haskell_package_exists(regex-tdfa "Text.Regex.TDFA.ByteString" execute 2) +check_haskell_package_exists(deepseq "Control.DeepSeq" deepseq 2) diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer/CoreTypes.hs --- a/gameServer/CoreTypes.hs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer/CoreTypes.hs Sun Jun 10 19:12:26 2018 +0200 @@ -311,8 +311,8 @@ True False "

http://www.hedgewars.org/

" - "

Hedgewars 0.9.23 is out! Please update.

Download page here" - 53 -- latestReleaseVersion + "

Hedgewars 0.9.24 is out! Please update.

Download page here" + 55 -- latestReleaseVersion 41 -- earliestCompatibleVersion 46631 "" diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer/HWProtoInRoomState.hs --- a/gameServer/HWProtoInRoomState.hs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer/HWProtoInRoomState.hs Sun Jun 10 19:12:26 2018 +0200 @@ -57,7 +57,7 @@ , ModifyRoomClients (\c -> c{isInGame = True, teamIndexes = map snd . filter (\(t, _) -> teamowner t == nick c) $ zip (teams rm) [0..]}) ] else - return [Warning $ loc "Less than two clans!"] + return [Warning $ loc "The game can't be started with less than two clans!"] else return [] where @@ -77,20 +77,20 @@ handleCmd_inRoom ("CFG" : paramName : paramStrs) - | null paramStrs = return [ProtocolError $ loc "Empty config entry"] + | null paramStrs = return [ProtocolError $ loc "Empty config entry."] | otherwise = do chans <- roomOthersChans cl <- thisClient rm <- thisRoom if isSpecial rm then - return [Warning $ loc "Restricted"] + return [Warning $ loc "Access denied."] else if isMaster cl then return [ ModifyRoom $ f (clientProto cl), AnswerClients chans ("CFG" : paramName : paramStrs)] else - return [ProtocolError $ loc "Not room master"] + return [ProtocolError $ loc "You're not the room master!"] where f clproto r = if paramName `Map.member` (mapParams r) then r{mapParams = Map.insert paramName (head paramStrs) (mapParams r)} @@ -103,7 +103,7 @@ handleCmd_inRoom ("ADD_TEAM" : tName : color : grave : fort : voicepack : flag : difStr : hhsInfo) - | length hhsInfo /= 16 = return [ProtocolError $ loc "Corrupted hedgehogs info"] + | length hhsInfo /= 16 = return [ProtocolError $ loc "Corrupted hedgehogs info!"] | otherwise = do rm <- thisRoom cl <- thisClient @@ -125,15 +125,15 @@ let newTeam = clNick `seq` TeamInfo clNick tName teamColor grave fort voicepack flag (isRegistered cl) dif hhNum (hhsList hhsInfo) return $ if not . null . drop (teamsNumberLimit rm - 1) $ roomTeams then - [Warning $ loc "too many teams"] + [Warning $ loc "Too many teams!"] else if canAddNumber roomTeams <= 0 then - [Warning $ loc "too many hedgehogs"] + [Warning $ loc "Too many hedgehogs!"] else if isJust $ findTeam rm then - [Warning $ loc "There's already a team with same name in the list"] + [Warning $ loc "There's already a team with same name in the list."] else if isJust $ gameInfo rm then - [Warning $ loc "round in progress"] + [Warning $ loc "Joining not possible: Round is in progress."] else if isRestrictedTeams rm then - [Warning $ loc "restricted"] + [Warning $ loc "This room currently does not allow adding new teams."] else [ModifyRoom (\r -> r{teams = teams r ++ [newTeam]}), SendUpdateOnThisRoom, @@ -166,9 +166,9 @@ return $ if isNothing $ maybeTeam then - [Warning $ loc "REMOVE_TEAM: no such team"] + [Warning $ loc "Error: The team you tried to remove does not exist."] else if clNick /= teamowner team then - [ProtocolError $ loc "Not team owner!"] + [ProtocolError $ loc "You can't remove a team you don't own."] else [RemoveTeam tName, ModifyClient @@ -193,7 +193,7 @@ return $ if not $ isMaster cl then - [ProtocolError $ loc "Not room master"] + [ProtocolError $ loc "You're not the room master!"] else if isNothing maybeTeam then [] else if hhNumber < 1 || hhNumber > 8 || hhNumber > canAddNumber r + hhnum team then @@ -220,7 +220,7 @@ return $ if not $ isMaster cl then - [ProtocolError $ loc "Not room master"] + [ProtocolError $ loc "You're not the room master!"] else if isNothing maybeTeam || isNothing maybeClientId then [] else @@ -314,13 +314,13 @@ return $ if illegalName newName then - [Warning $ loc "Illegal room name"] + [Warning $ loc "Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|}"] else if isSpecial rm then - [Warning $ loc "Restricted"] + [Warning $ loc "Access denied."] else if isJust $ find (\r -> newName == name r) rs then - [Warning $ loc "Room with such name already exists"] + [Warning $ loc "A room with the same name already exists."] else [ModifyRoom roomUpdate, AnswerClients chans ("ROOM" : "UPD" : name rm : roomInfo (clientProto cl) (nick cl) (roomUpdate rm))] @@ -418,7 +418,7 @@ handleCmd_inRoom ["CALLVOTE", "KICK"] = do cl <- thisClient - return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "callvote kick: specify nickname"]] + return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "/callvote kick: You need to specify a nickname."]] handleCmd_inRoom ["CALLVOTE", "KICK", nickname] = do (thisClientId, rnc) <- ask @@ -434,7 +434,7 @@ if isJust maybeClientId && sameRoom then startVote $ VoteKick nickname else - return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "callvote kick: no such user"]] + return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "/callvote kick: No such user!"]] handleCmd_inRoom ["CALLVOTE", "MAP"] = do @@ -450,7 +450,7 @@ if Map.member roomSave $ roomSaves rm then startVote $ VoteMap roomSave else - return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "callvote map: no such map"]] + return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "/callvote map: No such map!"]] handleCmd_inRoom ["CALLVOTE", "PAUSE"] = do @@ -460,7 +460,7 @@ if isJust $ gameInfo rm then startVote VotePause else - return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "callvote pause: no game in progress"]] + return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "/callvote pause: No game in progress!"]] handleCmd_inRoom ["CALLVOTE", "NEWSEED"] = do @@ -469,7 +469,7 @@ handleCmd_inRoom ["CALLVOTE", "HEDGEHOGS"] = do cl <- thisClient - return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "callvote hedgehogs: specify number from 1 to 8"]] + return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "/callvote hedgehogs: Specify number from 1 to 8."]] handleCmd_inRoom ["CALLVOTE", "HEDGEHOGS", hhs] = do @@ -479,7 +479,7 @@ if h > 0 && h <= 8 then startVote $ VoteHedgehogsPerTeam h else - return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "callvote hedgehogs: specify number from 1 to 8"]] + return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "/callvote hedgehogs: Specify number from 1 to 8."]] handleCmd_inRoom ("VOTE" : m : p) = do @@ -488,7 +488,7 @@ if isJust b then voted (p == ["FORCE"]) (fromJust b) else - return [AnswerClients [sendChan cl] ["CHAT", "[server]", "vote: 'yes' or 'no'"]] + return [AnswerClients [sendChan cl] ["CHAT", "[server]", "/vote: Please use 'yes' or 'no'."]] handleCmd_inRoom ["SAVE", stateName, location] = serverAdminOnly $ do diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer/HWProtoLobbyState.hs --- a/gameServer/HWProtoLobbyState.hs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer/HWProtoLobbyState.hs Sun Jun 10 19:12:26 2018 +0200 @@ -49,12 +49,12 @@ return [AnswerClients s ["CHAT", n, msg], RegisterEvent LobbyChatMessage] handleCmd_lobby ["CREATE_ROOM", rName, roomPassword] - | illegalName rName = return [Warning $ loc "Illegal room name"] + | illegalName rName = return [Warning $ loc "Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|}"] | otherwise = do rs <- allRoomInfos cl <- thisClient return $ if isJust $ find (\r -> rName == name r) rs then - [Warning "Room exists"] + [Warning $ loc "A room with the same name already exists."] else [ AddRoom rName roomPassword @@ -90,15 +90,15 @@ let clTeamsNames = map teamname clTeams return $ if isNothing maybeRI then - [Warning $ loc "No such room"] + [Warning $ loc "No such room."] else if (not sameProto) && (not $ isAdministrator cl) then - [Warning $ loc "Room version incompatible to your hedgewars version"] + [Warning $ loc "Room version incompatible to your Hedgewars version!"] else if isRestrictedJoins jRoom && not (hasSuperPower cl) then - [Warning $ loc "Joining restricted"] + [Warning $ loc "Access denied. This room currently doesn't allow joining."] else if isRegisteredOnly jRoom && (not $ isRegistered cl) && not (isAdministrator cl) then - [Warning $ loc "Registered users only"] + [Warning $ loc "Access denied. This room is for registered users only."] else if isBanned then - [Warning $ loc "You are banned in this room"] + [Warning $ loc "You are banned from this room."] else if roomPassword /= password jRoom && not (hasSuperPower cl) then [NoticeMessage WrongPassword] else diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer/HWProtoNEState.hs --- a/gameServer/HWProtoNEState.hs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer/HWProtoNEState.hs Sun Jun 10 19:12:26 2018 +0200 @@ -34,9 +34,9 @@ handleCmd_NotEntered ["NICK", newNick] = do (ci, irnc) <- ask let cl = irnc `client` ci - if not . B.null $ nick cl then return [ProtocolError $ loc "Nickname already chosen"] + if not . B.null $ nick cl then return [ProtocolError $ loc "Nickname already provided."] else - if illegalName newNick then return [ByeClient $ loc "Illegal nickname"] + if illegalName newNick then return [ByeClient $ loc "Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|}"] else return $ ModifyClient (\c -> c{nick = newNick}) : @@ -46,9 +46,9 @@ handleCmd_NotEntered ["PROTO", protoNum] = do (ci, irnc) <- ask let cl = irnc `client` ci - if clientProto cl > 0 then return [ProtocolError $ loc "Protocol already known"] + if clientProto cl > 0 then return [ProtocolError $ loc "Protocol already known."] else - if parsedProto == 0 then return [ProtocolError $ loc "Bad number"] + if parsedProto == 0 then return [ProtocolError $ loc "Bad number."] else return $ ModifyClient (\c -> c{clientProto = parsedProto}) : @@ -90,7 +90,7 @@ (ci, irnc) <- ask let cl = irnc `client` ci - if parsedProto == 0 then return [ProtocolError $ loc "Bad number"] + if parsedProto == 0 then return [ProtocolError $ loc "Bad number."] else return $ [ ModifyClient (\c -> c{clientProto = parsedProto, nick = newNick, webPassword = password, isChecker = True}) diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer/Utils.hs --- a/gameServer/Utils.hs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer/Utils.hs Sun Jun 10 19:12:26 2018 +0200 @@ -72,6 +72,7 @@ else t : replaceTeam tm ts +-- NOTE: Don't forget to update the error messages when you change the naming rules! illegalName :: B.ByteString -> Bool illegalName b = B.null b || length s > 40 || all isSpace s || isSpace (head s) || isSpace (last s) || any isIllegalChar s where @@ -118,6 +119,8 @@ , (52, "0.9.23-dev") , (53, "0.9.23") , (54, "0.9.24-dev") + , (55, "0.9.24") + , (56, "0.9.25-dev") ] askFromConsole :: B.ByteString -> IO B.ByteString diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer/Votes.hs --- a/gameServer/Votes.hs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer/Votes.hs Sun Jun 10 19:12:26 2018 +0200 @@ -42,16 +42,16 @@ case voting rm of Nothing -> - return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "There's no voting going on"]] + return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "There's no voting going on."]] Just voting -> if (not forced) && (uid `L.notElem` entitledToVote voting) then return [] else if (not forced) && (uid `L.elem` map fst (votes voting)) then - return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "You already have voted"]] + return [AnswerClients [sendChan cl] ["CHAT", "[server]", loc "You already have voted."]] else if forced && (not $ isAdministrator cl) then return [] else - ((:) (AnswerClients [sendChan cl] ["CHAT", "[server]", loc "Your vote counted"])) + ((:) (AnswerClients [sendChan cl] ["CHAT", "[server]", loc "Your vote has been counted."])) <$> (actOnVoting $ voting{votes = (uid, vote):votes voting}) where @@ -73,7 +73,7 @@ closeVoting = do chans <- roomClientsChans return [ - AnswerClients chans ["CHAT", "[server]", loc "Voting closed"] + AnswerClients chans ["CHAT", "[server]", loc "Voting closed."] , ModifyRoom (\r -> r{voting = Nothing}) ] @@ -108,7 +108,7 @@ chans <- roomClientsChans let modifyGameInfo f room = room{gameInfo = fmap f $ gameInfo room} return [ModifyRoom (modifyGameInfo $ \g -> g{isPaused = not $ isPaused g}), - AnswerClients chans ["CHAT", "[server]", loc "Pause toggled"], + AnswerClients chans ["CHAT", "[server]", loc "Pause toggled."], AnswerClients chans ["EM", toEngineMsg "I"]] act (VoteNewSeed) = return [SetRandomSeed] @@ -162,7 +162,7 @@ modifyRoom rnc (\r -> r{voting = if voteTTL rv == 0 then Nothing else Just rv{voteTTL = voteTTL rv - 1}}) ri if voteTTL rv == 0 then do chans <- liftM (map sendChan) $ roomClientsM rnc ri - return [AnswerClients chans ["CHAT", "[server]", loc "Voting expired"]] + return [AnswerClients chans ["CHAT", "[server]", loc "Voting expired."]] else return [] Nothing -> return [] @@ -173,4 +173,4 @@ voteInfo (VoteMap n) = B.concat [loc "map", " ", n] voteInfo (VotePause) = B.concat [loc "pause"] voteInfo (VoteNewSeed) = B.concat [loc "new seed"] -voteInfo (VoteHedgehogsPerTeam i) = B.concat [loc "number of hedgehogs in team", " ", showB i] +voteInfo (VoteHedgehogsPerTeam i) = B.concat [loc "hedgehogs per team: ", " ", showB i] diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/Cargo.toml --- a/gameServer2/Cargo.toml Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/Cargo.toml Sun Jun 10 19:12:26 2018 +0200 @@ -11,3 +11,4 @@ nom = "3.2" env_logger = "0.4" log = "0.3.8" +proptest = "0.5.1" diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/main.rs --- a/gameServer2/src/main.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/main.rs Sun Jun 10 19:12:26 2018 +0200 @@ -1,3 +1,5 @@ +#![allow(unused_imports)] + extern crate rand; extern crate mio; extern crate slab; @@ -7,17 +9,20 @@ #[macro_use] extern crate log; extern crate env_logger; +#[macro_use] extern crate proptest; //use std::io::*; //use rand::Rng; //use std::cmp::Ordering; -use mio::tcp::*; +use mio::net::*; use mio::*; mod utils; mod server; mod protocol; +use server::network::NetworkLayer; + fn main() { env_logger::init().unwrap(); @@ -25,10 +30,10 @@ let address = "0.0.0.0:46631".parse().unwrap(); let listener = TcpListener::bind(&address).unwrap(); - let mut server = server::server::HWServer::new(listener, 1024, 512); let poll = Poll::new().unwrap(); - server.register(&poll).unwrap(); + let mut hw_network = NetworkLayer::new(listener, 1024, 512); + hw_network.register_server(&poll).unwrap(); let mut events = Events::with_capacity(1024); @@ -36,24 +41,24 @@ poll.poll(&mut events, None).unwrap(); for event in events.iter() { - if event.kind().is_readable() { + if event.readiness() & Ready::readable() == Ready::readable() { match event.token() { - utils::SERVER => server.accept(&poll).unwrap(), - tok => server.client_readable(&poll, tok).unwrap(), + utils::SERVER => hw_network.accept_client(&poll).unwrap(), + Token(tok) => hw_network.client_readable(&poll, tok).unwrap(), } } - if event.kind().is_writable() { + if event.readiness() & Ready::writable() == Ready::writable() { match event.token() { utils::SERVER => unreachable!(), - tok => server.client_writable(&poll, tok).unwrap(), + Token(tok) => hw_network.client_writable(&poll, tok).unwrap(), } } - if event.kind().is_hup() || event.kind().is_error() { - match event.token() { - utils::SERVER => unreachable!(), - tok => server.client_error(&poll, tok).unwrap(), - } - } +// if event.kind().is_hup() || event.kind().is_error() { +// match event.token() { +// utils::SERVER => unreachable!(), +// Token(tok) => server.client_error(&poll, tok).unwrap(), +// } +// } } } } diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/protocol/messages.rs --- a/gameServer2/src/protocol/messages.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/protocol/messages.rs Sun Jun 10 19:12:26 2018 +0200 @@ -3,7 +3,7 @@ use std::ops; use std::convert::From; -#[derive(PartialEq, Debug)] +#[derive(PartialEq, Eq, Clone, Debug)] pub enum HWProtocolMessage { // core Ping, @@ -69,17 +69,17 @@ Empty, } -pub enum HWServerMessage<'a> { +pub enum HWServerMessage { Ping, Pong, - Bye(&'a str), - Nick(&'a str), - LobbyLeft(&'a str), - LobbyJoined(&'a [&'a str]), - ChatMsg(&'a str, &'a str), - ClientFlags(&'a str, &'a [&'a str]), + Bye(String), + Nick(String), + LobbyLeft(String), + LobbyJoined(Vec), + ChatMsg(String, String), + ClientFlags(String, Vec), - Warning(&'a str), + Warning(String), Connected(u32), Unreachable, } @@ -96,41 +96,117 @@ m } -impl<'a> HWServerMessage<'a> { +impl<'a> HWProtocolMessage { pub fn to_raw_protocol(&self) -> String { + use self::HWProtocolMessage::*; + match *self { + Ping => "PING\n\n".to_string(), + Pong => "PONG\n\n".to_string(), + Quit(None) => format!("QUIT\n\n"), + Quit(Some(ref msg)) => format!("QUIT\n{}\n\n", msg), + Global(ref msg) => format!("CMD\nGLOBAL\n{}\n\n", msg), + Watch(ref name) => format!("CMD\nWATCH\n{}\n\n", name), + ToggleServerRegisteredOnly => "CMD\nREGISTERED_ONLY\n\n".to_string(), + SuperPower => "CMD\nSUPER_POWER\n\n".to_string(), + Info(ref info) => format!("CMD\nINFO\n{}\n\n", info), + Nick(ref nick) => format!("NICK\n{}\n\n", nick), + Proto(version) => format!("PROTO\n{}\n\n", version), + Password(ref p, ref s) => format!("PASSWORD\n{}\n{}\n\n", p, s), //? + Checker(i, ref n, ref p) => + format!("CHECKER\n{}\n{}\n{}\n\n", i, n, p), //?, + List => "LIST\n\n".to_string(), + Chat(ref msg) => format!("CHAT\n{}\n\n", msg), + CreateRoom(ref name, None) => + format!("CREATE_ROOM\n{}\n\n", name), + CreateRoom(ref name, Some(ref password)) => + format!("CREATE_ROOM\n{}\n{}\n\n", name, password), + Join(ref name, None) => + format!("JOIN\n{}\n\n", name), + Join(ref name, Some(ref arg)) => + format!("JOIN\n{}\n{}\n\n", name, arg), + Follow(ref name) => + format!("FOLLOW\n{}\n\n", name), + //Rnd(Vec), ??? + Kick(ref name) => format!("KICK\n{}\n\n", name), + Ban(ref name, ref reason, time) => + format!("BAN\n{}\n{}\n{}\n\n", name, reason, time), + BanIP(ref ip, ref reason, time) => + format!("BAN_IP\n{}\n{}\n{}\n\n", ip, reason, time), + BanNick(ref nick, ref reason, time) => + format!("BAN_NICK\n{}\n{}\n{}\n\n", nick, reason, time), + BanList => "BANLIST\n\n".to_string(), + Unban(ref name) => format!("UNBAN\n{}\n\n", name), + //SetServerVar(ServerVar), ??? + GetServerVar => "GET_SERVER_VAR\n\n".to_string(), + RestartServer => "CMD\nRESTART_SERVER\nYES\n\n".to_string(), + Stats => "CMD\nSTATS\n\n".to_string(), + Part(None) => "CMD\nPART\n\n".to_string(), + Part(Some(ref msg)) => format!("CMD\nPART\n{}\n\n", msg), + //Cfg(GameCfg) ?? + //AddTeam(TeamInfo) ??, + RemoveTeam(ref name) => format!("REMOVE_TEAM\n{}\n\n", name), + //SetHedgehogsNumber(String, u8), ?? + //SetTeamColor(String, u8), ?? + ToggleReady => "TOGGLE_READY\n\n".to_string(), + StartGame => "START_GAME\n\n".to_string(), + EngineMessage(ref msg) => format!("EM\n{}\n\n", msg), + RoundFinished => "ROUNDFINISHED\n\n".to_string(), + ToggleRestrictJoin => "TOGGLE_RESTRICT_JOINS\n\n".to_string(), + ToggleRestrictTeams => "TOGGLE_RESTRICT_TEAMS\n\n".to_string(), + ToggleRegisteredOnly => "TOGGLE_REGISTERED_ONLY\n\n".to_string(), + RoomName(ref name) => format!("ROOM_NAME\n{}\n\n", name), + Delegate(ref name) => format!("CMD\nDELEGATE\n{}\n\n", name), + TeamChat(ref msg) => format!("TEAMCHAT\n{}\n\n", msg), + MaxTeams(count) => format!("CMD\nMAXTEAMS\n{}\n\n", count) , + Fix => "CMD\nFIX\n\n".to_string(), + Unfix => "CMD\nUNFIX\n\n".to_string(), + Greeting(ref msg) => format!("CMD\nGREETING\n{}\n\n", msg), + //CallVote(Option<(String, Option)>) =>, ?? + Vote(ref msg) => format!("CMD\nVOTE\n{}\n\n", msg), + ForceVote(ref msg) => format!("CMD\nFORCE\n{}\n\n", msg), + //Save(String, String), ?? + Delete(ref room) => format!("CMD\nDELETE\n{}\n\n", room), + SaveRoom(ref room) => format!("CMD\nSAVEROOM\n{}\n\n", room), + LoadRoom(ref room) => format!("CMD\nLOADROOM\n{}\n\n", room), + Malformed => "A\nQUICK\nBROWN\nHOG\nJUMPS\nOVER\nTHE\nLAZY\nDOG\n\n".to_string(), + Empty => "\n\n".to_string(), + _ => panic!("Protocol message not yet implemented") + } + } +} + +impl HWServerMessage { + pub fn to_raw_protocol(&self) -> String { + use self::HWServerMessage::*; match self { - &HWServerMessage::Ping - => "PING\n\n".to_string(), - &HWServerMessage::Pong - => "PONG\n\n".to_string(), - &HWServerMessage::Connected(protocol_version) + &Ping => "PING\n\n".to_string(), + &Pong => "PONG\n\n".to_string(), + &Connected(protocol_version) => construct_message(&[ "CONNECTED", "Hedgewars server http://www.hedgewars.org/", &protocol_version.to_string() ]), - &HWServerMessage::Bye(msg) - => construct_message(&["BYE", &msg]), - &HWServerMessage::Nick(nick) - => construct_message(&["NICK", &nick]), - &HWServerMessage::LobbyLeft(nick) + &Bye(ref msg) => construct_message(&["BYE", &msg]), + &Nick(ref nick) => construct_message(&["NICK", &nick]), + &LobbyLeft(ref nick) => construct_message(&["LOBBY_LEFT", &nick]), - &HWServerMessage::LobbyJoined(nicks) + &LobbyJoined(ref nicks) => { let mut v = vec!["LOBBY:JOINED"]; - v.extend_from_slice(nicks); + v.extend(nicks.iter().map(|n| { &n[..] })); construct_message(&v) }, - &HWServerMessage::ClientFlags(flags, nicks) - => { + &ClientFlags(ref flags, ref nicks) + => { let mut v = vec!["CLIENT_FLAGS"]; - v.push(flags); - v.extend_from_slice(nicks); + v.push(&flags[..]); + v.extend(nicks.iter().map(|n| { &n[..] })); construct_message(&v) }, - &HWServerMessage::ChatMsg(nick, msg) + &ChatMsg(ref nick, ref msg) => construct_message(&["CHAT", &nick, &msg]), - &HWServerMessage::Warning(msg) + &Warning(ref msg) => construct_message(&["WARNING", &msg]), _ => construct_message(&["ERROR", "UNIMPLEMENTED"]), } diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/protocol/parser.rs --- a/gameServer2/src/protocol/parser.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/protocol/parser.rs Sun Jun 10 19:12:26 2018 +0200 @@ -5,6 +5,12 @@ use super::messages::HWProtocolMessage; use super::messages::HWProtocolMessage::*; +use proptest::test_runner::{TestRunner, Reason}; +use proptest::arbitrary::{any, any_with, Arbitrary, StrategyFor}; +use proptest::strategy::{Strategy, BoxedStrategy, Just, Filter, ValueTree}; +use proptest::string::RegexGeneratorValueTree; +use std::ops::Range; + named!(end_of_message, tag!("\n\n")); named!(str_line<&[u8], &str>, map_res!(not_line_ending, str::from_utf8)); named!( a_line<&[u8], String>, map!(str_line, String::from)); @@ -50,8 +56,8 @@ | do_parse!(tag_no_case!("RESTART_SERVER") >> eol >> tag!("YES") >> (RestartServer)) | do_parse!(tag_no_case!("REGISTERED_ONLY") >> (ToggleServerRegisteredOnly)) | do_parse!(tag_no_case!("SUPER_POWER") >> (SuperPower)) - | do_parse!(tag_no_case!("PART") >> eol >> m: opt_param >> (Quit(m))) - | do_parse!(tag_no_case!("QUIT") >> eol >> m: opt_param >> (Part(m))) + | do_parse!(tag_no_case!("PART") >> m: opt_param >> (Part(m))) + | do_parse!(tag_no_case!("QUIT") >> m: opt_param >> (Quit(m))) | do_parse!(tag_no_case!("DELEGATE") >> eol >> n: a_line >> (Delegate(n))) | do_parse!(tag_no_case!("SAVEROOM") >> eol >> r: a_line >> (SaveRoom(r))) | do_parse!(tag_no_case!("LOADROOM") >> eol >> r: a_line >> (LoadRoom(r))) @@ -121,6 +127,138 @@ named!(pub extract_messages<&[u8], Vec >, many0!(complete!(message))); +// Due to inability to define From between Options +trait Into2: Sized { fn into2(self) -> T; } +impl Into2 for T { fn into2(self) -> T { self } } +impl Into2 for Ascii { fn into2(self) -> String { self.0 } } +impl Into2> for Option{ + fn into2(self) -> Option { self.map(|x| {x.0}) } +} + +macro_rules! proto_msg_case { + ($val: ident()) => + (Just($val)); + ($val: ident($arg: ty)) => + (any::<$arg>().prop_map(|v| {$val(v.into2())})); + ($val: ident($arg1: ty, $arg2: ty)) => + (any::<($arg1, $arg2)>().prop_map(|v| {$val(v.0.into2(), v.1.into2())})); + ($val: ident($arg1: ty, $arg2: ty, $arg3: ty)) => + (any::<($arg1, $arg2, $arg3)>().prop_map(|v| {$val(v.0.into2(), v.1.into2(), v.2.into2())})); +} + +macro_rules! proto_msg_match { + ($var: expr, def = $default: ident, $($num: expr => $constr: ident $res: tt),*) => ( + match $var { + $($num => (proto_msg_case!($constr $res)).boxed()),*, + _ => Just($default).boxed() + } + ) +} + +#[derive(Debug)] +struct Ascii(String); + +struct AsciiValueTree(RegexGeneratorValueTree); + +impl ValueTree for AsciiValueTree { + type Value = Ascii; + + fn current(&self) -> Self::Value { Ascii(self.0.current()) } + fn simplify(&mut self) -> bool { self.0.simplify() } + fn complicate(&mut self) -> bool { self.0.complicate() } +} + +impl Arbitrary for Ascii { + type Parameters = ::Parameters; + + fn arbitrary_with(args: Self::Parameters) -> Self::Strategy { + any_with::(args) + .prop_filter("not ascii", |s| { + s.len() > 0 && s.is_ascii() && + s.find(|c| { + ['\0', '\n', '\x20'].contains(&c) + }).is_none()}) + .prop_map(Ascii) + .boxed() + } + + type Strategy = BoxedStrategy; + type ValueTree = Box>; +} + +fn gen_proto_msg() -> BoxedStrategy where { + let res = (0..58).no_shrink().prop_flat_map(|i| { + proto_msg_match!(i, def = Malformed, + 0 => Ping(), + 1 => Pong(), + 2 => Quit(Option), + //3 => Cmd + 4 => Global(Ascii), + 5 => Watch(Ascii), + 6 => ToggleServerRegisteredOnly(), + 7 => SuperPower(), + 8 => Info(Ascii), + 9 => Nick(Ascii), + 10 => Proto(u32), + 11 => Password(Ascii, Ascii), + 12 => Checker(u32, Ascii, Ascii), + 13 => List(), + 14 => Chat(Ascii), + 15 => CreateRoom(Ascii, Option), + 16 => Join(Ascii, Option), + 17 => Follow(Ascii), + //18 => Rnd(Vec), + 19 => Kick(Ascii), + 20 => Ban(Ascii, Ascii, u32), + 21 => BanIP(Ascii, Ascii, u32), + 22 => BanNick(Ascii, Ascii, u32), + 23 => BanList(), + 24 => Unban(Ascii), + //25 => SetServerVar(ServerVar), + 26 => GetServerVar(), + 27 => RestartServer(), + 28 => Stats(), + 29 => Part(Option), + //30 => Cfg(GameCfg), + //31 => AddTeam(TeamInfo), + 32 => RemoveTeam(Ascii), + //33 => SetHedgehogsNumber(String, u8), + //34 => SetTeamColor(String, u8), + 35 => ToggleReady(), + 36 => StartGame(), + 37 => EngineMessage(Ascii), + 38 => RoundFinished(), + 39 => ToggleRestrictJoin(), + 40 => ToggleRestrictTeams(), + 41 => ToggleRegisteredOnly(), + 42 => RoomName(Ascii), + 43 => Delegate(Ascii), + 44 => TeamChat(Ascii), + 45 => MaxTeams(u8), + 46 => Fix(), + 47 => Unfix(), + 48 => Greeting(Ascii), + //49 => CallVote(Option<(String, Option)>), + 50 => Vote(String), + 51 => ForceVote(Ascii), + //52 => Save(String, String), + 53 => Delete(Ascii), + 54 => SaveRoom(Ascii), + 55 => LoadRoom(Ascii), + 56 => Malformed(), + 57 => Empty() + )}); + res.boxed() +} + +proptest! { + #[test] + fn is_parser_composition_idempotent(ref msg in gen_proto_msg()) { + println!("!! Msg: {:?}, Bytes: {:?} !!", msg, msg.to_raw_protocol().as_bytes()); + assert_eq!(message(msg.to_raw_protocol().as_bytes()), IResult::Done(&b""[..], msg.clone())) + } +} + #[test] fn parse_test() { assert_eq!(message(b"PING\n\n"), IResult::Done(&b""[..], Ping)); @@ -132,10 +270,13 @@ assert_eq!(message(b"CMD\nwatch\ndemo\n\n"), IResult::Done(&b""[..], Watch("demo".to_string()))); assert_eq!(message(b"BAN\nme\nbad\n77\n\n"), IResult::Done(&b""[..], Ban("me".to_string(), "bad".to_string(), 77))); + assert_eq!(message(b"CMD\nPART\n\n"), IResult::Done(&b""[..], Part(None))); + assert_eq!(message(b"CMD\nPART\n_msg_\n\n"), IResult::Done(&b""[..], Part(Some("_msg_".to_string())))); + assert_eq!(extract_messages(b"QUIT\n1\n2\n\n"), IResult::Done(&b""[..], vec![Malformed])); assert_eq!(extract_messages(b"PING\n\nPING\n\nP"), IResult::Done(&b"P"[..], vec![Ping, Ping])); assert_eq!(extract_messages(b"SING\n\nPING\n\n"), IResult::Done(&b""[..], vec![Malformed, Ping])); assert_eq!(extract_messages(b"\n\n\n\nPING\n\n"), IResult::Done(&b""[..], vec![Empty, Empty, Ping])); assert_eq!(extract_messages(b"\n\n\nPING\n\n"), IResult::Done(&b""[..], vec![Empty, Empty, Ping])); -} +} \ No newline at end of file diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/server/actions.rs --- a/gameServer2/src/server/actions.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/server/actions.rs Sun Jun 10 19:12:26 2018 +0200 @@ -3,14 +3,15 @@ use std::io; use super::server::HWServer; -use super::server::HWRoom; +use super::room::HWRoom; use protocol::messages::HWProtocolMessage; +use protocol::messages::HWServerMessage; use protocol::messages::HWServerMessage::*; use super::handlers; pub enum Action { - SendMe(String), - SendAllButMe(String), + SendMe(HWServerMessage), + SendAllButMe(HWServerMessage), RemoveClient, ByeClient(String), ReactProtocolMessage(HWProtocolMessage), @@ -22,32 +23,30 @@ use self::Action::*; -pub fn run_action(server: &mut HWServer, token: mio::Token, poll: &mio::Poll, action: Action) { +pub fn run_action(server: &mut HWServer, token: usize, action: Action) { match action { SendMe(msg) => - server.send(token, &msg), + server.send_self(token, msg), SendAllButMe(msg) => { - for c in server.clients.iter_mut() { - if c.id != token { - c.send_string(&msg) - } - } + server.send_others(token, msg) }, ByeClient(msg) => { - server.react(token, poll, vec![ - SendMe(Bye(&msg).to_raw_protocol()), + server.react(token, vec![ + SendMe(Bye(msg)), RemoveClient, ]); }, RemoveClient => { - server.clients[token].deregister(poll); - server.clients.remove(token); + server.removed_clients.push(token); + if server.clients.contains(token) { + server.clients.remove(token); + } }, ReactProtocolMessage(msg) => - handlers::handle(server, token, poll, msg), + handlers::handle(server, token, msg), CheckRegistered => if server.clients[token].protocol_number > 0 && server.clients[token].nick != "" { - server.react(token, poll, vec![ + server.react(token, vec![ JoinLobby, ]); }, @@ -56,36 +55,34 @@ let joined_msg; { - let mut lobby_nicks: Vec<&str> = Vec::new(); - for c in server.clients.iter() { + let mut lobby_nicks = Vec::new(); + for (_, c) in server.clients.iter() { if c.room_id.is_some() { - lobby_nicks.push(&c.nick); + lobby_nicks.push(c.nick.clone()); } } - joined_msg = LobbyJoined(&lobby_nicks).to_raw_protocol(); + joined_msg = LobbyJoined(lobby_nicks); } - let everyone_msg = LobbyJoined(&[&server.clients[token].nick]).to_raw_protocol(); - server.react(token, poll, vec![ + let everyone_msg = LobbyJoined(vec![server.clients[token].nick.clone()]); + server.react(token, vec![ SendAllButMe(everyone_msg), SendMe(joined_msg), ]); }, AddRoom(name, password) => { - let room_id = server.rooms.insert(HWRoom::new()).ok().expect("Cannot add room"); + let room_id = server.add_room();; { let r = &mut server.rooms[room_id]; let c = &mut server.clients[token]; r.name = name; r.password = password; - r.id = room_id.clone(); r.ready_players_number = 1; r.protocol_number = c.protocol_number; c.room_id = Some(room_id); } - }, Warn(msg) => { - run_action(server, token, poll, SendMe(Warning(&msg).to_raw_protocol())); + run_action(server, token,SendMe(Warning(msg))); } //_ => unimplemented!(), } diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/server/client.rs --- a/gameServer2/src/server/client.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/server/client.rs Sun Jun 10 19:12:26 2018 +0200 @@ -1,22 +1,8 @@ -use mio::tcp::*; -use mio::*; -use std::io::Write; -use std::io; -use netbuf; - -use utils; -use protocol::ProtocolDecoder; -use protocol::messages::*; -use super::actions::Action::*; -use super::actions::Action; +pub type ClientId = usize; pub struct HWClient { - sock: TcpStream, - decoder: ProtocolDecoder, - buf_out: netbuf::Buf, - - pub id: Token, - pub room_id: Option, + pub id: ClientId, + pub room_id: Option, pub nick: String, pub protocol_number: u32, pub is_master: bool, @@ -25,14 +11,10 @@ } impl HWClient { - pub fn new(sock: TcpStream) -> HWClient { + pub fn new(id: ClientId) -> HWClient { HWClient { - sock: sock, - decoder: ProtocolDecoder::new(), - buf_out: netbuf::Buf::new(), + id, room_id: None, - id: Token(0), - nick: String::new(), protocol_number: 0, is_master: false, @@ -40,58 +22,4 @@ is_joined_mid_game: false, } } - - pub fn register(&mut self, poll: &Poll, token: Token) { - poll.register(&self.sock, token, Ready::all(), - PollOpt::edge()) - .ok().expect("could not register socket with event loop"); - - self.send_msg(HWServerMessage::Connected(utils::PROTOCOL_VERSION)); - } - - pub fn deregister(&mut self, poll: &Poll) { - poll.deregister(&self.sock) - .ok().expect("could not deregister socket"); - } - - pub fn send_raw_msg(&mut self, msg: &[u8]) { - self.buf_out.write(msg).unwrap(); - self.flush(); - } - - pub fn send_string(&mut self, msg: &String) { - self.send_raw_msg(&msg.as_bytes()); - } - - pub fn send_msg(&mut self, msg: HWServerMessage) { - self.send_string(&msg.to_raw_protocol()); - } - - fn flush(&mut self) { - self.buf_out.write_to(&mut self.sock).unwrap(); - self.sock.flush(); - } - - pub fn readable(&mut self, poll: &Poll) -> Vec { - let v = self.decoder.read_from(&mut self.sock).unwrap(); - debug!("Read {} bytes", v); - let mut response = Vec::new(); - { - for msg in self.decoder.extract_messages() { - response.push(ReactProtocolMessage(msg)); - } - } - self.decoder.sweep(); - response - } - - pub fn writable(&mut self, poll: &Poll) -> io::Result<()> { - self.buf_out.write_to(&mut self.sock)?; - - Ok(()) - } - - pub fn error(&mut self, poll: &Poll) -> Vec { - return vec![ByeClient("Connection reset".to_string())] - } -} +} \ No newline at end of file diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/server/coretypes.rs --- a/gameServer2/src/server/coretypes.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/server/coretypes.rs Sun Jun 10 19:12:26 2018 +0200 @@ -1,16 +1,16 @@ -#[derive(PartialEq, Debug)] +#[derive(PartialEq, Eq, Clone, Debug)] pub enum ServerVar { MOTDNew(String), MOTDOld(String), LatestProto(u32), } -#[derive(PartialEq, Debug)] +#[derive(PartialEq, Eq, Clone, Debug)] pub enum GameCfg { } -#[derive(PartialEq, Debug)] +#[derive(PartialEq, Eq, Clone, Debug)] pub struct TeamInfo { name: String, color: u8, @@ -23,7 +23,7 @@ hedgehogs: [HedgehogInfo; 8], } -#[derive(PartialEq, Debug)] +#[derive(PartialEq, Eq, Clone, Debug)] pub struct HedgehogInfo { name: String, hat: String, diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/server/handlers/inroom.rs --- a/gameServer2/src/server/handlers/inroom.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/server/handlers/inroom.rs Sun Jun 10 19:12:26 2018 +0200 @@ -6,7 +6,7 @@ use protocol::messages::HWProtocolMessage; use protocol::messages::HWServerMessage::*; -pub fn handle(server: &mut HWServer, token: mio::Token, poll: &mio::Poll, message: HWProtocolMessage) { +pub fn handle(server: &mut HWServer, token: usize, message: HWProtocolMessage) { match message { _ => warn!("Unimplemented!"), } diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/server/handlers/lobby.rs --- a/gameServer2/src/server/handlers/lobby.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/server/handlers/lobby.rs Sun Jun 10 19:12:26 2018 +0200 @@ -6,34 +6,35 @@ use protocol::messages::HWProtocolMessage; use protocol::messages::HWServerMessage::*; -pub fn handle(server: &mut HWServer, token: mio::Token, poll: &mio::Poll, message: HWProtocolMessage) { +pub fn handle(server: &mut HWServer, token: usize, message: HWProtocolMessage) { + use protocol::messages::HWProtocolMessage::*; match message { - HWProtocolMessage::Chat(msg) => { - let chat_msg = ChatMsg(&server.clients[token].nick, &msg).to_raw_protocol(); - server.react(token, poll, vec![SendAllButMe(chat_msg)]); + Chat(msg) => { + let chat_msg = ChatMsg(server.clients[token].nick.clone(), msg); + server.react(token, vec![SendAllButMe(chat_msg)]); }, - HWProtocolMessage::CreateRoom(name, password) => { - let room_exists = server.rooms.iter().find(|&r| r.name == name).is_some(); + CreateRoom(name, password) => { + let room_exists = server.rooms.iter().find(|&(_, r)| r.name == name).is_some(); if room_exists { - server.react(token, poll, vec![Warn("Room exists".to_string())]); + server.react(token, vec![Warn("Room exists".to_string())]); } else { - let flags_msg = ClientFlags("+hr", &[&server.clients[token].nick]).to_raw_protocol(); + let flags_msg = ClientFlags("+hr".to_string(), vec![server.clients[token].nick.clone()]); { let c = &mut server.clients[token]; c.is_master = true; c.is_ready = true; c.is_joined_mid_game = false; } - server.react(token, poll, vec![ + server.react(token, vec![ AddRoom(name, password) , SendMe(flags_msg) ]); } }, - HWProtocolMessage::Join(name, password) => { + Join(name, password) => { }, - HWProtocolMessage::List => warn!("Deprecated LIST message received"), + List => warn!("Deprecated LIST message received"), _ => warn!("Incorrect command in lobby state"), } } diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/server/handlers/loggingin.rs --- a/gameServer2/src/server/handlers/loggingin.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/server/handlers/loggingin.rs Sun Jun 10 19:12:26 2018 +0200 @@ -6,17 +6,17 @@ use protocol::messages::HWProtocolMessage; use protocol::messages::HWServerMessage::*; -pub fn handle(server: &mut HWServer, token: mio::Token, poll: &mio::Poll, message: HWProtocolMessage) { +pub fn handle(server: & mut HWServer, token: usize, message: HWProtocolMessage) { match message { HWProtocolMessage::Nick(nick) => if server.clients[token].room_id == None { - server.react(token, poll, vec![SendMe(Nick(&nick).to_raw_protocol())]); + server.react(token, vec![SendMe(Nick(nick.clone()))]); server.clients[token].nick = nick; - server.react(token, poll, vec![CheckRegistered]); + server.react(token, vec![CheckRegistered]); }, HWProtocolMessage::Proto(proto) => { server.clients[token].protocol_number = proto; - server.react(token, poll, vec![CheckRegistered]); + server.react(token, vec![CheckRegistered]); }, _ => warn!("Incorrect command in logging-in state"), } diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/server/handlers/mod.rs --- a/gameServer2/src/server/handlers/mod.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/server/handlers/mod.rs Sun Jun 10 19:12:26 2018 +0200 @@ -12,23 +12,24 @@ mod lobby; mod inroom; -pub fn handle(server: &mut HWServer, token: mio::Token, poll: &mio::Poll, message: HWProtocolMessage) { +pub fn handle(server: &mut HWServer, token: usize, message: HWProtocolMessage) { match message { HWProtocolMessage::Ping => - server.react(token, poll, vec![SendMe(Pong.to_raw_protocol())]), + server.react(token, vec![SendMe(Pong)]), HWProtocolMessage::Quit(Some(msg)) => - server.react(token, poll, vec![ByeClient("User quit: ".to_string() + &msg)]), + server.react(token, vec![ByeClient("User quit: ".to_string() + &msg)]), HWProtocolMessage::Quit(None) => - server.react(token, poll, vec![ByeClient("User quit".to_string())]), + server.react(token, vec![ByeClient("User quit".to_string())]), HWProtocolMessage::Malformed => warn!("Malformed/unknown message"), HWProtocolMessage::Empty => warn!("Empty message"), _ => { - if !server.clients[token].room_id.is_some() { - loggingin::handle(server, token, poll, message); - } else if server.clients[token].room_id == Some(server.lobby_id) { - lobby::handle(server, token, poll, message); - } else { - inroom::handle(server, token, poll, message); + match server.clients[token].room_id { + None => + loggingin::handle(server, token, message), + Some(id) if id == server.lobby_id => + lobby::handle(server, token, message), + _ => + inroom::handle(server, token, message) } }, } diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/server/mod.rs --- a/gameServer2/src/server/mod.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/server/mod.rs Sun Jun 10 19:12:26 2018 +0200 @@ -1,5 +1,7 @@ pub mod server; pub mod client; +pub mod room; +pub mod network; pub mod coretypes; mod actions; mod handlers; diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/server/network.rs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gameServer2/src/server/network.rs Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,211 @@ +extern crate slab; + +use std::io::ErrorKind; +use mio::net::*; +use super::server::{HWServer, PendingMessage, Destination}; +use super::client::ClientId; +use slab::Slab; + +use mio::net::TcpStream; +use mio::*; +use std::io::Write; +use std::io; +use netbuf; + +use utils; +use protocol::ProtocolDecoder; +use protocol::messages::*; +use std::net::SocketAddr; + +pub struct NetworkClient { + id: ClientId, + socket: TcpStream, + peer_addr: SocketAddr, + decoder: ProtocolDecoder, + buf_out: netbuf::Buf, + closed: bool +} + +impl NetworkClient { + pub fn new(id: ClientId, socket: TcpStream, peer_addr: SocketAddr) -> NetworkClient { + NetworkClient { + id, socket, peer_addr, + decoder: ProtocolDecoder::new(), + buf_out: netbuf::Buf::new(), + closed: false + } + } + + pub fn send_raw_msg(&mut self, msg: &[u8]) { + self.buf_out.write(msg).unwrap(); + self.flush(); + } + + pub fn send_string(&mut self, msg: &String) { + self.send_raw_msg(&msg.as_bytes()); + } + + pub fn send_msg(&mut self, msg: HWServerMessage) { + self.send_string(&msg.to_raw_protocol()); + } + + fn flush(&mut self) { + self.buf_out.write_to(&mut self.socket).unwrap(); + self.socket.flush().unwrap(); + } + + pub fn read_messages(&mut self) -> io::Result> { + let bytes_read = self.decoder.read_from(&mut self.socket)?; + debug!("Read {} bytes", bytes_read); + + if bytes_read == 0 { + self.closed = true; + info!("EOF for client {} ({})", self.id, self.peer_addr); + } + + Ok(self.decoder.extract_messages()) + } + + pub fn write_messages(&mut self) -> io::Result<()> { + self.buf_out.write_to(&mut self.socket)?; + Ok(()) + } +} + +pub struct NetworkLayer { + listener: TcpListener, + server: HWServer, + + clients: Slab +} + +impl NetworkLayer { + pub fn new(listener: TcpListener, clients_limit: usize, rooms_limit: usize) -> NetworkLayer { + let server = HWServer::new(clients_limit, rooms_limit); + let clients = Slab::with_capacity(clients_limit); + NetworkLayer {listener, server, clients} + } + + pub fn register_server(&self, poll: &Poll) -> io::Result<()> { + poll.register(&self.listener, utils::SERVER, Ready::readable(), + PollOpt::edge()) + } + + fn deregister_client(&mut self, poll: &Poll, id: ClientId) { + let mut client_exists = false; + if let Some(ref client) = self.clients.get_mut(id) { + poll.deregister(&client.socket) + .ok().expect("could not deregister socket"); + info!("client {} ({}) removed", client.id, client.peer_addr); + client_exists = true; + } + if client_exists { + self.clients.remove(id); + } + } + + fn register_client(&mut self, poll: &Poll, id: ClientId, client_socket: TcpStream, addr: SocketAddr) { + poll.register(&client_socket, Token(id), + Ready::readable() | Ready::writable(), + PollOpt::edge()) + .ok().expect("could not register socket with event loop"); + + let entry = self.clients.vacant_entry(); + let client = NetworkClient::new(id, client_socket, addr); + info!("client {} ({}) added", client.id, client.peer_addr); + entry.insert(client); + } + + pub fn accept_client(&mut self, poll: &Poll) -> io::Result<()> { + let (client_socket, addr) = self.listener.accept()?; + info!("Connected: {}", addr); + + let client_id = self.server.add_client(); + self.register_client(poll, client_id, client_socket, addr); + self.flush_server_messages(); + + Ok(()) + } + + fn flush_server_messages(&mut self) { + for PendingMessage(destination, msg) in self.server.output.drain(..) { + match destination { + Destination::ToSelf(id) => { + if let Some(ref mut client) = self.clients.get_mut(id) { + client.send_msg(msg) + } + } + Destination::ToOthers(id) => { + let msg_string = msg.to_raw_protocol(); + for item in self.clients.iter_mut() { + if item.0 != id { + item.1.send_string(&msg_string) + } + } + } + } + } + } + + pub fn client_readable(&mut self, poll: &Poll, + client_id: ClientId) -> io::Result<()> { + let mut client_lost = false; + let messages; + if let Some(ref mut client) = self.clients.get_mut(client_id) { + messages = match client.read_messages() { + Ok(messages) => Some(messages), + Err(ref error) if error.kind() == ErrorKind::WouldBlock => None, + Err(error) => return Err(error) + }; + if client.closed { + client_lost = true; + } + } else { + warn!("invalid readable client: {}", client_id); + messages = None; + }; + + if client_lost { + self.client_error(&poll, client_id)?; + } else if let Some(msg) = messages { + for message in msg { + self.server.handle_msg(client_id, message); + } + self.flush_server_messages(); + } + + if !self.server.removed_clients.is_empty() { + let ids = self.server.removed_clients.to_vec(); + self.server.removed_clients.clear(); + for client_id in ids { + self.deregister_client(poll, client_id); + } + } + + Ok(()) + } + + pub fn client_writable(&mut self, poll: &Poll, + client_id: ClientId) -> io::Result<()> { + if let Some(ref mut client) = self.clients.get_mut(client_id) { + match client.write_messages() { + Ok(_) => (), + Err(ref error) if error.kind() == ErrorKind::WouldBlock => (), + Err(error) => return Err(error) + } + } else { + warn!("invalid writable client: {}", client_id); + } + + Ok(()) + } + + pub fn client_error(&mut self, poll: &Poll, + client_id: ClientId) -> io::Result<()> { + self.deregister_client(poll, client_id); + self.server.client_lost(client_id); + + Ok(()) + } +} + diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/server/room.rs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gameServer2/src/server/room.rs Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,21 @@ +pub type RoomId = usize; + +pub struct HWRoom { + pub id: RoomId, + pub name: String, + pub password: Option, + pub protocol_number: u32, + pub ready_players_number: u8, +} + +impl HWRoom { + pub fn new(id: RoomId) -> HWRoom { + HWRoom { + id, + name: String::new(), + password: None, + protocol_number: 0, + ready_players_number: 0, + } + } +} \ No newline at end of file diff -r 6e8b807bda4b -r ba39a1d396c0 gameServer2/src/server/server.rs --- a/gameServer2/src/server/server.rs Sun Jun 10 18:56:51 2018 +0200 +++ b/gameServer2/src/server/server.rs Sun Jun 10 19:12:26 2018 +0200 @@ -1,111 +1,88 @@ use slab; -use mio::tcp::*; +use mio::net::*; use mio::*; use std::io; use utils; -use super::client::HWClient; +use super::client::*; +use super::room::*; use super::actions; +use protocol::messages::*; +use super::handlers; -type Slab = slab::Slab; +type Slab = slab::Slab; + +pub enum Destination { + ToSelf(ClientId), + ToOthers(ClientId) +} + +pub struct PendingMessage(pub Destination, pub HWServerMessage); pub struct HWServer { - listener: TcpListener, pub clients: Slab, pub rooms: Slab, - pub lobby_id: Token, + pub lobby_id: RoomId, + pub output: Vec, + pub removed_clients: Vec, } impl HWServer { - pub fn new(listener: TcpListener, clients_limit: usize, rooms_limit: usize) -> HWServer { - let mut rooms = Slab::with_capacity(rooms_limit); - let token = rooms.insert(HWRoom::new()).ok().expect("Cannot create lobby"); - HWServer { - listener: listener, - clients: Slab::with_capacity(clients_limit), - rooms: rooms, - lobby_id: token, - } + pub fn new(clients_limit: usize, rooms_limit: usize) -> HWServer { + let rooms = Slab::with_capacity(rooms_limit); + let clients = Slab::with_capacity(clients_limit); + let mut server = HWServer { + clients, rooms, + lobby_id: 0, + output: vec![], + removed_clients: vec![] + }; + server.lobby_id = server.add_room(); + server } - pub fn register(&self, poll: &Poll) -> io::Result<()> { - poll.register(&self.listener, utils::SERVER, Ready::readable(), - PollOpt::edge()) - } - - pub fn accept(&mut self, poll: &Poll) -> io::Result<()> { - let (sock, addr) = self.listener.accept()?; - info!("Connected: {}", addr); - - let client = HWClient::new(sock); - let token = self.clients.insert(client) - .ok().expect("could not add connection to slab"); - - self.clients[token].id = token; - self.clients[token].register(poll, token); - - Ok(()) + pub fn add_client(&mut self) -> ClientId { + let key: ClientId; + { + let entry = self.clients.vacant_entry(); + key = entry.key(); + let client = HWClient::new(entry.key()); + entry.insert(client); + } + self.send_self(key, HWServerMessage::Connected(utils::PROTOCOL_VERSION)); + key } - pub fn client_readable(&mut self, poll: &Poll, - token: Token) -> io::Result<()> { - let actions; - { - actions = self.clients[token].readable(poll); - } - - self.react(token, poll, actions); - - Ok(()) + pub fn client_lost(&mut self, client_id: ClientId) { + actions::run_action(self, client_id, + actions::Action::ByeClient("Connection reset".to_string())); } - pub fn client_writable(&mut self, poll: &Poll, - token: Token) -> io::Result<()> { - self.clients[token].writable(poll)?; - - Ok(()) + pub fn add_room(&mut self) -> RoomId { + let entry = self.rooms.vacant_entry(); + let key = entry.key(); + let room = HWRoom::new(entry.key()); + entry.insert(room); + key } - pub fn client_error(&mut self, poll: &Poll, - token: Token) -> io::Result<()> { - let actions; - { - actions = self.clients[token].error(poll); - } + pub fn handle_msg(&mut self, client_id: ClientId, msg: HWProtocolMessage) { + handlers::handle(self, client_id, msg); + } - self.react(token, poll, actions); - - Ok(()) + pub fn send_self(&mut self, client_id: ClientId, msg: HWServerMessage) { + self.output.push(PendingMessage( + Destination::ToSelf(client_id), msg)); } - pub fn send(&mut self, token: Token, msg: &String) { - self.clients[token].send_string(msg); + pub fn send_others(&mut self, client_id: ClientId, msg: HWServerMessage) { + self.output.push(PendingMessage( + Destination::ToOthers(client_id), msg)); } - pub fn react(&mut self, token: Token, poll: &Poll, actions: Vec) { + pub fn react(&mut self, client_id: ClientId, actions: Vec) { for action in actions { - actions::run_action(self, token, poll, action); + actions::run_action(self, client_id, action); } } } - - -pub struct HWRoom { - pub id: Token, - pub name: String, - pub password: Option, - pub protocol_number: u32, - pub ready_players_number: u8, -} - -impl HWRoom { - pub fn new() -> HWRoom { - HWRoom { - id: Token(0), - name: String::new(), - password: None, - protocol_number: 0, - ready_players_number: 0, - } - } -} diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/hwengine.pas --- a/hedgewars/hwengine.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/hwengine.pas Sun Jun 10 19:12:26 2018 +0200 @@ -105,7 +105,7 @@ RecountAllTeamsHealth; GameState:= gsGame; end; - gsConfirm, gsGame, gsChat: + gsConfirm, gsGame: begin // disable screenshot flash effect when about to make another screenshot if flagMakeCapture and (ScreenFade = sfFromWhite) then @@ -180,7 +180,7 @@ begin case event.type_ of SDL_KEYDOWN: - if GameState = gsChat then + if isInChatMode then begin // sdl on iphone supports only ashii keyboards and the unicode field is deprecated in sdl 1.3 KeyPressChat(event.key.keysym); @@ -188,10 +188,10 @@ else if GameState >= gsGame then ProcessKey(event.key); SDL_KEYUP: - if (GameState <> gsChat) and (GameState >= gsGame) then + if (not isInChatMode) and (GameState >= gsGame) then ProcessKey(event.key); - SDL_TEXTINPUT: if GameState = gsChat then uChat.TextInput(event.text); + SDL_TEXTINPUT: if isInChatMode then uChat.TextInput(event.text); SDL_WINDOWEVENT: begin @@ -332,6 +332,7 @@ while LoadNextCameraPosition(newRealTicks, newGameTicks) do begin IPCCheckSock(); + RealTicks:= newRealTicks; DoGameTick(newGameTicks - oldGameTicks); if GameState = gsExit then break; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/pas2cSystem.pas --- a/hedgewars/pas2cSystem.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/pas2cSystem.pas Sun Jun 10 19:12:26 2018 +0200 @@ -121,7 +121,7 @@ _strconcat, _strappend, _strprepend, _chrconcat : function : string; _strcompare, _strncompare, _strcomparec, _strncompareA : function : boolean; - _strconcatA, _strappendA : function : ansistring; + _strconcatA, _strappendA, _strprependA: function : ansistring; png_structp, png_set_write_fn, png_get_io_ptr, png_get_libpng_ver, png_create_write_struct, diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uAI.pas --- a/hedgewars/uAI.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uAI.pas Sun Jun 10 19:12:26 2018 +0200 @@ -288,7 +288,7 @@ AddAction(Actions, aia_Weapon, Longword(amSkip), 100 + random(200), 0, 0); if ((CurrentHedgehog^.MultiShootAttacks = 0) or ((Ammoz[Me^.Hedgehog^.CurAmmoType].Ammo.Propz and ammoprop_NoMoveAfter) = 0)) - and (GameFlags and gfArtillery = 0) and (cGravityf <> 0) then + and (CurrentHedgehog^.Effects[heArtillery] = 0) and (cGravityf <> 0) then begin tmp:= random(2) + 1; Push(0, Actions, Me^, tmp); @@ -474,7 +474,7 @@ // Hog has no idea what to do. Use tardis or skip if not bonuses.activity then - if ((HHHasAmmo(Me^.Hedgehog^, amTardis) > 0)) and (CanUseTardis(Me^.Hedgehog^.Gear)) and (random(4) < 3) then + if (((GameFlags and gfInfAttack) <> 0) or (not isInMultiShoot)) and ((HHHasAmmo(Me^.Hedgehog^, amTardis) > 0)) and (CanUseTardis(Me^.Hedgehog^.Gear)) and (random(4) < 3) then // Tardis brings hog to a random place. Perfect for clueless AI begin AddAction(BestActions, aia_Weapon, Longword(amTardis), 80, 0, 0); diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uAIAmmoTests.pas --- a/hedgewars/uAIAmmoTests.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uAIAmmoTests.pas Sun Jun 10 19:12:26 2018 +0200 @@ -125,7 +125,8 @@ (proc: nil; flags: 0), // amKnife (proc: nil; flags: 0), // amRubber (proc: nil; flags: 0), // amAirMine - (proc: nil; flags: 0) // amDuck + (proc: nil; flags: 0), // amDuck + (proc: @TestShotgun; flags: 0) // amMinigun ); implementation diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uChat.pas --- a/hedgewars/uChat.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uChat.pas Sun Jun 10 19:12:26 2018 +0200 @@ -303,7 +303,7 @@ top := 10 + visibleCount * ClHeight; // we start with input line (if any) // draw chat input line first and under all other lines -if (GameState = gsChat) and (InputStr.Tex <> nil) then +if isInChatMode and (InputStr.Tex <> nil) then begin if InputLinePrefix.Tex = nil then @@ -575,7 +575,7 @@ history:= 0; SDL_StopTextInput(); //SDL_EnableKeyRepeat(0,0); - GameState:= gsGame; + isInChatMode:= false; ResetKbd; end; @@ -1101,7 +1101,7 @@ var i: Integer; begin s:= s; // avoid compiler hint - GameState:= gsChat; + isInChatMode:= true; SDL_StopTextInput(); SDL_StartTextInput(); //Make REALLY sure unexpected events are flushed (1 time is insufficient as of SDL 2.0.7) diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uCollisions.pas --- a/hedgewars/uCollisions.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uCollisions.pas Sun Jun 10 19:12:26 2018 +0200 @@ -20,16 +20,31 @@ unit uCollisions; interface -uses uFloat, uTypes; +uses uFloat, uTypes, uUtils; const cMaxGearArrayInd = 1023; +const cMaxGearHitOrderInd = 1023; type PGearArray = ^TGearArray; TGearArray = record ar: array[0..cMaxGearArrayInd] of PGear; + cX: array[0..cMaxGearArrayInd] of LongInt; + cY: array[0..cMaxGearArrayInd] of LongInt; Count: Longword end; +type PGearHitOrder = ^TGearHitOrder; + TGearHitOrder = record + ar: array[0..cMaxGearHitOrderInd] of PGear; + order: array[0..cMaxGearHitOrderInd] of LongInt; + Count: Longword + end; + +type TLineCollision = record + hasCollision: Boolean; + cX, cY: LongInt; //for visual effects only + end; + procedure initModule; procedure freeModule; @@ -37,6 +52,14 @@ procedure DeleteCI(Gear: PGear); function CheckGearsCollision(Gear: PGear): PGearArray; +function CheckAllGearsCollision(SourceGear: PGear): PGearArray; + +function CheckGearsLineCollision(Gear: PGear; oX, oY, tX, tY: hwFloat): PGearArray; +function CheckAllGearsLineCollision(SourceGear: PGear; oX, oY, tX, tY: hwFloat): PGearArray; + +function UpdateHitOrder(Gear: PGear; Order: LongInt): boolean; +procedure ClearHitOrderLeq(MinOrder: LongInt); +procedure ClearHitOrder(); function TestCollisionXwithGear(Gear: PGear; Dir: LongInt): Word; function TestCollisionYwithGear(Gear: PGear; Dir: LongInt): Word; @@ -73,6 +96,7 @@ var Count: Longword; cinfos: array[0..MAXRECTSINDEX] of TCollisionEntry; ga: TGearArray; + ordera: TGearHitOrder; procedure AddCI(Gear: PGear); begin @@ -130,10 +154,189 @@ (sqr(mx - x) + sqr(my - y) <= sqr(Radius + tr)) then begin ga.ar[ga.Count]:= cinfos[i].cGear; + ga.cX[ga.Count]:= hwround(Gear^.X); + ga.cY[ga.Count]:= hwround(Gear^.Y); inc(ga.Count) end end; +function CheckAllGearsCollision(SourceGear: PGear): PGearArray; +var mx, my, tr: LongInt; + Gear: PGear; +begin + CheckAllGearsCollision:= @ga; + ga.Count:= 0; + + mx:= hwRound(SourceGear^.X); + my:= hwRound(SourceGear^.Y); + + tr:= SourceGear^.Radius + 2; + + Gear:= GearsList; + + while Gear <> nil do + begin + if (Gear <> SourceGear) and + (sqr(mx - hwRound(Gear^.x)) + sqr(my - hwRound(Gear^.y)) <= sqr(Gear^.Radius + tr))then + begin + ga.ar[ga.Count]:= Gear; + ga.cX[ga.Count]:= hwround(SourceGear^.X); + ga.cY[ga.Count]:= hwround(SourceGear^.Y); + inc(ga.Count) + end; + + Gear := Gear^.NextGear + end; +end; + +function LineCollisionTest(oX, oY, dirX, dirY, dirNormSqr, dirNormBound: hwFloat; + width: LongInt; Gear: PGear): + TLineCollision; inline; +var toCenterX, toCenterY, r, + b, bSqr, c, desc, t: hwFloat; + realT: extended; +begin + LineCollisionTest.hasCollision:= false; + toCenterX:= (oX - Gear^.X); + toCenterY:= (oY - Gear^.Y); + r:= int2hwFloat(Gear^.Radius + width + 2); + // Early cull to avoid multiplying large numbers + if hwAbs(toCenterX) + hwAbs(toCenterY) > dirNormBound + r then + exit; + b:= dirX * toCenterX + dirY * toCenterY; + c:= hwSqr(toCenterX) + hwSqr(toCenterY) - hwSqr(r); + if (b > _0) and (c > _0) then + exit; + bSqr:= hwSqr(b); + desc:= bSqr - dirNormSqr * c; + if desc.isNegative then exit; + + t:= -b - hwSqrt(desc); + if t.isNegative then t:= _0; + if t < dirNormSqr then + with LineCollisionTest do + begin + hasCollision:= true; + realT := hwFloat2Float(t) / hwFloat2Float(dirNormSqr); + cX:= round(hwFloat2Float(oX) + realT * hwFloat2Float(dirX)); + cY:= round(hwFloat2Float(oY) + realT * hwFloat2Float(dirY)); + end; +end; + +function CheckGearsLineCollision(Gear: PGear; oX, oY, tX, tY: hwFloat): PGearArray; +var dirX, dirY, dirNormSqr, dirNormBound: hwFloat; + test: TLineCollision; + i: Longword; +begin + CheckGearsLineCollision:= @ga; + ga.Count:= 0; + if Count = 0 then + exit; + dirX:= (tX - oX); + dirY:= (tY - oY); + dirNormBound:= _1_5 * (hwAbs(dirX) + hwAbs(dirY)); + dirNormSqr:= hwSqr(dirX) + hwSqr(dirY); + if dirNormSqr.isNegative then + exit; + + for i:= 0 to Pred(Count) do + with cinfos[i] do if Gear <> cGear then + begin + test:= LineCollisionTest( + oX, oY, dirX, dirY, dirNormSqr, dirNormBound, Gear^.Radius, cGear); + if test.hasCollision then + begin + ga.ar[ga.Count] := cGear; + ga.cX[ga.Count] := test.cX; + ga.cY[ga.Count] := test.cY; + inc(ga.Count) + end + end +end; + +function CheckAllGearsLineCollision(SourceGear: PGear; oX, oY, tX, tY: hwFloat): PGearArray; +var dirX, dirY, dirNormSqr, dirNormBound: hwFloat; + test: TLineCollision; + Gear: PGear; +begin + CheckAllGearsLineCollision:= @ga; + ga.Count:= 0; + dirX:= (tX - oX); + dirY:= (tY - oY); + dirNormBound:= _1_5 * (hwAbs(dirX) + hwAbs(dirY)); + dirNormSqr:= hwSqr(dirX) + hwSqr(dirY); + if dirNormSqr.isNegative then + exit; + + Gear:= GearsList; + while Gear <> nil do + begin + if SourceGear <> Gear then + begin + test:= LineCollisionTest( + oX, oY, dirX, dirY, dirNormSqr, dirNormBound, SourceGear^.Radius, Gear); + if test.hasCollision then + begin + ga.ar[ga.Count] := Gear; + ga.cX[ga.Count] := test.cX; + ga.cY[ga.Count] := test.cY; + inc(ga.Count) + end + end; + Gear := Gear^.NextGear + end; +end; + +function UpdateHitOrder(Gear: PGear; Order: LongInt): boolean; +var i: LongInt; +begin +UpdateHitOrder:= true; +for i:= 0 to ordera.Count - 1 do + if ordera.ar[i] = Gear then + begin + if Order <= ordera.order[i] then UpdateHitOrder:= false; + ordera.order[i]:= Max(ordera.order[i], order); + exit; + end; + +if ordera.Count > cMaxGearHitOrderInd then + UpdateHitOrder:= false +else + begin + ordera.ar[ordera.Count]:= Gear; + ordera.order[ordera.Count]:= Order; + Inc(ordera.Count); + end +end; + +procedure ClearHitOrderLeq(MinOrder: LongInt); +var i, freeIndex: LongInt; +begin; +freeIndex:= 0; +i:= 0; + +while i < ordera.Count do + begin + if ordera.order[i] <= MinOrder then + Dec(ordera.Count) + else + begin + if freeIndex < i then + begin + ordera.ar[freeIndex]:= ordera.ar[i]; + ordera.order[freeIndex]:= ordera.order[i]; + end; + Inc(freeIndex); + end; + Inc(i) + end +end; + +procedure ClearHitOrder(); +begin + ordera.Count:= 0; +end; + function TestCollisionXwithGear(Gear: PGear; Dir: LongInt): Word; var x, y, i: LongInt; begin diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uCommandHandlers.pas --- a/hedgewars/uCommandHandlers.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uCommandHandlers.pas Sun Jun 10 19:12:26 2018 +0200 @@ -30,9 +30,8 @@ , uVisualGearsList, uGearsHedgehog {$IFDEF USE_VIDEO_RECORDING}, uVideoRec {$ENDIF}; -var prevGState: TGameState = gsConfirm; - cTagsMasks : array[0..15] of byte = (7, 0, 0, 0, 15, 6, 4, 5, 0, 0, 0, 0, 0, 14, 12, 13); - cTagsMasksNoHealth: array[0..15] of byte = (3, 2, 11, 1, 0, 0, 0, 0, 0, 10, 0, 9, 0, 0, 0, 0); +var cTagsMasks : array[0..15] of byte = (7, 0, 0, 0, 0, 4, 5, 6, 15, 8, 8, 8, 8, 12, 13, 14); + cTagsMasksNoHealth: array[0..15] of byte = (3, 0, 1, 2, 0, 0, 0, 0, 11, 8, 9, 10, 8, 8, 8, 8); procedure chGenCmd(var s: shortstring); begin @@ -49,14 +48,15 @@ procedure chQuit(var s: shortstring); begin s:= s; // avoid compiler hint - if (GameState = gsGame) or (GameState = gsChat) then - begin - prevGState:= GameState; + if (GameState = gsGame) then + begin + isInChatMode:= false; GameState:= gsConfirm; - end - else + end + else begin if GameState = gsConfirm then - GameState:= prevGState; + GameState:= gsGame; + end; updateCursorVisibility; end; @@ -76,8 +76,6 @@ SendIPC(_S'Q'); GameState:= gsExit end - else - ParseCommand('chat team', true); end; procedure chHalt (var s: shortstring); @@ -533,7 +531,7 @@ cSeed:= s; InitStepsFlags:= InitStepsFlags or cifRandomize end - end; +end; procedure chAmmoMenu(var s: shortstring); begin @@ -571,6 +569,12 @@ dec(cVolumeDelta, 3) end; +procedure chMute(var s: shortstring); +begin +s:= s; // avoid compiler hint +cMuteToggle:= true; +end; + procedure chFindhh(var s: shortstring); begin s:= s; // avoid compiler hint @@ -616,13 +620,6 @@ UIDisplay:= uiNone else UIDisplay:= uiAll end -else if LocalMessage and gmPrecise = gmPrecise then - begin - if ((GameFlags and gfInvulnerable) = 0) then - cTagsMask:= cTagsMasks[cTagsMask] - else - cTagsMask:= cTagsMasksNoHealth[cTagsMask] - end else begin if UIDisplay <> uiNoTeams then @@ -631,6 +628,45 @@ end end; +procedure chRotateTags(var s: shortstring); +begin +s:= s; // avoid compiler hint +// Rotate Tags key + Switch: Toggle translucency only +if LocalMessage and gmSwitch = gmSwitch then + if ((cTagsMask and htTransparent) = 0) then + begin + cTagsMask:= cTagsMask or htTransparent; + cPrevTagsMask:= cPrevTagsMask or htTransparent + end + else + begin + cTagsMask:= cTagsMask and (not htTransparent); + cPrevTagsMask:= cPrevTagsMask and (not htTransparent) + end +// Rotate Tags key + Precise: Cycle through hog tags (keeping translucency) +else if LocalMessage and gmPrecise = gmPrecise then + begin + cPrevTagsMask:= cTagsMask; + if ((GameFlags and gfInvulnerable) = 0) then + cTagsMask:= cTagsMasks[cTagsMask] + else + cTagsMask:= cTagsMasksNoHealth[cTagsMask] + end +// Rotate Tags key only: Toggle all hog tags on and off +else + if ((cTagsMask and (htTeamName or htName or htHealth)) = 0) then + begin + cTagsMask:= cPrevTagsMask; + if ((GameFlags and gfInvulnerable) <> 0) then + cTagsMask:= cTagsMask and (not htHealth); + end + else + begin + cPrevTagsMask:= cTagsMask; + cTagsMask:= cTagsMask and (not (htTeamName or htName or htHealth)) + end; +end; + procedure chSpeedup_p(var s: shortstring); begin s:= s; // avoid compiler hint @@ -824,6 +860,7 @@ RegisterVariable('spectate', @chFastUntilLag , false); RegisterVariable('capture' , @chCapture , true ); RegisterVariable('rotmask' , @chRotateMask , true ); + RegisterVariable('rottags' , @chRotateTags , true ); RegisterVariable('rdriven' , @chTeamLocal , false); RegisterVariable('map' , @chSetMap , false); RegisterVariable('theme' , @chSetTheme , false); @@ -870,6 +907,7 @@ RegisterVariable('-volup' , @chVol_m , true ); RegisterVariable('+voldown', @chVol_m , true ); RegisterVariable('-voldown', @chVol_p , true ); + RegisterVariable('mute' , @chMute , true ); RegisterVariable('findhh' , @chFindhh , true ); RegisterVariable('pause' , @chPause , true ); RegisterVariable('+cur_u' , @chCurU_p , true ); diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uConsts.pas --- a/hedgewars/uConsts.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uConsts.pas Sun Jun 10 19:12:26 2018 +0200 @@ -209,7 +209,7 @@ gfVampiric = $00000200; gfKarma = $00000400; gfArtillery = $00000800; - gfForts = $00001000; + gfSwitchHog = $00001000; gfRandomOrder = $00002000; gfKing = $00004000; gfPlaceHog = $00008000; @@ -277,7 +277,7 @@ cMaxSlotIndex = 10; cHiddenSlotIndex = cMaxSlotIndex; // slot for hidden ammo types, not visible and has no key - cMaxSlotAmmoIndex = 5; + cMaxSlotAmmoIndex = 6; // ai hints aihUsualProcessing = $00000000; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uDebug.pas --- a/hedgewars/uDebug.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uDebug.pas Sun Jun 10 19:12:26 2018 +0200 @@ -54,7 +54,10 @@ function checkFails(Assert: boolean; Msg: shortstring; isFatal: boolean): boolean; begin if not Assert then + begin + lastConsoleLine:= Msg; OutError(Msg, false); + end; allOK:= allOK and (Assert or (not isFatal)); checkFails:= (not Assert) and isFatal diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uGame.pas --- a/hedgewars/uGame.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uGame.pas Sun Jun 10 19:12:26 2018 +0200 @@ -93,6 +93,18 @@ s:= ansistring(inttostr(i)); AddCaption(FormatA(trmsg[sidVolume], s), cWhiteColor, capgrpVolume) end + end + else if cMuteToggle then + begin + MuteAudio; + if isAudioMuted then + AddCaption(trmsg[sidMute], cWhiteColor, capgrpVolume) + else + begin + s:= ansistring(inttostr(GetVolumePercent())); + AddCaption(FormatA(trmsg[sidVolume], s), cWhiteColor, capgrpVolume); + end; + cMuteToggle:= false; end; end; PlayNextVoice; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uGears.pas --- a/hedgewars/uGears.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uGears.pas Sun Jun 10 19:12:26 2018 +0200 @@ -46,6 +46,7 @@ procedure FreeGearsList; procedure AddMiscGears; procedure AssignHHCoords; +procedure StartSuddenDeath; function GearByUID(uid : Longword) : PGear; function IsClockRunning() : boolean; @@ -61,7 +62,7 @@ var delay: LongWord; delay2: LongWord; - step: (stDelay, stChDmg, stSweep, stTurnReact, + step: (stInit, stDelay, stChDmg, stSweep, stTurnReact, stAfterDelay, stChWin, stWater, stChWin2, stHealth, stSpawn, stNTurn); NewTurnTick: LongWord; @@ -133,6 +134,7 @@ if (GameFlags and gfResetHealth) <> 0 then dec(Gear^.Hedgehog^.InitialHealth) // does not need a minimum check since <= 1 basically disables it end; + // Apply SD health decrease as soon as SD starts if (TotalRounds > cSuddenDTurns - 1) then begin inc(tmp, cHealthDecrease); @@ -156,8 +158,12 @@ end; if tmp > 0 then begin - inc(Gear^.Damage, min(tmp, max(0,Gear^.Health - 1 - Gear^.Damage))); - HHHurt(Gear^.Hedgehog, dsPoison); + // SD damage never reduces health below 1 + tmp:= min(tmp, max(0, Gear^.Health - 1 - Gear^.Damage)); + inc(Gear^.Damage, tmp); + if tmp > 0 then + // Make hedgehog moan on damage + HHHurt(Gear^.Hedgehog, dsPoison); end end; @@ -235,7 +241,7 @@ t := GearsList; while t <> nil do begin - if t^.Kind = gtGenericFaller then + if (t^.Kind = gtGenericFaller) and (t^.Tag = 1) then begin t^.Active:= true; t^.X:= int2hwFloat(GetRandom(rightX-leftX)+leftX); @@ -251,6 +257,12 @@ if AllInactive then case step of + stInit: + begin + if (not bBetweenTurns) and (not isInMultiShoot) then + ScriptCall('onEndTurn'); + inc(step) + end; stDelay: begin if delay = 0 then @@ -306,6 +318,7 @@ stWater: if (not bBetweenTurns) and (not isInMultiShoot) then begin + // Start Sudden Death water rise in the 2nd round of Sudden Death if TotalRounds = cSuddenDTurns + 1 then bWaterRising:= true; if bWaterRising and (cWaterRise > 0) then @@ -325,29 +338,7 @@ if (cWaterRise <> 0) or (cHealthDecrease <> 0) then begin if (TotalRounds = cSuddenDTurns) and (not SuddenDeath) and (not isInMultiShoot) then - begin - SuddenDeath:= true; - if cHealthDecrease <> 0 then - begin - SuddenDeathDmg:= true; - - // flash - ScreenFade:= sfFromWhite; - ScreenFadeValue:= sfMax; - ScreenFadeSpeed:= 1; - - ChangeToSDClouds; - ChangeToSDFlakes; - SetSkyColor(SDSkyColor.r * (SDTint.r/255) / 255, SDSkyColor.g * (SDTint.r/255) / 255, SDSkyColor.b * (SDTint.b/255) / 255); - Ammoz[amTardis].SkipTurns:= 9999; - Ammoz[amTardis].Probability:= 0; - end; - AddCaption(trmsg[sidSuddenDeath], cWhiteColor, capgrpGameState); - ScriptCall('onSuddenDeath'); - playSound(sndSuddenDeath); - StopMusic; - if SDMusicFN <> '' then PlayMusic - end + StartSuddenDeath() else if (TotalRounds < cSuddenDTurns) and (not isInMultiShoot) then begin i:= cSuddenDTurns - TotalRounds; @@ -528,8 +519,6 @@ cLaserSightingSniper:= false end; - if (GameFlags and gfArtillery) = 0 then - cArtillery:= false; // have to sweep *all* current team hedgehogs since it is theoretically possible if you have enough invulnerabilities and switch turns to make your entire team invulnerable if (CurrentTeam <> nil) then with CurrentTeam^ do @@ -548,6 +537,8 @@ begin if (GameFlags and gfInvulnerable) = 0 then Gear^.Hedgehog^.Effects[heInvulnerable]:= 0; + if (Gear^.Hedgehog^.Effects[heArtillery] = 2) then + Gear^.Hedgehog^.Effects[heArtillery]:= 0; end; end; t:= GearsList; @@ -556,7 +547,10 @@ t^.PortalCounter:= 0; if ((GameFlags and gfResetHealth) <> 0) and (t^.Kind = gtHedgehog) and (t^.Health < t^.Hedgehog^.InitialHealth) then begin + i:= t^.Hedgehog^.InitialHealth - t^.Health; t^.Health:= t^.Hedgehog^.InitialHealth; + if i > 0 then + HHHeal(t^.Hedgehog, i, false, $00FF0040); RenderHealth(t^.Hedgehog^); end; t:= t^.NextGear @@ -745,15 +739,15 @@ if (GameFlags and gfLaserSight) <> 0 then cLaserSighting:= true; -if (GameFlags and gfArtillery) <> 0 then - cArtillery:= true; for i:= (LAND_WIDTH*LAND_HEIGHT) div 524288+2 downto 0 do begin rx:= GetRandom(rightX-leftX)+leftX; ry:= GetRandom(LAND_HEIGHT-topY)+topY; rdx:= _90-(GetRandomf*_360); rdy:= _90-(GetRandomf*_360); - AddGear(rx, ry, gtGenericFaller, gstInvisible, rdx, rdy, $FFFFFFFF); + Gear:= AddGear(rx, ry, gtGenericFaller, gstInvisible, rdx, rdy, $FFFFFFFF); + // Tag=1: This allows this generic faller to be displaced randomly by events + Gear^.Tag:= 1; end; snowRight:= max(LAND_WIDTH,4096)+512; @@ -1057,6 +1051,40 @@ SpawnFakeCrateAt := FollowGear; end; +procedure StartSuddenDeath(); +begin + if SuddenDeath then + exit; + + SuddenDeath:= true; + SuddenDeathActive:= true; + + // Special effects (only w/ health decrease) + if cHealthDecrease <> 0 then + begin + SuddenDeathDmg:= true; + // White screen flash + ScreenFade:= sfFromWhite; + ScreenFadeValue:= sfMax; + ScreenFadeSpeed:= 1; + + // Clouds, flakes, sky tint + ChangeToSDClouds; + ChangeToSDFlakes; + SetSkyColor(SDSkyColor.r * (SDTint.r/255) / 255, SDSkyColor.g * (SDTint.g/255) / 255, SDSkyColor.b * (SDTint.b/255) / 255); + end; + + // Disable tardis + Ammoz[amTardis].SkipTurns:= 9999; + Ammoz[amTardis].Probability:= 0; + + AddCaption(trmsg[sidSuddenDeath], cWhiteColor, capgrpGameState); + ScriptCall('onSuddenDeath'); + playSound(sndSuddenDeath); + StopMusic; + if SDMusicFN <> '' then + PlayMusic +end; function GearByUID(uid : Longword) : PGear; var gear: PGear; @@ -1099,7 +1127,8 @@ if not isExternalSource then SendIPC(_S','); uStats.Skipped; -skipFlag:= true +skipFlag:= true; +ScriptCall('onSkipTurn'); end; procedure chHogSay(var s: shortstring); @@ -1250,7 +1279,9 @@ @doStepAddAmmo, @doStepGenericFaller, @doStepKnife, - @doStepDuck); + @doStepDuck, + @doStepMinigun, + @doStepMinigunBullet); begin doStepHandlers:= handlers; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uGearsHandlersMess.pas --- a/hedgewars/uGearsHandlersMess.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uGearsHandlersMess.pas Sun Jun 10 19:12:26 2018 +0200 @@ -47,7 +47,7 @@ procedure doStepBee(Gear: PGear); procedure doStepShotIdle(Gear: PGear); procedure doStepShotgunShot(Gear: PGear); -procedure spawnBulletTrail(Bullet: PGear; bulletX, bulletY: hwFloat); +procedure spawnBulletTrail(Bullet: PGear; bulletX, bulletY: hwFloat; fadeIn: Boolean); procedure doStepBulletWork(Gear: PGear); procedure doStepDEagleShot(Gear: PGear); procedure doStepSniperRifleShot(Gear: PGear); @@ -139,6 +139,9 @@ //procedure doStepCreeper(Gear: PGear); procedure doStepKnife(Gear: PGear); procedure doStepDuck(Gear: PGear); +procedure doStepMinigunWork(Gear: PGear); +procedure doStepMinigun(Gear: PGear); +procedure doStepMinigunBullet(Gear: PGear); var upd: Longword; @@ -254,7 +257,8 @@ Message := Message and (not gmAttack); end; HH^.GearHidden:= HH^.Gear; - HH^.Gear:= nil + HH^.Gear:= nil; + AddVisualGear(0, 0, vgtTeamHealthSorter); end; @@ -1126,18 +1130,63 @@ procedure doStepShotIdle(Gear: PGear); begin AllInactive := false; - inc(Gear^.Timer); - if Gear^.Timer > 75 then + if (Gear^.Kind <> gtMinigunBullet) then + begin + inc(Gear^.Timer); + if Gear^.Timer > 75 then + begin + DeleteGear(Gear); + AfterAttack + end + end + else begin DeleteGear(Gear); - AfterAttack end end; +procedure CreateShellForGear(Gear: PGear; startFrame: Longword); +var + shell: PVisualGear; +begin + shell := AddVisualGear(hwRound(Gear^.x), hwRound(Gear^.y), vgtShell); + if shell <> nil then + begin + shell^.dX := gear^.dX.QWordValue / -17179869184; + if (gear^.dX.isNegative) then + shell^.dX := -shell^.dX; + shell^.dY := gear^.dY.QWordValue / -17179869184; + shell^.Frame := startFrame; + end; +end; + +function ShotgunLineHitHelp(Gear: PGear; oX, oY, tX, tY: hwFloat): Boolean; +var i: LongInt; + Collisions: PGearArray; +begin + ShotgunLineHitHelp := false; + Collisions := CheckAllGearsLineCollision(Gear, oX, oY, tX, tY); + i := Collisions^.Count; + while i > 0 do + begin + dec(i); + if Collisions^.ar[i]^.Kind in + [gtMine, gtSMine, gtAirMine, gtKnife, gtCase, gtTarget, gtExplosives] then + begin + Gear^.X := Collisions^.ar[i]^.X; + Gear^.Y := Collisions^.ar[i]^.Y; + ShotgunShot(Gear); + Gear^.doStep := @doStepShotIdle; + ShotgunLineHitHelp := true; + exit; + end; + end; +end; + procedure doStepShotgunShot(Gear: PGear); var i: LongWord; - shell: PVisualGear; + oX, oY, tmpX, tmpY: hwFloat; begin AllInactive := false; @@ -1147,13 +1196,7 @@ if Gear^.Timer = 0 then begin PlaySound(sndShotgunFire); - shell := AddVisualGear(hwRound(Gear^.x), hwRound(Gear^.y), vgtShell); - if shell <> nil then - begin - shell^.dX := gear^.dX.QWordValue / -17179869184; - shell^.dY := gear^.dY.QWordValue / -17179869184; - shell^.Frame := 0 - end; + CreateShellForGear(Gear, 0); Gear^.State := Gear^.State or gstAnimation end; exit @@ -1167,37 +1210,70 @@ else inc(Gear^.Timer); - i := 200; + i := 100; + oX := Gear^.X; + oY := Gear^.Y; repeat - Gear^.X := Gear^.X + Gear^.dX; - Gear^.Y := Gear^.Y + Gear^.dY; - WorldWrap(Gear); + if Gear^.Tag = 0 then + begin + Gear^.X := Gear^.X + Gear^.dX; + Gear^.Y := Gear^.Y + Gear^.dY; + end; + + tmpX := Gear^.X; + tmpY := Gear^.Y; + if (Gear^.PortalCounter < 30) and WorldWrap(Gear) then + begin + inc(Gear^.PortalCounter); + if ShotgunLineHitHelp(Gear, oX, oY, tmpX, tmpY) then + exit; + oX := Gear^.X; + oY := Gear^.Y; + end; CheckCollision(Gear); - if (Gear^.State and gstCollision) <> 0 then - begin - Gear^.X := Gear^.X + Gear^.dX * 8; - Gear^.Y := Gear^.Y + Gear^.dY * 8; - ShotgunShot(Gear); - Gear^.doStep := @doStepShotIdle; - exit - end; + + if ((Gear^.State and gstCollision) <> 0) then + begin + if Gear^.Tag = 0 then + begin + //Try to align the shot with the land to give portals a chance to catch it + Gear^.X := Gear^.X + Gear^.dX * 2; + Gear^.Y := Gear^.Y + Gear^.dY * 2; + Gear^.Tag := 1 + end + else + begin + Gear^.X := Gear^.X + Gear^.dX * 6; + Gear^.Y := Gear^.Y + Gear^.dY * 6; + ShotgunShot(Gear); + Gear^.doStep := @doStepShotIdle; + end; + exit + end + else + Gear^.Tag := 0; CheckGearDrowning(Gear); if (Gear^.State and gstDrowning) <> 0 then begin Gear^.doStep := @doStepShotIdle; - exit + break; end; dec(i) until i = 0; + + ShotgunLineHitHelp(Gear, oX, oY, Gear^.X, Gear^.Y); + if (hwRound(Gear^.X) and LAND_WIDTH_MASK <> 0) or (hwRound(Gear^.Y) and LAND_HEIGHT_MASK <> 0) then Gear^.doStep := @doStepShotIdle end; //////////////////////////////////////////////////////////////////////////////// -procedure spawnBulletTrail(Bullet: PGear; bulletX, bulletY: hwFloat); +procedure spawnBulletTrail(Bullet: PGear; bulletX, bulletY: hwFloat; fadeIn: Boolean); var oX, oY: hwFloat; + fromX, fromY, toX, toY, dX, dY, bLength, stepLength: real; VGear: PVisualGear; + i, steps: LongWord; begin if Bullet^.PortalCounter = 0 then begin @@ -1210,28 +1286,135 @@ oy:= Bullet^.Friction; end; - // Bullet trail - VGear := AddVisualGear(hwRound(ox), hwRound(oy), vgtLineTrail); - - if VGear <> nil then - begin - VGear^.X:= hwFloat2Float(ox); - VGear^.Y:= hwFloat2Float(oy); - VGear^.dX:= hwFloat2Float(bulletX); - VGear^.dY:= hwFloat2Float(bulletY); - - // reached edge of land. assume infinite beam. Extend it way out past camera - if (hwRound(bulletX) and LAND_WIDTH_MASK <> 0) - or (hwRound(bulletY) and LAND_HEIGHT_MASK <> 0) then - // only extend if not under water - if not CheckCoordInWater(hwRound(bulletX), hwRound(bulletY)) then + fromX:= hwFloat2Float(ox); + fromY:= hwFloat2Float(oy); + toX:= hwFloat2Float(bulletX); + toY:= hwFloat2Float(bulletY); + + dX:= toX - fromX; + dY:= toY - fromY; + bLength:= sqrt(dX * dX + dY * dY); + dX:= dX / bLength; + dY:= dY / bLength; + + if fadeIn then + begin + steps:= 10; + stepLength:= 12; + fromX:= fromX + dX * 45; + fromY:= fromY + dY * 45; + bLength:= bLength - 45; + end + else steps:= 1; + + for i:= 0 to steps - 1 do + begin + if i < steps - 1 then + begin + toX:= fromX + dX * minD(stepLength, bLength); + toY:= fromY + dY * minD(stepLength, bLength); + end + else if steps > 1 then + begin + toX:= fromX + dX * bLength; + toY:= fromY + dY * bLength; + end; + + if bLength > 0 then + begin + VGear := AddVisualGear(round(fromX), round(fromY), vgtLineTrail); + if VGear <> nil then + begin + VGear^.X:= fromX; + VGear^.Y:= fromY; + VGear^.dX:= toX; + VGear^.dY:= toY; + VGear^.Tint:= $FFFFFF00 or ($FF * (i + 1) div (steps)); + + // reached edge of land. assume infinite beam. Extend it way out past camera + if ((round(toX) and LAND_WIDTH_MASK <> 0) and (not (WorldEdge in [weBounce, weWrap]))) + or (round(toY) and LAND_HEIGHT_MASK <> 0) then + // only extend if not under water + if not CheckCoordInWater(round(toX), round(toY)) then begin - VGear^.dX := VGear^.dX + max(LAND_WIDTH,4096) * (VGear^.dX - VGear^.X); - VGear^.dY := VGear^.dY + max(LAND_WIDTH,4096) * (VGear^.dY - VGear^.Y); + VGear^.dX := VGear^.dX + max(LAND_WIDTH,4096) * (VGear^.dX - VGear^.X); + VGear^.dY := VGear^.dY + max(LAND_WIDTH,4096) * (VGear^.dY - VGear^.Y); end; - - VGear^.Timer := 200; + VGear^.Timer := 200; + end; + end; + + if i < steps - 1 then + begin + fromX:= toX; + fromY:= toY; + bLength:= bLength - stepLength; + end + end; +end; + +procedure LineShoveHelp(Gear: PGear; oX, oY, tX, tY, dX, dY: hwFloat; count: LongWord); +var dmg,power: LongInt; +begin + if hwSqr(tX - oX) + hwSqr(tY - oY) > _0_25 then + begin + if (Gear^.AmmoType = amDEagle) or (Gear^.AmmoType = amMinigun) then + dmg:= Gear^.Boom + else + dmg:= Gear^.Timer * Gear^.Boom div 100000; + if (Gear^.AmmoType = amMinigun) then + power:= 10 + else + power:= 20; + AmmoShoveLine(Gear, dmg, power, oX, oY, tX, tY); + end; + if Gear^.Damage > 0 then + begin + DrawTunnel(oX, oY, dX, dY, count, 1); + dec(Gear^.Health, Gear^.Damage); + Gear^.Damage := 0 + end; +end; + +procedure CheckBulletDrowningHelp(Bullet: PGear); +var dX, dY: hwFloat; +begin + dX := Bullet^.dX; + dY := Bullet^.dY; + CheckGearDrowning(Bullet); + if (dX <> Bullet^.dX) or (dY <> Bullet^.dY) then + begin + SpawnBulletTrail(Bullet, Bullet^.X, Bullet^.Y, Bullet^.FlightTime = 0); + Bullet^.Elasticity := Bullet^.X; + Bullet^.Friction := Bullet^.Y; + Inc(Bullet^.PortalCounter); + Bullet^.FlightTime:= 1; + end; +end; + +procedure CreateBubblesForBullet(Gear: PGear); +var i, iInit: LongWord; +begin +if ((Gear^.State and gstDrowning) <> 0) and (Gear^.Health > 0) then + begin + // draw bubbles + if (not SuddenDeathDmg and (WaterOpacity < $FF)) or (SuddenDeathDmg and (SDWaterOpacity < $FF)) then + begin + case Gear^.Kind of + gtMinigunBullet: iInit:= Gear^.Health * 100; + gtDEagleShot, gtSniperRifleShot: iInit:= Gear^.Health * 4 end; + for i:=iInit downto 0 do + begin + if Random(6) = 0 then + AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBubble); + Gear^.X := Gear^.X + Gear^.dX; + Gear^.Y := Gear^.Y + Gear^.dY; + end; + end; + // bullet dies underwater + Gear^.Health:= 0; + end; end; procedure doStepBulletWork(Gear: PGear); @@ -1239,11 +1422,16 @@ i, x, y, iInit: LongWord; oX, oY, tX, tY, tDx, tDy: hwFloat; VGear: PVisualGear; + LandFlags: Word; + isDigging: Boolean; + isDead: Boolean; begin AllInactive := false; inc(Gear^.Timer); - iInit := 80; + iInit := 100; i := iInit; + isDigging := false; + isDead := false; oX := Gear^.X; oY := Gear^.Y; repeat @@ -1255,91 +1443,119 @@ tDy:= Gear^.dY; if (Gear^.PortalCounter < 30) and WorldWrap(Gear) then begin - DrawTunnel(oX, oY, tDx, tDy, iInit + 2 - i, 1); - SpawnBulletTrail(Gear, tX, tY); + LineShoveHelp(Gear, oX, oY, tX, tY, tDx, tDy, iInit + 2 - i); + SpawnBulletTrail(Gear, tX, tY, Gear^.FlightTime = 0); + Gear^.FlightTime:= 1; iInit:= i; oX:= Gear^.X; oY:= Gear^.Y; inc(Gear^.PortalCounter); Gear^.Elasticity:= Gear^.X; Gear^.Friction:= Gear^.Y; - SpawnBulletTrail(Gear, Gear^.X, Gear^.Y); + SpawnBulletTrail(Gear, Gear^.X, Gear^.Y, false); + + // bullets can now hurt the hog that fired them + if WorldEdge <> weSea then Gear^.Data:= nil; end; x := hwRound(Gear^.X); y := hwRound(Gear^.Y); - if ((y and LAND_HEIGHT_MASK) = 0) and ((x and LAND_WIDTH_MASK) = 0) and (Land[y, x] <> 0) then - inc(Gear^.Damage); - // let's interrupt before a collision to give portals a chance to catch the bullet - if (Gear^.Damage = 1) and (Gear^.Tag = 0) and (not CheckLandValue(x, y, lfLandMask)) then + if ((y and LAND_HEIGHT_MASK) = 0) and ((x and LAND_WIDTH_MASK) = 0) then + begin + LandFlags:= Land[y, x]; + if LandFlags <> 0 then inc(Gear^.Damage); + isDigging:= (LandFlags and lfLandMask) <> 0; + end; + // let's interrupt before a collision with land to give portals a chance to catch the bullet + if isDigging and (Gear^.Tag = 0) then begin Gear^.Tag := 1; - Gear^.Damage := 0; + dec(Gear^.Damage); Gear^.X := Gear^.X - Gear^.dX; Gear^.Y := Gear^.Y - Gear^.dY; - CheckGearDrowning(Gear); + CheckBulletDrowningHelp(Gear); break; end - else + else if (not isDigging) then Gear^.Tag := 0; - if Gear^.Damage > 5 then - begin - if Gear^.AmmoType = amDEagle then - AmmoShove(Gear, Gear^.Boom, 20) - else - AmmoShove(Gear, Gear^.Timer * Gear^.Boom div 100000, 20); + //Shove static gears to remove the mask and stop damaging the bullet + if (not isDigging) and (Gear^.Damage > 5) and (Gear^.Kind <> gtMinigunBullet) then + begin + LineShoveHelp(Gear, oX, oY, tX, tY, tDx, tDy, iInit + 2 - i); + SpawnBulletTrail(Gear, tX, tY, Gear^.FlightTime = 0); + Gear^.FlightTime:= 1; + iInit:= i; + oX:= Gear^.X; + oY:= Gear^.Y; end; - CheckGearDrowning(Gear); + + CheckBulletDrowningHelp(Gear); + case Gear^.Kind of + gtMinigunBullet: isDead:= isDigging or ((Gear^.State and gstDrowning) <> 0); + gtDEagleShot, gtSniperRifleShot: isDead:= (Gear^.Damage >= Gear^.Health) or ((Gear^.State and gstDrowning) <> 0) + end; dec(i) - until (i = 0) or (Gear^.Damage > Gear^.Health) or ((Gear^.State and gstDrowning) <> 0); - - if Gear^.Damage > 0 then - begin - DrawTunnel(oX, oY, Gear^.dX, Gear^.dY, iInit + 2 - i, 1); - dec(Gear^.Health, Gear^.Damage); - Gear^.Damage := 0 - end; - - if ((Gear^.State and gstDrowning) <> 0) and (Gear^.Health > 0) then - begin - // draw bubbles - if (not SuddenDeathDmg and (WaterOpacity < $FF)) or (SuddenDeathDmg and (SDWaterOpacity < $FF)) then - begin - for i:=(Gear^.Health * 4) downto 0 do + until (i = 0) or (isDead); + + LineShoveHelp(Gear, oX, oY, Gear^.X, Gear^.Y, + Gear^.dX, Gear^.dY, iInit + 2 - i); + + CreateBubblesForBullet(Gear); + + x := hwRound(Gear^.X); + y := hwRound(Gear^.Y); + if (isDead) or (x and LAND_WIDTH_MASK <> 0) or (y and LAND_HEIGHT_MASK <> 0) then + begin + if (Gear^.Kind = gtSniperRifleShot) then + cLaserSightingSniper := false; + if (Ammoz[Gear^.AmmoType].Ammo.NumPerTurn <= CurrentHedgehog^.MultiShootAttacks) and (CurrentHedgehog^.Effects[heArtillery] = 2) then + CurrentHedgehog^.Effects[heArtillery]:= 0; + + // Bullet Hit + if ((Gear^.State and gstDrowning) = 0) and (x and LAND_WIDTH_MASK = 0) and (y and LAND_HEIGHT_MASK = 0) then + begin + if Gear^.Kind = gtMinigunBullet then begin - if Random(6) = 0 then - AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBubble); - Gear^.X := Gear^.X + Gear^.dX; - Gear^.Y := Gear^.Y + Gear^.dY; + doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), 5, + Gear^.Hedgehog, EXPLNoDamage{ or EXPLDontDraw or EXPLNoGfx}); + VGear := AddVisualGear(hwRound(Gear^.X + Gear^.dX * 5), hwRound(Gear^.Y + Gear^.dY * 5), vgtBulletHit); + end + else + VGear := AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBulletHit); + + if VGear <> nil then + begin + VGear^.Angle := DxDy2Angle(-Gear^.dX, Gear^.dY); end; end; - // bullet dies underwater - Gear^.Health:= 0; - end; - - if (Gear^.Health <= 0) - or (hwRound(Gear^.X) and LAND_WIDTH_MASK <> 0) - or (hwRound(Gear^.Y) and LAND_HEIGHT_MASK <> 0) then - begin - if (Gear^.Kind = gtSniperRifleShot) then - cLaserSightingSniper := false; - if (Ammoz[Gear^.AmmoType].Ammo.NumPerTurn <= CurrentHedgehog^.MultiShootAttacks) and ((GameFlags and gfArtillery) = 0) then - cArtillery := false; - - // Bullet Hit - if ((Gear^.State and gstDrowning) = 0) and (hwRound(Gear^.X) and LAND_WIDTH_MASK = 0) and (hwRound(Gear^.Y) and LAND_HEIGHT_MASK = 0) then + + spawnBulletTrail(Gear, Gear^.X, Gear^.Y, Gear^.FlightTime = 0); + Gear^.FlightTime:= 1; + if Gear^.Kind = gtMinigunBullet then + ClearHitOrderLeq(Gear^.Tag); + + if (worldEdge = weSea) and (Gear^.Kind = gtMinigunBullet) + and Gear^.Y.isNegative and Gear^.dY.isNegative + and (Gear^.Health > 0) and (not isZero(Gear^.dX)) then + begin + if Gear^.dX.isNegative then begin - VGear := AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtBulletHit); - if VGear <> nil then - begin - VGear^.Angle := DxDy2Angle(-Gear^.dX, Gear^.dY); - end; + + Gear^.X:= int2hwFloat(-1); + iInit:= x - leftX; + end + else + begin + Gear^.X:= int2hwFloat(LAND_WIDTH); + iInit:= rightX - x - 1; end; - - spawnBulletTrail(Gear, Gear^.X, Gear^.Y); - Gear^.doStep := @doStepShotIdle - end; + Gear^.Y:= Gear^.Y + Gear^.dY * hwAbs(int2hwFloat(iInit) / Gear^.dX); + CheckGearDrowning(Gear); + CreateBubblesForBullet(Gear); + end; + Gear^.doStep := @doStepShotIdle + end; end; procedure doStepDEagleShot(Gear: PGear); @@ -1350,20 +1566,21 @@ Gear^.Data:= Pointer(Gear^.Hedgehog^.Gear); PlaySound(sndGun); + ClearHitOrder(); // add 2 initial steps to avoid problem with ammoshove related to calculation of radius + 1 radius as gear widths, and also just plain old weird angles Gear^.X := Gear^.X + Gear^.dX * 2; Gear^.Y := Gear^.Y + Gear^.dY * 2; + Gear^.FlightTime := 0; Gear^.doStep := @doStepBulletWork end; procedure doStepSniperRifleShot(Gear: PGear); -var - HHGear: PGear; - shell: PVisualGear; +var HHGear: PGear; begin - cArtillery := true; HHGear := Gear^.Hedgehog^.Gear; + if (Gear^.Hedgehog^.Effects[heArtillery] <> 1) then + Gear^.Hedgehog^.Effects[heArtillery]:= 2; if HHGear = nil then begin @@ -1387,20 +1604,16 @@ if (HHGear^.Message and gmAttack) <> 0 then begin - shell := AddVisualGear(hwRound(Gear^.x), hwRound(Gear^.y), vgtShell); - if shell <> nil then - begin - shell^.dX := gear^.dX.QWordValue / -8589934592; - shell^.dY := gear^.dY.QWordValue / -8589934592; - shell^.Frame := 1 - end; + CreateShellForGear(Gear, 1); Gear^.State := Gear^.State or gstAnimation; Gear^.dX := SignAs(AngleSin(HHGear^.Angle), HHGear^.dX) * _0_5; Gear^.dY := -AngleCos(HHGear^.Angle) * _0_5; PlaySound(sndGun); + ClearHitOrder(); // add 2 initial steps to avoid problem with ammoshove related to calculation of radius + 1 radius as gear widths, and also just weird angles Gear^.X := Gear^.X + Gear^.dX * 2; Gear^.Y := Gear^.Y + Gear^.dY * 2; + Gear^.FlightTime := 0; Gear^.doStep := @doStepBulletWork; end else @@ -1805,6 +2018,15 @@ trackSpeed, airFriction, tX, tY: hwFloat; isUnderwater: Boolean; begin + if (Gear^.State and gstFrozen) <> 0 then + begin + if Gear^.Damage > 0 then + begin + doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Boom, Gear^.Hedgehog, EXPLAutoSound); + DeleteGear(Gear) + end; + exit + end; isUnderwater:= CheckCoordInWater(hwRound(Gear^.X), hwRound(Gear^.Y) + Gear^.Radius); if Gear^.Pos > 0 then begin @@ -1914,11 +2136,11 @@ begin tX:=Gear^.X-targ^.X; tY:=Gear^.Y-targ^.Y; - if (tX.Round+tY.Round < Gear^.Karma) and - (hwRound(hwSqr(tX) + hwSqr(tY)) < sqr(Gear^.Karma)) then + if (tX.Round+tY.Round < Gear^.Boom) and + (hwRound(hwSqr(tX) + hwSqr(tY)) < sqr(Gear^.Boom)) then Gear^.State := Gear^.State or gstAttacking end - else if (Gear^.Angle > 0) and (CheckGearNear(Gear, gtHedgehog, Gear^.Karma, Gear^.Karma) <> nil) then + else if (Gear^.Angle > 0) and (CheckGearNear(Gear, gtHedgehog, Gear^.Boom, Gear^.Boom) <> nil) then Gear^.State := Gear^.State or gstAttacking end end @@ -1934,21 +2156,21 @@ begin tX:=Gear^.X-targ^.X; tY:=Gear^.Y-targ^.Y; - if (tX.Round+tY.Round < Gear^.Karma) and - (hwRound(hwSqr(tX) + hwSqr(tY)) < sqr(Gear^.Karma)) then + if (tX.Round+tY.Round < Gear^.Boom) and + (hwRound(hwSqr(tX) + hwSqr(tY)) < sqr(Gear^.Boom)) then begin Gear^.Hedgehog:= CurrentHedgehog; tmpG:= FollowGear; - doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Karma, Gear^.Hedgehog, EXPLAutoSound); + doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Boom, Gear^.Hedgehog, EXPLAutoSound); FollowGear:= tmpG; DeleteGear(Gear); exit end end - else if (Gear^.Angle > 0) and (CheckGearNear(Gear, gtHedgehog, Gear^.Karma, Gear^.Karma) <> nil) then + else if (Gear^.Angle > 0) and (CheckGearNear(Gear, gtHedgehog, Gear^.Boom, Gear^.Boom) <> nil) then begin Gear^.Hedgehog:= CurrentHedgehog; - doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Karma, Gear^.Hedgehog, EXPLAutoSound); + doMakeExplosion(hwRound(Gear^.X), hwRound(Gear^.Y), Gear^.Boom, Gear^.Hedgehog, EXPLAutoSound); DeleteGear(Gear); exit end; @@ -3439,7 +3661,7 @@ dX:= _50 * cGravity * ((Gear^.X + int2hwFloat(RightX-LeftX)) - X) / _25 else dX:= _50 * cGravity * ((Gear^.X - int2hwFloat(RightX-LeftX)) - X) / _25; - dY:= -_450 * cGravity; + dY:= -_450 * cMaxWindSpeed * 2; Active:= true; end else if Hedgehog^.Effects[heFrozen] > 255 then @@ -3764,6 +3986,7 @@ var HHGear: PGear; i: LongInt; + s: ansistring; dX, dY : hwFloat; fChanged: boolean; trueAngle: Longword; @@ -3842,12 +4065,17 @@ else AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtSmokeTrace); - if (HHGear <> nil) and ((HHGear^.Message and gmAttack) <> 0) and (Gear^.Health <> 0) then - begin - HHGear^.Message := HHGear^.Message and (not gmAttack); - AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtAirBomb, 0, Gear^.dX * _0_5, Gear^.dY * - _0_5, 0); - dec(Gear^.Health) + if (HHGear <> nil) and ((HHGear^.Message and gmAttack) <> 0) then + begin + if (Gear^.Health) <> 0 then + begin + HHGear^.Message := HHGear^.Message and (not gmAttack); + AddGear(hwRound(Gear^.X), hwRound(Gear^.Y), gtAirBomb, 0, Gear^.dX * _0_5, Gear^.dY * + _0_5, 0); + dec(Gear^.Health) + end; + s:= ansistring(inttostr(Gear^.Health)); + AddCaption(formatA(trmsg[sidRemaining], s), cWhiteColor, capgrpAmmostate); end; if (HHGear <> nil) and ((HHGear^.Message and gmLJump) <> 0) and ((Gear^.State and gsttmpFlag) = 0) then @@ -4085,6 +4313,7 @@ if (dY < _0_1) and (dY > -_0_1) then begin Gear^.State := Gear^.State or gsttmpFlag; + dX := SignAs(_0, dX); dY := dY - _0_2 end end @@ -4108,6 +4337,7 @@ HHGear: PGear; fuel, i: LongInt; move: hwFloat; + s: ansistring; begin HHGear := Gear^.Hedgehog^.Gear; if HHGear = nil then @@ -4169,6 +4399,8 @@ PlaySound(sndBirdyLay); dec(Gear^.FlightTime) end; + s:= ansistring(inttostr(Gear^.FlightTime)); + AddCaption(formatA(trmsg[sidRemaining], s), cWhiteColor, capgrpAmmostate); end; if HHGear^.Message and (gmUp or gmPrecise or gmLeft or gmRight) <> 0 then @@ -4454,7 +4686,7 @@ // Make duck go into “falling” mode again iterator^.Pos:= 0; - isbullet:= (iterator^.Kind in [gtShotgunShot, gtDEagleShot, gtSniperRifleShot, gtSineGunShot]); + isbullet:= (iterator^.Kind in [gtShotgunShot, gtDEagleShot, gtSniperRifleShot, gtSineGunShot, gtMinigunBullet]); r:= int2hwFloat(iterator^.Radius); @@ -4481,10 +4713,11 @@ continue; end; - if (iterator^.Kind = gtDEagleShot) or (iterator^.Kind = gtSniperRifleShot) then + if (iterator^.Kind in [gtDEagleShot, gtSniperRifleShot, gtMinigunBullet]) then begin // draw bullet trail - spawnBulletTrail(iterator, iterator^.X, iterator^.Y); + spawnBulletTrail(iterator, iterator^.X, iterator^.Y, iterator^.FlightTime = 0); + iterator^.FlightTime := 1; // the bullet can now hurt the hog that fired it iterator^.Data:= nil; end; @@ -4803,7 +5036,7 @@ // let's save the HH's dX's direction so we can decide where the "top" of the portal hole newPortal^.Elasticity.isNegative := CurrentHedgehog^.Gear^.dX.isNegative; // when doing a backjump the dx is the opposite of the facing direction - if ((Gear^.State and gstHHHJump) <> 0) and (not cArtillery) then + if ((Gear^.State and gstHHHJump) <> 0) and (Effects[heArtillery] = 0) then newPortal^.Elasticity.isNegative := not newPortal^.Elasticity.isNegative; // make portal gun look unloaded @@ -6002,9 +6235,9 @@ ndX:= SignAs(AngleSin(HHGear^.Angle), HHGear^.dX) * _4; ndY:= -AngleCos(HHGear^.Angle) * _4; if (ndX <> dX) or (ndY <> dY) or - ((Target.X <> NoPointX) and (Target.X and LAND_WIDTH_MASK = 0) and + (((Target.X <> NoPointX) and (Target.X and LAND_WIDTH_MASK = 0) and (Target.Y and LAND_HEIGHT_MASK = 0) and ((Land[Target.Y, Target.X] = 0)) and - (not CheckCoordInWater(Target.X, Target.Y))) then + (not CheckCoordInWater(Target.X, Target.Y))) and (CheckGearNear(gtAirMine, int2hwFloat(Target.X),int2hwFloat(Target.Y), Gear^.Radius*3, Gear^.Radius*3) = nil)) then begin updateTarget(Gear, ndX, ndY); Timer := iceWaitCollision; @@ -6020,7 +6253,7 @@ if Target.X <> NoPointX then begin CheckCollision(Gear); - if (State and gstCollision) <> 0 then + if ((State and gstCollision) <> 0) or (CheckGearNear(gtAirMine, int2hwFloat(Target.X),int2hwFloat(Target.Y), Gear^.Radius*4, Gear^.Radius*4) <> nil) then begin if Timer = iceWaitCollision then begin @@ -6065,7 +6298,7 @@ while iter <> nil do begin if (iter^.State and gstFrozen = 0) and - ((iter^.Kind = gtExplosives) or (iter^.Kind = gtCase) or (iter^.Kind = gtMine) or (iter^.Kind = gtSMine)) and + ((iter^.Kind = gtExplosives) or (iter^.Kind = gtAirMine) or (iter^.Kind = gtCase) or (iter^.Kind = gtMine) or (iter^.Kind = gtSMine)) and (abs(LongInt(iter^.X.Round) - target.x) + abs(LongInt(iter^.Y.Round) - target.y) + 2 < 2 * iceRadius) and (Distance(iter^.X - int2hwFloat(target.x), iter^.Y - int2hwFloat(target.y)) < int2hwFloat(iceRadius * 2)) then begin @@ -6109,6 +6342,19 @@ iter^.State:= iter^.State or gstFrozen; AddCI(iter) end + else if iter^.Kind = gtAirMine then + begin + iter^.Damage:= 0; + iter^.State:= iter^.State or gstFrozen; + if (hwRound(iter^.X) < RightX) and (hwRound(iter^.X) > 0) and + (hwRound(iter^.Y) < LAND_HEIGHT) and (hwRound(iter^.Y) > 0) then + begin + iter^.X:= int2hwFloat(min(RightX-16,max(hwRound(iter^.X), 16))); + iter^.Y:= int2hwFloat(min(LAND_HEIGHT-16,max(hwRound(iter^.Y),16))); + ForcePlaceOnLand(hwRound(iter^.X)-16, hwRound(iter^.Y)-16, sprFrozenAirMine, 0, lfIce, $FFFFFFFF, false, false, false); + iter^.State:= iter^.State or gstInvisible + end + end else // gtExplosives begin iter^.State:= iter^.State or gstFrozen; @@ -6121,6 +6367,7 @@ // FillRoundInLandWithIce(Target.X, Target.Y, iceRadius); SetAllHHToActive; Timer := iceWaitCollision; + Power:= GameTicks end; if (Timer = iceCollideWithWater) and ((GameTicks - Power) > groundFreezingTime div 2) then @@ -6179,7 +6426,18 @@ Target.Y:= gY; X:= HHGear^.X; Y:= HHGear^.Y - end; + end + else + begin + iter:= CheckGearNear(Gear, gtAirMine, Gear^.Radius*2, Gear^.Radius*2); + if (iter <> nil) and (iter^.State <> gstFrozen) then + begin + Target.X:= gX; + Target.Y:= gY; + X:= HHGear^.X; + Y:= HHGear^.Y + end + end; if (gX > max(LAND_WIDTH,4096)*2) or (gX < -max(LAND_WIDTH,4096)) or (gY < -max(LAND_HEIGHT,4096)) or @@ -6201,19 +6459,19 @@ if Gear^.Timer > 0 then dec(Gear^.Timer) else begin - if Gear^.Pos = posCaseUtility then - a:= GetUtility(Gear^.Hedgehog) - else - a:= GetAmmo(Gear^.Hedgehog); CheckSum:= CheckSum xor GameTicks; gi := GearsList; while gi <> nil do begin with gi^ do CheckSum:= CheckSum xor X.round xor X.frac xor dX.round xor dX.frac xor Y.round xor Y.frac xor dY.round xor dY.frac; AddRandomness(CheckSum); - if gi^.Kind = gtGenericFaller then gi^.State:= gi^.State and (not gstTmpFlag); + if (gi^.Kind = gtGenericFaller) and (gi^.Tag = 1) then + gi^.State:= gi^.State and (not gstTmpFlag); gi := gi^.NextGear end; + if Gear^.Pos = posCaseUtility then + a:= GetUtility(Gear^.Hedgehog) + else a:= GetAmmo(Gear^.Hedgehog); AddPickup(Gear^.Hedgehog^, a, Gear^.Power, hwRound(Gear^.X), hwRound(Gear^.Y)); DeleteGear(Gear) end; @@ -6232,7 +6490,7 @@ if (Gear^.State and gstTmpFlag <> 0) or (GameTicks and $7 = 0) then begin doStepFallingGear(Gear); - if (Gear^.State and gstInvisible <> 0) and (GameTicks and $FF = 0) and (hwRound(Gear^.X) < LongInt(leftX)) or (hwRound(Gear^.X) > LongInt(rightX)) or (hwRound(Gear^.Y) < LongInt(topY)) then + if (Gear^.Tag = 1) and (GameTicks and $FF = 0) and (hwRound(Gear^.X) < LongInt(leftX)) or (hwRound(Gear^.X) > LongInt(rightX)) or (hwRound(Gear^.Y) < LongInt(topY)) then begin Gear^.X:= int2hwFloat(GetRandom(rightX-leftX)+leftX); Gear^.Y:= int2hwFloat(GetRandom(LAND_HEIGHT-topY)+topY); @@ -6564,6 +6822,89 @@ dec(Gear^.Timer); end; +//////////////////////////////////////////////////////////////////////////////// +procedure doStepMinigunWork(Gear: PGear); +var HHGear: PGear; + bullet: PGear; + rx, ry: hwFloat; + gX, gY: LongInt; +begin + AllInactive:= false; + HHGear := Gear^.Hedgehog^.Gear; + if HHGear = nil then + begin + ClearHitOrder(); + DeleteGear(gear); + exit + end; + + HedgehogChAngle(HHGear); + + dec(Gear^.Timer); + if (Gear^.Timer mod 50) = 0 then + begin + Gear^.Tag := ((Gear^.Tag - 1) and 1) + 2; + + gX := hwRound(Gear^.X) + GetLaunchX(amMinigun, hwSign(HHGear^.dX), HHGear^.Angle); + gY := hwRound(Gear^.Y) + GetLaunchY(amMinigun, HHGear^.Angle); + rx := rndSign(getRandomf * _0_2); + ry := rndSign(getRandomf * _0_2); + + bullet:= AddGear(gx, gy, gtMinigunBullet, 0, SignAs(AngleSin(HHGear^.Angle) * _0_8, HHGear^.dX) + rx, AngleCos(HHGear^.Angle) * ( - _0_8) + ry, 0); + bullet^.CollisionMask:= lfNotCurrentMask; + bullet^.WDTimer := Gear^.WDTimer; + Inc(Gear^.WDTimer); + + CreateShellForGear(Gear, Gear^.Tag and 1); + end; + + if (Gear^.Timer = 0) or ((HHGear^.State and gstHHDriven) = 0) then + begin + if (HHGear^.State and gstHHDriven) = 0 then + StopSound(sndMinigun); + HHGear^.State := HHGear^.State and (not gstNotKickable); + ClearHitOrder(); + DeleteGear(Gear); + AfterAttack + end +end; + +procedure doStepMinigun(Gear: PGear); +var HHGear: PGear; +begin + dec(Gear^.Timer); + if (Gear^.Timer mod 100) = 0 then + Gear^.Tag := (Gear^.Tag + 1) and 1; + + if Gear^.Timer = 0 then + begin + Gear^.Tag := 2; + HHGear := Gear^.Hedgehog^.Gear; + HHGear^.Message := HHGear^.Message and (not (gmUp or gmDown)); + HHGear^.State := HHGear^.State or gstNotKickable; + + Gear^.Timer := Gear^.Karma; + Gear^.WDTimer := 0; // Order of the next bullet; + ClearHitOrder(); + Gear^.doStep := @doStepMinigunWork + end; +end; + +//////////////////////////////////////////////////////////////////////////////// + +procedure doStepMinigunBullet(Gear: PGear); +begin + Gear^.Data:= nil; + // remember who fired this + if (Gear^.Hedgehog <> nil) and (Gear^.Hedgehog^.Gear <> nil) then + Gear^.Data:= Pointer(Gear^.Hedgehog^.Gear); + + Gear^.X := Gear^.X + Gear^.dX * 2; + Gear^.Y := Gear^.Y + Gear^.dY * 2; + Gear^.FlightTime := 0; + Gear^.doStep := @doStepBulletWork +end; + (* This didn't end up getting used, but, who knows, might be reasonable for javellin or something // Make the knife initial angle based on the hog attack angle, or is that too hard? diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uGearsHandlersRope.pas --- a/hedgewars/uGearsHandlersRope.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uGearsHandlersRope.pas Sun Jun 10 19:12:26 2018 +0200 @@ -462,28 +462,10 @@ if (HHGear^.State and gstMoving) <> 0 then begin - if TestCollisionXwithGear(HHGear, hwSign(HHGear^.dX)) <> 0 then - SetLittle(HHGear^.dX); - if HHGear^.dY.isNegative and (TestCollisionYwithGear(HHGear, -1) <> 0) then - HHGear^.dY := _0; - - HHGear^.X := HHGear^.X + HHGear^.dX; + doStepHedgehogMoving(HHGear); Gear^.X := Gear^.X + HHGear^.dX; + Gear^.Y := Gear^.Y + HHGear^.dY; - if TestCollisionYwithGear(HHGear, 1) <> 0 then - begin - CheckHHDamage(HHGear); - HHGear^.dY := _0 - //HHGear^.State:= HHGear^.State and (not (gstHHJumping or gstHHHJump)); - end - else - begin - HHGear^.Y := HHGear^.Y + HHGear^.dY; - Gear^.Y := Gear^.Y + HHGear^.dY; - HHGear^.dY := HHGear^.dY + cGravity; - if (GameFlags and gfMoreWind) <> 0 then - HHGear^.dX := HHGear^.dX + cWindSpeed / HHGear^.Density - end; tt := Gear^.Elasticity; tx := _0; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uGearsHedgehog.pas --- a/hedgewars/uGearsHedgehog.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uGearsHedgehog.pas Sun Jun 10 19:12:26 2018 +0200 @@ -47,7 +47,7 @@ t:= 0; while (TeamsArray[t] <> CurrentTeam) do inc(t); - SendHogSpeech(#1 + char(t) + 'AFK'); + AddChatString(#2 + FormatA(trmsg[sidAutoSkip], CurrentTeam^.TeamName)); ParseCommand('/skip', true) end; @@ -76,8 +76,8 @@ if (MultiShootAttacks > 0) then begin - if (CurAmmoType = amSniperRifle) and ((GameFlags and gfArtillery) = 0) then - cArtillery := false; + if (Effects[heArtillery] = 2) then + Effects[heArtillery]:= 0; if (Ammoz[CurAmmoType].Ammo.Propz and ammoprop_NoRoundEnd) = 0 then begin MultiShootAttacks:= Ammoz[CurAmmoType].Ammo.NumPerTurn; @@ -141,6 +141,16 @@ weap:= TAmmoType(HHGear^.MsgParam); Hedgehog:= HHGear^.Hedgehog; +HHGear^.Message:= HHGear^.Message and (not gmWeapon); + +// Special case: amNothing unselects weapon +if weap = amNothing then + begin + HHGear^.Hedgehog^.CurAmmoType:= amNothing; + ApplyAmmoChanges(HHGear^.Hedgehog^); + exit + end; + if Hedgehog^.Team^.Clan^.TurnNumber <= Ammoz[weap].SkipTurns then exit; // weapon is not activated yet @@ -148,8 +158,6 @@ t:= cMaxSlotAmmoIndex; -HHGear^.Message:= HHGear^.Message and (not gmWeapon); - prevState:= HHGear^.State; newState:= prevState; with Hedgehog^ do @@ -261,7 +269,7 @@ lx:= X + int2hwfloat(round(GetLaunchX(CurAmmoType, hwSign(dX), Angle))); ly:= Y + int2hwfloat(round(GetLaunchY(CurAmmoType, Angle))); - if ((Gear^.State and gstHHHJump) <> 0) and (not cArtillery) then + if ((Gear^.State and gstHHHJump) <> 0) and (Effects[heArtillery] = 0) then xx:= - xx; if Ammoz[CurAmmoType].Ammo.AttackVoice <> sndNone then AddVoice(Ammoz[CurAmmoType].Ammo.AttackVoice, CurrentTeam^.voicepack); @@ -315,6 +323,10 @@ newGear^.Radius:= 4 // temporarily shrink so it doesn't instantly embed in the ground end; amDEagle: newGear:= AddGear(hwRound(lx + xx * cHHRadius), hwRound(ly + yy * cHHRadius), gtDEagleShot, 0, xx * _0_5, yy * _0_5, 0); + amMinigun: begin + PlaySound(sndMinigun); + newGear:= AddGear(hwRound(lx + xx * cHHRadius), hwRound(ly + yy * cHHRadius), gtMinigun, 0, xx * _0_5, yy * _0_5, 0); + end; amSineGun: newGear:= AddGear(hwRound(lx + xx * cHHRadius), hwRound(ly + yy * cHHRadius), gtSineGunShot, 0, xx * _0_5, yy * _0_5, 0); amPortalGun: begin newGear:= AddGear(hwRound(lx + xx * cHHRadius), hwRound(ly + yy * cHHRadius), gtPortal, 0, xx * _0_6, yy * _0_6, @@ -466,7 +478,8 @@ amFlamethrower, amLandGun, amResurrector, //amStructure, amTardis, amPiano, - amIceGun, amRubber: CurAmmoGear:= newGear; + amIceGun, amRubber, + amMinigun: CurAmmoGear:= newGear; end; if CurAmmoType = amCake then FollowGear:= newGear; if CurAmmoType = amAirMine then newGear^.Hedgehog:= nil; @@ -716,10 +729,7 @@ //////////////////////////////////////////////////////////////////////////////// procedure PickUp(HH, Gear: PGear); -var s: ansistring; - i: LongInt; - vga: PVisualGear; - ag, gi: PGear; +var ag, gi: PGear; begin if Gear^.State and gstFrozen <> 0 then exit; @@ -748,7 +758,7 @@ gi := GearsList; while gi <> nil do begin - if (gi^.Kind = gtGenericFaller) and (gi^.State and gstInvisible <> 0) then + if (gi^.Kind = gtGenericFaller) and (gi^.Tag = 1) then begin gi^.Active:= true; gi^.State:= gi^.State or gstTmpFlag; @@ -768,23 +778,9 @@ PlaySound(sndShotgunReload); inc(HH^.Health, Gear^.Health); HH^.Hedgehog^.Effects[hePoisoned] := 0; - s:= IntToStr(Gear^.Health); - AddCaption(FormatA(trmsg[sidHealthGain], s), HH^.Hedgehog^.Team^.Clan^.Color, capgrpAmmoinfo); RenderHealth(HH^.Hedgehog^); RecountTeamHealth(HH^.Hedgehog^.Team); - - i:= 0; - while (i < Gear^.Health) and (i <= 1000) do - begin - vga:= AddVisualGear(hwRound(HH^.X), hwRound(HH^.Y), vgtStraightShot); - if vga <> nil then - with vga^ do - begin - Tint:= $00FF00FF; - State:= ord(sprHealth) - end; - inc(i, 5); - end; + HHHeal(HH^.Hedgehog, Gear^.Health, true); end; end end; @@ -792,7 +788,6 @@ procedure HedgehogStep(Gear: PGear); var PrevdX: LongInt; CurWeapon: PAmmo; - portals: PGearArrayS; begin CurWeapon:= GetCurAmmoEntry(Gear^.Hedgehog^); if ((Gear^.State and (gstAttacking or gstMoving)) = 0) then @@ -835,7 +830,7 @@ (TestCollisionYwithGear(Gear, -1) = 0) then begin Gear^.dY:= -_0_15; - if not cArtillery then + if Gear^.Hedgehog^.Effects[heArtillery] = 0 then Gear^.dX:= SignAs(_0_15, Gear^.dX); Gear^.State:= Gear^.State or gstMoving or gstHHJumping; PlaySoundV(sndJump1, Gear^.Hedgehog^.Team^.voicepack); @@ -855,12 +850,9 @@ exit end; - if (Gear^.Message and (gmLeft or gmRight) <> 0) and (Gear^.State and gstMoving = 0) then - begin - // slightly inefficient since it doesn't halt after one portal, maybe could add a param to GearsNear for number desired. - portals:= GearsNear(Gear^.X, Gear^.Y, gtPortal, 26); - if portals.size = 0 then Gear^.PortalCounter:= 0 - end; + if (Gear^.Message and (gmLeft or gmRight) <> 0) and (Gear^.State and gstMoving = 0) and + (CheckGearNear(Gear, gtPortal, 26, 26) <> nil) then + Gear^.PortalCounter:= 0; PrevdX:= hwSign(Gear^.dX); if (Gear^.Message and gmLeft )<>0 then Gear^.dX:= -cLittle else @@ -880,7 +872,7 @@ Gear^.Hedgehog^.visStepPos:= (Gear^.Hedgehog^.visStepPos + 1) and 7; - if (not cArtillery or + if ((Gear^.Hedgehog^.Effects[heArtillery] = 0) or ((CurAmmoGear <> nil) and (CurAmmoGear^.Kind = gtBlowTorch))) and ((Gear^.Message and gmPrecise) = 0) then MakeHedgehogsStep(Gear); @@ -1049,7 +1041,7 @@ if (land and lfBouncy = 0) or (Gear^.State and gstCollision <> 0) then begin - if ((Gear^.State and gstHHHJump) <> 0) and (not cArtillery) + if ((Gear^.State and gstHHHJump) <> 0) and (Gear^.Hedgehog^.Effects[heArtillery] = 0) and (Gear^.dX.QWordValue < _0_02.QWordValue) then begin if land and lfBouncy <> 0 then @@ -1354,14 +1346,14 @@ begin HHGear^.State:= HHGear^.State or gstHHHJump; HHGear^.dY:= -_0_25; - if not cArtillery then + if (Hedgehog^.Effects[heArtillery] = 0) then HHGear^.dX:= -SignAs(_0_02, HHGear^.dX); PlaySoundV(sndJump2, Hedgehog^.Team^.voicepack) end; HHGear^.Message:= HHGear^.Message and (not (gmLJump or gmHJump)); - if (not cArtillery) and wasJumping and (TestCollisionXwithGear(HHGear, hwSign(HHGear^.dX)) <> 0) then + if (Hedgehog^.Effects[heArtillery] = 0) and wasJumping and (TestCollisionXwithGear(HHGear, hwSign(HHGear^.dX)) <> 0) then SetLittle(HHGear^.dX); if Hedgehog^.Gear <> nil then @@ -1474,7 +1466,7 @@ var slope: hwFloat; begin if (Gear^.Message and (gmAllStoppable or gmLJump or gmHJump) = 0) - and (Gear^.State and (gstHHJumping or gstHHHJump or gstAttacking) = 0) + and (Gear^.State and (gstHHJumping or gstHHHJump or gstAttacking or gstAnimation) = 0) and ((Gear^.Hedgehog = nil) or ((Gear^.Hedgehog^.Effects[heFrozen] = 0) or (Gear^.Hedgehog^.Effects[heFrozen] > 255))) and (not Gear^.dY.isNegative) and TurnClockActive and (TestCollisionYwithGear(Gear, 1) and lfIce <> 0) then begin diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uGearsList.pas --- a/hedgewars/uGearsList.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uGearsList.pas Sun Jun 10 19:12:26 2018 +0200 @@ -106,6 +106,8 @@ (* gtGenericFaller *) , amNothing (* gtKnife *) , amKnife (* gtDuck *) , amDuck +(* gtMinigun *) , amMinigun +(* gtMinigunBullet *) , amMinigun ); @@ -222,7 +224,7 @@ gtHedgehog: Gear^.Boom := 30; gtMine: Gear^.Boom := 50; gtCase: Gear^.Boom := 25; - gtAirMine: Gear^.Boom := 25; + gtAirMine: Gear^.Boom := 30; gtExplosives: Gear^.Boom := 75; gtGrenade: Gear^.Boom := 50; gtShell: Gear^.Boom := 50; @@ -265,6 +267,7 @@ gtPoisonCloud: Gear^.Boom := 20; gtKnife: Gear^.Boom := 40000; // arbitrary scaling factor since impact-based gtDuck: Gear^.Boom := 40; + gtMinigunBullet: Gear^.Boom := 2; end; case Kind of @@ -312,6 +315,8 @@ if (GameFlags and gfAISurvival) <> 0 then if gear^.Hedgehog^.BotLevel > 0 then gear^.Hedgehog^.Effects[heResurrectable] := 1; + if (GameFlags and gfArtillery) <> 0 then + gear^.Hedgehog^.Effects[heArtillery] := 1; // this would presumably be set in the frontend // if we weren't going to do that yet, would need to reinit GetRandom // oh, and, randomising slightly R and B might be nice too. @@ -429,6 +434,7 @@ end end; gtAirMine: begin + gear^.AdvBounce:= 1; gear^.ImpactSound:= sndAirMineImpact; gear^.nImpactSounds:= 1; gear^.Health:= 30; @@ -440,7 +446,6 @@ gear^.Angle:= 175; // Radius at which air bombs will start "seeking". $FFFFFFFF = unlimited. check is skipped. gear^.Power:= cMaxWindSpeed.QWordValue div 2; // hwFloat converted. 1/2 g default. defines the "seek" speed when a gear is in range. gear^.Pos:= cMaxWindSpeed.QWordValue * 3 div 2; // air friction. slows it down when not hitting stuff - gear^.Karma:= 30; // damage if gear^.Timer = 0 then begin if cMinesTime < 0 then @@ -741,6 +746,17 @@ gear^.Density:= _0_5; gear^.AdvBounce:= 1; end; + gtMinigun: begin + // Timer. First, it's the timer before shooting. Then it will become the shooting timer and is set to Karma + if gear^.Timer = 0 then + gear^.Timer:= 601; + // minigun shooting time. 1 bullet is fired every 50ms + gear^.Karma:= 3451; + end; + gtMinigunBullet: begin + gear^.Radius:= 1; + gear^.Health:= 2; + end; gtGenericFaller:begin gear^.AdvBounce:= 1; gear^.Radius:= 1; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uGearsRender.pas --- a/hedgewars/uGearsRender.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uGearsRender.pas Sun Jun 10 19:12:26 2018 +0200 @@ -279,7 +279,7 @@ curhat:= ChefHatTexture else curhat:= HH^.HatTex; m:= 1; - if ((Gear^.State and gstHHHJump) <> 0) and (not cArtillery) then + if ((Gear^.State and gstHHHJump) <> 0) and (HH^.Effects[heArtillery] = 0) then m:= -1; sx:= ox + 1; // this offset is very common sy:= oy - 3; @@ -490,10 +490,14 @@ begin DrawTextureRotatedF(curhat, 1.0, -1.0, -6.0, ox, oy, 0, i, 32, 32, i*DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) + hAngle); - if curhat^.w > 64 then + if (curhat^.w > 64) or ((curhat^.w = 64) and (curhat^.h = 32)) then begin + if ((curhat^.w = 64) and (curhat^.h = 32)) then + tx := 1 + else + tx := 32; Tint(HH^.Team^.Clan^.Color shl 8 or $FF); - DrawTextureRotatedF(curhat, 1.0, -1.0, -6.0, ox, oy, 32, i, 32, 32, + DrawTextureRotatedF(curhat, 1.0, -1.0, -6.0, ox, oy, tx, i, 32, 32, i*DxDy2Angle(CurAmmoGear^.dY, CurAmmoGear^.dX) + hAngle); untint end @@ -521,14 +525,18 @@ sign, 32, 32); - if curhat^.w > 64 then + if (curhat^.w > 64) or ((curhat^.w = 64) and (curhat^.h = 32)) then begin + if ((curhat^.w = 64) and (curhat^.h = 32)) then + tx := 1 + else + tx := 32; Tint(HH^.Team^.Clan^.Color shl 8 or $FF); DrawTextureF(curhat, 1, sx, sy - 5, - 32, + tx, sign, 32, 32); @@ -608,7 +616,10 @@ CurAmmoGear^.Pos, sign, 0); - DrawSprite(sprCensored, ox - 32, oy - 20, 0) + // sprCensored contains English text, so only show it for English locales + // TODO: Make text translatable. But how? + if Copy(cLocale, 1, 2) = 'en' then + DrawSprite(sprCensored, ox - 32, oy - 20, 0); end; defaultPos:= false end; @@ -639,7 +650,7 @@ defaultPos:= false; HatVisible:= true end; - gtShover: + gtShover, gtMinigun: begin DrawHedgehog(sx, sy, sign, 0, 5, 0); defaultPos:= false; @@ -822,7 +833,7 @@ 0, sign, 0); - amBaseballBat: + amBaseballBat, amMinigun: begin HatVisible:= true; DrawHedgehog(sx, sy, @@ -852,12 +863,6 @@ 32); *) end; - case amt of - amBaseballBat: DrawSpritePivotedF(sprHandBaseball, - sx + 9 * sign, - sy + 2, 0, sign, -8, 1, aangle); - end; - defaultPos:= false end; @@ -1025,6 +1030,7 @@ end end end; + if (Gear^.State and gstHHDriven) <> 0 then begin (* if (CurAmmoGear = nil) then @@ -1036,15 +1042,17 @@ end; *) if (CurAmmoGear = nil) then begin - if ((Gear^.State and (gstAttacked or gstAnimation or gstHHJumping)) = 0) - and (Gear^.Message and (gmLeft or gmRight) = 0) then - begin + if ((Gear^.State and (gstAttacked or gstAnimation or gstHHJumping)) = 0) + and (Gear^.Message and (gmLeft or gmRight) = 0) then + begin amt:= CurrentHedgehog^.CurAmmoType; - case amt of - amBaseballBat: DrawSpritePivotedF(sprHandBaseball, - sx + 9 * sign, sy + 2, 0, sign, -8, 1, aangle); + case amt of + amBaseballBat: DrawSpritePivotedF(sprHandBaseball, + sx + 9 * sign, sy + 2, 0, sign, -8, 1, aangle); + amMinigun: DrawSpritePivotedF(sprMinigun, + sx + 20 * sign, sy + 4, 0, sign, -18, -2, aangle); + end; end; - end; end else begin @@ -1065,7 +1073,10 @@ DrawTextureCentered(sx, sy - 40, CurAmmoGear^.Tex); DrawAltWeapon(Gear, sx, sy) end; - gtShover: DrawSpritePivotedF(sprHandBaseball, sx + 9 * sign, sy + 2, CurAmmoGear^.Tag, sign, -8, 1, aangle); + gtShover: DrawSpritePivotedF(sprHandBaseball, + sx + 9 * sign, sy + 2, CurAmmoGear^.Tag, sign, -8, 1, aangle); + gtMinigun: DrawSpritePivotedF(sprMinigun, + sx + 20 * sign, sy + 4, CurAmmoGear^.Tag, sign, -18, -2, aangle); end; end end; @@ -1196,7 +1207,8 @@ aAngle: real; startX, endX, startY, endY: LongInt; begin - if Gear^.State and gstFrozen <> 0 then Tint($A0, $A0, $FF, $FF); + // airmine has its own sprite + if (Gear^.State and gstFrozen <> 0) and (Gear^.Kind <> gtAirMine) then Tint($A0, $A0, $FF, $FF); //if Gear^.State and gstFrozen <> 0 then Tint(IceColor or $FF); if Gear^.Target.X <> NoPointX then if Gear^.AmmoType = amBee then @@ -1227,11 +1239,25 @@ end; gtBall: DrawSpriteRotatedF(sprBalls, x, y, Gear^.Tag,0, Gear^.DirAngle); - gtPortal: if ((Gear^.Tag and 1) = 0) // still moving? + gtPortal: begin + if ((Gear^.Tag and 1) = 0) // still moving? or (Gear^.LinkedGear = nil) or (Gear^.LinkedGear^.LinkedGear <> Gear) // not linked&backlinked? or ((Gear^.LinkedGear^.Tag and 1) = 0) then // linked portal still moving? - DrawSpriteRotatedF(sprPortal, x, y, Gear^.Tag, hwSign(Gear^.dX), Gear^.DirAngle) - else DrawSpriteRotatedF(sprPortal, x, y, 4 + Gear^.Tag div 2, hwSign(Gear^.dX), Gear^.DirAngle); + DrawSpriteRotatedF(sprPortal, x, y, Gear^.Tag, hwSign(Gear^.dX), Gear^.DirAngle) + else + DrawSpriteRotatedF(sprPortal, x, y, 4 + Gear^.Tag div 2, hwSign(Gear^.dX), Gear^.DirAngle); + + // Portal ball trace effects + if ((Gear^.Tag and 1) = 0) and ((GameTicks mod 4) = 0) and (not isPaused) then + begin + vg:= AddVisualGear(hwRound(Gear^.X), hwRound(Gear^.Y), vgtDust, 1); + if vg <> nil then + if Gear^.Tag = 0 then + vg^.Tint:= $fab02ab0 + else if Gear^.Tag = 2 then + vg^.Tint:= $364df7b0; + end; + end; gtDrill: if (Gear^.State and gsttmpFlag) <> 0 then DrawSpriteRotated(sprAirDrill, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)) @@ -1243,17 +1269,17 @@ gtShell: DrawSpriteRotated(sprBazookaShell, x, y, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); gtGrave: begin - DrawTextureF(Gear^.Hedgehog^.Team^.GraveTex, 1, x, y, (GameTicks shr 7+Gear^.uid) and 15, 1, 32, 32); + DrawTextureF(Gear^.Hedgehog^.Team^.GraveTex, 1, x, y, (RealTicks shr 7+Gear^.uid) and 15, 1, 32, 32); if Gear^.Health > 0 then begin //Tint($33, $33, $FF, max($40, round($FF * abs(1 - (GameTicks mod (6000 div Gear^.Health)) / 750)))); - Tint($f5, $db, $35, max($40, round($FF * abs(1 - (GameTicks mod 1500) / (750 + Gear^.Health))))); + Tint($f5, $db, $35, max($40, round($FF * abs(1 - (RealTicks mod 1500) / (750 + Gear^.Health))))); //Tint($FF, $FF, $FF, max($40, round($FF * abs(1 - (RealTicks mod 1500) / 750)))); DrawSprite(sprVampiric, x - 24, y - 24, 0); untint end end; - gtBee: DrawSpriteRotatedF(sprBee, x, y, (GameTicks shr 5) mod 2, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); + gtBee: DrawSpriteRotatedF(sprBee, x, y, (RealTicks shr 5) mod 2, 0, DxDy2Angle(Gear^.dY, Gear^.dX)); gtPickHammer: DrawSprite(sprPHammer, x - 16, y - 50 + LongInt(((GameTicks shr 5) and 1) * 2), 0); gtRope: DrawRope(Gear); @@ -1264,16 +1290,19 @@ DrawSpriteRotated(sprMineOn, x, y, 0, Gear^.DirAngle) else DrawSpriteRotated(sprMineDead, x, y, 0, Gear^.DirAngle); end; - gtAirMine: if Gear^.State and gstTmpFlag = 0 then // mine is inactive + gtAirMine: + if (Gear^.State and gstFrozen <> 0) then + DrawSprite(sprFrozenAirMine, x-16, y-16, 15) + else if (Gear^.State and gstTmpFlag = 0) then // mine is inactive begin - Tint(150,150,150,255); + if (Gear^.State and gstTmpFlag = 0) then Tint(150,150,150,255); DrawSprite(sprAirMine, x-16, y-16, 15); untint end else if (Gear^.Hedgehog <> nil) and (Gear^.Hedgehog^.Gear <> nil) then // mine is chasing a hog - DrawSprite(sprAirMine, x-16, y-16, (RealTicks div 25) mod 16) + DrawSprite(sprAirMine, x-16, y-16, (RealTicks div 25 + Gear^.Uid) mod 16) else if Gear^.State and gstChooseTarget <> 0 then // mine is seeking for hogs - DrawSprite(sprAirMine, x-16, y-16, (RealTicks div 125) mod 16) + DrawSprite(sprAirMine, x-16, y-16, (RealTicks div 125 + Gear^.Uid) mod 16) else DrawSprite(sprAirMine, x-16, y-16, 4); // mine is active but not seeking @@ -1293,7 +1322,7 @@ DrawSprite(sprCase, x - 24, y - 28, 0) else begin - i:= (GameTicks shr 6) mod 64; + i:= (RealTicks shr 6) mod 64; if i > 18 then i:= 0; DrawSprite(sprCase, x - 24, y - 24, i) end @@ -1304,7 +1333,7 @@ DrawSprite(sprFAid, x - 24, y - 28, 0) else begin - i:= ((GameTicks shr 6) + 38) mod 64; + i:= ((RealTicks shr 6) + 38) mod 64; if i > 13 then i:= 0; DrawSprite(sprFAid, x - 24, y - 24, i) end @@ -1315,7 +1344,7 @@ DrawSprite(sprUtility, x - 24, y - 28, 0) else begin - i:= (GameTicks shr 6) mod 70; + i:= (RealTicks shr 6) mod 70; if i > 23 then i:= 0; i:= i mod 12; DrawSprite(sprUtility, x - 24, y - 24, i) @@ -1333,7 +1362,7 @@ DrawSprite(sprExplosivesRoll, x - 24, y - 24, 0) else if Gear^.State and gstAnimation = 0 then begin - i:= (GameTicks shr 6 + Gear^.uid*3) mod 64; + i:= (RealTicks shr 6 + Gear^.uid*3) mod 64; if i > 18 then i:= 0; DrawSprite(sprExplosives, x - 24, y - 24, i) @@ -1369,8 +1398,8 @@ gtClusterBomb: DrawSpriteRotated(sprClusterBomb, x, y, 0, Gear^.DirAngle); gtCluster: DrawSprite(sprClusterParticle, x - 8, y - 8, 0); gtFlame: if Gear^.Tag and 1 = 0 then - DrawTextureF(SpritesData[sprFlame].Texture, 2 / (Gear^.Tag mod 3 + 2), x, y, (GameTicks shr 7 + LongWord(Gear^.Tag)) mod 8, 1, 16, 16) - else DrawTextureF(SpritesData[sprFlame].Texture, 2 / (Gear^.Tag mod 3 + 2), x, y, (GameTicks shr 7 + LongWord(Gear^.Tag)) mod 8, -1, 16, 16); + DrawTextureF(SpritesData[sprFlame].Texture, 2 / (Gear^.Tag mod 3 + 2), x, y, (RealTicks shr 7 + LongWord(Gear^.Tag)) mod 8, 1, 16, 16) + else DrawTextureF(SpritesData[sprFlame].Texture, 2 / (Gear^.Tag mod 3 + 2), x, y, (RealTicks shr 7 + LongWord(Gear^.Tag)) mod 8, -1, 16, 16); gtParachute: begin DrawSprite(sprParachute, x - 24, y - 48, 0); DrawAltWeapon(Gear, x + 1, y - 3) @@ -1391,7 +1420,7 @@ DrawSpriteRotatedF(sprTeleport, hwRound(HHGear^.X) + 1 + WorldDx, hwRound(HHGear^.Y) - 3 + WorldDy, 11 - Gear^.Pos, hwSign(HHGear^.dX), 0) end end; - gtSwitcher: DrawSprite(sprSwitch, x - 16, y - 56, (GameTicks shr 6) mod 12); + gtSwitcher: DrawSprite(sprSwitch, x - 16, y - 56, (RealTicks shr 6) mod 12); gtTarget: begin Tint($FF, $FF, $FF, round($FF * Gear^.Timer / 1000)); DrawSprite(sprTarget, x - 16, y - 16, 0); @@ -1548,8 +1577,16 @@ end end end; - gtDuck: DrawSpriteRotatedF(sprDuck, x, y, 1, Gear^.Tag, Gear^.DirAngle); - gtGenericFaller: DrawCircle(x, y, 3, 3, $FF, $00, $00, $FF); // debug + gtDuck: DrawSpriteRotatedF(sprDuck, x, y, 1, Gear^.Tag, + // replace with something based on dx/dy? + Gear^.DirAngle + 10-round(20 * abs(1 - (RealTicks mod round(0.1/max(0.00005,cWindSpeedf))) / round(0.05/max(0.00005,cWindSpeedf))) )); + gtGenericFaller: begin + // DEBUG: draw gtGenericFaller + if Gear^.Tag <> 0 then + DrawCircle(x, y, max(3, Gear^.Radius), 3, $FF, $00, $00, $FF) + else + DrawCircle(x, y, max(3, Gear^.Radius), 3, $80, $FF, $80, $8F); + end; end; if Gear^.State and gstFrozen <> 0 then untint end; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uGearsUtils.pas --- a/hedgewars/uGearsUtils.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uGearsUtils.pas Sun Jun 10 19:12:26 2018 +0200 @@ -31,6 +31,8 @@ procedure ApplyDamage(Gear: PGear; AttackerHog: PHedgehog; Damage: Longword; Source: TDamageSource); procedure spawnHealthTagForHH(HHGear: PGear; dmg: Longword); procedure HHHurt(Hedgehog: PHedgehog; Source: TDamageSource); +procedure HHHeal(Hedgehog: PHedgehog; healthBoost: Longword; showMessage: boolean; vgTint: Longword); +procedure HHHeal(Hedgehog: PHedgehog; healthBoost: Longword; showMessage: boolean); procedure CheckHHDamage(Gear: PGear); procedure CalcRotationDirAngle(Gear: PGear); procedure ResurrectHedgehog(var gear: PGear); @@ -38,12 +40,14 @@ procedure FindPlace(var Gear: PGear; withFall: boolean; Left, Right: LongInt); inline; procedure FindPlace(var Gear: PGear; withFall: boolean; Left, Right: LongInt; skipProximity: boolean); +function CheckGearNear(Kind: TGearType; X, Y: hwFloat; rX, rY: LongInt): PGear; function CheckGearNear(Gear: PGear; Kind: TGearType; rX, rY: LongInt): PGear; function CheckGearDrowning(var Gear: PGear): boolean; procedure CheckCollision(Gear: PGear); inline; procedure CheckCollisionWithLand(Gear: PGear); inline; procedure AmmoShove(Ammo: PGear; Damage, Power: LongInt); +procedure AmmoShoveLine(Ammo: PGear; Damage, Power: LongInt; oX, oY, tX, tY: hwFloat); function GearsNear(X, Y: hwFloat; Kind: TGearType; r: LongInt): PGearArrayS; procedure SpawnBoxOfSmth; procedure ShotgunShot(Gear: PGear); @@ -262,8 +266,7 @@ end; procedure ApplyDamage(Gear: PGear; AttackerHog: PHedgehog; Damage: Longword; Source: TDamageSource); -var s: ansistring; - vampDmg, tmpDmg, i: Longword; +var vampDmg, tmpDmg, i: Longword; vg: PVisualGear; begin if Damage = 0 then @@ -287,22 +290,9 @@ // was considering pulsing on attack, Tiy thinks it should be permanent while in play //CurrentHedgehog^.Gear^.State:= CurrentHedgehog^.Gear^.State or gstVampiric; inc(CurrentHedgehog^.Gear^.Health,vampDmg); - s:= IntToStr(vampDmg); - AddCaption(FormatA(trmsg[sidHealthGain], s), CurrentHedgehog^.Team^.Clan^.Color, capgrpAmmoinfo); RenderHealth(CurrentHedgehog^); RecountTeamHealth(CurrentHedgehog^.Team); - i:= 0; - while (i < vampDmg) and (i < 1000) do - begin - vg:= AddVisualGear(hwRound(CurrentHedgehog^.Gear^.X), hwRound(CurrentHedgehog^.Gear^.Y), vgtStraightShot); - if vg <> nil then - with vg^ do - begin - Tint:= $FF0000FF; - State:= ord(sprHealth) - end; - inc(i, 5); - end; + HHHeal(CurrentHedgehog, vampDmg, true, $FF0000FF); end end; if (GameFlags and gfKarma <> 0) and (GameFlags and gfInvulnerable = 0) and @@ -354,6 +344,7 @@ HHGear^.Active:= true; end; +// Play effects for hurt hedgehog procedure HHHurt(Hedgehog: PHedgehog; Source: TDamageSource); begin if Hedgehog^.Effects[heFrozen] <> 0 then exit; @@ -378,6 +369,48 @@ end end; +{- +Show heal particles and message at hog gear. +Hedgehog: Hedgehog which gets the health boost +healthBoost: Amount of added health added +showMessage: Whether to show announcer message +vgTint: Tint of heal particle +-} +procedure HHHeal(Hedgehog: PHedgehog; healthBoost: Longword; showMessage: boolean; vgTint: Longword); +var i: LongInt; + vg: PVisualGear; + s: ansistring; +begin + if healthBoost < 1 then + exit; + + if showMessage then + begin + s:= IntToStr(healthBoost); + AddCaption(FormatA(trmsg[sidHealthGain], s), Hedgehog^.Team^.Clan^.Color, capgrpAmmoinfo) + end; + + i:= 0; + // One particle for every 5 HP. Max. 200 particles + while (i < healthBoost) and (i < 1000) do + begin + vg:= AddVisualGear(hwRound(Hedgehog^.Gear^.X), hwRound(Hedgehog^.Gear^.Y), vgtStraightShot); + if vg <> nil then + with vg^ do + begin + Tint:= vgTint; + State:= ord(sprHealth) + end; + inc(i, 5) + end; +end; + +// Shorthand for the same above, but with tint implied +procedure HHHeal(Hedgehog: PHedgehog; healthBoost: Longword; showMessage: boolean); +begin + HHHeal(Hedgehog, healthBoost, showMessage, $00FF00FF); +end; + procedure CheckHHDamage(Gear: PGear); var dmg: LongInt; @@ -663,7 +696,8 @@ TurnTimeLeft := 0; Gear^.RenderTimer := false; if (Gear^.Kind <> gtSniperRifleShot) and (Gear^.Kind <> gtShotgunShot) - and (Gear^.Kind <> gtDEagleShot) and (Gear^.Kind <> gtSineGunShot) then + and (Gear^.Kind <> gtDEagleShot) and (Gear^.Kind <> gtSineGunShot) + and (Gear^.Kind <> gtMinigunBullet) then if Gear^.Kind = gtHedgehog then begin if Gear^.Hedgehog^.Effects[heResurrectable] <> 0 then @@ -992,20 +1026,48 @@ end end; -function CheckGearNear(Gear: PGear; Kind: TGearType; rX, rY: LongInt): PGear; +function CheckGearNear(Kind: TGearType; X, Y: hwFloat; rX, rY: LongInt): PGear; var t: PGear; + width: hwFloat; begin t:= GearsList; rX:= sqr(rX); rY:= sqr(rY); +width:= int2hwFloat(RightX-LeftX); + +while t <> nil do + begin + if (t^.Kind = Kind) then + if (not ((hwSqr(X - t^.X) / rX + hwSqr(Y - t^.Y) / rY) > _1)) or + ((WorldEdge = weWrap) and ( + (not ((hwSqr(X - width - t^.X) / rX + hwSqr(Y - t^.Y) / rY) > _1)) or + (not ((hwSqr(X + width - t^.X) / rX + hwSqr(Y - t^.Y) / rY) > _1)))) then + begin + CheckGearNear:= t; + exit; + end; + t:= t^.NextGear + end; + +CheckGearNear:= nil +end; + +function CheckGearNear(Gear: PGear; Kind: TGearType; rX, rY: LongInt): PGear; +var t: PGear; + width: hwFloat; +begin +t:= GearsList; +rX:= sqr(rX); +rY:= sqr(rY); +width:= int2hwFloat(RightX-LeftX); while t <> nil do begin if (t <> Gear) and (t^.Kind = Kind) then if (not ((hwSqr(Gear^.X - t^.X) / rX + hwSqr(Gear^.Y - t^.Y) / rY) > _1)) or ((WorldEdge = weWrap) and ( - (not ((hwSqr(Gear^.X - int2hwFloat(RightX-LeftX) - t^.X) / rX + hwSqr(Gear^.Y - t^.Y) / rY) > _1)) or - (not ((hwSqr(Gear^.X + int2hwFloat(RightX-LeftX) - t^.X) / rX + hwSqr(Gear^.Y - t^.Y) / rY) > _1)))) then + (not ((hwSqr(Gear^.X - width - t^.X) / rX + hwSqr(Gear^.Y - t^.Y) / rY) > _1)) or + (not ((hwSqr(Gear^.X + width - t^.X) / rX + hwSqr(Gear^.Y - t^.Y) / rY) > _1)))) then begin CheckGearNear:= t; exit; @@ -1117,6 +1179,7 @@ gtHedgehog, gtMine, gtSMine, + gtAirMine, gtKnife, gtCase, gtTarget, @@ -1190,7 +1253,7 @@ usable:= true; HH:= HHGear^.Hedgehog; if HHGear <> nil then - if (HHGear = nil) or (HH^.King) or (SuddenDeathDmg) then + if (HHGear = nil) or (HH^.King) or (SuddenDeathActive) then usable:= false; cnt:= 0; for j:= 0 to Pred(HH^.Team^.Clan^.TeamsNumber) do @@ -1204,13 +1267,14 @@ CanUseTardis:= usable; end; -procedure AmmoShove(Ammo: PGear; Damage, Power: LongInt); +procedure AmmoShoveImpl(Ammo: PGear; Damage, Power: LongInt; collisions: PGearArray); var t: PGearArray; Gear: PGear; i, j, tmpDmg: LongInt; VGear: PVisualGear; begin -t:= CheckGearsCollision(Ammo); +t:= collisions; + // Just to avoid hogs on rope dodging fire. if (CurAmmoGear <> nil) and ((CurAmmoGear^.Kind = gtRope) or (CurAmmoGear^.Kind = gtJetpack) or (CurAmmoGear^.Kind = gtBirdy)) and (CurrentHedgehog^.Gear <> nil) and (CurrentHedgehog^.Gear^.CollisionIndex = -1) @@ -1228,18 +1292,22 @@ begin dec(i); Gear:= t^.ar[i]; - if (Ammo^.Data <> nil) and (Ammo^.Kind in [gtDEagleShot, gtSniperRifleShot]) and (PGear(Ammo^.Data) = Gear) then + if (Ammo^.Kind in [gtDEagleShot, gtSniperRifleShot, gtMinigunBullet]) + and (((Ammo^.Data <> nil) and (PGear(Ammo^.Data) = Gear)) + or (not UpdateHitOrder(Gear, Ammo^.WDTimer))) then continue; + if ((Ammo^.Kind = gtFlame) or (Ammo^.Kind = gtBlowTorch)) and - (Gear^.Kind = gtHedgehog) and (Gear^.Hedgehog^.Effects[heFrozen] > 255) then + (Gear^.Kind = gtHedgehog) and (Gear^.Hedgehog^.Effects[heFrozen] > 255) then Gear^.Hedgehog^.Effects[heFrozen]:= max(255,Gear^.Hedgehog^.Effects[heFrozen]-10000); tmpDmg:= ModifyDamage(Damage, Gear); if (Gear^.State and gstNoDamage) = 0 then begin - if (Ammo^.Kind = gtDEagleShot) or (Ammo^.Kind = gtSniperRifleShot) then + if (not (Gear^.Kind in [gtMinigun, gtPortal])) and + (Ammo^.Kind in [gtDEagleShot, gtSniperRifleShot, gtMinigunBullet]) then begin - VGear := AddVisualGear(hwround(Ammo^.X), hwround(Ammo^.Y), vgtBulletHit); + VGear := AddVisualGear(t^.cX[i], t^.cY[i], vgtBulletHit); if VGear <> nil then VGear^.Angle := DxDy2Angle(-Ammo^.dX, Ammo^.dY); end; @@ -1251,6 +1319,7 @@ case Gear^.Kind of gtHedgehog, gtMine, + gtAirMine, gtSMine, gtKnife, gtTarget, @@ -1268,7 +1337,10 @@ if (Ammo^.Kind = gtKnife) and (tmpDmg > 0) then for j:= 1 to max(1,min(3,tmpDmg div 5)) do begin - VGear:= AddVisualGear(hwRound(Ammo^.X-((Ammo^.X-Gear^.X)/_2)), hwRound(Ammo^.Y-((Ammo^.Y-Gear^.Y)/_2)), vgtStraightShot); + VGear:= AddVisualGear( + t^.cX[i] - ((t^.cX[i] - hwround(Gear^.X)) div 2), + t^.cY[i] - ((t^.cY[i] - hwround(Gear^.Y)) div 2), + vgtStraightShot); if VGear <> nil then with VGear^ do begin @@ -1297,13 +1369,13 @@ if (Gear^.Kind = gtHedgehog) and (Gear^.Hedgehog^.King or (Gear^.Hedgehog^.Effects[heFrozen] > 0)) then begin - Gear^.dX:= Ammo^.dX * Power * _0_005; - Gear^.dY:= Ammo^.dY * Power * _0_005 + Gear^.dX:= Gear^.dX + Ammo^.dX * Power * _0_005; + Gear^.dY:= Gear^.dY + Ammo^.dY * Power * _0_005 end else if ((Ammo^.Kind <> gtFlame) or (Gear^.Kind = gtHedgehog)) and (Power <> 0) then begin - Gear^.dX:= Ammo^.dX * Power * _0_01; - Gear^.dY:= Ammo^.dY * Power * _0_01 + Gear^.dX:= Gear^.dX + Ammo^.dX * Power * _0_01; + Gear^.dY:= Gear^.dY + Ammo^.dY * Power * _0_01 end; if (not isZero(Gear^.dX)) or (not isZero(Gear^.dY)) then @@ -1338,6 +1410,19 @@ SetAllToActive end; +procedure AmmoShoveLine(Ammo: PGear; Damage, Power: LongInt; oX, oY, tX, tY: hwFloat); +var t: PGearArray; +begin + t:= CheckAllGearsLineCollision(Ammo, oX, oY, tX, tY); + AmmoShoveImpl(Ammo, Damage, Power, t); +end; + +procedure AmmoShove(Ammo: PGear; Damage, Power: LongInt); +begin + AmmoShoveImpl(Ammo, Damage, Power, + CheckGearsCollision(Ammo)); +end; + function CountGears(Kind: TGearType): Longword; var t: PGear; @@ -1423,7 +1508,6 @@ GearsNear.ar:= @GearsNearArray end; - procedure SpawnBoxOfSmth; var t, aTot, uTot, a, h: LongInt; i: TAmmoType; @@ -1578,9 +1662,6 @@ if (hwRound(Gear^.X) < LongInt(leftX)) or (hwRound(Gear^.X) > LongInt(rightX)) then begin - // bullets can now hurt the hog that fired them - if (WorldEdge <> weSea) and (Gear^.Kind in [gtDEagleShot, gtSniperRifleShot]) then - Gear^.Data:= nil; if WorldEdge = weWrap then begin if (hwRound(Gear^.X) < LongInt(leftX)) then diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uInputHandler.pas --- a/hedgewars/uInputHandler.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uInputHandler.pas Sun Jun 10 19:12:26 2018 +0200 @@ -27,6 +27,9 @@ function KeyNameToCode(name: shortstring): LongInt; inline; function KeyNameToCode(name: shortstring; Modifier: shortstring): LongInt; + +function KeyBindToCode(bind: shortstring): LongInt; +function KeyBindToName(bind: shortstring): shortstring; //procedure MaskModifier(var code: LongInt; modifier: LongWord); procedure MaskModifier(Modifier: shortstring; var code: LongInt); procedure ProcessMouse(event: TSDL_MouseButtonEvent; ButtonDown: boolean); @@ -91,6 +94,54 @@ MaskModifier(Modifier, code); KeyNameToCode:= code; end; + +// Takes a control name (e.g. 'quit') and returns the corresponding key code, +// if it has been bound. +// Returns -1 if the control has not been bound. +function KeyBindToCode(bind: shortstring): LongInt; +var code, index: LongInt; +begin + index:= 0; + while (index <= High(CurrentBinds.binds)) and (CurrentBinds.binds[index] <> bind) do inc(index); + if index > High(CurrentBinds.binds) then + // Return error + KeyBindToCode:= -1 + else begin + code:= 0; + while (code <= High(CurrentBinds.indices)) and (CurrentBinds.indices[code] <> index) do inc(code); + checkFails(code <= High(CurrentBinds.indices), 'binds registry inconsistency', True); + KeyBindToCode:= code; + end; +end; + +// Takes a control name (e.g. 'quit') and returns the corresponding +// human-readable key name from SDL. +// FIXME: Does not work 100% for all keys yet, but at least it no +// longer hardcodes any key name. +// TODO: Localize +function KeyBindToName(bind: shortstring): shortstring; +var code: LongInt; + name: shortstring; +begin + code:= KeyBindToCode(bind); + if code = -1 then + KeyBindToName:= trmsg[sidUnknownKey] + else + begin + name:= SDL_GetKeyName(SDL_GetKeyFromScancode(code)); + if (name = 'Escape') then + // Let's shorten the name “Escape” for the quit menu + KeyBindToName:= 'Esc' + else if (length(name) <> 0) then + KeyBindToName:= name + else + begin + WriteLnToConsole('Error: KeyBindToName('+bind+') failed to find SDL key name!'); + KeyBindToName:= trmsg[sidUnknownKey]; + end; + end; +end; + (* procedure MaskModifier(var code: LongInt; Modifier: LongWord); begin @@ -162,18 +213,23 @@ {$ELSE} // on other systems use this shortcut only if the keys are not bound to any command if tkbd[KeyNameToCode('left_ctrl')] or tkbd[KeyNameToCode('right_ctrl')] then - if ((CurrentBinds[KeyNameToCode('left_ctrl')] = '') or - (CurrentBinds[KeyNameToCode('right_ctrl')] = '')) and - (CurrentBinds[SDLK_w] = '') then + if ((CurrentBinds.indices[KeyNameToCode('left_ctrl')] = 0) or + (CurrentBinds.indices[KeyNameToCode('right_ctrl')] = 0)) and + (CurrentBinds.indices[SDLK_w] = 0) then {$ENDIF} ParseCommand('forcequit', true); end; -if CurrentBinds[code][0] <> #0 then +if CurrentBinds.indices[code] > 0 then begin if (code < cKeyMaxIndex - 2) // means not mouse buttons and KeyDown - and (not ((CurrentBinds[code] = 'put') or (CurrentBinds[code] = 'ammomenu') or (CurrentBinds[code] = '+cur_u') or (CurrentBinds[code] = '+cur_d') or (CurrentBinds[code] = '+cur_l') or (CurrentBinds[code] = '+cur_r'))) + and (not ((CurrentBinds.binds[CurrentBinds.indices[code]] = 'put') + or (CurrentBinds.binds[CurrentBinds.indices[code]] = 'ammomenu') + or (CurrentBinds.binds[CurrentBinds.indices[code]] = '+cur_u') + or (CurrentBinds.binds[CurrentBinds.indices[code]] = '+cur_d') + or (CurrentBinds.binds[CurrentBinds.indices[code]] = '+cur_l') + or (CurrentBinds.binds[CurrentBinds.indices[code]] = '+cur_r'))) and (CurrentTeam <> nil) and (not CurrentTeam^.ExtDriven) then bShowAmmoMenu:= false; @@ -182,20 +238,20 @@ begin Trusted:= Trusted and (not isPaused); //releasing keys during pause should be allowed on the other hand - if CurrentBinds[code] = 'switch' then + if CurrentBinds.binds[CurrentBinds.indices[code]] = 'switch' then LocalMessage:= LocalMessage or gmSwitch - else if CurrentBinds[code] = '+precise' then + else if CurrentBinds.binds[CurrentBinds.indices[code]] = '+precise' then LocalMessage:= LocalMessage or gmPrecise; - ParseCommand(CurrentBinds[code], Trusted); + ParseCommand(CurrentBinds.binds[CurrentBinds.indices[code]], Trusted); if (CurrentTeam <> nil) and (not CurrentTeam^.ExtDriven) and (ReadyTimeLeft > 1) then ParseCommand('gencmd R', true) end - else if (CurrentBinds[code][1] = '+') then + else if (CurrentBinds.binds[CurrentBinds.indices[code]][1] = '+') then begin - if CurrentBinds[code] = '+precise' then + if CurrentBinds.binds[CurrentBinds.indices[code]] = '+precise' then LocalMessage:= LocalMessage and (not gmPrecise); - s:= CurrentBinds[code]; + s:= CurrentBinds.binds[CurrentBinds.indices[code]]; s[1]:= '-'; ParseCommand(s, Trusted); if (CurrentTeam <> nil) and (not CurrentTeam^.ExtDriven) and (ReadyTimeLeft > 1) then @@ -203,7 +259,7 @@ end else begin - if CurrentBinds[code] = 'switch' then + if CurrentBinds.binds[CurrentBinds.indices[code]] = 'switch' then LocalMessage:= LocalMessage and (not gmSwitch) end end @@ -274,55 +330,75 @@ ProcessKey(t, False); end; +procedure RegisterBind(var binds: TBinds; key, value: shortstring); +var code: LongInt; +begin + checkFails(binds.lastIndex < 255, 'too many binds', true); + + code:= KeyNameToCode(key); + + checkFails(code >= 0, 'unknown key', true); + + if binds.indices[code] > 0 then + begin + binds.binds[binds.indices[code]]:= value + end + else begin + inc(binds.lastIndex); + binds.indices[code]:= binds.lastIndex; + binds.binds[binds.indices[code]]:= value + end; +end; procedure InitDefaultBinds; var i: Longword; begin - DefaultBinds[KeyNameToCode('escape')]:= 'quit'; - DefaultBinds[KeyNameToCode(_S'`')]:= 'history'; - DefaultBinds[KeyNameToCode('delete')]:= 'rotmask'; + RegisterBind(DefaultBinds, 'escape', 'quit'); + RegisterBind(DefaultBinds, _S'`', 'history'); + RegisterBind(DefaultBinds, 'delete', 'rotmask'); + RegisterBind(DefaultBinds, 'home', 'rottags'); //numpad //DefaultBinds[265]:= '+volup'; //DefaultBinds[256]:= '+voldown'; - DefaultBinds[KeyNameToCode(_S'0')]:= '+volup'; - DefaultBinds[KeyNameToCode(_S'9')]:= '+voldown'; - DefaultBinds[KeyNameToCode(_S'8')]:= 'mute'; - DefaultBinds[KeyNameToCode(_S'c')]:= 'capture'; - DefaultBinds[KeyNameToCode(_S'r')]:= 'record'; - DefaultBinds[KeyNameToCode(_S'h')]:= 'findhh'; - DefaultBinds[KeyNameToCode(_S'p')]:= 'pause'; - DefaultBinds[KeyNameToCode(_S's')]:= '+speedup'; - DefaultBinds[KeyNameToCode(_S't')]:= 'chat'; - DefaultBinds[KeyNameToCode(_S'y')]:= 'confirm'; + RegisterBind(DefaultBinds, _S'0', '+volup'); + RegisterBind(DefaultBinds, _S'9', '+voldown'); + RegisterBind(DefaultBinds, _S'8', 'mute'); + RegisterBind(DefaultBinds, _S'c', 'capture'); + RegisterBind(DefaultBinds, _S'r', 'record'); + RegisterBind(DefaultBinds, _S'h', 'findhh'); + RegisterBind(DefaultBinds, _S'p', 'pause'); + RegisterBind(DefaultBinds, _S's', '+speedup'); + RegisterBind(DefaultBinds, _S't', 'chat'); + RegisterBind(DefaultBinds, _S'y', 'confirm'); - DefaultBinds[KeyNameToCode('mousem')]:= 'zoomreset'; - DefaultBinds[KeyNameToCode('wheelup')]:= 'zoomin'; - DefaultBinds[KeyNameToCode('wheeldown')]:= 'zoomout'; + RegisterBind(DefaultBinds, 'mousem', 'zoomreset'); + RegisterBind(DefaultBinds, 'wheelup', 'zoomin'); + RegisterBind(DefaultBinds, 'wheeldown', 'zoomout'); - DefaultBinds[KeyNameToCode('f12')]:= 'fullscr'; + RegisterBind(DefaultBinds, 'f12', 'fullscr'); - DefaultBinds[KeyNameToCode('mousel')]:= '/put'; - DefaultBinds[KeyNameToCode('mouser')]:= 'ammomenu'; - DefaultBinds[KeyNameToCode('backspace')]:= 'hjump'; - DefaultBinds[KeyNameToCode('tab')]:= 'switch'; - DefaultBinds[KeyNameToCode('return')]:= 'ljump'; - DefaultBinds[KeyNameToCode('space')]:= '+attack'; - DefaultBinds[KeyNameToCode('up')]:= '+up'; - DefaultBinds[KeyNameToCode('down')]:= '+down'; - DefaultBinds[KeyNameToCode('left')]:= '+left'; - DefaultBinds[KeyNameToCode('right')]:= '+right'; - DefaultBinds[KeyNameToCode('left_shift')]:= '+precise'; + RegisterBind(DefaultBinds, 'mousel', '/put'); + RegisterBind(DefaultBinds, 'mouser', 'ammomenu'); + RegisterBind(DefaultBinds, 'backspace', 'hjump'); + RegisterBind(DefaultBinds, 'tab', 'switch'); + RegisterBind(DefaultBinds, 'return', 'ljump'); + RegisterBind(DefaultBinds, 'space', '+attack'); + RegisterBind(DefaultBinds, 'up', '+up'); + RegisterBind(DefaultBinds, 'down', '+down'); + RegisterBind(DefaultBinds, 'left', '+left'); + RegisterBind(DefaultBinds, 'right', '+right'); + RegisterBind(DefaultBinds, 'left_shift', '+precise'); - DefaultBinds[KeyNameToCode('j0a0u')]:= '+left'; - DefaultBinds[KeyNameToCode('j0a0d')]:= '+right'; - DefaultBinds[KeyNameToCode('j0a1u')]:= '+up'; - DefaultBinds[KeyNameToCode('j0a1d')]:= '+down'; - for i:= 1 to 10 do DefaultBinds[KeyNameToCode('f'+IntToStr(i))]:= 'slot '+char(48+i); - for i:= 1 to 5 do DefaultBinds[KeyNameToCode(IntToStr(i))]:= 'timer '+IntToStr(i); + RegisterBind(DefaultBinds, 'j0a0u', '+left'); + RegisterBind(DefaultBinds, 'j0a0d', '+right'); + RegisterBind(DefaultBinds, 'j0a1u', '+up'); + RegisterBind(DefaultBinds, 'j0a1d', '+down'); + for i:= 1 to 10 do RegisterBind(DefaultBinds, 'f'+IntToStr(i), 'slot '+char(48+i)); + for i:= 1 to 5 do RegisterBind(DefaultBinds, IntToStr(i), 'timer '+IntToStr(i)); loadBinds('dbind', cPathz[ptConfig] + '/settings.ini'); end; @@ -389,7 +465,7 @@ t: LongInt; begin for t:= 0 to cKbdMaxIndex do - if (CurrentBinds[t] <> binds[t]) and tkbd[t] then + if (CurrentBinds.binds[CurrentBinds.indices[t]] <> binds.binds[binds.indices[t]]) and tkbd[t] then ProcessKey(t, False); CurrentBinds:= binds; @@ -579,38 +655,59 @@ procedure addBind(var binds: TBinds; var id: shortstring); var KeyName, Modifier, tmp: shortstring; - i, b: LongInt; + i, newCode, code, b: LongInt; begin -KeyName:= ''; -Modifier:= ''; + KeyName:= ''; + Modifier:= ''; -if(Pos('mod:', id) <> 0)then - begin - tmp:= ''; - SplitBySpace(id, tmp); - Modifier:= id; - id:= tmp; - end; + if(Pos('mod:', id) <> 0)then + begin + tmp:= ''; + SplitBySpace(id, tmp); + Modifier:= id; + id:= tmp; + end; -SplitBySpace(id, KeyName); -if KeyName[1]='"' then - Delete(KeyName, 1, 1); -if KeyName[byte(KeyName[0])]='"' then - Delete(KeyName, byte(KeyName[0]), 1); -b:= KeyNameToCode(id, Modifier); -if b = 0 then - OutError(errmsgUnknownVariable + ' "' + id + '"', false) -else + SplitBySpace(id, KeyName); + if KeyName[1]='"' then + Delete(KeyName, 1, 1); + if KeyName[byte(KeyName[0])]='"' then + Delete(KeyName, byte(KeyName[0]), 1); + b:= KeyNameToCode(id, Modifier); + if b = 0 then + OutError(errmsgUnknownVariable + ' "' + id + '"', false) + else begin - // add bind: first check if this cmd is already bound, and remove old bind - i:= cKbdMaxIndex; - repeat - dec(i) - until (i < 0) or (binds[i] = KeyName); - if (i >= 0) then - binds[i]:= ''; + // add bind: first check if this cmd is already bound, and remove old bind + i:= Low(binds.binds); + while (i <= High(binds.binds)) and (binds.binds[i] <> KeyName) do + inc(i); + + if (i <= High(binds.binds)) then + begin + code:= Low(binds.indices); + while (code <= High(binds.indices)) and (binds.indices[code] <> i) do + inc(code); + + checkFails(code <= High(binds.indices), 'binds registry inconsistency', true); - binds[b]:= KeyName; + binds.indices[code]:= 0; + binds.binds[i]:= '' + end; + + if binds.indices[b] > 0 then + newCode:= binds.indices[b] + else if i >= High(binds.binds) then + begin + inc(binds.lastIndex); + checkFails(binds.lastIndex < High(binds.binds), 'too many binds', true); + newCode:= binds.lastIndex + end else + newCode:= i; + + + binds.indices[b]:= newCode; + binds.binds[binds.indices[b]]:= KeyName end end; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uLand.pas --- a/hedgewars/uLand.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uLand.pas Sun Jun 10 19:12:26 2018 +0200 @@ -717,10 +717,6 @@ LoadThemeConfig; - // is this not needed any more? lets hope setlength sets also 0s - //if ((GameFlags and gfForts) <> 0) or (Pathz[ptMapCurrent] <> '') then - // FillChar(Land,SizeOf(TCollisionArray),0);*) - if cPathz[ptMapCurrent] <> '' then begin map:= cPathz[ptMapCurrent] + '/map.png'; @@ -741,7 +737,7 @@ mgMaze : begin ResizeLand(4096,2048); GenMaze; end; mgPerlin: begin ResizeLand(4096,2048); GenPerlin; end; mgDrawn : GenDrawnMap; - mgForts : begin GameFlags:= (GameFlags or gfForts or gfDivideTeams); MakeFortsMap(); end; + mgForts : begin GameFlags:= (GameFlags or gfDivideTeams); MakeFortsMap(); end; else OutError('Unknown mapgen', true); end; @@ -835,7 +831,7 @@ if (GameFlags and gfDisableGirders) <> 0 then hasGirders:= false; -if (GameFlags and gfForts = 0) and (maskOnly or (cPathz[ptMapCurrent] = '')) then +if (cMapGen <> mgForts) and (maskOnly or (cPathz[ptMapCurrent] = '')) then AddObjects else diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uLandGraphics.pas --- a/hedgewars/uLandGraphics.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uLandGraphics.pas Sun Jun 10 19:12:26 2018 +0200 @@ -795,9 +795,11 @@ begin if (LandFlags and lfBasic <> 0) or ((LandPixels[gY, gX] and AMask shr AShift > 128) and // This test assumes lfBasic and lfObject differ only graphically - (LandFlags and lfObject = 0)) then + (LandFlags and (lfObject or lfIce) = 0)) then Land[cpY + y, cpX + x]:= lfBasic or LandFlags - else Land[cpY + y, cpX + x]:= lfObject or LandFlags + else if (LandFlags and lfIce = 0) then + Land[cpY + y, cpX + x]:= lfObject or LandFlags + else Land[cpY + y, cpX + x]:= LandFlags end; if (not behind) or (LandPixels[gY, gX] = 0) then begin diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uLandObjects.pas --- a/hedgewars/uLandObjects.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uLandObjects.pas Sun Jun 10 19:12:26 2018 +0200 @@ -28,6 +28,7 @@ procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface); inline; 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 BlitOverlayAndGenerateCollisionInfo(cpX, cpY: Longword; Image: PSDL_Surface); procedure BlitImageUsingMask(cpX, cpY: Longword; Image, Mask: PSDL_Surface); procedure AddOnLandObjects(Surface: PSDL_Surface); procedure SetLand(var LandWord: Word; Pixel: LongWord); inline; @@ -42,14 +43,25 @@ MAXTHEMEOBJECTS = 32; cThemeCFGFilename = 'theme.cfg'; -type TRectsArray = array[0..MaxRects] of TSDL_Rect; +type PLongWord = ^LongWord; + TRectsArray = array[0..MaxRects] of TSDL_Rect; PRectArray = ^TRectsArray; + TThemeObjectOverlay = record + Position: TPoint; + Surf: PSDL_Surface; + Width, Height: LongWord; + end; TThemeObject = record + Name: ShortString; Surf, Mask: PSDL_Surface; inland: array[0..Pred(MAXOBJECTRECTS)] of TSDL_Rect; outland: array[0..Pred(MAXOBJECTRECTS)] of TSDL_Rect; - inrectcnt: Longword; - outrectcnt: Longword; + anchors: array[0..Pred(MAXOBJECTRECTS)] of TSDL_Rect; + overlays: array[0..Pred(MAXOBJECTRECTS)] of TThemeObjectOverlay; + inrectcnt: LongInt; + outrectcnt: LongInt; + anchorcnt: LongInt; + overlaycnt: LongInt; Width, Height: Longword; Maxcnt: Longword; end; @@ -123,6 +135,7 @@ Width:= Image^.w; p:= Image^.pixels; + for y:= 0 to Pred(Image^.h) do begin for x:= 0 to Pred(Width) do @@ -138,14 +151,14 @@ if (cReducedQuality and rqBlurryLand) = 0 then begin if (LandPixels[cpY + y, cpX + x] = 0) - or (((p^[px] and AMask) <> 0) and (((LandPixels[cpY + y, cpX + x] and AMask) shr AShift) < 255)) then + or (((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^[px]; - if (Land[cpY + y, cpX + x] <= lfAllObjMask) and ((p^[px] and AMask) <> 0) then + if Land[cpY + y, cpX + x] <= lfAllObjMask then Land[cpY + y, cpX + x]:= lfObject or LandFlags end; end; @@ -157,6 +170,63 @@ WriteLnToConsole(msgOK) end; +function LerpByte(src, dst: Byte; l: LongWord): LongWord; inline; +begin + LerpByte:= ((255 - l) * src + l * dst) div 255; +end; + +procedure BlitOverlayAndGenerateCollisionInfo(cpX, cpY: Longword; Image: PSDL_Surface); +var p: PLongwordArray; + pLandColor: PLongWord; + x, y, alpha, color, landColor: LongWord; +begin +WriteToConsole('Generating overlay collision info... '); + +if SDL_MustLock(Image) then + if SDLCheck(SDL_LockSurface(Image) >= 0, 'SDL_LockSurface', true) then exit; + +if checkFails(Image^.format^.BytesPerPixel = 4, 'Land object overlay should be 32bit', true) + and SDL_MustLock(Image) then + SDL_UnlockSurface(Image); + +p:= Image^.pixels; + +for y:= 0 to Pred(Image^.h) do + begin + for x:= 0 to Pred(Image^.w) do + begin + color:= p^[x]; + if (color and AMask) <> 0 then + begin + if (cReducedQuality and rqBlurryLand) = 0 then + pLandColor:= @LandPixels[cpY + y, cpX + x] + else + pLandColor:= @LandPixels[(cpY + y) div 2, (cpX + x) div 2]; + + alpha:= (color and AMask) shr AShift; + if (alpha <> $FF) and (pLandColor^ <> 0) then + begin + landColor:= pLandColor^; + color:= + (LerpByte((landColor and RMask) shr RShift, (color and RMask) shr RShift, alpha) shl RShift) + or (LerpByte((landColor and GMask) shr GShift, (color and GMask) shr GShift, alpha) shl GShift) + or (LerpByte((landColor and BMask) shr BShift, (color and BMask) shr BShift, alpha) shl BShift) + or (LerpByte(alpha, 255, (landColor and AMask) shr AShift) shl AShift) + end; + pLandColor^:= color; + + if Land[cpY + y, cpX + x] <= lfAllObjMask then + Land[cpY + y, cpX + x]:= lfObject + end; + end; + p:= PLongwordArray(@(p^[Image^.pitch shr 2])) + end; + +if SDL_MustLock(Image) then + SDL_UnlockSurface(Image); +WriteLnToConsole(msgOK) +end; + procedure BlitImageUsingMask(cpX, cpY: Longword; Image, Mask: PSDL_Surface); var p, mp: PLongwordArray; x, y: Longword; @@ -253,6 +323,28 @@ CountNonZeroz:= lRes; end; +procedure ChecksumLandObjectImage(Image: PSDL_Surface); +var y: LongInt; +begin + if Image = nil then exit; + + if SDL_MustLock(Image) then + SDL_LockSurface(Image); + + if checkFails(Image^.format^.BytesPerPixel = 4, 'Land object image should be 32bit', true) then + begin + if SDL_MustLock(Image) then + SDL_UnlockSurface(Image); + exit + end; + + for y := 0 to Image^.h-1 do + syncedPixelDigest:= Adler32Update(syncedPixelDigest, @PByteArray(Image^.pixels)^[y*Image^.pitch], Image^.w*4); + + if SDL_MustLock(Image) then + SDL_UnlockSurface(Image); +end; + function AddGirder(gX: LongInt; var girSurf: PSDL_Surface): boolean; var x1, x2, y, k, i, girderHeight: LongInt; rr: TSDL_Rect; @@ -261,8 +353,7 @@ if girSurf = nil then girSurf:= LoadDataImageAltPath(ptCurrTheme, ptGraphics, 'Girder', ifCritical or ifColorKey or ifIgnoreCaps); -for y := 0 to girsurf^.h-1 do - syncedPixelDigest:= Adler32Update(syncedPixelDigest, @PByteArray(girsurf^.pixels)^[y*girsurf^.pitch], girsurf^.w*4); +ChecksumLandObjectImage(girsurf); girderHeight:= girSurf^.h; @@ -355,27 +446,83 @@ CheckLand:= bRes; end; +function CheckLandAny(rect: TSDL_Rect; dX, dY, LandType: Longword): boolean; +var tmpx, tmpy, bx, by: LongInt; +begin + inc(rect.x, dX); + inc(rect.y, dY); + bx:= rect.x + rect.w - 1; + by:= rect.y + rect.h - 1; + CheckLandAny:= false; + + if (((rect.x and LAND_WIDTH_MASK) or (bx and LAND_WIDTH_MASK) or + (rect.y and LAND_HEIGHT_MASK) or (by and LAND_HEIGHT_MASK)) = 0) then + begin + for tmpx := rect.x to bx do + begin + if (((Land[rect.y, tmpx] and LandType) or (Land[by, tmpx] and LandType)) <> 0) then + begin + CheckLandAny := true; + exit; + end + end; + for tmpy := rect.y to by do + begin + if (((Land[tmpy, rect.x] and LandType) or (Land[tmpy, bx] and LandType)) <> 0) then + begin + CheckLandAny := true; + exit; + end + end; + end; +end; + function CheckCanPlace(x, y: Longword; var Obj: TThemeObject): boolean; var i: Longword; - bRes: boolean; + bRes, anchored: boolean; + overlayP1, overlayP2: TPoint; begin with Obj do begin bRes:= true; - i:= 1; - while bRes and (i <= inrectcnt) do + i:= 0; + while bRes and (i < overlaycnt) do + begin + overlayP1.x:= overlays[i].Position.x + x; + overlayP1.y:= overlays[i].Position.y + y; + overlayP2.x:= overlayP1.x + overlays[i].Width - 1; + overlayP2.y:= overlayP1.y + overlays[i].Height - 1; + bRes:= (((LAND_WIDTH_MASK and overlayP1.x) or (LAND_HEIGHT_MASK and overlayP1.y) or + (LAND_WIDTH_MASK and overlayP2.x) or (LAND_HEIGHT_MASK and overlayP2.y)) = 0) + and (not CheckIntersect(overlayP1.x, overlayP1.y, overlays[i].Width, overlays[i].Height)); + inc(i) + end; + + i:= 0; + while bRes and (i < inrectcnt) do begin bRes:= CheckLand(inland[i], x, y, lfBasic); inc(i) end; - i:= 1; - while bRes and (i <= outrectcnt) do + i:= 0; + while bRes and (i < outrectcnt) do begin bRes:= CheckLand(outland[i], x, y, 0); inc(i) end; if bRes then + begin + anchored:= anchorcnt = 0; + for i:= 1 to anchorcnt do + begin + anchored := CheckLandAny(anchors[i], x, y, lfLandMask); + if anchored then break; + end; + bRes:= anchored; + end; + + if bRes then bRes:= not CheckIntersect(x, y, Width, Height); CheckCanPlace:= bRes; @@ -386,7 +533,7 @@ const MaxPointsIndex = 2047; var x, y: Longword; ar: array[0..MaxPointsIndex] of TPoint; - cnt, i: Longword; + cnt, i, ii: Longword; bRes: boolean; begin TryPut:= false; @@ -400,7 +547,7 @@ y:= topY+32; // leave room for a hedgie to teleport in repeat - if (inland[1].x = 0) and (inland[1].y = 0) and (inland[1].w = 0) and (inland[1].h = 0) then + if (inrectcnt > 0) and (inland[0].x = 0) and (inland[0].y = 0) and (inland[0].w = 0) and (inland[0].h = 0) then y := LAND_HEIGHT - Height; if CheckCanPlace(x, y, Obj) then @@ -426,6 +573,18 @@ BlitImageUsingMask(ar[i].x, ar[i].y, Obj.Surf, Obj.Mask) else BlitImageAndGenerateCollisionInfo(ar[i].x, ar[i].y, 0, Obj.Surf); AddRect(ar[i].x, ar[i].y, Width, Height); + + ii:= 0; + while ii < overlaycnt do + begin + BlitOverlayAndGenerateCollisionInfo( + ar[i].x + overlays[ii].Position.X, + ar[i].y + overlays[ii].Position.Y, overlays[ii].Surf); + AddRect(ar[i].x + overlays[ii].Position.X, + ar[i].y + overlays[ii].Position.Y, + Width, Height); + inc(ii); + end; dec(Maxcnt) end else Maxcnt:= 0 @@ -493,10 +652,54 @@ OutError('Object''s rectangle exceeds image: y + h (' + inttostr(y) + ' + ' + inttostr(h) + ') > Height (' + inttostr(Height) + ')', true); end; +procedure ReadRect(var rect: TSDL_Rect; var s: ShortString); +var i: LongInt; +begin +with rect do + begin + i:= Pos(',', s); + x:= StrToInt(Trim(Copy(s, 1, Pred(i)))); + Delete(s, 1, i); + i:= Pos(',', s); + y:= StrToInt(Trim(Copy(s, 1, Pred(i)))); + Delete(s, 1, i); + i:= Pos(',', s); + w:= StrToInt(Trim(Copy(s, 1, Pred(i)))); + Delete(s, 1, i); + i:= Pos(',', s); + if i = 0 then i:= Succ(Length(S)); + h:= StrToInt(Trim(Copy(s, 1, Pred(i)))); + Delete(s, 1, i); + end; +end; + + + +procedure ReadOverlay(var overlay: TThemeObjectOverlay; var s: ShortString); +var i: LongInt; +begin +with overlay do + begin + i:= Pos(',', s); + Position.X:= StrToInt(Trim(Copy(s, 1, Pred(i)))); + Delete(s, 1, i); + i:= Pos(',', s); + Position.Y:= StrToInt(Trim(Copy(s, 1, Pred(i)))); + Delete(s, 1, i); + i:= Pos(',', s); + if i = 0 then i:= Succ(Length(S)); + Surf:= LoadDataImage(ptCurrTheme, Trim(Copy(s, 1, Pred(i))), ifColorKey or ifIgnoreCaps or ifCritical); + Width:= Surf^.w; + Height:= Surf^.h; + Delete(s, 1, i); + ChecksumLandObjectImage(Surf); + end; +end; + procedure ReadThemeInfo(var ThemeObjects: TThemeObjects; var SprayObjects: TSprayObjects); -var s, key: shortstring; +var s, key, nameRef: shortstring; f: PFSFile; - i, y: LongInt; + i: LongInt; ii, t: Longword; c2: TSDL_Color; begin @@ -672,6 +875,10 @@ MusicFN:= Trim(s) else if key = 'sd-music' then SDMusicFN:= Trim(s) + else if key = 'fallback-music' then + FallbackMusicFN:= Trim(s) + else if key = 'fallback-sd-music' then + FallbackSDMusicFN:= Trim(s) else if key = 'clouds' then begin cCloudsNumber:= Word(StrToInt(Trim(s))) * cScreenSpace div 4096; @@ -683,7 +890,8 @@ with ThemeObjects.objs[Pred(ThemeObjects.Count)] do begin i:= Pos(',', s); - Surf:= LoadDataImage(ptCurrTheme, Trim(Copy(s, 1, Pred(i))), ifColorKey or ifIgnoreCaps or ifCritical); + Name:= Trim(Copy(s, 1, Pred(i))); + Surf:= LoadDataImage(ptCurrTheme, Name, ifColorKey or ifIgnoreCaps or ifCritical); Width:= Surf^.w; Height:= Surf^.h; Mask:= LoadDataImage(ptCurrTheme, Trim(Copy(s, 1, Pred(i)))+'_mask', ifColorKey or ifIgnoreCaps); @@ -693,8 +901,8 @@ Delete(s, 1, i); if (Maxcnt < 1) or (Maxcnt > MAXTHEMEOBJECTS) then OutError('Object''s max count should be between 1 and '+ inttostr(MAXTHEMEOBJECTS) +' (it was '+ inttostr(Maxcnt) +').', true); - for y := 0 to Surf^.h-1 do - syncedPixelDigest:= Adler32Update(syncedPixelDigest, @PByteArray(Surf^.pixels)^[y*Surf^.pitch], Surf^.w*4); + ChecksumLandObjectImage(Surf); + ChecksumLandObjectImage(Mask); inrectcnt := 0; @@ -710,50 +918,61 @@ Delete(s, 1, i); end; - for ii:= 1 to inrectcnt do - with inland[ii] do - begin - i:= Pos(',', s); - x:= StrToInt(Trim(Copy(s, 1, Pred(i)))); - Delete(s, 1, i); - i:= Pos(',', s); - y:= StrToInt(Trim(Copy(s, 1, Pred(i)))); - Delete(s, 1, i); - i:= Pos(',', s); - w:= StrToInt(Trim(Copy(s, 1, Pred(i)))); - Delete(s, 1, i); - i:= Pos(',', s); - h:= StrToInt(Trim(Copy(s, 1, Pred(i)))); - Delete(s, 1, i); - CheckRect(Width, Height, x, y, w, h) - end; + if inrectcnt > MAXOBJECTRECTS then + OutError('Object''s inland rectangle count should be no more than '+ inttostr(MAXOBJECTRECTS) +' (it was '+ inttostr(inrectcnt) +').', true); + + for ii:= 0 to Pred(inrectcnt) do + ReadRect(inland[ii], s); i:= Pos(',', s); outrectcnt:= StrToInt(Trim(Copy(s, 1, Pred(i)))); Delete(s, 1, i); - for ii:= 1 to outrectcnt do - with outland[ii] do - begin - i:= Pos(',', s); - x:= StrToInt(Trim(Copy(s, 1, Pred(i)))); - Delete(s, 1, i); - i:= Pos(',', s); - y:= StrToInt(Trim(Copy(s, 1, Pred(i)))); - Delete(s, 1, i); - i:= Pos(',', s); - w:= StrToInt(Trim(Copy(s, 1, Pred(i)))); - Delete(s, 1, i); - if ii = outrectcnt then - h:= StrToInt(Trim(s)) - else - begin - i:= Pos(',', s); - h:= StrToInt(Trim(Copy(s, 1, Pred(i)))); - Delete(s, 1, i) - end; - CheckRect(Width, Height, x, y, w, h) - end; + + if outrectcnt > MAXOBJECTRECTS then + OutError('Object''s outland rectangle count should be no more than '+ inttostr(MAXOBJECTRECTS) +' (it was '+ inttostr(outrectcnt) +').', true); + for ii:= 0 to Pred(outrectcnt) do + ReadRect(outland[ii], s); + end; + end + else if key = 'anchors' then + begin + i:= Pos(',', s); + nameRef:= Trim(Copy(s, 1, Pred(i))); + for ii:= 0 to Pred(ThemeObjects.Count) do + if ThemeObjects.objs[ii].Name = nameRef then with ThemeObjects.objs[ii] do + begin + if anchorcnt <> 0 then + OutError('Duplicate anchors declaration for ' + nameRef, true); + Delete(s, 1, i); + i:= Pos(',', s); + anchorcnt:= StrToInt(Trim(Copy(s, 1, Pred(i)))); + Delete(s, 1, i); + if anchorcnt > MAXOBJECTRECTS then + OutError('Object''s anchor rectangle count should be no more than '+ inttostr(MAXOBJECTRECTS) +' (it was '+ inttostr(anchorcnt) +').', true); + for t:= 0 to Pred(anchorcnt) do + ReadRect(anchors[t], s); + break + end; + end + else if key = 'overlays' then + begin + i:= Pos(',', s); + nameRef:= Trim(Copy(s, 1, Pred(i))); + for ii:= 0 to Pred(ThemeObjects.Count) do + if ThemeObjects.objs[ii].Name = nameRef then with ThemeObjects.objs[ii] do + begin + if overlaycnt <> 0 then + OutError('Duplicate overlays declaration for ' + nameRef, true); + Delete(s, 1, i); + i:= Pos(',', s); + overlaycnt:= StrToInt(Trim(Copy(s, 1, Pred(i)))); + Delete(s, 1, i); + if overlaycnt > MAXOBJECTRECTS then + OutError('Object''s overlay count should be no more than '+ inttostr(MAXOBJECTRECTS) +' (it was '+ inttostr(overlaycnt) +').', true); + for t:= 0 to Pred(overlaycnt) do + ReadOverlay(overlays[t], s); + break end; end else if key = 'spray' then @@ -1005,7 +1224,7 @@ end; procedure FreeLandObjects(); -var i: Longword; +var i, ii: Longword; begin for i:= 0 to Pred(MAXTHEMEOBJECTS) do begin @@ -1015,6 +1234,17 @@ SDL_FreeSurface(SprayObjects.objs[i].Surf); ThemeObjects.objs[i].Surf:= nil; SprayObjects.objs[i].Surf:= nil; + + ii:= 0; + while ii < ThemeObjects.objs[i].overlaycnt do + begin + if ThemeObjects.objs[i].overlays[ii].Surf <> nil then + begin + SDL_FreeSurface(ThemeObjects.objs[i].overlays[ii].Surf); + ThemeObjects.objs[i].overlays[ii].Surf:= nil; + end; + inc(ii); + end; end; end; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uLocale.pas --- a/hedgewars/uLocale.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uLocale.pas Sun Jun 10 19:12:26 2018 +0200 @@ -23,10 +23,13 @@ uses uTypes; const MAX_EVENT_STRINGS = 255; +const MAX_FORMAT_STRING_SYMBOLS = 9; procedure LoadLocale(FileName: shortstring); -function Format(fmt: shortstring; var arg: shortstring): shortstring; -function FormatA(fmt: ansistring; var arg: ansistring): ansistring; +function Format(fmt: shortstring; args: array of shortstring): shortstring; +function FormatA(fmt: ansistring; args: array of ansistring): ansistring; +function Format(fmt: shortstring; arg: shortstring): shortstring; +function FormatA(fmt: ansistring; arg: ansistring): ansistring; function GetEventString(e: TEventId): ansistring; {$IFDEF HWLIBRARY} @@ -113,24 +116,61 @@ GetEventString:= trevt[e][GetRandom(trevt_n[e])]; // Pick a random message and return it end; -function Format(fmt: shortstring; var arg: shortstring): shortstring; -var i: LongInt; +// Format the string fmt. +// Take a shortstring with placeholders %1, %2, %3, etc. and replace +// them with the corresponding elements of an array with up to +// MAX_FORMAT_STRING_SYMBOLS. Important! Each placeholder can only be +// used exactly once and numbers MUST NOT be skipped (e.g. using %1 and %3 +// but not %2. +function Format(fmt: shortstring; args: array of shortstring): shortstring; +var i, p: LongInt; +tempstr: shortstring; begin -i:= Pos('%1', fmt); -if i = 0 then - Format:= fmt -else - Format:= copy(fmt, 1, i - 1) + arg + Format(copy(fmt, i + 2, Length(fmt) - i - 1), arg) +tempstr:= fmt; +for i:=0 to MAX_FORMAT_STRING_SYMBOLS - 1 do + begin + p:= Pos('%'+IntToStr(i+1), tempstr); + if (p = 0) or (i >= Length(args)) then + break + else + begin + delete(tempstr, p, 2); + insert(args[i], tempstr, p); + end; + end; +Format:= tempstr; end; -function FormatA(fmt: ansistring; var arg: ansistring): ansistring; -var i: LongInt; +// Same as Format, but for ansistring +function FormatA(fmt: ansistring; args: array of ansistring): ansistring; +var i, p: LongInt; +tempstr: ansistring; begin -i:= Pos('%1', fmt); -if i = 0 then - FormatA:= fmt -else - FormatA:= copy(fmt, 1, i - 1) + arg + FormatA(copy(fmt, i + 2, Length(fmt) - i - 1), arg) +tempstr:= fmt; +for i:=0 to MAX_FORMAT_STRING_SYMBOLS - 1 do + begin + p:= Pos('%'+IntToStr(i+1), tempstr); + if (p = 0) or (i >= Length(args)) then + break + else + begin + delete(tempstr, p, 2); + insert(args[i], tempstr, p); + end; + end; +FormatA:= tempstr; +end; + +// Same as Format above, but with only one placeholder %1, replaced by arg. +function Format(fmt: shortstring; arg: shortstring): shortstring; +begin + Format:= Format(fmt, [arg]); +end; + +// Same as above, but for ansistring +function FormatA(fmt: ansistring; arg: ansistring): ansistring; +begin + FormatA:= FormatA(fmt, [arg]); end; {$IFDEF HWLIBRARY} diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uRandom.pas --- a/hedgewars/uRandom.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uRandom.pas Sun Jun 10 19:12:26 2018 +0200 @@ -79,7 +79,7 @@ for i:= t to 54 do cirbuf[i]:= $A98765 + 68; // odd number -for i:= 0 to 1023 do +for i:= 0 to 2047 do GetNext; end; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uRender.pas --- a/hedgewars/uRender.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uRender.pas Sun Jun 10 19:12:26 2018 +0200 @@ -68,7 +68,7 @@ procedure Tint (r, g, b, a: Byte); inline; procedure Tint (c: Longword); inline; procedure untint(); inline; -procedure setTintAdd (f: boolean); inline; +procedure setTintAdd (enable: boolean); inline; // call this to finish the rendering of current frame procedure FinishRender(); @@ -106,7 +106,7 @@ implementation uses {$IFNDEF PAS2C} StrUtils, {$ENDIF}uVariables, uUtils - {$IFDEF GL2}, uMatrix, uConsole{$ENDIF}, uConsts; + {$IFDEF GL2}, uMatrix, uConsole, uPhysFSLayer, uDebug{$ENDIF}, uConsts; {$IFDEF USE_TOUCH_INTERFACE} const @@ -123,9 +123,8 @@ var VertexBuffer : array [0 ..59] of TVertex2f; TextureBuffer: array [0 .. 7] of TVertex2f; LastTint: LongWord = 0; +{$IFNDEF GL2} LastColorPointer , LastTexCoordPointer , LastVertexPointer : Pointer; -{$IFDEF GL2} - LastColorPointerN, LastTexCoordPointerN, LastVertexPointerN: Integer; {$ENDIF} {$IFDEF USE_S3D_RENDERING} @@ -740,8 +739,8 @@ {$ELSE} glDisableClientState(GL_TEXTURE_COORD_ARRAY); glEnableClientState(GL_COLOR_ARRAY); + LastTexCoordPointer:= nil; {$ENDIF} - LastTexCoordPointer:= nil; end else begin @@ -751,8 +750,8 @@ {$ELSE} glDisableClientState(GL_COLOR_ARRAY); glEnableClientState(GL_TEXTURE_COORD_ARRAY); + LastColorPointer:= nil; {$ENDIF} - LastColorPointer:= nil; end; EnableTexture(not b); end; @@ -775,58 +774,49 @@ procedure SetTexCoordPointer(p: Pointer; n: Integer); inline; begin {$IFDEF GL2} - if (p = LastTexCoordPointer) and (n = LastTexCoordPointerN) then - exit; glBindBuffer(GL_ARRAY_BUFFER, tBuffer); glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * n * 2, p, GL_STATIC_DRAW); glEnableVertexAttribArray(aTexCoord); glVertexAttribPointer(aTexCoord, 2, GL_FLOAT, GL_FALSE, 0, pointer(0)); - LastTexCoordPointerN:= n; {$ELSE} if p = LastTexCoordPointer then exit; n:= n; glTexCoordPointer(2, GL_FLOAT, 0, p); + LastTexCoordPointer:= p; {$ENDIF} - LastTexCoordPointer:= p; end; procedure SetVertexPointer(p: Pointer; n: Integer); inline; begin {$IFDEF GL2} - if (p = LastVertexPointer) and (n = LastVertexPointerN) then - exit; glBindBuffer(GL_ARRAY_BUFFER, vBuffer); glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * n * 2, p, GL_STATIC_DRAW); glEnableVertexAttribArray(aVertex); glVertexAttribPointer(aVertex, 2, GL_FLOAT, GL_FALSE, 0, pointer(0)); - LastVertexPointerN:= n; {$ELSE} if p = LastVertexPointer then exit; n:= n; glVertexPointer(2, GL_FLOAT, 0, p); + LastVertexPointer:= p; {$ENDIF} - LastVertexPointer:= p; end; procedure SetColorPointer(p: Pointer; n: Integer); inline; begin {$IFDEF GL2} - if (p = LastColorPointer) and (n = LastColorPointerN) then - exit; glBindBuffer(GL_ARRAY_BUFFER, cBuffer); glBufferData(GL_ARRAY_BUFFER, n * 4, p, GL_STATIC_DRAW); glEnableVertexAttribArray(aColor); glVertexAttribPointer(aColor, 4, GL_UNSIGNED_BYTE, GL_TRUE, 0, pointer(0)); - LastColorPointerN:= n; {$ELSE} if p = LastColorPointer then exit; n:= n; glColorPointer(4, GL_UNSIGNED_BYTE, 0, p); + LastColorPointer:= p; {$ENDIF} - LastColorPointer:= p; end; procedure EnableTexture(enable:Boolean); @@ -883,7 +873,10 @@ end else begin - openglPushMatrix; // save default scaling in matrix + if cScaleFactor = cDefaultZoomLevel then + begin + openglPushMatrix; // save default scaling in matrix; + end; openglLoadIdentity(); openglScalef(f / cScreenWidth, -f / cScreenHeight, 1.0); openglTranslatef(0, -cScreenHeight div 2, 0); @@ -944,7 +937,6 @@ _t:= r^.y / SourceTexture^.h * SourceTexture^.ry; _b:= (r^.y + r^.h) / SourceTexture^.h * SourceTexture^.ry; -glBindTexture(GL_TEXTURE_2D, SourceTexture^.id); xw:= X + W; yh:= Y + H; @@ -967,9 +959,13 @@ TextureBuffer[3].X:= _l; TextureBuffer[3].Y:= _b; + +glBindTexture(GL_TEXTURE_2D, SourceTexture^.id); SetVertexPointer(@VertexBuffer[0], 4); SetTexCoordPointer(@TextureBuffer[0], 4); + glDrawArrays(GL_TRIANGLE_FAN, 0, 4); + end; procedure DrawTexture(X, Y: LongInt; Texture: PTexture); inline; @@ -979,7 +975,6 @@ procedure DrawTexture(X, Y: LongInt; Texture: PTexture; Scale: GLfloat); begin - openglPushMatrix; openglTranslatef(X, Y, 0); @@ -996,6 +991,7 @@ glDrawArrays(GL_TRIANGLE_FAN, 0, Length(Texture^.vb)); openglPopMatrix; +UpdateModelviewProjection; end; { this contains tweaks in order to avoid land tile borders in blurry land mode } @@ -1025,6 +1021,8 @@ glDrawArrays(GL_TRIANGLE_FAN, 0, 4); openglPopMatrix; + +UpdateModelviewProjection; end; procedure DrawTextureF(Texture: PTexture; Scale: GLfloat; X, Y, Frame, Dir, w, h: LongInt); @@ -1132,6 +1130,8 @@ openglPopMatrix; +UpdateModelviewProjection; + end; procedure DrawSpriteRotated(Sprite: TSprite; X, Y, Dir: LongInt; Angle: real); @@ -1148,7 +1148,7 @@ if Angle <> 0 then begin // Check the bounding circle - if isCircleOffscreen(X, Y, sqr(SpritesData[Sprite].Width) + sqr(SpritesData[Sprite].Height)) then + if isCircleOffscreen(X, Y, (sqr(SpritesData[Sprite].Width) + sqr(SpritesData[Sprite].Height)) div 4) then exit; end else @@ -1171,10 +1171,14 @@ if Angle <> 0 then openglRotatef(Angle, 0, 0, 1); +UpdateModelviewProjection; + DrawSprite(Sprite, -SpritesData[Sprite].Width div 2, -SpritesData[Sprite].Height div 2, Frame); openglPopMatrix; +UpdateModelviewProjection; + end; procedure DrawSpritePivotedF(Sprite: TSprite; X, Y, Frame, Dir, PivotX, PivotY: LongInt; Angle: real); @@ -1212,6 +1216,8 @@ DrawSprite(Sprite, -SpritesData[Sprite].Width div 2, -SpritesData[Sprite].Height div 2, Frame); openglPopMatrix; + +UpdateModelviewProjection; end; procedure DrawTextureRotated(Texture: PTexture; hw, hh, X, Y, Dir: LongInt; Angle: real); @@ -1259,6 +1265,7 @@ openglPopMatrix; +UpdateModelviewProjection; end; procedure DrawSprite(Sprite: TSprite; X, Y, Frame: LongInt); @@ -1342,6 +1349,8 @@ DrawLineOnScreen(X0, Y0, X1, Y1, Width, r, g, b, a); openglPopMatrix(); + + UpdateModelviewProjection; end; procedure DrawLineOnScreen(X0, Y0, X1, Y1, Width: Single; r, g, b, a: Byte); @@ -1376,7 +1385,6 @@ exit; EnableTexture(False); - Tint(r, g, b, a); with rect do @@ -1510,6 +1518,8 @@ glDrawArrays(GL_TRIANGLE_FAN, 0, 4); openglPopMatrix; + + UpdateModelviewProjection; end; procedure DrawScreenWidget(widget: POnScreenWidget); @@ -1904,8 +1914,6 @@ SetVertexPointer(@VertexBuffer[0], 8); SetTexCoordPointer(@TextureBuffer[0], 8); -UpdateModelviewProjection; - glDrawArrays(GL_TRIANGLE_STRIP, first, count); untint; @@ -1961,12 +1969,19 @@ LastTint:= cWhiteColor; end; -procedure setTintAdd(f: boolean); inline; +procedure setTintAdd(enable: boolean); inline; begin - if f then + {$IFDEF GL2} + if enable then + glUniform1i(glGetUniformLocation(shaderMain, pchar('tintAdd')), 1) + else + glUniform1i(glGetUniformLocation(shaderMain, pchar('tintAdd')), 0); + {$ELSE} + if enable then glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD) else glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + {$ENDIF} end; procedure ChangeDepth(rm: TRenderMode; d: GLfloat); @@ -2008,13 +2023,10 @@ procedure initModule; begin LastTint:= cWhiteColor + 1; +{$IFNDEF GL2} LastColorPointer := nil; LastTexCoordPointer := nil; LastVertexPointer := nil; -{$IFDEF GL2} - LastColorPointerN := 0; - LastTexCoordPointerN:= 0; - LastVertexPointerN := 0; {$ENDIF} end; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uScript.pas --- a/hedgewars/uScript.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uScript.pas Sun Jun 10 19:12:26 2018 +0200 @@ -100,7 +100,7 @@ ScriptLoaded : boolean; mapDims : boolean; PointsBuffer: shortstring; - prevCursorPoint: TPoint; // why is tpoint still in sdlh... + PrevCursorX, PrevCursorY: LongInt; {$IFDEF USE_LUA_SCRIPT} procedure ScriptPrepareAmmoStore; forward; @@ -404,6 +404,13 @@ lc_writelntoconsole:= 0; end; +function lc_writelntochat(L : Plua_State) : LongInt; Cdecl; +begin + if CheckLuaParamCount(L, 1, 'WriteLnToChat', 'string') then + AddChatString(#2 + lua_tostring(L, 1)); + lc_writelntochat:= 0; +end; + function lc_parsecommand(L : Plua_State) : LongInt; Cdecl; var t: PChar; i,c: LongWord; @@ -553,10 +560,18 @@ function lc_setammotexts(L : Plua_State) : LongInt; Cdecl; const call = 'SetAmmoTexts'; - params = 'ammoType, name, caption, description'; + params = 'ammoType, name, caption, description [, showExtra]'; +var n: integer; + showExtra: boolean; begin - if CheckLuaParamCount(L, 4, call, params) then - SetAmmoTexts(TAmmoType(LuaToAmmoTypeOrd(L, 1, call, params)), lua_tostringA(L, 2), lua_tostringA(L, 3), lua_tostringA(L, 4)); + if CheckAndFetchParamCount(L, 4, 5, call, params, n) then + begin + if n = 5 then + showExtra:= lua_toboolean(L, 5) + else + showExtra:= true; + SetAmmoTexts(TAmmoType(LuaToAmmoTypeOrd(L, 1, call, params)), lua_tostringA(L, 2), lua_tostringA(L, 3), lua_tostringA(L, 4), showExtra); + end; lc_setammotexts:= 0; end; @@ -642,24 +657,6 @@ lc_addcaption:= 0; end; -function lc_campaignlock(L : Plua_State) : LongInt; Cdecl; -begin - if CheckLuaParamCount(L, 1, 'CampaignLock', 'TODO') then - begin - // TODO - end; - lc_campaignlock:= 0; -end; - -function lc_campaignunlock(L : Plua_State) : LongInt; Cdecl; -begin - if CheckLuaParamCount(L, 1, 'CampaignUnlock', 'TODO') then - begin - // TODO - end; - lc_campaignunlock:= 0; -end; - function lc_spawnfakehealthcrate(L: Plua_State) : LongInt; Cdecl; var gear: PGear; begin @@ -764,6 +761,31 @@ lc_spawnutilitycrate := 1; end; +function lc_spawnsupplycrate(L: PLua_State): LongInt; Cdecl; +var gear: PGear; + n, at:LongInt; + t: TCrateType; +begin + if CheckAndFetchParamCount(L, 3, 4, 'SpawnSupplyCrate', 'x, y, content [, amount]', n) then + begin + // Get crate type (ammo or utility) + at:= Trunc(lua_tonumber(L, 3)); + if (Ammoz[TAmmoType(at)].Ammo.Propz and ammoprop_Utility) <> 0 then + t:= UtilityCrate + else + t:= AmmoCrate; + if n = 3 then + gear := SpawnCustomCrateAt(Trunc(lua_tonumber(L, 1)), Trunc(lua_tonumber(L, 2)), t, at, 0) + else gear := SpawnCustomCrateAt(Trunc(lua_tonumber(L, 1)), Trunc(lua_tonumber(L, 2)), t, at, Trunc(lua_tonumber(L, 4))); + if gear <> nil then + lua_pushnumber(L, gear^.uid) + else lua_pushnil(L); + end + else + lua_pushnil(L); + lc_spawnsupplycrate := 1; +end; + function lc_addgear(L : Plua_State) : LongInt; Cdecl; var gear : PGear; x, y, s, t: LongInt; @@ -1655,9 +1677,47 @@ lc_switchhog:= 0 end; +function lc_enableswitchhog(L : Plua_State) : LongInt; Cdecl; +var gear, iterator: PGear; + alreadySwitching: boolean; +begin + if CheckLuaParamCount(L, 0, 'EnableSwitchHog', '') then + if ((CurrentHedgehog <> nil) and (CurrentHedgehog^.Gear <> nil)) then + begin + alreadySwitching:= false; + iterator:= GearsList; + // Check if there's already a switcher gear + while (iterator <> nil) do + begin + if (iterator^.Kind = gtSwitcher) then + begin + alreadySwitching:= true; + lua_pushnumber(L, iterator^.Uid); + break; + end; + iterator:= iterator^.NextGear; + end; + if (not alreadySwitching) then + begin + // Enable switching and return gear UID + gear:= AddGear(hwRound(CurrentHedgehog^.Gear^.X), hwRound(CurrentHedgehog^.Gear^.Y), gtSwitcher, 0, _0, _0, 0); + CurAmmoGear:= gear; + lastGearByUID:= gear; + bShowFinger:= false; + lua_pushnumber(L, gear^.Uid); + end; + end + // Return nil on failure + else + lua_pushnil(L) + else + lua_pushnil(L); + lc_enableswitchhog:= 1; +end; + function lc_addammo(L : Plua_State) : LongInt; Cdecl; var gear : PGear; - at, n: LongInt; + at, n, c: LongInt; const call = 'AddAmmo'; params = 'gearUid, ammoType [, ammoCount]'; @@ -1665,14 +1725,19 @@ if CheckAndFetchParamCount(L, 2, 3, call, params, n) then begin at:= LuaToAmmoTypeOrd(L, 2, call, params); - if at >= 0 then + if (at >= 0) and (TAmmoType(at) <> amNothing) then begin gear:= GearByUID(Trunc(lua_tonumber(L, 1))); if (gear <> nil) and (gear^.Hedgehog <> nil) then if n = 2 then AddAmmo(gear^.Hedgehog^, TAmmoType(at)) else - SetAmmo(gear^.Hedgehog^, TAmmoType(at), Trunc(lua_tonumber(L, 3))) + begin + c:= Trunc(lua_tonumber(L, 3)); + if (c = 0) and (CurrentHedgehog = gear^.Hedgehog) and (gear^.Hedgehog^.CurAmmoType = TAmmoType(at)) then + ParseCommand('setweap ' + char(0), true, true); + SetAmmo(gear^.Hedgehog^, TAmmoType(at), c); + end; end; end; lc_addammo:= 0 @@ -1732,6 +1797,33 @@ lc_sethealth:= 0 end; +function lc_healhog(L : Plua_State) : LongInt; Cdecl; +var gear : PGear; + healthBoost, n: LongInt; +begin + if CheckAndFetchParamCountRange(L, 2, 4, 'HealHog', 'gearUid, healthBoost [, showMessage [, tint]]', n) then + begin + gear:= GearByUID(Trunc(lua_tonumber(L, 1))); + healthBoost:= Trunc(lua_tonumber(L, 2)); + if (gear <> nil) and (gear^.Kind = gtHedgehog) and (gear^.Hedgehog <> nil) and (healthBoost >= 1) then + begin + gear^.Health:= gear^.Health + healthBoost; + + RenderHealth(gear^.Hedgehog^); + RecountTeamHealth(gear^.Hedgehog^.Team); + if n = 4 then + HHHeal(gear^.Hedgehog, healthBoost, lua_toboolean(L, 3), Trunc(lua_tonumber(L, 4))) + else if n = 3 then + HHHeal(gear^.Hedgehog, healthBoost, lua_toboolean(L, 3)) + else if n = 2 then + HHHeal(gear^.Hedgehog, healthBoost, true); + Gear^.Active:= true; + AllInactive:= false + end + end; + lc_healhog:= 0 +end; + function lc_settimer(L : Plua_State) : LongInt; Cdecl; var gear : PGear; begin @@ -1880,6 +1972,42 @@ lc_endturn:= 0 end; +function lc_retreat(L : Plua_State) : LongInt; Cdecl; +var n, time: LongInt; + respectFactor: Boolean; +const + call = 'Retreat'; + params = 'time [, respectGetAwayTimeFactor]'; +begin + if CheckAndFetchParamCount(L, 1, 2, call, params, n) then + begin + IsGetAwayTime:= true; + AttackBar:= 0; + time:= Trunc(lua_tonumber(L, 1)); + if n = 2 then + respectFactor:= lua_toboolean(L, 2) + else + respectFactor:= True; + if respectFactor then + TurnTimeLeft:= (time * cGetAwayTime) div 100 + else + TurnTimeLeft:= time; + if ((CurrentHedgehog <> nil) and (CurrentHedgehog^.Gear <> nil)) then + begin + CurrentHedgehog^.Gear^.State:= CurrentHedgehog^.Gear^.State or gstAttacked; + CurrentHedgehog^.Gear^.State:= CurrentHedgehog^.Gear^.State and (not gstAttacking); + end; + end; + lc_retreat:= 0 +end; + +function lc_skipturn(L : Plua_State): LongInt; Cdecl; +begin + L:= L; // avoid compiler hint + ParseCommand('skip', true, true); + lc_skipturn:= 0; +end; + function lc_sendstat(L : Plua_State) : LongInt; Cdecl; var statInfo : TStatInfoType; i, n : LongInt; @@ -2002,29 +2130,57 @@ function lc_playsound(L : Plua_State) : LongInt; Cdecl; var gear: PGear; n, s: LongInt; + instaVoice: boolean; const call = 'PlaySound'; - params = 'soundId [, hhGearUid]'; + params = 'soundId [, hhGearUid [, instaVoice]]'; begin - if CheckAndFetchParamCount(L, 1, 2, call, params, n) then + if CheckAndFetchParamCountRange(L, 1, 3, call, params, n) then begin s:= LuaToSoundOrd(L, 1, call, params); if s >= 0 then begin // no gear specified if n = 1 then - PlaySound(TSound(s)) + PlaySound(TSound(s), false, true) else begin gear:= GearByUID(Trunc(lua_tonumber(L, 2))); if (gear <> nil) and (gear^.Kind = gtHedgehog) and (gear^.Hedgehog <> nil) then - AddVoice(TSound(s),gear^.Hedgehog^.Team^.Voicepack) + begin + instaVoice:= false; + if n = 3 then + instaVoice:= lua_toboolean(L, 3); + if instaVoice then + PlaySoundV(TSound(s), gear^.Hedgehog^.Team^.Voicepack, false, true) + else + AddVoice(TSound(s), gear^.Hedgehog^.Team^.Voicepack, true); + end; end; end; end; lc_playsound:= 0; end; +function lc_setsoundmask(L : Plua_State) : LongInt; Cdecl; +var s: LongInt; + soundState: boolean; +const + call = 'SetSoundMasked'; + params = 'soundId, isMasked]'; +begin + if CheckLuaParamCount(L, 2, call, params) then + begin + s:= LuaToSoundOrd(L, 1, call, params); + if s <> Ord(sndNone) then + begin + soundState:= lua_toboolean(L, 2); + MaskedSounds[TSound(s)]:= soundState; + end; + end; + lc_setsoundmask:= 0; +end; + function lc_addteam(L : Plua_State) : LongInt; Cdecl; var np: LongInt; begin @@ -2044,6 +2200,106 @@ lc_addteam:= 0;//1; end; +function lc_setteamlabel(L : Plua_State) : LongInt; Cdecl; +var teamValue: ansistring; + i, n: LongInt; + success: boolean; +begin + if CheckAndFetchParamCount(L, 1, 2, 'SetTeamLabel', 'teamname[, label]', n) then + begin + success:= false; + // fetch team + if TeamsCount > 0 then + for i:= 0 to Pred(TeamsCount) do + begin + // skip teams that don't have matching name + if TeamsArray[i]^.TeamName <> lua_tostring(L, 1) then + continue; + + // value of type nil? Then let's clear the team value + if (n < 2) or lua_isnil(L, 2) then + begin + FreeAndNilTexture(TeamsArray[i]^.LuaTeamValueTex); + TeamsArray[i]^.hasLuaTeamValue:= false; + success:= true; + end + // value of type string? Then let's set the team value + else if (lua_isstring(L, 2)) then + begin + teamValue:= lua_tostring(L, 2); + TeamsArray[i]^.LuaTeamValue:= teamValue; + FreeAndNilTexture(TeamsArray[i]^.LuaTeamValueTex); + TeamsArray[i]^.LuaTeamValueTex := RenderStringTex(teamValue, TeamsArray[i]^.Clan^.Color, fnt16); + TeamsArray[i]^.hasLuaTeamValue:= true; + success:= true; + end; + // don't change more than one team + break; + end; + end; + // return true if operation was successful, false otherwise + lua_pushboolean(L, success); + lc_setteamlabel:= 1; +end; + +function lc_getteamname(L : Plua_State) : LongInt; Cdecl; +var t: LongInt; +begin + if CheckLuaParamCount(L, 1, 'GetTeamName', 'teamIdx') then + begin + t:= Trunc(lua_tonumber(L, 1)); + if (t < 0) or (t >= TeamsCount) then + lua_pushnil(L) + else + lua_pushstring(L, str2pchar(TeamsArray[t]^.TeamName)); + end + else + lua_pushnil(L); + lc_getteamname:= 1; +end; + +function lc_getteamindex(L : Plua_state) : LongInt; Cdecl; +var i: LongInt; + found: boolean; +begin + found:= false; + if CheckLuaParamCount(L, 1, 'GetTeamIndex', 'teamname') then + if TeamsCount > 0 then + for i:= 0 to Pred(TeamsCount) do + begin + // skip teams that don't have matching name + if TeamsArray[i]^.TeamName <> lua_tostring(L, 1) then + continue; + lua_pushnumber(L, i); + found:= true; + break; + end; + if (not found) then + lua_pushnil(L); + lc_getteamindex:= 1; +end; + +function lc_getteamclan(L : Plua_state) : LongInt; Cdecl; +var i: LongInt; + found: boolean; +begin + found:= false; + if CheckLuaParamCount(L, 1, 'GetTeamClan', 'teamname') then + if TeamsCount > 0 then + for i:= 0 to Pred(TeamsCount) do + begin + // skip teams that don't have matching name + if TeamsArray[i]^.TeamName <> lua_tostring(L, 1) then + continue; + lua_pushnumber(L, TeamsArray[i]^.Clan^.ClanIndex); + found:= true; + break; + end; + if (not found) then + lua_pushnil(L); + lc_getteamclan:= 1; +end; + function lc_dismissteam(L : Plua_State) : LongInt; Cdecl; var HHGear: PGear; i, h : LongInt; @@ -2368,18 +2624,38 @@ end; function lc_setwind(L : Plua_State) : LongInt; Cdecl; +var vg: PVisualGear; begin if CheckLuaParamCount(L, 1, 'SetWind', 'windSpeed') then begin cWindSpeed:= int2hwfloat(Trunc(lua_tonumber(L, 1))) / 100 * cMaxWindSpeed; cWindSpeedf:= SignAs(cWindSpeed,cWindSpeed).QWordValue / SignAs(_1,_1).QWordValue; if cWindSpeed.isNegative then - CWindSpeedf := -cWindSpeedf; - AddVisualGear(0, 0, vgtSmoothWindBar); + cWindSpeedf := -cWindSpeedf; + vg:= AddVisualGear(0, 0, vgtSmoothWindBar); + if vg <> nil then vg^.dAngle:= hwFloat2Float(cWindSpeed); + AddFileLog('Wind = '+FloatToStr(cWindSpeed)); end; lc_setwind:= 0 end; +function lc_getwind(L : Plua_State) : LongInt; Cdecl; +var wind: extended; +begin + if CheckLuaParamCount(L, 0, 'GetWind', '') then + begin + wind:= hwFloat2float((cWindSpeed / cMaxWindSpeed) * 100); + if wind < -100 then + wind:= -100 + else if wind > 100 then + wind:= 100; + lua_pushnumber(L, wind); + end + else + lua_pushnil(L); + lc_getwind:= 1 +end; + function lc_maphasborder(L : Plua_State) : LongInt; Cdecl; begin if CheckLuaParamCount(L, 0, 'MapHasBorder', '') then @@ -2688,7 +2964,7 @@ function lc_setgearaihints(L : Plua_State) : LongInt; Cdecl; var gear: PGear; begin - if CheckLuaParamCount(L, 2, 'SetAIHintOnGear', 'gearUid, aiHints') then + if CheckLuaParamCount(L, 2, 'SetGearAIHints', 'gearUid, aiHints') then begin gear:= GearByUID(Trunc(lua_tonumber(L, 1))); if gear <> nil then @@ -2738,6 +3014,67 @@ lc_getammoname:= 1; end; +function lc_getammotimer(L : Plua_state) : LongInt; Cdecl; +var at: LongInt; + weapon: PAmmo; + gear: PGear; +const call = 'GetAmmoTimer'; + params = 'gearUid, ammoType'; +begin + if CheckLuaParamCount(L, 2, call, params) then + begin + gear:= GearByUID(Trunc(lua_tonumber(L, 1))); + if (gear <> nil) and (gear^.Hedgehog <> nil) then + begin + at:= LuaToAmmoTypeOrd(L, 2, call, params); + weapon:= GetAmmoEntry(gear^.Hedgehog^, TAmmoType(at)); + if (Ammoz[TAmmoType(at)].Ammo.Propz and ammoprop_Timerable) <> 0 then + lua_pushnumber(L, weapon^.Timer) + else + lua_pushnil(L); + end + else + lua_pushnil(L); + end + else + lua_pushnil(L); + lc_getammotimer:= 1; +end; + +function lc_setvampiric(L : Plua_state) : LongInt; Cdecl; +begin + if CheckLuaParamCount(L, 1, 'SetVampiric', 'bool') then + cVampiric := lua_toboolean(L, 1); + lc_setvampiric := 0; +end; + +function lc_setlasersight(L : Plua_state) : LongInt; Cdecl; +begin + if CheckLuaParamCount(L, 1, 'SetLaserSight', 'bool') then + cLaserSighting:= lua_toboolean(L, 1); + lc_setlasersight:= 0; +end; + +function lc_explode(L : Plua_state) : LongInt; Cdecl; +var mask: LongWord; + n: LongInt; +begin + if CheckAndFetchParamCount(L, 3, 4, 'Explode', 'x, y, radius[, options]', n) then + if CurrentHedgehog <> nil then + begin + mask:= EXPLAutoSound; + if (n = 4) then + mask:= Trunc(lua_tonumber(L, 4)); + doMakeExplosion(Trunc(lua_tonumber(L, 1)), Trunc(lua_tonumber(L, 2)), Trunc(lua_tonumber(L, 3)), CurrentHedgehog, mask); + lua_pushboolean(L, true); + end + else + lua_pushboolean(L, false) + else + lua_pushboolean(L, false); + lc_explode:= 1; +end; + function lc_startghostpoints(L : Plua_State) : LongInt; Cdecl; begin if CheckLuaParamCount(L, 1, 'StartGhostPoints', 'count') then @@ -2924,8 +3261,8 @@ exit; // push game variables so they may be modified by the script -ScriptSetInteger('CursorX', CursorPoint.X); -ScriptSetInteger('CursorY', CursorPoint.Y); +ScriptSetInteger('CursorX', NoPointX); +ScriptSetInteger('CursorY', NoPointX); ScriptSetInteger('GameFlags', GameFlags); ScriptSetInteger('WorldEdge', ord(WorldEdge)); ScriptSetString('Seed', cSeed); @@ -3141,12 +3478,16 @@ if f = nil then exit; -hedgewarsMountPackage(Str2PChar(copy(s, 1, length(s)-4)+'.hwp')); +hedgewarsMountPackage(Str2PChar(copy(s, 3, length(s)-6)+'.hwp')); physfsReaderSetBuffer(@buf); if Pos('Locale/',s) <> 0 then ret:= lua_load(luaState, @ScriptLocaleReader, f, Str2PChar(s)) -else ret:= lua_load(luaState, @ScriptReader, f, Str2PChar(s)); +else + begin + SetRandomSeed(cSeed,true); + ret:= lua_load(luaState, @ScriptReader, f, Str2PChar(s)) + end; pfsClose(f); if ret <> 0 then @@ -3164,6 +3505,7 @@ end; procedure SetGlobals; +var x, y: LongInt; begin ScriptSetInteger('TurnTimeLeft', TurnTimeLeft); ScriptSetInteger('ReadyTimeLeft', ReadyTimeLeft); @@ -3172,21 +3514,23 @@ ScriptSetInteger('WaterLine', cWaterLine); if isCursorVisible and (not bShowAmmoMenu) then begin - if (prevCursorPoint.X <> CursorPoint.X) or - (prevCursorPoint.Y <> CursorPoint.Y) then + x:= CursorPoint.X - WorldDx; + y:= cScreenHeight - CursorPoint.Y - WorldDy; + if (PrevCursorX <> x) or + (PrevCursorY <> y) then begin - ScriptSetInteger('CursorX', CursorPoint.X - WorldDx); - ScriptSetInteger('CursorY', cScreenHeight - CursorPoint.Y- WorldDy); - prevCursorPoint.X:= CursorPoint.X; - prevCursorPoint.Y:= CursorPoint.Y; + ScriptSetInteger('CursorX', x); + ScriptSetInteger('CursorY', y); + PrevCursorX:= x; + PrevCursorY:= y; end end else begin ScriptSetInteger('CursorX', NoPointX); ScriptSetInteger('CursorY', NoPointX); - prevCursorPoint.X:= NoPointX; - prevCursorPoint.Y:= NoPointX + PrevCursorX:= NoPointX; + PrevCursorY:= NoPointX end; if not mapDims then @@ -3420,10 +3764,10 @@ luaopen_table(luaState); // import some variables -ScriptSetString(_S'L', cLocale); +ScriptSetString(_S'LOCALE', cLocale); // import game flags -ScriptSetInteger('gfForts', gfForts); +ScriptSetInteger('gfSwitchHog', gfSwitchHog); ScriptSetInteger('gfMultiWeapon', gfMultiWeapon); ScriptSetInteger('gfSolidLand', gfSolidLand); ScriptSetInteger('gfBorder', gfBorder); @@ -3534,11 +3878,26 @@ ScriptSetInteger('aihUsualProcessing', aihUsualProcessing); ScriptSetInteger('aihDoesntMatter' , aihDoesntMatter); -// land flags +// land flags (partial) ScriptSetInteger('lfIndestructible', lfIndestructible); ScriptSetInteger('lfIce' , lfIce); ScriptSetInteger('lfBouncy' , lfBouncy); +ScriptSetInteger('lfLandMask' , lfLandMask); +ScriptSetInteger('lfCurrentHog' , lfCurrentHog); +ScriptSetInteger('lfHHMask' , lfHHMask); +ScriptSetInteger('lfNotHHObjMask' , lfNotHHObjMask); +ScriptSetInteger('lfAllObjMask' , lfAllObjMask); + +// explosion constants +ScriptSetInteger('EXPLAutoSound' , EXPLAutoSound); +ScriptSetInteger('EXPLNoDamage' , EXPLNoDamage); +ScriptSetInteger('EXPLDoNotTouchHH' , EXPLDoNotTouchHH); +ScriptSetInteger('EXPLDontDraw' , EXPLDontDraw); +ScriptSetInteger('EXPLNoGfx' , EXPLNoGfx); +ScriptSetInteger('EXPLPoisoned' , EXPLPoisoned); +ScriptSetInteger('EXPLDoNotTouchAny', EXPLDoNotTouchAny); + // register functions lua_register(luaState, _P'HideHog', @lc_hidehog); lua_register(luaState, _P'RestoreHog', @lc_restorehog); @@ -3567,13 +3926,17 @@ lua_register(luaState, _P'SpawnHealthCrate', @lc_spawnhealthcrate); lua_register(luaState, _P'SpawnAmmoCrate', @lc_spawnammocrate); lua_register(luaState, _P'SpawnUtilityCrate', @lc_spawnutilitycrate); +lua_register(luaState, _P'SpawnSupplyCrate', @lc_spawnsupplycrate); lua_register(luaState, _P'SpawnFakeHealthCrate', @lc_spawnfakehealthcrate); lua_register(luaState, _P'SpawnFakeAmmoCrate', @lc_spawnfakeammocrate); lua_register(luaState, _P'SpawnFakeUtilityCrate', @lc_spawnfakeutilitycrate); lua_register(luaState, _P'WriteLnToConsole', @lc_writelntoconsole); +lua_register(luaState, _P'WriteLnToChat', @lc_writelntochat); lua_register(luaState, _P'GetGearType', @lc_getgeartype); lua_register(luaState, _P'EndGame', @lc_endgame); lua_register(luaState, _P'EndTurn', @lc_endturn); +lua_register(luaState, _P'Retreat', @lc_retreat); +lua_register(luaState, _P'SkipTurn', @lc_skipturn); lua_register(luaState, _P'GetTeamStats', @lc_getteamstats); lua_register(luaState, _P'SendStat', @lc_sendstat); lua_register(luaState, _P'SendGameResultOff', @lc_sendgameresultoff); @@ -3596,10 +3959,16 @@ lua_register(luaState, _P'SetAmmo', @lc_setammo); lua_register(luaState, _P'SetAmmoDelay', @lc_setammodelay); lua_register(luaState, _P'PlaySound', @lc_playsound); +lua_register(luaState, _P'SetSoundMask', @lc_setsoundmask); +lua_register(luaState, _P'GetTeamName', @lc_getteamname); +lua_register(luaState, _P'GetTeamIndex', @lc_getteamindex); +lua_register(luaState, _P'GetTeamClan', @lc_getteamclan); lua_register(luaState, _P'AddTeam', @lc_addteam); +lua_register(luaState, _P'SetTeamLabel', @lc_setteamlabel); lua_register(luaState, _P'AddHog', @lc_addhog); lua_register(luaState, _P'AddAmmo', @lc_addammo); lua_register(luaState, _P'GetAmmoCount', @lc_getammocount); +lua_register(luaState, _P'HealHog', @lc_healhog); lua_register(luaState, _P'SetHealth', @lc_sethealth); lua_register(luaState, _P'GetHealth', @lc_gethealth); lua_register(luaState, _P'SetEffect', @lc_seteffect); @@ -3635,9 +4004,8 @@ lua_register(luaState, _P'GetZoom', @lc_getzoom); lua_register(luaState, _P'HogSay', @lc_hogsay); lua_register(luaState, _P'SwitchHog', @lc_switchhog); +lua_register(luaState, _P'EnableSwitchHog', @lc_enableswitchhog); lua_register(luaState, _P'HogTurnLeft', @lc_hogturnleft); -lua_register(luaState, _P'CampaignLock', @lc_campaignlock); -lua_register(luaState, _P'CampaignUnlock', @lc_campaignunlock); lua_register(luaState, _P'GetGearElasticity', @lc_getgearelasticity); lua_register(luaState, _P'SetGearElasticity', @lc_setgearelasticity); lua_register(luaState, _P'GetGearFriction', @lc_getgearfriction); @@ -3651,6 +4019,7 @@ lua_register(luaState, _P'SetGearCollisionMask', @lc_setgearcollisionmask); lua_register(luaState, _P'GetRandom', @lc_getrandom); lua_register(luaState, _P'SetWind', @lc_setwind); +lua_register(luaState, _P'GetWind', @lc_getwind); lua_register(luaState, _P'MapHasBorder', @lc_maphasborder); lua_register(luaState, _P'GetHogHat', @lc_gethoghat); lua_register(luaState, _P'SetHogHat', @lc_sethoghat); @@ -3668,6 +4037,10 @@ lua_register(luaState, _P'SetCinematicMode', @lc_setcinematicmode); lua_register(luaState, _P'SetMaxBuildDistance', @lc_setmaxbuilddistance); lua_register(luaState, _P'GetAmmoName', @lc_getammoname); +lua_register(luaState, _P'GetAmmoTimer', @lc_getammotimer); +lua_register(luaState, _P'SetVampiric', @lc_setvampiric); +lua_register(luaState, _P'SetLaserSight', @lc_setlasersight); +lua_register(luaState, _P'Explode', @lc_explode); // drawn map functions lua_register(luaState, _P'AddPoint', @lc_addPoint); lua_register(luaState, _P'FlushPoints', @lc_flushPoints); @@ -3791,8 +4164,8 @@ begin mapDims:= false; PointsBuffer:= ''; -prevCursorPoint.X:= NoPointX; -prevCursorPoint.Y:= 0; +PrevCursorX:= NoPointX; +PrevCursorY:= NoPointX; end; procedure freeModule; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uSound.pas --- a/hedgewars/uSound.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uSound.pas Sun Jun 10 19:12:26 2018 +0200 @@ -63,8 +63,10 @@ // then the sound's playback won't be interrupted if asked to play again. procedure PlaySound(snd: TSound); procedure PlaySound(snd: TSound; keepPlaying: boolean); +procedure PlaySound(snd: TSound; keepPlaying: boolean; ignoreMask: boolean); procedure PlaySoundV(snd: TSound; voicepack: PVoicepack); procedure PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying: boolean); +procedure PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying: boolean; ignoreMask: boolean); // Plays sound snd [of voicepack] in a loop, but starts with fadems milliseconds of fade-in. // Returns sound channel of the looped sound. @@ -80,6 +82,7 @@ procedure StopSoundChan(chn, fadems: LongInt); procedure AddVoice(snd: TSound; voicepack: PVoicepack); +procedure AddVoice(snd: TSound; voicepack: PVoicepack; ignoreMask: boolean); procedure PlayNextVoice; @@ -101,11 +104,16 @@ // Modifies the sound volume of the game by voldelta and returns the new volume level. function ChangeVolume(voldelta: LongInt): LongInt; +// Returns the current volume in percent +function GetVolumePercent(): LongInt; + // Returns a pointer to the voicepack with the given name. function AskForVoicepack(name: shortstring): Pointer; var MusicFN: shortstring; // music file name SDMusicFN: shortstring; // SD music file name + FallbackMusicFN: shortstring; // fallback music file name + FallbackSDMusicFN: shortstring; // fallback SD music fille name var Volume: LongInt; SoundTimerTicks: Longword; @@ -178,12 +186,12 @@ (FileName: 'Ow2.ogg'; Path: ptVoices; AltPath: ptNone),// sndOw2 (FileName: 'Ow3.ogg'; Path: ptVoices; AltPath: ptNone),// sndOw3 (FileName: 'Ow4.ogg'; Path: ptVoices; AltPath: ptNone),// sndOw4 - (FileName: 'Firepunch1.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch1 - (FileName: 'Firepunch2.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch2 - (FileName: 'Firepunch3.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch3 - (FileName: 'Firepunch4.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch4 - (FileName: 'Firepunch5.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch5 - (FileName: 'Firepunch6.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirepunch6 + (FileName: 'Firepunch1.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch1 + (FileName: 'Firepunch2.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch2 + (FileName: 'Firepunch3.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch3 + (FileName: 'Firepunch4.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch4 + (FileName: 'Firepunch5.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch5 + (FileName: 'Firepunch6.ogg'; Path: ptVoices; AltPath: ptNone),// sndFirePunch6 (FileName: 'Melon.ogg'; Path: ptVoices; AltPath: ptNone),// sndMelon (FileName: 'Hellish.ogg'; Path: ptSounds; AltPath: ptNone),// sndHellish (FileName: 'Yoohoo.ogg'; Path: ptSounds; AltPath: ptNone),// sndYoohoo @@ -278,7 +286,8 @@ (FileName: 'custom5.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom5 (FileName: 'custom6.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom6 (FileName: 'custom7.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom7 - (FileName: 'custom8.ogg'; Path: ptSounds; AltPath: ptNone) // sndCustom8 + (FileName: 'custom8.ogg'; Path: ptSounds; AltPath: ptNone),// sndCustom8 + (FileName: 'minigun.ogg'; Path: ptSounds; AltPath: ptNone) // sndMinigun ); @@ -409,20 +418,30 @@ procedure PlaySound(snd: TSound); begin - PlaySoundV(snd, nil, false); + PlaySoundV(snd, nil, false, false); end; procedure PlaySound(snd: TSound; keepPlaying: boolean); begin - PlaySoundV(snd, nil, keepPlaying); + PlaySoundV(snd, nil, keepPlaying, false); +end; + +procedure PlaySound(snd: TSound; keepPlaying: boolean; ignoreMask: boolean); +begin + PlaySoundV(snd, nil, keepPlaying, ignoreMask); end; procedure PlaySoundV(snd: TSound; voicepack: PVoicepack); begin - PlaySoundV(snd, voicepack, false); + PlaySoundV(snd, voicepack, false, false); end; procedure PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying: boolean); +begin + PlaySoundV(snd, voicepack, keepPlaying, false); +end; + +procedure PlaySoundV(snd: TSound; voicepack: PVoicepack; keepPlaying: boolean; ignoreMask: boolean); var s:shortstring; rwops: PSDL_RWops; begin @@ -432,13 +451,25 @@ if keepPlaying and (lastChan[snd] <> -1) and (Mix_Playing(lastChan[snd]) <> 0) then exit; + if (ignoreMask = false) and (MaskedSounds[snd] = true) then + exit; + if (voicepack <> nil) then begin if (voicepack^.chunks[snd] = nil) and (Soundz[snd].Path = ptVoices) and (Soundz[snd].FileName <> '') then begin s:= cPathz[Soundz[snd].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName; - if (not pfsExists(s)) and (snd in [sndFirePunch2, sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6]) then - s:= cPathz[Soundz[sndFirePunch1].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName; + // Fallback to sndFirePunch1 / sndOw1 / sndOoff1 if a “higher-numbered” sound is missing + if (not pfsExists(s)) then + begin + if (snd in [sndFirePunch2, sndFirePunch3, sndFirePunch4, sndFirePunch5, sndFirePunch6]) then + snd := sndFirePunch1 + else if (snd in [sndOw2, sndOw3, sndOw4]) then + snd := sndOw1 + else if (snd in [sndOoff2, sndOoff3]) then + snd := sndOoff1; + s:= cPathz[Soundz[snd].Path] + '/' + voicepack^.name + '/' + Soundz[snd].FileName; + end; WriteToConsole(msgLoading + s + ' '); rwops := rwopsOpenRead(s); @@ -481,10 +512,19 @@ end; procedure AddVoice(snd: TSound; voicepack: PVoicepack); +begin + AddVoice(snd, voicepack, false); +end; + +procedure AddVoice(snd: TSound; voicepack: PVoicepack; ignoreMask: boolean); var i : LongInt; begin + if (not isSoundEnabled) or fastUntilLag or ((LastVoice.snd = snd) and (LastVoice.voicepack = voicepack)) then exit; + if (ignoreMask = false) and (MaskedSounds[snd] = true) then + exit; + if (snd = sndVictory) or (snd = sndFlawless) then begin Mix_FadeOutChannel(-1, 800); @@ -632,9 +672,35 @@ else s:= '/Music/' + MusicFN; WriteToConsole(msgLoading + s + ' '); + // Load normal music Mus:= Mix_LoadMUS_RW(rwopsOpenRead(s)); SDLCheck(Mus <> nil, 'Mix_LoadMUS_RW', false); - WriteLnToConsole(msgOK); + if Mus <> nil then + WriteLnToConsole(msgOK); + + // If normal music failed, try to get fallback music + if Mus = nil then + begin + WriteLnToConsole('Music not found. Trying fallback music.'); + if SuddenDeath and (FallbackSDMusicFN <> '') then + s:= '/Music/' + FallbackSDMusicFN + else if (not SuddenDeath) and (FallbackMusicFN <> '') then + s:= '/Music/' + FallbackMusicFN + else + begin + WriteLnToConsole('No fallback music configured!'); + s:= '' + end; + + if (s <> '') then + begin + WriteLnToConsole(msgLoading + s + ' '); + Mus:= Mix_LoadMUS_RW(rwopsOpenRead(s)); + SDLCheck(Mus <> nil, 'Mix_LoadMUS_RW', false); + if Mus <> nil then + WriteLnToConsole(msgOK) + end; + end; SDLCheck(Mix_FadeInMusic(Mus, -1, 3000) <> -1, 'Mix_FadeInMusic', false) end; @@ -644,6 +710,11 @@ cInitVolume:= vol; end; +function GetVolumePercent(): LongInt; +begin + GetVolumePercent:= Volume * 100 div MIX_MAX_VOLUME; +end; + function ChangeVolume(voldelta: LongInt): LongInt; begin ChangeVolume:= 0; @@ -659,7 +730,7 @@ Volume:= Mix_Volume(-1, -1); if isMusicEnabled then Mix_VolumeMusic(Volume * 4 div 8); - ChangeVolume:= Volume * 100 div MIX_MAX_VOLUME; + ChangeVolume:= GetVolumePercent(); if (isMusicEnabled) then if (Volume = 0) then @@ -765,12 +836,6 @@ CurrentTeam^.voicepack:= AskForVoicepack(s) end; -procedure chMute(var s: shortstring); -begin - s:= s; // avoid compiler hint - MuteAudio; -end; - procedure preInitModule; begin isMusicEnabled:= true; @@ -783,7 +848,6 @@ i: TSound; begin RegisterVariable('voicepack', @chVoicepack, false); - RegisterVariable('mute' , @chMute , true ); MusicFN:=''; SDMusicFN:= 'sdmusic.ogg'; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uStats.pas --- a/hedgewars/uStats.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uStats.pas Sun Jun 10 19:12:26 2018 +0200 @@ -22,7 +22,7 @@ interface uses uConsts, uTypes; -var TotalRounds: LongInt; +var TotalRounds: LongInt; // Number of rounds played (-1 if game not started) FinishedTurnsTotal: LongInt; SendGameResultOn : boolean = true; SendRankingStatsOn : boolean = true; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uStore.pas --- a/hedgewars/uStore.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uStore.pas Sun Jun 10 19:12:26 2018 +0200 @@ -62,7 +62,7 @@ implementation uses uMisc, uConsole, uVariables, uUtils, uTextures, uRender, uRenderUtils, - uCommands, uPhysFSLayer, uDebug, adler32 + uCommands, uPhysFSLayer, uDebug, uLocale, uInputHandler, adler32 {$IFDEF USE_CONTEXT_RESTORE}, uWorld{$ENDIF}; //type TGPUVendor = (gvUnknown, gvNVIDIA, gvATI, gvIntel, gvApple); @@ -189,9 +189,13 @@ for t:= 0 to Pred(TeamsCount) do with TeamsArray[t]^ do begin - NameTagTex:= RenderStringTexLim(ansistring(TeamName), Clan^.Color, Font, cTeamHealthWidth); + if ExtDriven then + NameTagTex:= RenderStringTexLim(ansistring(TeamName), Clan^.Color, Font, cTeamHealthWidth) + else NameTagTex:= RenderStringTex(ansistring(TeamName), Clan^.Color, Font); if length(Owner) > 0 then - OwnerTex:= RenderStringTexLim(ansistring(Owner), Clan^.Color, Font, cTeamHealthWidth); + if ExtDriven then + OwnerTex:= RenderStringTexLim(ansistring(Owner), Clan^.Color, Font, cTeamHealthWidth) + else OwnerTex:= RenderStringTex(ansistring(Owner), Clan^.Color, Font); r.x:= 0; r.y:= 0; @@ -261,6 +265,7 @@ if not allOK then exit; AIKillsTex := RenderStringTex(ansistring(inttostr(stats.AIKills)), Clan^.Color, fnt16); + LuaTeamValueTex := RenderStringTex(LuaTeamValue, Clan^.Color, fnt16); dec(drY, r.h + 2); DrawHealthY:= drY; @@ -268,7 +273,9 @@ with Hedgehogs[i] do if Gear <> nil then begin - NameTagTex:= RenderStringTexLim(ansistring(Name), Clan^.Color, fnt16, cTeamHealthWidth); + if ExtDriven then + NameTagTex:= RenderStringTexLim(ansistring(Name), Clan^.Color, fnt16, cTeamHealthWidth) + else NameTagTex:= RenderStringTex(ansistring(Name), Clan^.Color, fnt16); if Hat = 'NoHat' then begin if (month = 4) and (md = 20) then @@ -372,6 +379,7 @@ ai: TAmmoType; tmpsurf, tmpoverlay: PSDL_Surface; i, y, imflags: LongInt; + keyConfirm, keyQuit: shortstring; begin AddFileLog('StoreLoad()'); @@ -499,7 +507,9 @@ PauseTexture:= RenderStringTex(trmsg[sidPaused], cYellowColor, fntBig); AFKTexture:= RenderStringTex(trmsg[sidAFK], cYellowColor, fntBig); - ConfirmTexture:= RenderStringTex(trmsg[sidConfirm], cYellowColor, fntBig); + keyConfirm:= KeyBindToName('confirm'); + keyQuit:= KeyBindToName('quit'); + ConfirmTexture:= RenderStringTex(Format(trmsg[sidConfirm], [keyConfirm, keyQuit]), cYellowColor, fntBig); SyncTexture:= RenderStringTex(trmsg[sidSync], cYellowColor, fntBig); if not reload then @@ -998,24 +1008,21 @@ extra:= _S''; extracolor:= 0; -if (CurrentTeam <> nil) and (Ammoz[atype].SkipTurns >= CurrentTeam^.Clan^.TurnNumber) then // weapon or utility is not yet available - begin - if (atype = amTardis) and (suddenDeathDmg) then - extra:= trmsg[sidNotAvailableInSD] - else - extra:= trmsg[sidNotYetAvailable]; - extracolor:= LongInt($ffc77070); - end -else if (Ammoz[atype].Ammo.Propz and ammoprop_NoRoundEnd) <> 0 then // weapon or utility will not end your turn - begin - extra:= trmsg[sidNoEndTurn]; - extracolor:= LongInt($ff70c770); - end -else - begin - extra:= _S''; - extracolor:= 0; - end; +if (trluaammoe[Ammoz[atype].NameId] = true) then + if (CurrentTeam <> nil) and (Ammoz[atype].SkipTurns >= CurrentTeam^.Clan^.TurnNumber) then // weapon or utility is not yet available + begin + if (atype = amTardis) and (SuddenDeathActive) then + extra:= trmsg[sidNotAvailableInSD] + else + extra:= trmsg[sidNotYetAvailable]; + extracolor:= LongInt($ffc77070); + end + else if (((GameFlags and gfInfAttack) <> 0) and ((Ammoz[atype].Ammo.Propz and ammoprop_ForceTurnEnd) = 0)) or ((Ammoz[atype].Ammo.Propz and ammoprop_NoRoundEnd) <> 0) then + // weapon or utility will not end your turn + begin + extra:= trmsg[sidNoEndTurn]; + extracolor:= LongInt($ff70c770); + end; if length(trluaammo[Ammoz[atype].NameId]) > 0 then ammoname := trluaammo[Ammoz[atype].NameId] diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uTeams.pas --- a/hedgewars/uTeams.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uTeams.pas Sun Jun 10 19:12:26 2018 +0200 @@ -54,7 +54,8 @@ function CheckForWin: boolean; var AliveClan: PClan; - s, ts, cap: ansistring; + s, cap: ansistring; + ts: array[0..(cMaxTeams - 1)] of ansistring; t, AliveCount, i, j: LongInt; begin CheckForWin:= false; @@ -90,33 +91,34 @@ begin with AliveClan^ do begin - ts:= ansistring(Teams[0]^.TeamName); - if TeamsNumber = 1 then // team wins + if TeamsNumber = 1 then // single team wins begin - s:= FormatA(trmsg[sidWinner], ts); - cap:= FormatA(GetEventString(eidRoundWin), ts); + s:= ansistring(Teams[0]^.TeamName); + // Victory caption is randomly selected + cap:= FormatA(GetEventString(eidRoundWin), s); AddCaption(cap, cWhiteColor, capgrpGameState); + s:= FormatA(trmsg[sidWinner], s); end - else // clan wins + else // clan with at least 2 teams wins begin s:= ''; for j:= 0 to Pred(TeamsNumber) do begin - (* - Currently, the game result string is just the victory - string concatenated multiple times. This assumes that - sidWinner is a complete sentence. - This might not work well for some languages. + ts[j] := Teams[j]^.TeamName; + end; - FIXME/TODO: Add event strings for 2, 3, 4 and >4 teams winning. - This requires FormatA to work with multiple parameters. *) - ts:= Teams[j]^.TeamName; - s:= s + ' ' + FormatA(trmsg[sidWinner], ts); + // Write victory message for caption and stats page + if (TeamsNumber = cMaxTeams) or (TeamsCount = TeamsNumber) then + // No enemies for some reason … Everyone wins!!1! + s:= trmsg[sidWinnerAll] + else if (TeamsNumber >= 2) and (TeamsNumber < cMaxTeams) then + // List all winning teams in a list + s:= FormatA(trmsg[TMsgStrId(Ord(sidWinner2) + (TeamsNumber - 2))], ts); - // FIXME: Show victory captions one-by-one, not all at once - cap:= FormatA(GetEventString(eidRoundWin), ts); - AddCaption(cap, cWhiteColor, capgrpGameState); - end; + // The winner caption is the same as the stats message and not randomized + cap:= s; + AddCaption(cap, cWhiteColor, capgrpGameState); + // TODO (maybe): Show victory animation/captions per-team instead of all winners at once? end; for j:= 0 to Pred(TeamsNumber) do @@ -191,23 +193,26 @@ c:= CurrentTeam^.Clan^.ClanIndex; repeat with ClansArray[c]^ do - if (CurrTeam = TagTeamIndex) and ((GameFlags and gfTagTeam) <> 0) then + if (GameFlags and gfTagTeam) <> 0 then begin - TagTeamIndex:= Pred(TagTeamIndex) mod TeamsNumber; - CurrTeam:= Pred(CurrTeam) mod TeamsNumber; - inc(c); - NextClan:= true; - end; + if (CurrTeam = TagTeamIndex) then + begin + if (c = 0) and (not PlacingHogs) then + inc(TotalRounds); + TagTeamIndex:= Pred(TagTeamIndex) mod TeamsNumber; + CurrTeam:= Pred(CurrTeam) mod TeamsNumber; + inc(c); + NextClan:= true; + end; + end + else if (c = 0) and (not PlacingHogs) then + inc(TotalRounds); if (GameFlags and gfTagTeam) = 0 then inc(c); if c = ClansCount then - begin - if not PlacingHogs then - inc(TotalRounds); - c:= 0 - end; + c:= 0; with ClansArray[c]^ do begin @@ -266,6 +271,7 @@ CurWeapon: PAmmo; w: real; vg: PVisualGear; + g: PGear; s: ansistring; begin if PlacingHogs then @@ -327,25 +333,35 @@ if (not CurrentTeam^.ExtDriven) and (CurrentHedgehog^.BotLevel = 0) then SetBinds(CurrentTeam^.Binds); -bShowFinger:= true; - if PlacingHogs then begin if CurrentHedgehog^.Unplaced then TurnTimeLeft:= 15000 else TurnTimeLeft:= 0 end -else if ((GameFlags and gfTagTeam) <> 0) and (not NextClan) then - begin - if TagTurnTimeLeft <> 0 then - TurnTimeLeft:= TagTurnTimeLeft; - TagTurnTimeLeft:= 0; - end else begin - TurnTimeLeft:= cHedgehogTurnTime; - TagTurnTimeLeft:= 0; - NextClan:= false; + if ((GameFlags and gfTagTeam) <> 0) and (not NextClan) then + begin + if TagTurnTimeLeft <> 0 then + TurnTimeLeft:= TagTurnTimeLeft; + TagTurnTimeLeft:= 0; + end + else + begin + TurnTimeLeft:= cHedgehogTurnTime; + TagTurnTimeLeft:= 0; + NextClan:= false; + end; + + if (GameFlags and gfSwitchHog) <> 0 then + begin + g:= AddGear(hwRound(CurrentHedgehog^.Gear^.X), hwRound(CurrentHedgehog^.Gear^.Y), gtSwitcher, 0, _0, _0, 0); + CurAmmoGear:= g; + lastGearByUID:= g; + end + else + bShowFinger:= true; end; IsGetAwayTime:= false; @@ -381,7 +397,7 @@ function AddTeam(TeamColor: Longword): PTeam; var team: PTeam; - c, t: LongInt; + c: LongInt; begin if checkFails(TeamsCount < cMaxTeams, 'Too many teams', true) then exit(nil); New(team); @@ -393,9 +409,9 @@ TeamsArray[TeamsCount]:= team; inc(TeamsCount); +inc(VisibleTeamsCount); -for t:= 0 to cKbdMaxIndex do - team^.Binds[t]:= DefaultBinds[t]; +team^.Binds:= DefaultBinds; c:= Pred(ClansCount); while (c >= 0) and (ClansArray[c]^.Color <> TeamColor) do dec(c); @@ -535,7 +551,8 @@ HH^.Gear^.State:= (HH^.Gear^.State and (not (gstHHDriven or gstInvisible or gstAttacking))) or gstAttacked; AddCI(HH^.Gear); HH^.Gear^.Active:= true; - ScriptCall('onHogRestore', HH^.Gear^.Uid) + ScriptCall('onHogRestore', HH^.Gear^.Uid); + AddVisualGear(0, 0, vgtTeamHealthSorter); end; procedure RestoreTeamsFromSave; @@ -699,7 +716,7 @@ begin if (not hasGone) and isGoneFlagPendingToBeSet then begin - AddChatString(#7 + '* '+ TeamName + ' is gone'); // TODO: localize + AddChatString(#7 + '* '+ FormatA(trmsg[sidTeamGone], TeamName)); if not CurrentTeam^.ExtDriven then SendIPC(_S'f' + s); hasGone:= true; skippedTurns:= 0; @@ -738,7 +755,7 @@ with TeamsArray[t]^ do if hasGone then begin - AddChatString(#8 + '* '+ TeamName + ' is back'); + AddChatString(#8 + '* '+ FormatA(trmsg[sidTeamBack], TeamName)); if not CurrentTeam^.ExtDriven then SendIPC(_S'g' + s); hasGone:= false; @@ -888,6 +905,7 @@ FreeAndNilTexture(OwnerTex); FreeAndNilTexture(GraveTex); FreeAndNilTexture(AIKillsTex); + FreeAndNilTexture(LuaTeamValueTex); FreeAndNilTexture(FlagTex); end; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uTypes.pas --- a/hedgewars/uTypes.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uTypes.pas Sun Jun 10 19:12:26 2018 +0200 @@ -36,7 +36,7 @@ end; // Possible states of the game - TGameState = (gsLandGen, gsStart, gsGame, gsChat, gsConfirm, gsExit, gsSuspend); + TGameState = (gsLandGen, gsStart, gsGame, gsConfirm, gsExit, gsSuspend); // Game types that help determining what the engine is actually supposed to do TGameType = (gmtLocal, gmtDemo, gmtNet, gmtSave, gmtLandPreview, gmtSyntax, gmtRecord); @@ -90,8 +90,8 @@ sprSDFlake, sprSDWater, sprSDCloud, sprSDSplash, sprSDDroplet, sprTardis, sprSlider, sprBotlevels, sprHandKnife, sprKnife, sprStar, sprIceTexture, sprIceGun, sprFrozenHog, sprAmRubber, sprBoing, sprCustom1, sprCustom2, sprCustom3, sprCustom4, - sprCustom5, sprCustom6, sprCustom7, sprCustom8, sprAirMine, sprHandAirMine, - sprFlakeL, sprSDFlakeL, sprCloudL, sprSDCloudL, sprDuck, sprHandDuck + sprCustom5, sprCustom6, sprCustom7, sprCustom8, sprFrozenAirMine, sprAirMine, sprHandAirMine, + sprFlakeL, sprSDFlakeL, sprCloudL, sprSDCloudL, sprDuck, sprHandDuck, sprMinigun ); // Gears that interact with other Gears and/or Land @@ -109,7 +109,7 @@ gtEgg, gtPortal, gtPiano, gtGasBomb, gtSineGunShot, gtFlamethrower, // 51 gtSMine, gtPoisonCloud, gtHammer, gtHammerHit, gtResurrector, // 56 gtNapalmBomb, gtSnowball, gtFlake, {gtStructure,} gtLandGun, gtTardis, // 61 - gtIceGun, gtAddAmmo, gtGenericFaller, gtKnife, gtDuck); // 66 + gtIceGun, gtAddAmmo, gtGenericFaller, gtKnife, gtDuck, gtMinigun, gtMinigunBullet); // 68 // Gears that are _only_ of visual nature (e.g. background stuff, visual effects, speechbubbles, etc.) TVisualGearType = (vgtFlake, vgtCloud, vgtExplPart, vgtExplPart2, vgtFire, @@ -151,7 +151,7 @@ sndInvulnerable, sndJetpackLaunch, sndJetpackBoost, sndPortalShot, sndPortalSwitch, sndPortalOpen, sndBlowTorch, sndCountdown1, sndCountdown2, sndCountdown3, sndCountdown4, sndDuckDrop, sndDuckWater, sndDuckDie, sndCustom1, sndCustom2, sndCustom3, sndCustom4, - sndCustom5, sndCustom6, sndCustom7, sndCustom8); + sndCustom5, sndCustom6, sndCustom7, sndCustom8, sndMinigun); // Available ammo types to be used by hedgehogs TAmmoType = (amNothing, amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amPickHammer, // 6 @@ -163,7 +163,7 @@ amLaserSight, amVampiric, amSniperRifle, amJetpack, amMolotov, amBirdy, amPortalGun, // 42 amPiano, amGasBomb, amSineGun, amFlamethrower, amSMine, amHammer, // 48 amResurrector, amDrillStrike, amSnowball, amTardis, {amStructure,} amLandGun, // 53 - amIceGun, amKnife, amRubber, amAirMine, amDuck); // 58 + amIceGun, amKnife, amRubber, amAirMine, amDuck, amMinigun); // 59 // Different kind of crates that e.g. hedgehogs can pick up TCrateType = (HealthCrate, AmmoCrate, UtilityCrate); @@ -229,7 +229,7 @@ PrevTexture, NextTexture: PTexture; end; - THogEffect = (heInvulnerable, heResurrectable, hePoisoned, heResurrected, heFrozen); + THogEffect = (heInvulnerable, heResurrectable, hePoisoned, heResurrected, heFrozen, heArtillery); TScreenFade = (sfNone, sfInit, sfToBlack, sfFromBlack, sfToWhite, sfFromWhite); @@ -349,7 +349,13 @@ TeamDamage : Longword; end; - TBinds = array[0..cKbdMaxIndex] of shortstring; + TBinds = record + indices: array[0..cKbdMaxIndex] of byte; + // zeroth element is reserved, indices[i] == 0 means no binding + binds: array[0..255] of shortstring; + lastIndex: byte; + end; + TKeyboardState = array[0..cKeyMaxIndex] of Byte; PVoicepack = ^TVoicepack; @@ -405,6 +411,7 @@ OwnerTex, GraveTex, AIKillsTex, + LuaTeamValueTex, FlagTex: PTexture; Flag: shortstring; GraveName: shortstring; @@ -421,6 +428,8 @@ hasGone: boolean; skippedTurns: Longword; isGoneFlagPendingToBeSet, isGoneFlagPendingToBeUnset: boolean; + luaTeamValue: ansistring; + hasLuaTeamValue: boolean; end; TClan = record @@ -460,14 +469,17 @@ sidSineGun, sidFlamethrower,sidSMine, sidHammer, sidResurrector, sidDrillStrike, sidSnowball, sidNothing, sidTardis, {sidStructure,} sidLandGun, sidIceGun, sidKnife, sidRubber, sidAirMine, - sidDuck); + sidDuck, sidMinigun); TMsgStrId = (sidLoading, sidDraw, sidWinner, sidVolume, sidPaused, sidConfirm, sidSuddenDeath, sidRemaining, sidFuel, sidSync, sidNoEndTurn, sidNotYetAvailable, sidRoundSD, sidRoundsSD, sidReady, sidBounce1, sidBounce2, sidBounce3, sidBounce4, sidBounce5, sidBounce, sidMute, sidAFK, sidAutoCameraOff, sidAutoCameraOn, sidPressTarget, - sidNotAvailableInSD, sidHealthGain, sidEmptyCrate); + sidNotAvailableInSD, sidHealthGain, sidEmptyCrate, sidUnknownKey, + sidWinner2, sidWinner3, sidWinner4, sidWinner5, sidWinner6, + sidWinner7, sidWinnerAll, sidTeamGone, sidTeamBack, sidAutoSkip, + sidFPS); // Events that are important for the course of the game or at least interesting for other reasons TEventId = (eidDied, eidDrowned, eidRoundStart, eidRoundWin, eidRoundDraw, diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uUtils.pas --- a/hedgewars/uUtils.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uUtils.pas Sun Jun 10 19:12:26 2018 +0200 @@ -216,16 +216,12 @@ SplitByChar(a,b,' '); end; -// should this include "strtolower()" for the split string? procedure SplitByChar(var a, b: shortstring; c : char); -var i, t: LongInt; +var i: LongInt; begin i:= Pos(c, a); if i > 0 then begin - for t:= 1 to Pred(i) do - if (a[t] >= 'A')and(a[t] <= 'Z') then - Inc(a[t], 32); b:= copy(a, i + 1, Length(a) - i); a[0]:= char(Pred(i)) {$IFDEF PAS2C} @@ -755,9 +751,14 @@ procedure freeModule; begin {$IFDEF DEBUGFILE} +if logFile <> nil then + begin pfsWriteLn(logFile, 'halt at ' + inttostr(GameTicks) + ' ticks. TurnTimeLeft = ' + inttostr(TurnTimeLeft)); pfsFlush(logFile); pfsClose(logFile); + end +else + WriteLn(stdout, 'halt at ' + inttostr(GameTicks) + ' ticks. TurnTimeLeft = ' + inttostr(TurnTimeLeft)); {$IFDEF USE_VIDEO_RECORDING} DoneCriticalSection(logMutex); {$ENDIF} diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uVariables.pas --- a/hedgewars/uVariables.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uVariables.pas Sun Jun 10 19:12:26 2018 +0200 @@ -51,6 +51,7 @@ cFlattenClouds : boolean; cIce : boolean; cSnow : boolean; + isInChatMode : boolean; cAltDamage : boolean; cReducedQuality : LongWord; @@ -123,6 +124,7 @@ cSDCloudsNumber : LongWord; cTagsMask : byte; + cPrevTagsMask : byte; zoom : GLfloat; ZoomValue : GLfloat; @@ -165,6 +167,7 @@ cScriptParam : shortstring; cSeed : shortstring; cVolumeDelta : LongInt; + cMuteToggle : boolean; // Mute toggle requested cHasFocus : boolean; cInactDelay : Longword; @@ -190,7 +193,6 @@ cLaserSighting : boolean; cLaserSightingSniper : boolean; cVampiric : boolean; - cArtillery : boolean; WeaponTooltipTex: PTexture; AmmoMenuInvalidated: boolean; AmmoRect : TSDL_Rect; @@ -252,6 +254,8 @@ LuaEndTurnRequested: boolean; LuaNoEndTurnTaunts: boolean; + MaskedSounds : array[TSound] of boolean; + LastVoice : TVoice; mobileRecord: TMobileRecord; @@ -702,7 +706,7 @@ Texture: nil; Surface: nil; Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true), - // sprNapalmBomb + // sprBulletHit (FileName: 'Snowball'; Path: ptCurrTheme; AltPath: ptGraphics; Texture: nil; Surface: nil; Width: 16; Height: 16; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprSnowball (FileName: 'amSnowball'; Path: ptCurrTheme; AltPath: ptHedgehog; Texture: nil; Surface: nil; @@ -757,6 +761,8 @@ Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: true; critical: true; checkSum: true; priority: tpLow; getDimensions: true; getImageDimensions: true), // sprCustom7 (FileName: 'custom8'; Path: ptCurrTheme;AltPath: ptGraphics; Texture: nil; Surface: nil; Width: 0; Height: 0; imageWidth: 0; imageHeight: 0; saveSurf: true; critical: true; checkSum: true; priority: tpLow; getDimensions: true; getImageDimensions: true), // sprCustom8 + (FileName: 'FrozenAirMine'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 32; Height: 32; imageWidth: 32; imageHeight: 32; saveSurf: true; critical: true; checkSum: true; priority: tpHighest; getDimensions: false; getImageDimensions: true), // sprFrozenAirMine (FileName: 'AirMine'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpHighest; getDimensions: false; getImageDimensions: true), // sprAirMine (FileName: 'amAirMine'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; @@ -772,7 +778,9 @@ (FileName: 'Duck'; Path: ptGraphics; AltPath: ptNone; Texture: nil; Surface: nil; Width: 32; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true),// sprDuck (FileName: 'amDuck'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; - Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true) // sprHandDuck + Width: 64; Height: 64; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true), // sprHandDuck + (FileName: 'amMinigun'; Path: ptHedgehog; AltPath: ptNone; Texture: nil; Surface: nil; + Width: 64; Height: 32; imageWidth: 0; imageHeight: 0; saveSurf: false; critical: true; checkSum: false; priority: tpMedium; getDimensions: false; getImageDimensions: true) // sprMinigun ); const @@ -2438,7 +2446,30 @@ PosCount: 1; PosSprite: sprWater; ejectX: 15; - ejectY: -7) + ejectY: -7), +// Minigun + (NameId: sidMinigun; + NameTex: nil; + Probability: 100; + NumberInCase: 1; + Ammo: (Propz: ammoprop_NeedUpDown; + Count: 1; + NumPerTurn: 0; + Timer: 0; + Pos: 0; + AmmoType: amMinigun; + AttackVoice: sndNone; + Bounciness: 1000); + Slot: 2; + TimeAfterTurn: 3000; + minAngle: cMaxAngle div 6; + maxAngle: 5 * cMaxAngle div 6; + isDamaging: true; + SkipTurns: 0; + PosCount: 1; + PosSprite: sprWater; + ejectX: 0; //23; + ejectY: 0) //-6; ); var @@ -2455,8 +2486,9 @@ AllInactive: boolean; PrvInactive: boolean; KilledHHs: Longword; - SuddenDeath: Boolean; - SuddenDeathDmg: Boolean; + SuddenDeath: Boolean; // If the Sudden Death check has been made + SuddenDeathActive: Boolean; // Is in Sudden Death with any gameplay effect + SuddenDeathDmg: Boolean; // Is in Sudden Death with damage SpeechType: Longword; SpeechText: shortstring; PlacingHogs: boolean; // a convenience flag to indicate placement of hogs is still in progress @@ -2467,7 +2499,8 @@ PreviousTeam: PTeam; CurrentHedgehog: PHedgehog; TeamsArray: array[0..Pred(cMaxTeams)] of PTeam; - TeamsCount: Longword; + TeamsCount: Longword; // number of teams on game start + VisibleTeamsCount: Longword; // number of teams visible in team bar ClansArray, SpawnClansArray: TClansArray; ClansCount: Longword; LocalClan: LongInt; // last non-bot, non-extdriven clan @@ -2546,6 +2579,7 @@ trluaammoc: array[TAmmoStrId] of ansistring; // caption of the weapon (Lua overwrite) trluaammod: array[TAmmoStrId] of ansistring; // description of the weapon (Lua overwrite) trluaammoa: array[TAmmoStrId] of ansistring; // description appendix of the weapon (Lua only) + trluaammoe: array[TAmmoStrId] of boolean; // whether to render extra text (Lua overwrite) trmsg: array[TMsgStrId] of ansistring; // message of the event trgoal: array[TGoalStrId] of ansistring; // message of the goal cTestLua : Boolean; @@ -2598,6 +2632,7 @@ {$ENDIF} cTagsMask:= htTeamName or htName or htHealth; + cPrevTagsMask:= cTagsMask; end; procedure initScreenSpaceVars(); @@ -2611,6 +2646,8 @@ procedure initModule; var s: shortstring; i: integer; + t: TSound; + a: TAmmoStrId; begin // init LastVoice LastVoice.snd:= sndNone; @@ -2633,6 +2670,7 @@ lastVisualGearByUID := nil; lastGearByUID := nil; cReadyDelay := 5000; + isInChatMode := false; {* REFERENCE 4096 -> $FFFFF000 @@ -2731,7 +2769,12 @@ cMaxZoomLevel:= 1.0; cMinZoomLevel:= 3.0; cZoomDelta:= 0.25; -{$ENDIF} + {$ENDIF} + + aVertex:= 0; + aTexCoord:= 1; + aColor:= 2; + cMinMaxZoomLevelDelta:= cMaxZoomLevel - cMinZoomLevel; @@ -2787,7 +2830,6 @@ cLaserSighting := false; cLaserSightingSniper := false; cVampiric := false; - cArtillery := false; flagMakeCapture := false; flagDumpLand := false; bBetweenTurns := false; @@ -2804,6 +2846,7 @@ autoCameraOn := true; cSeed := ''; cVolumeDelta := 0; + cMuteToggle := false; cHasFocus := true; cInactDelay := 100; ReadyTimeLeft := 0; @@ -2866,6 +2909,12 @@ LuaEndTurnRequested:= false; LuaNoEndTurnTaunts:= false; + for t:= Low(TSound) to High(TSound) do + MaskedSounds[t]:= false; + + for a:= Low(TAmmoStrId) to High(TAmmoStrId) do + trluaammoe[a]:= true; + UIDisplay:= uiAll; LocalMessage:= 0; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uVideoRec.pas --- a/hedgewars/uVideoRec.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uVideoRec.pas Sun Jun 10 19:12:26 2018 +0200 @@ -93,7 +93,14 @@ end; {$IOCHECKS ON} - // store some description in output file + { Store some description in output file. + The comment must follow a particular format and must be in English. + This will be parsed by the frontend. + The frontend will parse lines of this format: + Key: Value + The key names will be localized in the frontend. + If you add a key/value pair, don't forget to add a localization + in the frontend! } desc:= ''; if UserNick <> '' then desc:= desc + 'Player: ' + UserNick + #10; diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uVisualGears.pas --- a/hedgewars/uVisualGears.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uVisualGears.pas Sun Jun 10 19:12:26 2018 +0200 @@ -206,7 +206,7 @@ DrawSprite(sprSmokeTrace, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.State); vgtEvilTrace: if Gear^.State < 8 then DrawSprite(sprEvilTrace, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.State); - vgtLineTrail: DrawLine(Gear^.X, Gear^.Y, Gear^.dX, Gear^.dY, 1.0, $FF, min(Gear^.Timer, $C0), min(Gear^.Timer, $80), min(Gear^.Timer, $FF)); + vgtLineTrail: DrawLine(Gear^.X, Gear^.Y, Gear^.dX, Gear^.dY, 1.0, $FF, min(Gear^.Timer, $C0), min(Gear^.Timer, $80), min(Gear^.Timer, (Gear^.Tint and $FF))); end; if (cReducedQuality and rqAntiBoom) = 0 then case Gear^.Kind of @@ -264,16 +264,16 @@ else DrawSpriteRotatedF(sprite, round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy + SkyOffset, Gear^.Frame, 1, Gear^.Angle) end;*) - vgtSpeechBubble: begin - if (Gear^.Tex <> nil) and (((Gear^.State = 0) and (Gear^.Hedgehog <> nil) and (Gear^.Hedgehog^.Team <> CurrentTeam)) or (Gear^.State = 1)) then - begin - tinted:= true; - Tint($FF, $FF, $FF, $66); - DrawTextureCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex) - end - else if (Gear^.Tex <> nil) and (((Gear^.State = 0) and ((Gear^.Hedgehog = nil) or (Gear^.Hedgehog^.Team = CurrentTeam))) or (Gear^.State = 2)) then - DrawTextureCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex); - end; + vgtSpeechBubble: if (Gear^.Angle <> 0) then + // ^ Before this gear renders, Angle must be set to mark it ready (e.g. coordinates properly initialized) + if (Gear^.Tex <> nil) and (((Gear^.State = 0) and (Gear^.Hedgehog <> nil) and (Gear^.Hedgehog^.Team <> CurrentTeam)) or (Gear^.State = 1)) then + begin + tinted:= true; + Tint($FF, $FF, $FF, $66); + DrawTextureCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex) + end + else if (Gear^.Tex <> nil) and (((Gear^.State = 0) and ((Gear^.Hedgehog = nil) or (Gear^.Hedgehog^.Team = CurrentTeam))) or (Gear^.State = 2)) then + DrawTextureCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex); vgtSmallDamageTag: DrawTextureCentered(round(Gear^.X) + WorldDx, round(Gear^.Y) + WorldDy, Gear^.Tex); vgtHealthTag: if Gear^.Tex <> nil then begin @@ -468,7 +468,7 @@ var i: LongInt; begin for i:= 0 to cCloudsNumber - 1 do - AddVisualGear(cLeftScreenBorder + i * LongInt(cScreenSpace div (cCloudsNumber + 1)), LAND_HEIGHT-1184, vgtCloud) + AddVisualGear(cLeftScreenBorder + i * LongInt(cScreenSpace div (cCloudsNumber + 1)), LAND_HEIGHT-1184, vgtCloud, 0, true) end; procedure ChangeToSDClouds; @@ -489,7 +489,7 @@ end else vg:= vg^.NextGear; for j:= 0 to cSDCloudsNumber - 1 do - AddVisualGear(cLeftScreenBorder + j * LongInt(cScreenSpace div (cSDCloudsNumber + 1)), LAND_HEIGHT-1184, vgtCloud) + AddVisualGear(cLeftScreenBorder + j * LongInt(cScreenSpace div (cSDCloudsNumber + 1)), LAND_HEIGHT-1184, vgtCloud, 0, true) end; end; @@ -513,7 +513,9 @@ begin if (cReducedQuality and rqKillFlakes) <> 0 then exit; -if vobCount = vobSDCount then +if (vobCount = vobSDCount) and (vobFrameTicks = vobSDFrameTicks) and + (vobFramesCount = vobSDFramesCount) and (vobVelocity = vobSDVelocity) and + (vobFallSpeed = vobSDFallSpeed) then exit; for i:= 0 to 6 do begin diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uVisualGearsHandlers.pas --- a/hedgewars/uVisualGearsHandlers.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uVisualGearsHandlers.pas Sun Jun 10 19:12:26 2018 +0200 @@ -561,7 +561,7 @@ procedure doStepTeamHealthSorter(Gear: PVisualGear; Steps: Longword); var i: Longword; - b: boolean; + b, noHogs: boolean; t, h: LongInt; begin {$IFNDEF PAS2C} @@ -606,12 +606,20 @@ t:= - 4; for i:= 0 to Pred(TeamsCount) do with thexchar[i] do - if team^.TeamHealth > 0 then + begin + noHogs:= true; + for h:= 0 to cMaxHHIndex do + // Check if all hogs are hidden + if team^.Hedgehogs[h].Gear <> nil then + noHogs:= false; + // Skip team bar if all hogs are dead or hidden + if (team^.TeamHealth > 0) and (noHogs = false) then begin dec(t, team^.Clan^.HealthTex^.h + 2); ny:= t; dy:= dy - ny end; + end; Gear^.Timer:= cSorterWorkTime; Gear^.doStep:= @doStepTeamHealthSorterWork; @@ -632,12 +640,14 @@ begin Gear^.X:= hwFloat2Float(realgear^.X) + (Gear^.Tex^.w div 2 - Gear^.Tag); Gear^.Y:= hwFloat2Float(realgear^.Y) - (realgear^.Radius + Gear^.Tex^.h); + Gear^.Angle:= 1; // Mark speech bubble as ready for rendering end end else if Gear^.Hedgehog^.Gear <> nil then begin Gear^.X:= hwFloat2Float(Gear^.Hedgehog^.Gear^.X) + (Gear^.Tex^.w div 2 - Gear^.Tag); Gear^.Y:= hwFloat2Float(Gear^.Hedgehog^.Gear^.Y) - (cHHRadius + Gear^.Tex^.h); + Gear^.Angle:= 1; // Mark speech bubble as ready for rendering end; if (Gear^.Timer = 0) or ((realgear = nil) and (Gear^.Frame <> 0)) then diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uVisualGearsList.pas --- a/hedgewars/uVisualGearsList.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uVisualGearsList.pas Sun Jun 10 19:12:26 2018 +0200 @@ -63,8 +63,9 @@ sp: real; begin AddVisualGear:= nil; -if ((GameType = gmtSave) or (fastUntilLag and (GameType = gmtNet)) or fastScrolling) and // we are scrolling now - ((Kind <> vgtCloud) and (not Critical)) then +if (GameType <> gmtRecord) and + (((GameType = gmtSave) or (fastUntilLag and (GameType = gmtNet)) or fastScrolling) and // we are scrolling now + (not Critical)) then exit; if ((cReducedQuality and rqAntiBoom) <> 0) and diff -r 6e8b807bda4b -r ba39a1d396c0 hedgewars/uWorld.pas --- a/hedgewars/uWorld.pas Sun Jun 10 18:56:51 2018 +0200 +++ b/hedgewars/uWorld.pas Sun Jun 10 19:12:26 2018 +0200 @@ -32,7 +32,7 @@ procedure DrawWorldStereo(Lag: LongInt; RM: TRenderMode); procedure ShowMission(caption, subcaption, text: ansistring; icon, time : LongInt); procedure HideMission; -procedure SetAmmoTexts(ammoType: TAmmoType; name: ansistring; caption: ansistring; description: ansistring); +procedure SetAmmoTexts(ammoType: TAmmoType; name: ansistring; caption: ansistring; description: ansistring; autoLabels: boolean); procedure ShakeCamera(amount: LongInt); procedure InitCameraBorders; procedure InitTouchInterface; @@ -1027,23 +1027,32 @@ procedure RenderTeamsHealth; -var t, i, h, smallScreenOffset, TeamHealthBarWidth : LongInt; +var t, i, h, v, smallScreenOffset, TeamHealthBarWidth : LongInt; r: TSDL_Rect; highlight: boolean; + hasVisibleHog: boolean; htex: PTexture; begin -if TeamsCount * 20 > Longword(cScreenHeight) div 7 then // take up less screen on small displays +if VisibleTeamsCount * 20 > Longword(cScreenHeight) div 7 then // take up less screen on small displays begin SetScale(1.5); smallScreenOffset:= cScreenHeight div 6; - if TeamsCount * 100 > Longword(cScreenHeight) then + if VisibleTeamsCount * 100 > Longword(cScreenHeight) then Tint($FF,$FF,$FF,$80); end else smallScreenOffset:= 0; +v:= 0; // for updating VisibleTeamsCount for t:= 0 to Pred(TeamsCount) do with TeamsArray[t]^ do - if TeamHealth > 0 then + begin + hasVisibleHog:= false; + for i:= 0 to cMaxHHIndex do + if (Hedgehogs[i].Gear <> nil) then + hasVisibleHog:= true; + if (TeamHealth > 0) and hasVisibleHog then begin + // count visible teams + inc(v); highlight:= bShowFinger and (CurrentTeam = TeamsArray[t]) and ((RealTicks mod 1000) < 500); if highlight then @@ -1087,17 +1096,18 @@ DrawTexture(15 + h * TeamHealthBarWidth div TeamHealthBarHealth, cScreenHeight + DrawHealthY + smallScreenOffset + 1, SpritesData[sprSlider].Texture); end; - // draw ai kill counter for gfAISurvival - if (GameFlags and gfAISurvival) <> 0 then - begin + // draw Lua value, if set + if (hasLuaTeamValue) then + DrawTexture(TeamHealthBarWidth + 22, cScreenHeight + DrawHealthY + smallScreenOffset, LuaTeamValueTex) + // otherwise, draw AI kill counter for gfAISurvival + else if (GameFlags and gfAISurvival) <> 0 then DrawTexture(TeamHealthBarWidth + 22, cScreenHeight + DrawHealthY + smallScreenOffset, AIKillsTex); - end; // if highlighted, draw flag and other contents again to keep their colors // this approach should be faster than drawing all borders one by one tinted or not if highlight then begin - if TeamsCount * 100 > Longword(cScreenHeight) then + if VisibleTeamsCount * 100 > Longword(cScreenHeight) then Tint($FF,$FF,$FF,$80) else untint; @@ -1115,7 +1125,13 @@ DrawTextureFromRect(-OwnerTex^.w - NameTagTex^.w - 16, cScreenHeight + DrawHealthY + smallScreenOffset + 2, @r, OwnerTex) end; - if (GameFlags and gfAISurvival) <> 0 then + if (hasLuaTeamValue) then + begin + r.w:= LuaTeamValueTex^.w - 4; + r.h:= LuaTeamValueTex^.h - 4; + DrawTextureFromRect(TeamHealthBarWidth + 24, cScreenHeight + DrawHealthY + smallScreenOffset + 2, @r, LuaTeamValueTex); + end + else if (GameFlags and gfAISurvival) <> 0 then begin r.w:= AIKillsTex^.w - 4; r.h:= AIKillsTex^.h - 4; @@ -1136,12 +1152,14 @@ DrawSpriteRotatedF(sprFinger, h, cScreenHeight + DrawHealthY + smallScreenOffset + 2 + SpritesData[sprFinger].Width div 4, 0, 1, -90); end; end; + end; if smallScreenOffset <> 0 then begin SetScale(cDefaultZoomLevel); - if TeamsCount * 20 > Longword(cScreenHeight) div 5 then + if VisibleTeamsCount * 20 > Longword(cScreenHeight) div 5 then untint; end; +VisibleTeamsCount:= v; end; @@ -1634,7 +1652,7 @@ FPS:= Frames; Frames:= 0; CountTicks:= 0; - s:= inttostr(FPS) + ' fps'; + s:= Format(trmsg[sidFPS], inttostr(FPS)); tmpSurface:= TTF_RenderUTF8_Blended(Fontz[fnt16].Handle, Str2PChar(s), cWhiteColorChannels); tmpSurface:= doSurfaceConversion(tmpSurface); FreeAndNilTexture(fpsTexture); @@ -1954,7 +1972,7 @@ missionTimer:= 0; end; -procedure SetAmmoTexts(ammoType: TAmmoType; name: ansistring; caption: ansistring; description: ansistring); +procedure SetAmmoTexts(ammoType: TAmmoType; name: ansistring; caption: ansistring; description: ansistring; autoLabels: boolean); var ammoStrId: TAmmoStrId; ammoStr: ansistring; @@ -1979,6 +1997,7 @@ trluaammoc[ammoStrId] := caption; trluaammod[ammoStrId] := description; + trluaammoe[ammoStrId] := autoLabels; end; procedure ShakeCamera(amount: LongInt); diff -r 6e8b807bda4b -r ba39a1d396c0 man/hedgewars.6 --- a/man/hedgewars.6 Sun Jun 10 18:56:51 2018 +0200 +++ b/man/hedgewars.6 Sun Jun 10 19:12:26 2018 +0200 @@ -42,7 +42,7 @@ . .SH "COPYRIGHT" . -Copyright \(co 2004\-2015 Andrey Korotaev, Igor Ulyanov +Copyright \(co 2004\-2018 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. diff -r 6e8b807bda4b -r ba39a1d396c0 misc/hats_js_anim.xhtml --- a/misc/hats_js_anim.xhtml Sun Jun 10 18:56:51 2018 +0200 +++ b/misc/hats_js_anim.xhtml Sun Jun 10 19:12:26 2018 +0200 @@ -9,11 +9,13 @@ body { background: url('//hg.hedgewars.org/hedgewars/raw-file/tip/share/hedgewars/Data/Themes/Nature/Sky.png') fixed no-repeat bottom left; + background-color: #0B203D; + color: #FFD902; -moz-background-size: 200%; background-size: 100% 100%; font-family: sans-serif; } -h1 { text-shadow: 0 0 2px white; } +h1 { text-shadow: 0 0 2px white; color: black;} a { margin-top: 12px; @@ -93,7 +95,7 @@ var r = />([^<]*).png

List of Hedgewars hats

+ diff -r 6e8b807bda4b -r ba39a1d396c0 misc/libphysfs/archiver_zip.c --- a/misc/libphysfs/archiver_zip.c Sun Jun 10 18:56:51 2018 +0200 +++ b/misc/libphysfs/archiver_zip.c Sun Jun 10 19:12:26 2018 +0200 @@ -468,6 +468,7 @@ finfo->io = zip_get_io(origfinfo->io, NULL, finfo->entry); GOTO_IF_MACRO(!finfo->io, ERRPASS, failed); + initializeZStream(&finfo->stream); if (finfo->entry->compression_method != COMPMETH_NONE) { finfo->buffer = (PHYSFS_uint8 *) allocator.Malloc(ZIP_READBUFSIZE); diff -r 6e8b807bda4b -r ba39a1d396c0 misc/libphyslayer/hwpacksmounter.c --- a/misc/libphyslayer/hwpacksmounter.c Sun Jun 10 18:56:51 2018 +0200 +++ b/misc/libphyslayer/hwpacksmounter.c Sun Jun 10 19:12:26 2018 +0200 @@ -37,20 +37,39 @@ PHYSFS_DECL void hedgewarsMountPackage(char * fileName) { int fileNameLength = strlen(fileName); + int dirLength = 0; if (fileNameLength > 4) if (strcmp(fileName + fileNameLength - 4, ".hwp") == 0) { const char * dir = PHYSFS_getRealDir(fileName); if(dir) { - char * fullPath = (char *)malloc(strlen(dir) + fileNameLength + 2); - strcpy(fullPath, dir); - strcat(fullPath, "/"); - strcat(fullPath, fileName); + dirLength = strlen(dir); + if (dirLength > 4) + { + if (strcmp(dir + dirLength - 4, ".hwp") == 0) + { +#if PHYSFS_VER_MAJOR > 2 || PHYSFS_VER_MINOR > 0 + char * uniqName = (char *)malloc(strlen(dir) + fileNameLength + 2); + strcpy(uniqName, dir); + strcat(uniqName, ","); + strcat(uniqName, fileName); + PHYSFS_mountHandle(PHYSFS_openRead(fileName), uniqName, NULL, 0); + free(uniqName); +#endif + } + else + { + char * fullPath = (char *)malloc(strlen(dir) + fileNameLength + 2); + strcpy(fullPath, dir); + strcat(fullPath, "/"); + strcat(fullPath, fileName); - PHYSFS_mount(fullPath, NULL, 0); + PHYSFS_mount(fullPath, NULL, 0); - free(fullPath); + free(fullPath); + } + } } } } diff -r 6e8b807bda4b -r ba39a1d396c0 project_files/hedgewars.pro --- a/project_files/hedgewars.pro Sun Jun 10 18:56:51 2018 +0200 +++ b/project_files/hedgewars.pro Sun Jun 10 19:12:26 2018 +0200 @@ -16,12 +16,13 @@ DESTDIR = ../bin +QT += widgets QT += network QT += webkit HEADERS += ../QTfrontend/model/ThemeModel.h \ ../QTfrontend/model/MapModel.h \ - ../QTfrontend/model/ammoSchemeModel.h \ + ../QTfrontend/model/gameSchemeModel.h \ ../QTfrontend/model/netserverslist.h \ ../QTfrontend/ui/page/pagedrawmap.h \ ../QTfrontend/ui/page/pagedata.h \ @@ -121,7 +122,7 @@ ../QTfrontend/net/hwmapoptimizer.h -SOURCES += ../QTfrontend/model/ammoSchemeModel.cpp \ +SOURCES += ../QTfrontend/model/gameSchemeModel.cpp \ ../QTfrontend/model/MapModel.cpp \ ../QTfrontend/model/ThemeModel.cpp \ ../QTfrontend/model/netserverslist.cpp \ diff -r 6e8b807bda4b -r ba39a1d396c0 qmlfrontend/CMakeLists.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlfrontend/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 2.8.12) + +project(qmlfrontend LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + +find_package(Qt5 COMPONENTS Core Quick REQUIRED) + +add_executable(${PROJECT_NAME} "main.cpp" "qml.qrc") + +target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Quick) diff -r 6e8b807bda4b -r ba39a1d396c0 qmlfrontend/Page1.qml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlfrontend/Page1.qml Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,7 @@ +import QtQuick 2.7 + +Page1Form { + button1.onClicked: { + console.log("Button Pressed. Entered text: " + textField1.text); + } +} diff -r 6e8b807bda4b -r ba39a1d396c0 qmlfrontend/Page1Form.ui.qml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlfrontend/Page1Form.ui.qml Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,24 @@ +import QtQuick 2.7 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.3 + +Item { + property alias textField1: textField1 + property alias button1: button1 + + RowLayout { + anchors.horizontalCenter: parent.horizontalCenter + anchors.topMargin: 20 + anchors.top: parent.top + + TextField { + id: textField1 + placeholderText: qsTr("Text Field") + } + + Button { + id: button1 + text: qsTr("Press Me") + } + } +} diff -r 6e8b807bda4b -r ba39a1d396c0 qmlfrontend/main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlfrontend/main.cpp Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,15 @@ +#include +#include + +int main(int argc, char *argv[]) +{ + QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + QGuiApplication app(argc, argv); + + QQmlApplicationEngine engine; + engine.load(QUrl(QLatin1String("qrc:/main.qml"))); + if (engine.rootObjects().isEmpty()) + return -1; + + return app.exec(); +} diff -r 6e8b807bda4b -r ba39a1d396c0 qmlfrontend/main.qml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlfrontend/main.qml Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,37 @@ +import QtQuick 2.7 +import QtQuick.Controls 2.0 +import QtQuick.Layouts 1.3 + +ApplicationWindow { + visible: true + width: 640 + height: 480 + title: qsTr("Hello World") + + SwipeView { + id: swipeView + anchors.fill: parent + currentIndex: tabBar.currentIndex + + Page1 { + } + + Page { + Label { + text: qsTr("Second page") + anchors.centerIn: parent + } + } + } + + footer: TabBar { + id: tabBar + currentIndex: swipeView.currentIndex + TabButton { + text: qsTr("First") + } + TabButton { + text: qsTr("Second") + } + } +} diff -r 6e8b807bda4b -r ba39a1d396c0 qmlfrontend/qml.qrc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlfrontend/qml.qrc Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,9 @@ + + + + main.qml + Page1.qml + Page1Form.ui.qml + qtquickcontrols2.conf + + diff -r 6e8b807bda4b -r ba39a1d396c0 qmlfrontend/qtquickcontrols2.conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qmlfrontend/qtquickcontrols2.conf Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,15 @@ +; This file can be edited to change the style of the application +; See Styling Qt Quick Controls 2 in the documentation for details: +; http://doc.qt.io/qt-5/qtquickcontrols2-styles.html + +[Controls] +Style=Default + +[Universal] +Theme=Light +;Accent=Steel + +[Material] +Theme=Light +;Accent=BlueGrey +;Primary=BlueGray diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars.appdata.xml --- a/share/hedgewars.appdata.xml Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars.appdata.xml Sun Jun 10 19:12:26 2018 +0200 @@ -76,12 +76,12 @@ 2nd mission in the campaign “A Classic Fairytale” - 2. Mission in der Kampagne „A Classic Fairytale” + 2. Mission in der Kampagne „Ein klassisches Märchen” http://hedgewars.org/images/screenshots/0_9_19-AFT02.png 9th mission in the campaign “A Classic Fairytale” - 9. Mission in der Kampagne „A Classic Fairytale” + 9. Mission in der Kampagne „Ein klassisches Märchen” http://hedgewars.org/images/screenshots/0_9_19-AFT09.png diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/AirMine.png Binary file share/hedgewars/Data/Graphics/AirMine.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/AmmoMenu/Ammos_base.png Binary file share/hedgewars/Data/Graphics/AmmoMenu/Ammos_base.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/AmmoMenu/Ammos_bw_base.png Binary file share/hedgewars/Data/Graphics/AmmoMenu/Ammos_bw_base.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/BigDigitsGray.png Binary file share/hedgewars/Data/Graphics/BigDigitsGray.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Flags/armenia.png Binary file share/hedgewars/Data/Graphics/Flags/armenia.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Flags/cm_soviet.png Binary file share/hedgewars/Data/Graphics/Flags/cm_soviet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Flags/ireland.png Binary file share/hedgewars/Data/Graphics/Flags/ireland.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Flags/nepal.png Binary file share/hedgewars/Data/Graphics/Flags/nepal.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Flags/suisse.png Binary file share/hedgewars/Data/Graphics/Flags/suisse.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Flags/sweden.png Binary file share/hedgewars/Data/Graphics/Flags/sweden.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Flags/turkey.png Binary file share/hedgewars/Data/Graphics/Flags/turkey.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Flags/uk_scotland.png Binary file share/hedgewars/Data/Graphics/Flags/uk_scotland.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/FrozenAirMine.png Binary file share/hedgewars/Data/Graphics/FrozenAirMine.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Graves/Simple_reversed.png Binary file share/hedgewars/Data/Graphics/Graves/Simple_reversed.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Bandit.png Binary file share/hedgewars/Data/Graphics/Hats/Bandit.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Coonskin3.png Binary file share/hedgewars/Data/Graphics/Hats/Coonskin3.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Cowboy.png Binary file share/hedgewars/Data/Graphics/Hats/Cowboy.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Disguise.png Binary file share/hedgewars/Data/Graphics/Hats/Disguise.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Einstein.png Binary file share/hedgewars/Data/Graphics/Hats/Einstein.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Evil.png Binary file share/hedgewars/Data/Graphics/Hats/Evil.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Gasmask.png Binary file share/hedgewars/Data/Graphics/Hats/Gasmask.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Glasses.png Binary file share/hedgewars/Data/Graphics/Hats/Glasses.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/HogInTheHat.png Binary file share/hedgewars/Data/Graphics/Hats/HogInTheHat.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/IndianChief.png Binary file share/hedgewars/Data/Graphics/Hats/IndianChief.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/InfernalHorns.png Binary file share/hedgewars/Data/Graphics/Hats/InfernalHorns.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Jason.png Binary file share/hedgewars/Data/Graphics/Hats/Jason.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Luigi.svg --- a/share/hedgewars/Data/Graphics/Hats/Luigi.svg Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13198 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Mario.svg --- a/share/hedgewars/Data/Graphics/Hats/Mario.svg Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13219 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/MegaHogX.png Binary file share/hedgewars/Data/Graphics/Hats/MegaHogX.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Meteorhelmet.png Binary file share/hedgewars/Data/Graphics/Hats/Meteorhelmet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Moustache.png Binary file share/hedgewars/Data/Graphics/Hats/Moustache.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Moustache_glasses.png Binary file share/hedgewars/Data/Graphics/Hats/Moustache_glasses.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Mummy.png Binary file share/hedgewars/Data/Graphics/Hats/Mummy.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/NinjaFull.png Binary file share/hedgewars/Data/Graphics/Hats/NinjaFull.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/NinjaStraight.png Binary file share/hedgewars/Data/Graphics/Hats/NinjaStraight.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/NinjaTriangle.png Binary file share/hedgewars/Data/Graphics/Hats/NinjaTriangle.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/NoHat.png Binary file share/hedgewars/Data/Graphics/Hats/NoHat.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/OldMan.png Binary file share/hedgewars/Data/Graphics/Hats/OldMan.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Pantsu.png Binary file share/hedgewars/Data/Graphics/Hats/Pantsu.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Plunger.png Binary file share/hedgewars/Data/Graphics/Hats/Plunger.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/PrincessPeach.svg --- a/share/hedgewars/Data/Graphics/Hats/PrincessPeach.svg Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14033 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/RSR.png Binary file share/hedgewars/Data/Graphics/Hats/RSR.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Rambo.png Binary file share/hedgewars/Data/Graphics/Hats/Rambo.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Rambo.svg --- a/share/hedgewars/Data/Graphics/Hats/Rambo.svg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Graphics/Hats/Rambo.svg Sun Jun 10 19:12:26 2018 +0200 @@ -1,12732 +1,16 @@ - - - - - - image/svg+xml - - - - - + height="32" + version="1.0"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -12736,566 +20,177 @@ transform="translate(-0.0044775,0.99790095)" mask="none"> + d="M 0.0044785,-0.99790095 H 32.009293 L 31.997573,1022.9989 H 0.0044775 V -0.99400095 Z" + style="display:inline;overflow:visible;visibility:visible;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + id="path7619" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> + style="display:inline;overflow:visible;visibility:visible;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;enable-background:accumulate" /> - - + transform="translate(0,-1.9e-4)" + id="g2491" + mask="url(#mask7613)"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + id="g3402" + transform="rotate(4.2765534,17.988758,22.658259)" + style="display:inline"> + + + + + + + + + + + + + + - + + + + + image/svg+xml + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Reserved/Zombie.png Binary file share/hedgewars/Data/Graphics/Hats/Reserved/Zombie.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Reserved/chef.png Binary file share/hedgewars/Data/Graphics/Hats/Reserved/chef.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Reserved/e587f6146ebfbdefdc028c591643f220test.png Binary file share/hedgewars/Data/Graphics/Hats/Reserved/e587f6146ebfbdefdc028c591643f220test.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/RobinHood.png Binary file share/hedgewars/Data/Graphics/Hats/RobinHood.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Samurai.png Binary file share/hedgewars/Data/Graphics/Hats/Samurai.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Santa.png Binary file share/hedgewars/Data/Graphics/Hats/Santa.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/ShortHair_Black.png Binary file share/hedgewars/Data/Graphics/Hats/ShortHair_Black.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/ShortHair_Brown.png Binary file share/hedgewars/Data/Graphics/Hats/ShortHair_Brown.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/ShortHair_Grey.png Binary file share/hedgewars/Data/Graphics/Hats/ShortHair_Grey.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/ShortHair_Red.png Binary file share/hedgewars/Data/Graphics/Hats/ShortHair_Red.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/ShortHair_Yellow.png Binary file share/hedgewars/Data/Graphics/Hats/ShortHair_Yellow.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Skull.png Binary file share/hedgewars/Data/Graphics/Hats/Skull.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Sniper.png Binary file share/hedgewars/Data/Graphics/Hats/Sniper.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/StrawHat.png Binary file share/hedgewars/Data/Graphics/Hats/StrawHat.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/StrawHatEyes.png Binary file share/hedgewars/Data/Graphics/Hats/StrawHatEyes.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/StrawHatFacial.png Binary file share/hedgewars/Data/Graphics/Hats/StrawHatFacial.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Sunglasses.png Binary file share/hedgewars/Data/Graphics/Hats/Sunglasses.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/TeamSoldier.png Binary file share/hedgewars/Data/Graphics/Hats/TeamSoldier.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/TeamTophat.png Binary file share/hedgewars/Data/Graphics/Hats/TeamTophat.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Toad.svg --- a/share/hedgewars/Data/Graphics/Hats/Toad.svg Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13098 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Viking.png Binary file share/hedgewars/Data/Graphics/Hats/Viking.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/Wario.svg --- a/share/hedgewars/Data/Graphics/Hats/Wario.svg Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13175 +0,0 @@ - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/WizardHat.png Binary file share/hedgewars/Data/Graphics/Hats/WizardHat.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/android.png Binary file share/hedgewars/Data/Graphics/Hats/android.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/anzac.png Binary file share/hedgewars/Data/Graphics/Hats/anzac.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/beefeater.png Binary file share/hedgewars/Data/Graphics/Hats/beefeater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/bobby.png Binary file share/hedgewars/Data/Graphics/Hats/bobby.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/bobby2v.png Binary file share/hedgewars/Data/Graphics/Hats/bobby2v.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/cap_blue.png Binary file share/hedgewars/Data/Graphics/Hats/cap_blue.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/cap_green.png Binary file share/hedgewars/Data/Graphics/Hats/cap_green.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/cap_junior.png Binary file share/hedgewars/Data/Graphics/Hats/cap_junior.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/cap_red.png Binary file share/hedgewars/Data/Graphics/Hats/cap_red.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/cap_team.png Binary file share/hedgewars/Data/Graphics/Hats/cap_team.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/cap_yellow.png Binary file share/hedgewars/Data/Graphics/Hats/cap_yellow.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/chef.png Binary file share/hedgewars/Data/Graphics/Hats/chef.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/chuckl.png Binary file share/hedgewars/Data/Graphics/Hats/chuckl.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/constructor.png Binary file share/hedgewars/Data/Graphics/Hats/constructor.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/crown.png Binary file share/hedgewars/Data/Graphics/Hats/crown.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/dish_SauceBoatSilver.png Binary file share/hedgewars/Data/Graphics/Hats/dish_SauceBoatSilver.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/dwarf.png Binary file share/hedgewars/Data/Graphics/Hats/dwarf.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/eastertop.png Binary file share/hedgewars/Data/Graphics/Hats/eastertop.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/flag_french.png Binary file share/hedgewars/Data/Graphics/Hats/flag_french.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/flag_germany.png Binary file share/hedgewars/Data/Graphics/Hats/flag_germany.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/flag_italy.png Binary file share/hedgewars/Data/Graphics/Hats/flag_italy.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/flag_usa.png Binary file share/hedgewars/Data/Graphics/Hats/flag_usa.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/footballhelmet.png Binary file share/hedgewars/Data/Graphics/Hats/footballhelmet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/fr_apple.png Binary file share/hedgewars/Data/Graphics/Hats/fr_apple.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/fr_banana.png Binary file share/hedgewars/Data/Graphics/Hats/fr_banana.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/fr_lemon.png Binary file share/hedgewars/Data/Graphics/Hats/fr_lemon.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/fr_orange.png Binary file share/hedgewars/Data/Graphics/Hats/fr_orange.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/fr_pumpkin.png Binary file share/hedgewars/Data/Graphics/Hats/fr_pumpkin.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/hair_blue.png Binary file share/hedgewars/Data/Graphics/Hats/hair_blue.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/hair_green.png Binary file share/hedgewars/Data/Graphics/Hats/hair_green.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/hair_grey.png Binary file share/hedgewars/Data/Graphics/Hats/hair_grey.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/hair_orange.png Binary file share/hedgewars/Data/Graphics/Hats/hair_orange.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/hair_pink.png Binary file share/hedgewars/Data/Graphics/Hats/hair_pink.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/hair_purple.png Binary file share/hedgewars/Data/Graphics/Hats/hair_purple.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/hair_red.png Binary file share/hedgewars/Data/Graphics/Hats/hair_red.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/hair_team.png Binary file share/hedgewars/Data/Graphics/Hats/hair_team.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/hair_yellow.png Binary file share/hedgewars/Data/Graphics/Hats/hair_yellow.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/hogpharoah.png Binary file share/hedgewars/Data/Graphics/Hats/hogpharoah.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/judo.png Binary file share/hedgewars/Data/Graphics/Hats/judo.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/knight.png Binary file share/hedgewars/Data/Graphics/Hats/knight.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/lambda.png Binary file share/hedgewars/Data/Graphics/Hats/lambda.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/laurel.png Binary file share/hedgewars/Data/Graphics/Hats/laurel.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/metalband.png Binary file share/hedgewars/Data/Graphics/Hats/metalband.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/mexicansunbrero.png Binary file share/hedgewars/Data/Graphics/Hats/mexicansunbrero.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/mickey_ears.png Binary file share/hedgewars/Data/Graphics/Hats/mickey_ears.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/mp3.png Binary file share/hedgewars/Data/Graphics/Hats/mp3.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/mv_Spidey.png Binary file share/hedgewars/Data/Graphics/Hats/mv_Spidey.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/mv_Venom.png Binary file share/hedgewars/Data/Graphics/Hats/mv_Venom.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/naruto.png Binary file share/hedgewars/Data/Graphics/Hats/naruto.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/noface.png Binary file share/hedgewars/Data/Graphics/Hats/noface.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/ntd_Kirby.png Binary file share/hedgewars/Data/Graphics/Hats/ntd_Kirby.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/ntd_Link.png Binary file share/hedgewars/Data/Graphics/Hats/ntd_Link.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/ntd_Samus.png Binary file share/hedgewars/Data/Graphics/Hats/ntd_Samus.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/pikachu.svg --- a/share/hedgewars/Data/Graphics/Hats/pikachu.svg Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,14152 +0,0 @@ - - - - - Pikachu hat - - - - image/svg+xml - - Pikachu hat - - - - Hedgewars - - - - - Finn Brice -Carlos Vives - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/pinksunhat.png Binary file share/hedgewars/Data/Graphics/Hats/pinksunhat.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/pirate_jack.png Binary file share/hedgewars/Data/Graphics/Hats/pirate_jack.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/pirate_jack_bandana.png Binary file share/hedgewars/Data/Graphics/Hats/pirate_jack_bandana.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/poke_ash.png Binary file share/hedgewars/Data/Graphics/Hats/poke_ash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/poke_pikachu.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Graphics/Hats/poke_pikachu.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,14152 @@ + + + + + Pikachu hat + + + + image/svg+xml + + Pikachu hat + + + + Hedgewars + + + + + Finn Brice +Carlos Vives + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/policecap.png Binary file share/hedgewars/Data/Graphics/Hats/policecap.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/punkman.png Binary file share/hedgewars/Data/Graphics/Hats/punkman.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/quotecap.png Binary file share/hedgewars/Data/Graphics/Hats/quotecap.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/rasta.png Binary file share/hedgewars/Data/Graphics/Hats/rasta.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/royalguard.png Binary file share/hedgewars/Data/Graphics/Hats/royalguard.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/scif_2001O.png Binary file share/hedgewars/Data/Graphics/Hats/scif_2001O.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/scif_2001Y.png Binary file share/hedgewars/Data/Graphics/Hats/scif_2001Y.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/scif_Geordi.png Binary file share/hedgewars/Data/Graphics/Hats/scif_Geordi.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/scif_SparkssHelmet.png Binary file share/hedgewars/Data/Graphics/Hats/scif_SparkssHelmet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/scif_cosmonaut.png Binary file share/hedgewars/Data/Graphics/Hats/scif_cosmonaut.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/scif_cyberpunk.png Binary file share/hedgewars/Data/Graphics/Hats/scif_cyberpunk.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sf_ken.png Binary file share/hedgewars/Data/Graphics/Hats/sf_ken.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sf_ryu.png Binary file share/hedgewars/Data/Graphics/Hats/sf_ryu.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sm_luigi.png Binary file share/hedgewars/Data/Graphics/Hats/sm_luigi.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sm_luigi.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Graphics/Hats/sm_luigi.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,272 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sm_mario.png Binary file share/hedgewars/Data/Graphics/Hats/sm_mario.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sm_mario.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Graphics/Hats/sm_mario.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,280 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sm_peach.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Graphics/Hats/sm_peach.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,14033 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sm_toad.png Binary file share/hedgewars/Data/Graphics/Hats/sm_toad.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sm_toad.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Graphics/Hats/sm_toad.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,253 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sm_wario.png Binary file share/hedgewars/Data/Graphics/Hats/sm_wario.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sm_wario.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Graphics/Hats/sm_wario.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,288 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/snowhog.png Binary file share/hedgewars/Data/Graphics/Hats/snowhog.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/spartan.png Binary file share/hedgewars/Data/Graphics/Hats/spartan.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/spcartman.png Binary file share/hedgewars/Data/Graphics/Hats/spcartman.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/spkenny.png Binary file share/hedgewars/Data/Graphics/Hats/spkenny.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/spkyle.png Binary file share/hedgewars/Data/Graphics/Hats/spkyle.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/spstan.png Binary file share/hedgewars/Data/Graphics/Hats/spstan.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/sth_SonicClassic.png Binary file share/hedgewars/Data/Graphics/Hats/sth_SonicClassic.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/swordsmensquire.png Binary file share/hedgewars/Data/Graphics/Hats/swordsmensquire.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/tf_demoman.png Binary file share/hedgewars/Data/Graphics/Hats/tf_demoman.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/tf_scout.png Binary file share/hedgewars/Data/Graphics/Hats/tf_scout.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/tophats.png Binary file share/hedgewars/Data/Graphics/Hats/tophats.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/touhou_chen.png Binary file share/hedgewars/Data/Graphics/Hats/touhou_chen.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/touhou_marisa.png Binary file share/hedgewars/Data/Graphics/Hats/touhou_marisa.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/touhou_patchouli.png Binary file share/hedgewars/Data/Graphics/Hats/touhou_patchouli.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/touhou_remelia.png Binary file share/hedgewars/Data/Graphics/Hats/touhou_remelia.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/touhou_suwako.png Binary file share/hedgewars/Data/Graphics/Hats/touhou_suwako.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/touhou_yukari.png Binary file share/hedgewars/Data/Graphics/Hats/touhou_yukari.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/ushanka.png Binary file share/hedgewars/Data/Graphics/Hats/ushanka.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/vc_gakupo.png Binary file share/hedgewars/Data/Graphics/Hats/vc_gakupo.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/vc_gumi.png Binary file share/hedgewars/Data/Graphics/Hats/vc_gumi.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/vc_kaito.png Binary file share/hedgewars/Data/Graphics/Hats/vc_kaito.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/vc_len.png Binary file share/hedgewars/Data/Graphics/Hats/vc_len.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/vc_luka.png Binary file share/hedgewars/Data/Graphics/Hats/vc_luka.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/vc_meiko.png Binary file share/hedgewars/Data/Graphics/Hats/vc_meiko.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/vc_miku.png Binary file share/hedgewars/Data/Graphics/Hats/vc_miku.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/vc_rin.png Binary file share/hedgewars/Data/Graphics/Hats/vc_rin.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_UNPeacekeeper01.png Binary file share/hedgewars/Data/Graphics/Hats/war_UNPeacekeeper01.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_UNPeacekeeper02.png Binary file share/hedgewars/Data/Graphics/Hats/war_UNPeacekeeper02.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_airwarden02.png Binary file share/hedgewars/Data/Graphics/Hats/war_airwarden02.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_airwarden03.png Binary file share/hedgewars/Data/Graphics/Hats/war_airwarden03.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_americanww2helmet.png Binary file share/hedgewars/Data/Graphics/Hats/war_americanww2helmet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_britmedic.png Binary file share/hedgewars/Data/Graphics/Hats/war_britmedic.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_britpthhelmet.png Binary file share/hedgewars/Data/Graphics/Hats/war_britpthhelmet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_britsapper.png Binary file share/hedgewars/Data/Graphics/Hats/war_britsapper.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_desertgrenadier1.png Binary file share/hedgewars/Data/Graphics/Hats/war_desertgrenadier1.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_desertgrenadier2.png Binary file share/hedgewars/Data/Graphics/Hats/war_desertgrenadier2.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_desertgrenadier4.png Binary file share/hedgewars/Data/Graphics/Hats/war_desertgrenadier4.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_desertgrenadier5.png Binary file share/hedgewars/Data/Graphics/Hats/war_desertgrenadier5.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_desertmedic.png Binary file share/hedgewars/Data/Graphics/Hats/war_desertmedic.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_desertofficer.png Binary file share/hedgewars/Data/Graphics/Hats/war_desertofficer.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_desertsapper1.png Binary file share/hedgewars/Data/Graphics/Hats/war_desertsapper1.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_desertsapper2.png Binary file share/hedgewars/Data/Graphics/Hats/war_desertsapper2.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_frenchww1gasmask.png Binary file share/hedgewars/Data/Graphics/Hats/war_frenchww1gasmask.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_frenchww1helmet.png Binary file share/hedgewars/Data/Graphics/Hats/war_frenchww1helmet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_germanww1helmet2.png Binary file share/hedgewars/Data/Graphics/Hats/war_germanww1helmet2.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_germanww1tankhelm.png Binary file share/hedgewars/Data/Graphics/Hats/war_germanww1tankhelm.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_germanww2medic.png Binary file share/hedgewars/Data/Graphics/Hats/war_germanww2medic.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_germanww2pith.png Binary file share/hedgewars/Data/Graphics/Hats/war_germanww2pith.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_grenadier1.png Binary file share/hedgewars/Data/Graphics/Hats/war_grenadier1.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_plainpith.png Binary file share/hedgewars/Data/Graphics/Hats/war_plainpith.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_sovietcomrade1.png Binary file share/hedgewars/Data/Graphics/Hats/war_sovietcomrade1.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_sovietcomrade2.png Binary file share/hedgewars/Data/Graphics/Hats/war_sovietcomrade2.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_trenchfrench01.png Binary file share/hedgewars/Data/Graphics/Hats/war_trenchfrench01.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_trenchfrench02.png Binary file share/hedgewars/Data/Graphics/Hats/war_trenchfrench02.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_trenchgrenadier1.png Binary file share/hedgewars/Data/Graphics/Hats/war_trenchgrenadier1.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_trenchgrenadier2.png Binary file share/hedgewars/Data/Graphics/Hats/war_trenchgrenadier2.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/war_trenchgrenadier3.png Binary file share/hedgewars/Data/Graphics/Hats/war_trenchgrenadier3.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/zoo_Beaver.png Binary file share/hedgewars/Data/Graphics/Hats/zoo_Beaver.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/zoo_Bunny.png Binary file share/hedgewars/Data/Graphics/Hats/zoo_Bunny.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/zoo_Deer.png Binary file share/hedgewars/Data/Graphics/Hats/zoo_Deer.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/zoo_Moose.png Binary file share/hedgewars/Data/Graphics/Hats/zoo_Moose.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hats/zoo_Porkey.png Binary file share/hedgewars/Data/Graphics/Hats/zoo_Porkey.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hedgehog/Vampiric.png Binary file share/hedgewars/Data/Graphics/Hedgehog/Vampiric.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hedgehog/Vampiric.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Graphics/Hedgehog/Vampiric.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,76 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hedgehog/amMinigun.png Binary file share/hedgewars/Data/Graphics/Hedgehog/amMinigun.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Hedgehog/amMinigun.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Graphics/Hedgehog/amMinigun.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,340 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Challenge/User_Mission_-_Rope_Knock_Challenge.png Binary file share/hedgewars/Data/Graphics/Missions/Challenge/User_Mission_-_Rope_Knock_Challenge.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Challenge/User_Mission_-_Rope_Knock_Challenge@2x.png Binary file share/hedgewars/Data/Graphics/Missions/Challenge/User_Mission_-_Rope_Knock_Challenge@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Scenario/Bazooka_Battlefield@2x.png Binary file share/hedgewars/Data/Graphics/Missions/Scenario/Bazooka_Battlefield@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Scenario/Tentacle_Terror@2x.png Binary file share/hedgewars/Data/Graphics/Missions/Scenario/Tentacle_Terror@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Bazooka.png Binary file share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Bazooka.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Bazooka@2x.png Binary file share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Bazooka@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Grenade.png Binary file share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Grenade.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Grenade@2x.png Binary file share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Grenade@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Movement.png Binary file share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Movement.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Movement@2x.png Binary file share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Movement@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Rope.png Binary file share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Rope.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Rope@2x.png Binary file share/hedgewars/Data/Graphics/Missions/Training/Basic_Training_-_Rope@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/Progress.png Binary file share/hedgewars/Data/Graphics/Progress.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Graphics/missions.png Binary file share/hedgewars/Data/Graphics/missions.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/CMakeLists.txt --- a/share/hedgewars/Data/Locale/CMakeLists.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -1,5 +1,4 @@ -find_package(Qt4 REQUIRED) -include(${QT_USE_FILE}) +find_package(Qt5 COMPONENTS LinguistTools) file(GLOB txttrans2 ??.txt) file(GLOB txttrans5 ?????.txt) @@ -9,7 +8,7 @@ file(GLOB campaignfiles campaigns_*.txt) file(GLOB tipfiles tips_*.xml) -QT4_ADD_TRANSLATION(QM ${tsfiles}) +QT5_ADD_TRANSLATION(QM ${tsfiles}) add_custom_target (release-translation ALL DEPENDS ${QM} diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/ar.txt --- a/share/hedgewars/Data/Locale/ar.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/ar.txt Sun Jun 10 19:12:26 2018 +0200 @@ -48,7 +48,7 @@ 01:02=%1 يفوز 01:03=جزء %1% 01:04=توقف -01:05=خروج (Y/Esc)? +01:05=خروج (%1/%2)? 01:06=موت مفاجئ 01:07=%1 متبقي 01:08=طاقة diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/bg.txt --- a/share/hedgewars/Data/Locale/bg.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/bg.txt Sun Jun 10 19:12:26 2018 +0200 @@ -43,7 +43,7 @@ 01:02=Отборът %1 победи! 01:03=Звук %1% 01:04=На Пауза -01:05=Наистина ли напускате (Y/Esc)? +01:05=Наистина ли напускате (%1/%2)? 01:06=Внезапна смърт! 01:07=%1 остава 01:08=Гориво diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/campaigns_de.txt --- a/share/hedgewars/Data/Locale/campaigns_de.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/campaigns_de.txt Sun Jun 10 19:12:26 2018 +0200 @@ -16,13 +16,13 @@ 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.name="6. Mission: Die Höhle des Löwen" -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-dragon.desc="Unser Held 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.name="7. Mission: Familientreffen" -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-family.desc="Unser Held muss erneut die Eingeborenen 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.name="8. Mission: Lang lebe die Königin" -A_Classic_Fairytale-queen.desc="Undichte Stelle muss noch einmal kämpfen. Um zu gewinnen, muss er den Verräter bekämpfen und alle verfügbaren Ressourcen benutzen. Besieg den Feind!" +A_Classic_Fairytale-queen.desc="Die Eingeborenen müssen noch einmal kämpfen. Um zu gewinnen, müssen sie den Verräter bekämpfen und alle verfügbaren Ressourcen benutzen. Besieg den Feind!" A_Classic_Fairytale-enemy.name="9. Mission: Der Feind meines Feindes" 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!" @@ -48,7 +48,7 @@ A_Space_Adventure-ice02.desc="Igel Einsam konnte 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.name="Hauptmission: Suche im Staub" -A_Space_Adventure-desert01.desc="Du bist 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-desert01.desc="Du bist auf dem Planeten aus Sand gelandet! Igel Einsam muss das fehlende Teil in den Bergwerksstollen finden. Sei vorsichtig, weil bösartige Schmuggler nur darauf warten, dich anzugreifen und auszurauben!" A_Space_Adventure-desert02.name="Nebenmission: Lauf um dein Leben" 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." @@ -63,10 +63,10 @@ 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.name="Nebenmission: Präzisionsschießen" -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-fruit03.desc="Igel Einsam hat sich verlaufen und ist in dem 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.name="Hauptmission: Das letzte Gefecht" -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-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 Überraschung." A_Space_Adventure-death02.name="Nebenmission: Die Spezialisten töten" 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!" diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/campaigns_en.txt --- a/share/hedgewars/Data/Locale/campaigns_en.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/campaigns_en.txt Sun Jun 10 19:12:26 2018 +0200 @@ -1,34 +1,34 @@ A_Classic_Fairytale.name="A Classic Fairytale" A_Classic_Fairytale-first_blood.name="Mission 1: First Blood" -A_Classic_Fairytale-first_blood.desc="Help Leaks a lot to complete his training and become a proper hedgehog warrior. You will be trained in the art of rope, parachute, shoryuken and desert eagle." +A_Classic_Fairytale-first_blood.desc="Help Leaks a Lot to complete his training and become a proper hedgehog warrior. You will be trained in the art of rope, parachute, shoryuken and desert eagle." A_Classic_Fairytale-shadow.name="Mission 2: The Shadow Falls" -A_Classic_Fairytale-shadow.desc="Leaks a lot and Dense Cloud are going for hunting. Be prepared for the dangers awaiting you at the forest. Remember, make your choices wisely." +A_Classic_Fairytale-shadow.desc="Leaks a Lot and Dense Cloud are going for hunting. Be prepared for the dangers awaiting you at the forest. Remember, make your choices wisely." A_Classic_Fairytale-journey.name="Mission 3: The Journey Back" -A_Classic_Fairytale-journey.desc="Leaks a lot has to go to the other side of the island. Be fast and cautious." +A_Classic_Fairytale-journey.desc="Leaks a Lot has to go to the other side of the island. Be fast and cautious." A_Classic_Fairytale-united.name="Mission 4: United We Stand" -A_Classic_Fairytale-united.desc="After his long journey Leaks a lot is finally back to the village. However, there isn't time to rest. You have to defend the village from the rage of the cannibals." +A_Classic_Fairytale-united.desc="After his long journey Leaks a Lot is finally back to the village. However, there isn't time to rest. You have to defend the village from the rage of the cannibals." A_Classic_Fairytale-backstab.name="Mission 5: Backstab" -A_Classic_Fairytale-backstab.desc="The monstrous cannibals are hunting Leaks a lot and his friends. Defeat them once again and protect your allies. Use your resources accordingly to defeat the incoming enemies!" +A_Classic_Fairytale-backstab.desc="The monstrous cannibals are hunting Leaks a Lot and his friends. Defeat them once again and protect your allies. Use your resources accordingly to defeat the incoming enemies!" A_Classic_Fairytale-dragon.name="Mission 6: Dragon's Lair" -A_Classic_Fairytale-dragon.desc="Leaks a lot has to get to the other side of the lake. Become a rope master and avoid get hit by the enemy shots." +A_Classic_Fairytale-dragon.desc="Our hero has to get to the other side of the lake. Become a rope master and avoid getting hit by the enemy shots." A_Classic_Fairytale-family.name="Mission 7: Family Reunion" -A_Classic_Fairytale-family.desc="Leaks a lot has to save once more his allies. Eliminate the enemy hogs and free your comrades. Use your resources carefully as they are limited. Drill some holes in the right spot and go close to the princess." +A_Classic_Fairytale-family.desc="Our hero has to save the natives once more. Eliminate the enemy hogs and free your comrades. Use your resources carefully as they are limited. Drill some holes in the right spot and get close to the princess." A_Classic_Fairytale-queen.name="Mission 8: Long Live The Queen" -A_Classic_Fairytale-queen.desc="Leaks a lot has to fight once again. In order to win he'll have to fight the traitor and use all the resources available. Defeat the enemy!" +A_Classic_Fairytale-queen.desc="The natives have to fight once again. In order to win, they'll have to fight the traitor and use all the resources available. Defeat the enemy!" A_Classic_Fairytale-enemy.name="Mission 9: The Enemy Of My Enemy" -A_Classic_Fairytale-enemy.desc="What a great twist! Leaks a lot has to fight side by side with the… “cannibals” against the common enemy. The evil cyborgs!" +A_Classic_Fairytale-enemy.desc="What a great twist! Leaks a Lot has to fight side by side with the … “cannibals” against the common enemy: The evil cyborgs!" A_Classic_Fairytale-epil.name="Mission 10: Epilogue" -A_Classic_Fairytale-epil.desc="Congratulations! Leaks a lot can finally leave in peace and get praised by his new friends and his tribe. Be proud for what you succeed! You can play again previous missions and see the other possible endings." +A_Classic_Fairytale-epil.desc="Congratulations! Leaks a Lot can finally leave in peace and get praised by his new friends and his tribe. Be proud for what you succeed! You can play again previous missions and see the other possible endings." A_Space_Adventure.name="A Space Adventure" A_Space_Adventure-cosmos.name="Menu: Spacetrip" diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/cs.lua --- a/share/hedgewars/Data/Locale/cs.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/cs.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ ["..."] = "...", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler -- ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ -- ["A Hedgewars mini-game"] = "", -- Racer, Space_Invasion, TechRacer, Tumbler -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope -- ["Aiming practice"] = "", -- TargetPractice ["Aiming Practice"] = "Trénink přesnosti", --Bazooka, Shotgun, SniperRifle +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ -- ["Ammo is reset at the end of your turn."] = "", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ ["Available points remaining: "] = "Zbývá bodů:", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Odpal míčky na své nepřátele|a odstrč je do vody!", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Odpal protivníky skrz|koše a pryč z mapy!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Trénink s bazukou", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Nejlepší kola dle týmů:", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Careless"] = "Neopatrný", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "Dokonči trasu tak rychle, jak můžeš!", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -332,6 +371,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -355,6 +395,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 ["Deadweight"] = "Mrtvá váha", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen -- ["Double Kill!"] = "", -- ["Double kill!"] = "", -- Mutant @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope ["Drowner"] = "Utopenec", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -551,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Nejrychlejší kolo: ", ["Feeble Resistance"] = "Slabý odpor", -- ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -636,11 +701,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "Hodně štěstí tam venku!", -- ["Good so far!"] = "", -- ["Good to go!"] = "", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ ["GOTCHA!"] = "Mám tě!", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -737,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -744,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united ["Heavy"] = "Těžký", -- ["Heckles"] = "", -- @@ -781,11 +862,13 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer -- ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -794,21 +877,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy ["Hmmm..."] = "Hmmm...", @@ -823,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -878,6 +981,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Lovec", --Bazooka, Shotgun, SniperRifle @@ -896,12 +1000,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1039,6 +1153,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "To je dobře, že NÁHLÁ SMRT je 99 tahů vzdálená...", @@ -1098,6 +1213,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "Skákání je vypnuto", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1140,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion -- ["Last Target!"] = "", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1154,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1173,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 ["Listen up, maggot!!"] = "Poslouchej, bídný červe!!", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1228,11 +1355,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ ["MISSION FAILED"] = "MISE NEÚSPĚŠNÁ", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "MISE ÚSPĚŠNÁ", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1258,15 +1392,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"] = "Pohyb: [nahoru], [dolu], [vlevo], [vpravo]", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1309,6 +1446,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1319,11 +1457,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"] = "NEDOSTATEK NAVIGAČNÍCH BODŮ", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1338,12 +1479,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1351,6 +1495,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1371,8 +1516,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1387,8 +1534,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1396,6 +1545,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Protivníkův tým: ", -- ["Orange"] = "", -- @@ -1406,25 +1557,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- -- ["Pathetic Resistance"] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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"] = "Individuální munice", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1457,6 +1615,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1477,6 +1636,7 @@ -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion ["points"] = "body", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle +-- ["--- Points Mode ---"] = "", -- Battalion -- ["point(s)"] = "", -- TargetPractice, Mutant ["Poison"] = "Otrava", -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 @@ -1485,7 +1645,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1512,10 +1675,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["RACER"] = "", -- ["Racer"] = "", -- Racer @@ -1533,6 +1699,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1541,10 +1708,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1553,14 +1724,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = " - Dones nepřátelskou vlajku do své základny k získání bodů | - První tým se třemi ukořistěními vítězí | - Můžeš bodovat, pokud je tvá vlajka v základně | - Ježci pustí vlajku, pokud jsou zabiti, nebo utopeni | - Upuštěná vlajka může být navrácena, nebo opět zajmuta | - Ježci jsou po smrti oživeni", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1572,6 +1746,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1582,6 +1757,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1596,6 +1773,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1619,22 +1797,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1652,9 +1834,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1663,15 +1854,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1702,9 +1897,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode ["Sinky"] = "Propadlý", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1719,6 +1921,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1727,6 +1930,7 @@ ["Sniper Training"] = "Odstřelovací trénink", ["Sniperz"] = "Snajpři", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1736,6 +1940,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1759,6 +1964,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1780,6 +1986,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1814,7 +2021,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1863,12 +2073,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies ["Switched to "] = "Přepnut na ", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1885,9 +2102,11 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- +-- ["Team %d"] = "", -- SimpleMission ["Team %d: "] = "Tým %d: ", -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor @@ -1904,7 +2123,10 @@ -- ["Teleportation Node"] = "", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1932,6 +2154,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1950,11 +2173,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "Nepřítel se skrývá na tamté kachničce!", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1984,17 +2211,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant ["The Nameless One"] = "Bezejmenný", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2008,16 +2241,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion ["THE SPECIALISTS"] = "SPECIALISTÉ", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2034,6 +2272,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2049,17 +2288,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2067,6 +2311,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Tenhle déšť je opravdu něco...", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2075,14 +2320,19 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2090,10 +2340,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2125,6 +2383,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2134,14 +2393,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope ["T_T"] = "T_T", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2158,6 +2422,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2173,8 +2438,10 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- -- ["Unit 835"] = "", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree ["Unlimited Attacks"] = "Neomezeně útoků", -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2182,10 +2449,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood ["User Challenge"] = "Výzva", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2196,8 +2465,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2209,6 +2480,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Použij lano a dostaň se ze startu do cíle, jak nejrychleji umíš!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2231,6 +2503,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2240,8 +2515,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2276,6 +2554,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2284,6 +2563,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2292,11 +2572,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos -- ["Well done."] = "", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2347,10 +2630,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2380,15 +2665,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies -- ["Will this ever end?"] = "", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2424,18 +2712,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2463,13 +2755,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2522,6 +2820,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2541,6 +2840,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2568,11 +2868,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2584,6 +2886,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2593,6 +2896,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2602,6 +2906,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/cs.txt --- a/share/hedgewars/Data/Locale/cs.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/cs.txt Sun Jun 10 19:12:26 2018 +0200 @@ -62,7 +62,7 @@ 01:02=%1 vyhráli! 01:03=Hlasitost %1% 01:04=Pauza -01:05=Opravdu ukončit (Y/Esc)? +01:05=Opravdu ukončit (%1/%2)? 01:06=Náhlá smrt! 01:07=%1 zbývá 01:08=Palivo diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/da.lua --- a/share/hedgewars/Data/Locale/da.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/da.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ ["..."] = "...", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler -- ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ -- ["A Hedgewars mini-game"] = "", -- Racer, Space_Invasion, TechRacer, Tumbler -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope ["Aiming Practice"] = "Sigtetræning", --Bazooka, Shotgun, SniperRifle -- ["Aiming practice"] = "", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ ["Ammo is reset at the end of your turn."] = "Ammunition nulstilles i slutningen af turen", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ ["Available points remaining: "] = "Tilgængeligt point tilbage: ", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ ["Barrel Launcher"] = "Tøndekaster", -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Slå bolde på dine fjender og|skub dem i havet!", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Slå dine modstandere gennem|kurvene og ud af banen!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Træning med Bazooka", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Bedste omgang per hold: ", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Careless"] = "Sløset", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "Gennemfør banen så hurtigt som muligt!", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -332,6 +371,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -355,6 +395,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 ["Deadweight"] = "Dødvægt", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen ["Double Kill!"] = "Dobbeltdrab!", -- ["Double kill!"] = "", -- Mutant @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope ["Drowner"] = "Drukner", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -551,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Hurtigste omgang: ", ["Feeble Resistance"] = "Sølle Modstand", -- ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -636,11 +701,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "Held og lykke derude!", ["Good so far!"] = "Godt indtil videre!", ["Good to go!"] = "Klar!", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ ["GOTCHA!"] = "FIK DIG!", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -737,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -744,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united ["Heavy"] = "Tung", -- ["Heckles"] = "", -- @@ -781,11 +862,13 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer -- ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -794,21 +877,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy ["Hmmm..."] = "Hmmm...", @@ -823,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -878,6 +981,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Jæger", --Bazooka, Shotgun, SniperRifle @@ -896,12 +1000,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1039,6 +1153,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Det er heldigt at PLUDSELIG DØD er 99 ture væk...", @@ -1098,6 +1213,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "Hop er deaktiveret", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1140,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion ["Last Target!"] = "Sidste Mål!", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1154,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1173,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 ["Listen up, maggot!!"] = "Lyt efter, maddike!", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope ["Lively Lifeguard"] = "Livlig Livredder", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1228,11 +1355,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ ["MISSION FAILED"] = "MISSION MISLYKKEDES", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "MISSION VAR SUCCESFULD", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1258,15 +1392,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"] = "Bevægelse: [Op], [Ned], [Venstre], [Højre]", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1309,6 +1446,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1319,11 +1457,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"] = "IKKE NOK RUTEPUNKTER", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1338,12 +1479,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1351,6 +1495,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1371,8 +1516,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1387,8 +1534,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1396,6 +1545,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Modstander: ", -- ["Orange"] = "", -- @@ -1406,25 +1557,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- ["Pathetic Resistance"] = "Patetisk Modstand", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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"] = "Ammunition Per Pindsvin", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1457,6 +1615,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1476,6 +1635,7 @@ -- ["Please wait …"] = "", -- WxW -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion +-- ["--- Points Mode ---"] = "", -- Battalion ["points"] = "point", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle -- ["point(s)"] = "", -- TargetPractice, Mutant ["Poison"] = "Gift", @@ -1485,7 +1645,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1512,10 +1675,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["Racer"] = "", -- Racer ["RACER"] = "RACER", @@ -1533,6 +1699,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1541,10 +1708,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1553,14 +1724,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = " - Returner fjendens flag til din base for at score | - Første hold til at erobre 3 flag vinder | - Du kan kun score når dit flag er ved din base | Pindsvin taber flaget hvis de dør eller drukner | - Tabte flag kan returneres eller generobres | - Pindsvin genopliver når de bliver dræbt", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1572,6 +1746,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1582,6 +1757,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1596,6 +1773,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1619,22 +1797,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1652,9 +1834,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1663,15 +1854,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1702,9 +1897,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode ["Sinky"] = "Synkende", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1719,6 +1921,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1727,6 +1930,7 @@ ["Sniper Training"] = "Træning med Sniperriffel", ["Sniperz"] = "Sniperz", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1736,6 +1940,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1759,6 +1964,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1780,6 +1986,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1814,7 +2021,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1863,12 +2073,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies ["Switched to "] = "Skiftede til ", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1885,10 +2102,12 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- ["Team %d: "] = "Hold %d: ", +-- ["Team %d"] = "", -- SimpleMission -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor -- ["Team of Hearts"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove @@ -1904,7 +2123,10 @@ -- ["Teleportation Node"] = "", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1932,6 +2154,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1950,11 +2173,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "Fjenden gemmer sig på rapanden derover!", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1984,17 +2211,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant ["The Nameless One"] = "Den Navnløse Ene", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2008,16 +2241,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion ["THE SPECIALISTS"] = "SPECIALISTERNE", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2034,6 +2272,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2049,17 +2288,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2067,6 +2311,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Det her regnvejr er virkelig noget...", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2075,14 +2320,19 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2090,10 +2340,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2125,6 +2383,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2134,14 +2393,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope ["T_T"] = "T_T", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2158,6 +2422,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2172,9 +2437,11 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- ["Unit 835"] = "Enhed 835", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united ["Unit"] = "Enhed", +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree ["Unlimited Attacks"] = "Uendelige Angreb", -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2182,10 +2449,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood ["User Challenge"] = "Brugerudfordring", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2196,8 +2465,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2209,6 +2480,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Brug dit reb til at komme fra start til slut så hurtigt som muligt!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2231,6 +2503,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2240,8 +2515,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2276,6 +2554,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2284,6 +2563,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2292,11 +2572,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos ["Well done."] = "Godt klaret.", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2347,10 +2630,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2380,15 +2665,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies ["Will this ever end?"] = "Slutter det her nogensinde?", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2424,18 +2712,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2463,13 +2755,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2522,6 +2820,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2541,6 +2840,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2568,11 +2868,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2584,6 +2886,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2593,6 +2896,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2602,6 +2906,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/da.txt --- a/share/hedgewars/Data/Locale/da.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/da.txt Sun Jun 10 19:12:26 2018 +0200 @@ -62,7 +62,7 @@ 01:02=%1 vinder! 01:03=Lydstyrke %1% 01:04=Sat på pause -01:05=Vil du virkelig forlade spillet (Y/Esc)? +01:05=Vil du virkelig forlade spillet (%1/%2)? 01:06=Pludselig Død! 01:07=%1 tilbage 01:08=Brændstof diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/de.lua --- a/share/hedgewars/Data/Locale/de.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/de.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,11 +1,11 @@ locale = { -["!!!"]="!!!", ["..."]="…", ["011101000"]="011101000", ["011101001"]="011101001", +["15+%d damage, %d invulnerable left"] = "15+%d Schaden, %d Unverwundbarkeit übrig", -- Continental_supplies +["1-5, Precise + 1-4: Choose structure type"] = "1-5, Genaues Zielen + 1-4: Gebäudetyp wählen", -- Construction_Mode ["+1 barrel!"] = "+1 Fass!", -- Tumbler ["%.1fs"] = "%.1fs", -- Racer, TechRacer -["%.1f seconds were remaining."]="Es verblieben %.1f.", ["+1 Grenade"] = "+1 Granate", -- Basic_Training_-_Flying_Saucer ["+1 mine!"] = "+1 Mine", -- Tumbler ["1 - Normal Girder"]="1 – Normaler Bauträger", @@ -35,7 +35,8 @@ ["Accuracy bonus: +%d points"]="Präzisions-Bonus: +%d Punkte", ["Ace"]="Ass", ["Achievement gotten: %s"] = "Auszeichnung erhalten: %s", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Tumbler -["A Classic Fairytale"]="Ein typisches Märchen", +["A Classic Fairytale"]="Ein klassisches Märchen", +["A crate critical to this mission has been destroyed."] = "Eine missionskritische Kiste wurde zerstört.", -- SimpleMission ["Actually, you aren't worthy of life! Take this..."]="Eigentlich hast du nicht das Recht, zu leben! Nimm das!", ["A cy-what?"]="Ein Cy-was?", ["Add %d"] = "%d addieren", -- HedgeEditor @@ -48,6 +49,7 @@ ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."]="Nachdem Undichte Stelle seinen Stamm betrogen hatte, trat er den Kannibalen bei.", ["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.", -- A_Space_Adventure:moon02 ["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.", +["After you killed an enemy, you'll lose the weapon that he is named after."] = "Wenn du einen Feind tötest, verlierst du die Waffe, nach der er benannt wurde.", -- A_Space_Adventure:death02 ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "Nachdem du den Mond verlassen hast, kamen meine anderen treuen Gehilfen und haben mich wiederbelebt, damit ich meinen Masterplan vollenden kann.", -- A_Space_Adventure:death01 ["Again with the 'cannibals' thing!"]="Nicht schon wieder dieser »Kannibalen«-Unfug!", ["a Hedgewars mini-game"]="ein Hedgewars Mini-Spiel", @@ -55,9 +57,10 @@ ["A Hedgewars mini-game"] = "Ein Hedgewars-Minispiel", -- Racer, Space_Invasion, TechRacer, Tumbler ["A Hedgewars tag game"] = "Ein Hedgewars-Fangenspiel", -- Mutant ["Ahhh, home, sweet home. Made it in %d seconds."]="Ah, trautes Heim, Glück allein! Geschafft in %d Sekunden.", +["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "Ziel auf die Decke und halte [Angriff], bis das Seil befestigt wird.", -- Basic_Training_-_Rope ["Aiming practice"] = "Zielübung", -- ["Aiming Practice"] = "Zielübung", -- Basic_Training_-_Sniper_Rifle, Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Sniper_Rifle, Basic_Training_-_Bazooka, Basic_Training_-_Grenade -["Air Attack"]="Luftangriff", +["Aim: [Up]/[Down]"] = "Zielen: [Hoch]/[Runter]", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope ["Air General"]="Luftkommandant", ["Air Mine"]="Luftmine", ["Air Mine Placement Mode"]="Luftminenplatzierungsmodus", @@ -81,6 +84,7 @@ ["All this to please our beloved “elders” … hick …"] = "All das, um unseren geliebten »Ältesten« zu schmeicheln … hick …", -- A_Classic_Fairytale:queen ["All walls touched!"]="Alle Wände berührt!", ["All you do is take long walks when everyone else works."] = "Alles, was du tust, sind lange Spaziergänge, während jeder andere schuftet.", -- A_Classic_Fairytale:queen +["All your hedgehogs must be above the marked height!"] = "All deine Igel müssen sich über der markierten Höhe befinden!", -- A_Classic_Fairytale:family ["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, in dem du fliegen kannst, der Platz ganz links in diesem Gebiet ist.", -- A_Space_Adventure:fruit01 ["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.", ["Always being considered weak and fragile."] = "Immer für schwach und fragil gehalten.", -- A_Classic_Fairytale:queen @@ -90,6 +94,7 @@ ["Ammo is reset at the end of your turn."]="Munition wird am Ende des Spielzuges zurückgesetzt.", ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "Munitionslimit: Igel können nicht mehr als 1 Munition pro Typ besitzen", -- Highlander ["Ammo Maniac! +5 points!"] = "Munitionsverrückter! +5 Punkte!", -- Space_Invasion +["A mysterious Box"] = "Eine mysteriöse Kiste", -- Basic_Training_-_Movement [" and 8 more seconds added to the clock"]=" und 8 Bonussekunden auf die Uhr", ["...and got ambushed by the Red Strawberries"]="… und von den Roten Erdbeeren überfallen wurdest.", ["... and got ambushed by the Red Strawberries"] = "… und wurde von den Roten Erdbeeren in einen Hinterhalt gelockt", -- A_Space_Adventure:fruit03 @@ -106,10 +111,12 @@ ["And what do they do in the meantime? Nothing!"] = "Und was tun sie währenddessen? Nichts!", -- A_Classic_Fairytale:queen ["And where's all the weed?"]="Und wo ist all das Gras?", ["And you believed me? Oh, god, that's cute!"]="Und du hast mir geglaubt? Ach Gottchen, das ist so süß!", +["And you need to move to the top!"] = "Und du musst nach ganz oben!", -- Basic_Training_-_Movement ["An experimental (and buggy!) editing tool for missions and more"] = "Ein experimentelles (und verbuggtes!) Tool für Missionen und mehr", -- HedgeEditor -["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)", +["Anno 1032"] = "Anno 1032", -- Continental_supplies +["An object has been destroyed before it took enough damage."] = "Ein Objekt wurde zerstört, bevor es genug Schaden nahm!", -- SimpleMission ["Antarctica"]="Antarktika", -["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", +["Antarctic summer: Every 4th turn you get 1 girder, 1 mudball, 2 sine guns and 1 portable portal device."] = "Antarktischer Sommer: Jeden 4. Zug erhälst du 1 Träger, 1 Schlammball, 2 Sinuskanonen und 1 tragbares Portalgerät.", -- Continental_supplies ["Anti-Gravity Device Part (+1)"] = "Teil des Antischwerkraftgeräts (+1)", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 ["Anton"] = "Anton", -- ["An unexpected event!"]="Ein unerwartetes Ereignis!", @@ -117,7 +124,6 @@ ["A random hedgehog will inherit the weapons of his deceased team-mates."]="Ein zufälliger Igel wird die Waffen seiner verstorbenen Teamkollegen erben.", -- A_Space_Adventure:death02 ["A random hedgehog will inherit the weapons of his deceased team-mates"]="Ein zufälliger Igel wird die Waffen seiner verstorbenen Teamkollegen erben", -- A_Space_Adventure:death02 ["Arashi"] = "Arashi", -- -["Area"]="Gebiet", ["Are we there yet?"]="Sind wir schon da?", ["Are you accusing me of something?"]="Beschuldigst du mich?", ["Are you helping the aliens?"] = "Hilfst du den Außerirdischen?", -- A_Classic_Fairytale:queen @@ -128,6 +134,7 @@ ["Ash"] = "Ash", -- ["A Shoppa minigame"] = "Ein Shoppa-Minispiel", -- WxW ["Asia"]="Asien", +["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "So lange du den Boden nicht berührst,|kannst du das selbe Seil wiederverwenden, so oft du willst.", -- Basic_Training_-_Rope ["A smuggler! Prepare for battle"]="Ein Schmuggler! Bereitmachen zum Kämpfen!", ["A Space Adventure"]="Ein Weltraumabenteuer", ["Assault Team"]="Sturmtruppe", @@ -138,6 +145,7 @@ ["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.", ["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.", ["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.", +["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "Wie du vielleicht bemerkt hast, sind diese|Gummibalken SEHR elastisch. Igel und viele andere|Dinge werden ohne jeglichen Schaden abprallen.", -- Basic_Training_-_Movement ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "Wie du gesehen hast, fällt die Granate ungefähr in deine Flugrichtung.", -- Basic_Training_-_Flying_Saucer ["Athlete"]="Athlet", ["Attack: Activate"] = "Angriff: Aktivieren", -- Racer @@ -145,6 +153,8 @@ ["Attack From Rope: %s"] = "Angriff Vom Seil: %s", -- WxW ["Attack From Rope: You may only attack from a rope."] = "Angriff Vom Seil: Du darfst nur vom Seil angreifen.", -- WxW ["Attack rule: %s"] = "Angriffsregel", -- WxW +["Attack: Select this continent"] = "Angreifen: Diesen Kontinent wählen", -- Continental_supplies +["Attack: [Space]"] = "Angreifen: [Leertaste]", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope ["Attack the assassins before they attack back"]="Greif die Assassinen an, bevor sie angreifen.", ["Attack: Throw ball"] = "Angriff: Ball werfen", -- Knockball ["At the end of the game your health was "]="Am Ende des Spiels war deine Gesundheit ", @@ -153,12 +163,18 @@ ["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, nach der er benannt wurde", -- A_Space_Adventure:death02 ["Australia"]="Australien", ["Available points remaining: "]="Verfügbare Punkte verbleibend:", +["Available weapon specials:"] = "Verfügbare Waffenextras:", -- Continental_supplies ["Average pilot"]="Durchschnittlicher Pilot", ["Avoid bazookas, red and blue invaders."] = "Weiche Bazookas und den roten und blauen Invasoren aus.", -- Space_Invasion +["Avoid the mines!"] = "Weich den Minen aus!", -- Basic_Training_-_Rope +["Axes"] = "Äxter", -- Bazooka_Battlefield ["Aye! Fellow! Let me exit this chamber of doom!"] = "Aye! Leute! Lasst mich aus dieser Kammer des Schreckens hinaus!", -- A_Classic_Fairytale:epil ["Back Breaker"]="Rückenbrecher", ["Back in the village, after telling the villagers about the threat..."]="Zurück im Dorf, nachdem die Dorfbewohner vor der Gefahr gewarnt worden sind …", ["Back in the village, the two tribes finally started to live in harmony."] = "Zurück im Dorf lebten die beiden Stämme endlich wieder in Frieden.", -- A_Classic_Fairytale:epil +["Back Jump: [Backspace] ×2"] = "Rückwärtssprung: [Rücktaste] ×2", -- Basic_Training_-_Movement +["Back Jumping (1/2)"] = "Rückwärtsspringen (1/2)", -- Basic_Training_-_Movement +["Back Jumping (2/2)"] = "Rückwärtsspringen (2/2)", -- Basic_Training_-_Movement ["Backstab"]="Verrat", ["Bacon"] = "Speck", -- ["Bad Guy"] = "Böser Junge", -- User_Mission_-_The_Great_Escape @@ -173,30 +189,37 @@ ["Barrel Launcher selected!"] = "Fasswerfer ausgewählt!", -- Tumbler ["Barrel Placement Mode"]="Fassplatzierungsmodus", ["BARREL PLACEMENT MODE"]="FASSPLATZIERUNGSMODUS", -["Baseballbat"]="Baseballschläger", +["Barrier unlocked!"] = "Barriere geöffnet!", -- Basic_Training_-_Rope +["Baseball bat specials cannot be used close to other hogs."] = "Baseballschläger-Extras können nicht in der Nähe anderer Igel benutzt werden.", -- Continental_supplies ["Baseball Bat with Ball"] = "Baseballschläger mit Ball", -- Knockball ["Base damage has been modified to 12 per shot."] = "Der Grundschaden wurde auf 12 pro Schuss geändert.", -- Battalion ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "Zeig, was du gelernt hast und zerstör die Zielscheibe auf dem Träger|und lande, wie immer, sicher!", -- Basic_Training_-_Flying_Saucer ["Basically this is a combination of diving and launching."] = "Im Grunde genommen ist das eine Kombination aus Tauchen und Schießen.", -- Basic_Training_-_Flying_Saucer +["Basic Bazooka Training"] = "Grundausbildung: Bazooka", -- Basic_Training_-_Bazooka +["Basic Grenade Training"] = "Grundausbildung: Granate", -- Basic_Training_-_Grenade +["Basic Movement Training"] = "Grundausbildung: Fortbewegung", -- Basic_Training_-_Movement +["Basic Rope Training"] = "Grundausbildung: Seil", -- Basic_Training_-_Rope +["Basic Training"] = "Grundausbildung", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope ["Basketball"] = "Basketball", -- Basketball ["Bat balls at your enemies and|push them into the sea!"]="Schlage Bälle auf deine Widersacher|und lass sie ins Meer fallen!", ["Battalion"] = "Battalion", -- Battalion ["Battle Starts Now!"]="Jetzt beginnt die Schlacht!", ["Batty"] = "Plemplem", -- ["Bat your opponents through the|baskets and out of the map!"]="Schlage deine Widersacher durch|die Körbe und aus der Karte hinaus!", -["Bazooka Training"]="Bazooka-Training", +["Bazooka Battlefield"] = "Bazookaschlachtfeld", -- Bazooka_Battlefield +["Bazookas are influenced by wind."] = "Bazookas werden vom Wind beeinflusst.", -- Basic_Training_-_Bazooka +["Bazooka Team"] = "Bazooka-Team", -- Basic_Training_-_Bazooka ["Bearded Beast"] = "Bärtiges Biest", -- ["Be careful, the future of Hogera is in your hands!"]="Sei vorsichtig, die Zukunft von Hogera liegt in deinen Händen!", ["Be careful, your fuel is limited from now on!"] = "Vorsichtig, dein Treibstoff ist ab jetzt begrenzt!", -- Basic_Training_-_Flying_Saucer -["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.", -["Be careful, your gadgets won't work in the bandit area. You should get an ice gun."] = "Sei vorsichtig, deine Apparete werden im Banditenland nicht funktionieren. Du solltest dir eine Eiskanone besorgen.", -- A_Space_Adventure:ice01 +["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 dir eine Eiskanone besorgen.", -- A_Space_Adventure:ice01 ["Beep Loopers"]="Piepskreisler", ["Beginner"]="Anfänger", ["Behind these trees on the east side there is Secret Base 17."] = "Hinter diesen Bäumen auf der Ostseite ist Geheimbasis 17.", -- A_Space_Adventure:cosmos ["Below-average pilot"]="Unterdurchschnittlicher Pilot", ["Besides, why would I choose certain death?"] = "Außerdem, warum sollte ich den sicheren Tod wählen?", -- A_Classic_Fairytale:queen -["Best laps per team: "]="Beste Rundenzeiten pro Team: ", ["Best team times: "] = "Team-Bestzeiten: ", -- Racer, TechRacer +["Better get yourself another health crate to heal your wounds."] = "Hol dir besser noch eine Gesundheitskiste, um deine Wunden zu heilen.", -- Basic_Training_-_Movement ["Better luck next time!"]="Vielleicht klappt's beim nächsten Mal!", ["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.", ["Beware of mines: They explode after 3 seconds."] = "Vorsicht vor Minen: Sie explodieren nach 3 Sekunden.", -- A_Classic_Fairytale:journey @@ -235,9 +258,13 @@ ["Both Barrels"] = "Zweischießer", -- ["Both your hedgehogs must survive."] = "Deine beiden Igel müssen überleben.", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork ["Bottom Feeder"] = "Versager", -- Mutant +["Bounciness"] = "Sprunghaftigkeit", -- Basic_Training_-_Grenade +["Bouncing Bomb"] = "Hüpfende Bombe", -- Basic_Training_-_Bazooka +["Bouncy Boomerang"] = "Springender Bumerang", -- Continental_supplies ["Bouncy Girder: [4]"] = "Sprunghafter Träger: [4]", -- HedgeEditor ["Bouncy Land: [4]"] = "Sprunghaftes Gelände: [4]", -- HedgeEditor ["Bouncy Land"]="Sprunghaftes Gelände", +["Bounty: Get 6 weapons for each kill (even on own hogs)."] = "Kopfgeld: Erhalte 6 Waffen für jeden Abschuss (sogar für eigene Igel).", -- Continental_supplies ["Bozo"] = "August", -- ["Brain Blower"]="Hirnpuster", ["Brainiac"]="Hirni", @@ -256,6 +283,7 @@ ["Bullseye"]="Volltreffer!", ["Bunny"] = "Hasi", -- ["burp"] = "burp", -- +["Bushes"] = "Büsche", -- Bazooka_Battlefield ["Bushi"] = "Bushi", -- ["Buster"] = "Freundchen", -- ["But it proved to be no easy task!"]="Aber es war keine einfache Aufgabe!", @@ -271,6 +299,8 @@ ["But you're cannibals. It's what you do."]="Aber ihr seid Kannibalen. Das ist, was ihr tut.", ["But you said you'd let her go!"]="Aber du sagtest, dass du sie freilässt!", ["But you saved me!"] = "Aber du hast mich gerettet!", -- A_Classic_Fairytale:queen +["By the way, not only bazookas will bounce on water, but also grenades and many other things."] = "Übrigens, nicht nur Bazookas, sondern auch Granaten und viele andere Dinge werden auf dem Wasser hüpfen.", -- Basic_Training_-_Bazooka +["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "Übrigens, du kannst dich umdrehen, ohne zu gehen,|indem du die »Genaues zielen«-Taste gedrückt hältst|und dann eine der Gehen-Tasten drückst.", -- Basic_Training_-_Movement ["C-1"] = "C-1", -- portal ["C-2"] = "C-2", -- portal ["Callahan"] = "Callahan", -- @@ -280,9 +310,11 @@ ["Cannibals?! You're the cannibals!"]="Kannibalen?! Ihr seid die Kannibalen!", ["... can you do it?"]="Kannst du es schaffen?", ["Can you do it?"] = "Kannst du es schaffen?", -- A_Space_Adventure:ice02 +["Cappy"] = "Käppi", -- Basic_Training_-_Movement ["Captain Lime"]="Leutnant Limone", ["Captain Lime offered his help if you assist him in battle."] = "Leutnant Limone bietet dir seine Hilfe an, wenn du ihm im Kampf zur Seite stehst.", -- A_Space_Adventure:fruit01 ["Capture The Flag"] = "Capture The Flag", -- CTF_Blizzard, Capture_the_Flag +["Careful, hedgehogs can't swim!"] = "Achtung, Igel können nicht schwimmen!", -- Basic_Training_-_Movement ["Careless"]="Achtlos", ["Carol"]="Karol", ["Challenge completed!"]="Herausforderung bewältigt!", @@ -294,6 +326,7 @@ ["Challenge objectives"] = "Herausforderungsziele", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:final, A_Space_Adventure:fruit03, A_Space_Adventure:ice02, A_Space_Adventure:moon02 ["Challenge over!"] = "Herausforderung beendet!", -- User_Mission_-_Rope_Knock_Challenge ["Change Content: [Left], [Right]"]="Inhalt ändern: [Links], [Rechts]", +["Change direction: [Left]/[Right]"] = "Richtung ändern: [Links]/[Rechts]", -- Basic_Training_-_Grenade ["Change Health Boost: [Left], [Right]"]="Gesundheitsschub ändern: [Links], [Rechts]", ["Change Health: [Left], [Right]"]="Gesundheit ändern: [Links], [Rechts]", ["Change LandFlag: [1], [2], [3], [4]"]="LandFlag ändern: [1], [2], [3], [4]", @@ -317,6 +350,7 @@ ["Chief Sandologist"]="Haupt-Sandologe", ["Chikorita"] = "Endivie", -- ["Choose Selection/Placement/Deletion: [Left], [Right]"] = "Auswahl-/Platzierungs-/Löschmodus wählen: [Links], [Rechts]", -- HedgeEditor +["Choose your continent wisely, as your decision will be permanent."] = "Wähle deinen Kontinent weise, da deine Entscheidung endgültig ist.", -- Continental_supplies ["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!", ["Chunli"] = "Chunli", -- ["Clark Kent"] = "Clark Kent", -- @@ -328,7 +362,6 @@ ["Closing in"] = "Es neigt sich dem Ende zu", -- A_Classic_Fairytale:queen ["Clown"]="Clown", ["Clowns"]="Clowns", -["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)", ["Clumsy"]="Hoppla", ["Cluster Bomb Training"] = "Splittergranatentraining", -- Target_Practice_-_Cluster_Bomb ["Collateral Damage II"]="Kollateralschaden II", @@ -345,6 +378,8 @@ ["Collect the freezer and get the device part from Thanta."] = "Sammle die Eiskanone ein und hol dir das Geräteteil von Thanta.", -- A_Space_Adventure:ice01 ["Collect the green and purple invaders."] = "Sammle die grünen und violetten Invasoren auf.", -- Space_Invasion ["Collect the icegun and get the device part from Thanta"]="Sammle die Eiskanone ein und besorge das Bauteil von Thanta", +["Collect the remaining crates to complete the training."] = "Schnapp dir die verbleibenden Kisten, um die Ausbildung zu beenden.", -- Basic_Training_-_Movement +["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "Sammel die Waffenkiste ein und|lass eine Granate vom Seil aus fallen,|um die Fässer zu zerstören.", -- Basic_Training_-_Rope ["Collect the weapon crate at the left coast!"] = "Sammle die Waffenkiste an der linken Küste auf!", -- A_Classic_Fairytale:journey ["Color Squad"] = "Farbentrupp", -- ["Come back to this mission after collecting all the device parts"]="Kehre zu dieser Mission zurück, nachdem du alle Bauteile eingesammelt hast.", @@ -356,6 +391,7 @@ ["COMMANDS: (Use while no weapon is selected)"]="BEFEHLE: (Benutzen, wenn keine Waffe gewählt ist)", ["Compete to use as few planes as possible!"]="Verwende so wenige Flugzeuge wie möglich!", ["Complete all main and side missions to complete the spacetrip mission."] = "Schließe alle Haupt- und Nebenmissionen ab, um die Weltraumreise-Mission abzuschließen.", -- A_Space_Adventure:cosmos +["Complete the obstacle course."] = "Schließ die Hindernisstrecke ab.", -- Basic_Training_-_Movement ["Complete the remaining side missions to complete this mission."] = "Beende die verbleibenden Nebenmissionen, um die Weltraumreise abzuschließen.", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"]="Durchlaufe die Strecke so schnell du kannst!", ["Completion time: %.2fs"] = "Benötigte Zeit: %.2fs", -- User_Mission_-_Rope_Knock_Challenge @@ -365,19 +401,17 @@ ["Congrats! You made them run away!"]="Gratulation! Du hast sie in die Flucht geschlagen!", ["Congrats! You won!"]="Gratulation! Du hast gewonnen!", ["Congratulations!"]="Gratulation!", -["Congratulations"]="Gratulation", ["Congratulations, now you can take Thanta's device part!"] = "Gratulation, du kannst dir nun Thantas Bauteil nehmen!", -- A_Space_Adventure:ice01 ["Congratulations, now you can take Thanta's device part..."]="Gratulation, nun kannst du dir Thantas Bauteil nehmen …", ["Congratulations, you acquired the device part!"]="Gratulation, du hast das Bauteil erhalten!", ["Congratulations, you are the best!"]="Gratulation, du bist der Beste!", ["Congratulations, you are the fastest!"]="Gratulation, du bist der Schnellste!", ["Congratulations, you collected the device part!"]="Gratulation, du hast das Bauteil eingesammelt!", +["Congratulations! You have completed the obstacle course!"] = "Gratulation! Du hast den Hindernislauf geschafft!", -- Basic_Training_-_Movement ["Congratulations! You have destroyed all targets within the time."] = "Du hast alle Zielscheiben innerhalb der Zeit zerstört.", -- ["Congratulations, you have saved Hogera!"]="Gratulation, du hast Hogera gerettet!", ["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.", -["Congratulations! You've completed the Basic Rope Training!"] = "Gratulation! Du hast die Seilübung abgeschlossen!", -- Basic_Training_-_Rope ["Congratulations! You've eliminated all targets|within the allowed time frame."]="Gratulation! Du hast alle Zielscheiben innerhalb der|verfügbaren Zeit ausgeschaltet.", -["Congratulations! You win."] = "Gratulation! Du hast gewonnen.", -- Big_Armory ["Congratulations, you won!"]="Gratulation, du hast gewonnen!", ["Conquering the galaxy"] = "Eroberung der Galaxis", -- A_Space_Adventure:cosmos ["CONSTRUCTION MODE"]="BAUMODUS", @@ -385,16 +419,18 @@ ["Construction Station: Allows placement of| girders, rubber, mines, sticky mines| and barrels."] = "Baustation: Ermöglicht Platzierung von Trägern,| Gummis, Minen, Haftminen und Fässern.", -- Construction_Mode ["Construction Station"]="Baustation", ["Continental supplies"]="Kontinentallieferungen", +["Continent selection"] = "Kontinentauswahl", -- Continental_supplies +["Continents: Select a continent at the beginning."] = "Kontinente: Wähle am Anfang einen Kontinent.", -- Continental_supplies ["Control"] = "Kontrolle", -- Control ["Control pillars to score points."]="Behalte die Kontrolle über die Säulen, um Punkte zu erhalten.", -["Controls: Hold the Attack key (space by default) to|fire the rope, then, once attached use:|Left and Right to swing the rope;|Up and Down to contract and expand."] = "Steuerung: Halte die Angriffstaste (standardmäßig die Leertaste)|gedrückt, um das Seil abzufeuern.|Sobald du am Seil hängst, benutze:|Links und rechts zum Schwingen;|Hoch und runter zum Verkürzen oder Verlängern des Seiles.", -- Basic_Training_-_Rope ["Copper"] = "Kupfer", -- User_Mission_-_Nobody_Laugh ["Corn"]="Mais", ["Corporal Calvin"] = "Unteroffizier Utrecht", -- ["Corporationals"]="Kapitalista", ["Corpsemonger"]="Leichenschänder", ["Corpse Thrower"]="Leichenschmeißer", -["Cost"]="Kosten", +["Cost: %d"] = "Kosten: %d", -- Construction_Mode +["Cotton Needer"] = "Falschsager", -- Mutant ["Count Hogula"] = "Graf Igula", -- ["Coward"] = "Feigling", -- A_Classic_Fairytale:queen ["Crate Before Attack: %s"] = "Kiste Vorm Angriff: %s", -- WxW @@ -408,8 +444,9 @@ ["Crates per turn: %d"] = "Kisten pro Zug: %d", -- WxW ["Crazy Gravity: Gravity randomly changes within a range from %i%% to %i%% with a period of %s"] = "Verrückte Schwerkraft: Schwerkraft verändert sich zufällig zwischen %i%% und %i%% mit einer Periode von %s", -- Gravity ["Crazy Runner"]="Verrückter Renner", -["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)", +["Cricket Time"] = "Kricket", -- Continental_supplies ["CTF_Blizzard"] = "CTF_Blizzard", -- CTF_Blizzard +["Cursor: Build structure"] = "Cursor: Gebäude bauen", -- Construction_Mode ["Cursor: Mode action"] = "Cursor: Modusaktion", -- HedgeEditor ["|Cursor: Place crate"] = "|Cursor: Kiste platzieren", -- Construction_Mode ["Cursor: Place waypoint"] = "Cursor: Wegpunkt platzieren", -- Racer @@ -420,27 +457,28 @@ ["Daisy"] = "Daisy", -- ["DAMMIT, ROOKIE! GET OFF MY HEAD!"]="VERDAMMT, REKRUT! RUNTER VON MEINEM KOPF!", ["DAMMIT, ROOKIE!"]="VERDAMMT, REKRUT!", -["+%d ammo"] = "+%d Munition", -- Battalion ["+%d Ammo"] = "+%d Munition", -- Space_Invasion ["Dangerous Ducklings"]="Gefährliche Entchen", ["Dark Strawberry"]="Dunkle Erdbeere", -["%d crate(s) remaining"] = "Kisten verbleibend: %d", -- ["%d damage was dealt in this game."] = "In diesem Spiel wurde %d Schaden angerichtet.", -- Mutant -["+%d"] = "+%d", -- Battalion +["%d / %d"] = "%d / %d", -- Battalion +["%d | %d"] = "%d | %d", -- Mutant +["%d/%d"] = "%d/%d", -- SpeedShoppa ["Deadly Grape"]="Traube des Todes", ["Deadweight"]="Gravitus", +["Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back."] = "Mach 15 Schaden + 10% deiner Gesundheit auf alle Igel im Umkreis und erhalte 2/3 zurück.", -- Continental_supplies +["Deals 15 damage to all enemies in the circle."] = "Richte 15 Schaden auf alle Gegner im Kreis an.", -- Continental_supplies ["Deer"] = "Hirsch", -- ["Defeat all enemies!"] = "Besiege alle Feinde!", -- portal ["Defeat Professor Hogevil!"]="Besiege Professor Bösigel!", ["Defeat the cannibals!|"]="Besiege die Kannibalen!|", ["Defeat the cannibals"]="Besiege die Kannibalen", -["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.", +["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 Zeitzünder mit [1-5], ziele mit [Hoch]/[Runter] und halte [Leer] für mehr Wurfkraft", -- A_Classic_Fairytale:shadow ["Defeat the cyborgs!"]="Besiege die Cyborgs!", ["Defeat the enemy!"] = "Besiege den Feind!", -- A_Classic_Fairytale:queen ["Delete Waypoint"] = "Wegpunkt löschen", -- HedgeEditor ["Deletion Mode: [5]"]="Löschmodus: [5]", ["Deletion Mode"]="Löschmodus", -["Deletition Mode"] = "Löschmodus", -- HedgeEditor ["Demolition is fun!"]="Zerstörung macht Spaß!", ["Demo"] = "Zerstörer", -- The_Specialists ["Dense Cloud"]="Dichte Wolke", @@ -449,14 +487,16 @@ ["Depleted Kamikaze! +5 points!"] = "Munitionsloses Kamikaze! +5 Punkte!", -- Space_Invasion ["Derp"] = "Naja", -- User_Mission_-_Nobody_Laugh ["Desert Storm"] = "Wüstensturm", -- +["Destroy all targets with no more than 10 bazookas."] = "Zerstöre alle Zielscheiben mit nicht mehr als 10 Bazookas!", -- Basic_Training_-_Bazooka +["Destroy all the targets!"] = "Zerstöre all die Zielscheiben!", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Destroyer of planes"]="Flugzeug-Zerstörer", ["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!", ["Destroy invaders and collect bonuses to score points."] = "Zerstöre Invasoren und sammle Boni auf, um zu punkten.", -- Space_Invasion ["Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air."]="Zerstör die Zielscheiben!|Tipp: Wähle das Shoryuken und drücke [Leertaste]|PS: Du kannst es in der Luft benutzen.", ["Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot"]="Zerstöre die Zielscheiben!|Tipp: [Hoch], [Runter] zum Zielen, [Leer] zum Schießen", +["Destroy the targets!"] = "Zerstöre die Zielscheiben!", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["+%d flamer fuel!"] = "+%d Flammenwerfertreibstoff", -- Tumbler ["%d Hapless Hogs left"]="%d Glücklose Igel verbleibend", -["+%d health"] = "+%d Gesundheit", -- Mutant ["%d-Hit Combo! +%d points!"] = "%d-Treffer-Kombi! +%d Punkte!", -- Space_Invasion ["Did anyone follow you?"]="Ist dir irgendjemand gefolgt?", ["Did I miss something?"] = "Hab ich was verpasst?", -- Space_Invasion @@ -469,11 +509,10 @@ ["Die, die, die!"]="Stirb, stirb, stirb!", ["Difficulty: Easy"] = "Schwierigkeitsgrad: Leicht", -- A_Classic_Fairytale:first_blood ["Difficulty: Hard"] = "Schwierigkeitsgrad: Schwer", -- A_Classic_Fairytale:first_blood -["Difficulty: "]="Schwierigkeitsgrad: ", ["Dimitry"] = "Dimitri", -- ["%d invaders have been destroyed in this game."] = "In diesem Spiel wurden %d Invasoren zerstört.", -- Space_Invasion ["Disabled"] = "Deaktiviert", -- WxW -["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)", +["Disguise as a Rockhopper Penguin"] = "Als Felsenpinguin tarnen", -- Continental_supplies ["Displacer"] = "Displacer", -- ["Disqualified!"]="Disqualifiziert!", ["Diver"] = "Taucher", -- User_Mission_-_Diver @@ -491,6 +530,8 @@ ["Don't destroy the device crate!"]="Zerstöre nicht das Bauteil!", ["Don't eliminate Captain Lime before collecting the last crate!"]="Eliminiere Leutnant Limone nicht, bevor du die letzte Kiste eingesammelt hast!", ["Don't hit me, you fools!"] = "Nicht auf mich, ihr Idioten!", -- A_Space_Adventure:moon01 +["Don't hit yourself!"] = "Triff nicht dich selbst!", -- Basic_Training_-_Bazooka +["Don't touch the flames!"] = "Berühr nicht die Flammen!", -- ClimbHome ["Don't you dare harming our tribe!"] = "Wag es nicht, unserem Stamm wehzutun!", -- A_Classic_Fairytale:queen ["Double Kill!"]="Doppelmord!", ["Double kill!"] = "Zweierschlächter!", -- Mutant @@ -511,13 +552,13 @@ ["Dr. Hollows"] = "Dr. Hohl", -- ["Dr. Horace"] = "Dr. Lauf", -- ["Drills"]="Kurzer Prozess", -["Drill Strike"]="Bohr-Luftangriff", ["Dr. Jenner"] = "Dr. Koch", -- ["Dr. Jung"] = "Dr. Jung", -- ["Drone Hunter! +10 points!"] = "Drohnenjäger! +10 Punkte!", -- Space_Invasion -["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)", +["Drop a ball of dirt which turns into a|cluster on impact. Doesn’t end turn."] = "Lass einen Erdklumpen fallen,|der sich bei Aufprall in einen Bombensplitter|verwandelt. Beendet den Zug nicht.", -- Continental_supplies ["- Dropped flags may be returned or recaptured"] = "- Fallengelassene Flaggen können zurückgebracht oder aufgesammelt werden", -- Capture_the_Flag ["Dropping a weapon while in water would just drown it, but launching one would work."] = "Eine Waffe im Wasser fallen zu lassen, würde sie einfach nur absaufen lassen,|aber ein Abfeuern würde funktionieren.", -- Basic_Training_-_Flying_Saucer +["Drop weapon (while on rope): [Long Jump]"] = "Waffe fallen lassen (vom Seil): [Langsprung]", -- Basic_Training_-_Rope ["Drove the minions away"]="Seine Lakaien vertrieben", ["Drove the Professor away"]="Den Professor vertrieben", ["Drowner"]="Absäufer", @@ -541,15 +582,13 @@ ["Dude, wow, you're so cute!"] = "Mann, wow, ihr seid so süß!", -- A_Classic_Fairytale:queen ["Dud Mine Placement Mode"] = "Blindgängerminenplatzierungsmodus", -- HedgeEditor ["DUD MINE PLACEMENT MODE"] = "BLINDGÄNGERMINENPLATZIERUNGSMODUS", -- HedgeEditor -["Duration"]="Dauer", ["During the final testing of the device an accident happened"]="Bei den letzten Tests des Gerätes ist ein Unfall passiert.", ["During the final testing of the device an accident happened."] = "Bei den letzten Tests des Geräts ist ein Unfall passiert.", -- A_Space_Adventure:moon02 ["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 sammelst.", ["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 sammelst", -["Dust storm: [Deals 15 damage to all enemies in the circle]"]="Staubsturm: (15 Schaden für alle Gegner im Kreis)", +["Dust Storm"] = "Staubsturm", -- Continental_supplies ["Each time you destroy all the targets on your current level you'll get teleported to the next level."]="Jedes Mal, wenn du alle Zielscheiben im aktuellen Level zerstörst, wirst du zum nächsten Level teleportiert.", ["Each time you destroy all the targets on your current level you'll get teleported to the next level"]="Jedes Mal, wenn du alle Zielscheiben im aktuellen Level zerstörst, wirst du zum nächsten Level teleportiert", -["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.", -- A_Space_Adventure:death02 ["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", -- A_Space_Adventure:death02 ["Each turn is only ONE SECOND!"]="Jeder Zug dauert nur EINE SEKUNDE!", ["Each turn you get 1-3 random weapons"]="Du bekommst jede Runde 1-3 zufällig gewählte Waffen", @@ -557,16 +596,13 @@ ["Each turn you'll have only one rope to use"]="In jedem Zug kannst du nur ein Seil benutzen", ["Each turn you'll have only one rope to use."] = "In jedem Zug kannst du nur ein Seil benutzen.", -- A_Space_Adventure:moon02 ["Eagle Eye"]="Adlerauge", -["Eagle Eye: [Blink to the impact ~ One shot]"]="Adlerauge: (Teleportiere dich zum Einschlagspunkt – ein Schuss)", ["Ear Sniffer"]="Ohrenschnüffler", -["EASY"]="EINFACH", ["Eckles"] = "Kicher", -- User_Mission_-_Nobody_Laugh ["Eclipse"] = "Eklipse", -- Big_Armory ["Editing Commands: (Use while no weapon is selected)"] = "Bearbeitungsbefehle: (Benutzen, wenn keine Waffe gewählt)", -- HedgeEditor ["Ehm... ok..."]="Aha, okay …", ["Ehm, okay ..."] = "Ähem, okay …", -- A_Space_Adventure:moon01 ["Elderbot"]="Altbot", -["Elimate your captor."]="Eliminiere deinen Peiniger.", ["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."]="Eliminiere alle Zielscheiben, bevor die Zeit abläuft.|Du hast in dieser Mission unbegrenzte Munition.", ["Eliminated the evil minions"]="Die bösen Lakaien eliminiert", ["Eliminated the Professor Hogevil"]="Professor Bösigel eliminiert", @@ -577,6 +613,7 @@ ["Eliminate the enemy specialists."]="Vernichte die gegnerischen Spezialisten.", ["Eliminate Unit 3378."] = "Eliminiere Einheit 3378.", -- User_Mission_-_Teamwork ["Eliminate WatchBot 4000."] = "Eliminiere Wachboter 4000.", -- User_Mission_-_Teamwork_2 +["Eliminate your captor."] = "Eliminiere deinen Peiniger.", -- User_Mission_-_The_Great_Escape ["Elite pilot"]="Elitepilot", ["Elmo"]="Elmo", ["Enabled"] = "Aktiviert", -- WxW @@ -586,17 +623,15 @@ ["Enjoy the swim..."]="Viel Spaß beim Schwimmen …", ["Entered boredom phase! Discrepancies detected …"] = "Langeweilephase eingeleitet! Diskrepanzen erfasst …", -- A_Classic_Fairytale:queen ["Epilogue"] = "Epilog", -- A_Classic_Fairytale:epil -["ERROR [getHogInfo]: Hog is nil!"] = "FEHLER [getHogInfo]: Igel ist nil!", -- Battalion ["Eugene"] = "Eugen", -- ["Europe"]="Europa", ["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.", ["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", -["Every 2 rings you'll get extra flying saucers"]="Alle 2 Ringe erhälst du neue fliegende Untertassen", -["Every 2 rings you'll get extra flying saucers."] = "Alle 2 Ringe erhälst du zusätzliche fliegende Untertassen.", -- A_Space_Adventure:ice02 +["Every 2 rings you'll get extra flying saucers"]="Alle 2 Ringe erhältst du neue fliegende Untertassen", +["Every 2 rings you'll get extra flying saucers."] = "Alle 2 Ringe erhältst du neue fliegende Untertassen.", -- A_Space_Adventure:ice02 ["Everyone knows this."]="Das weiß jeder.", ["Every single time!"]="Jedes Mal!", ["Everything looks OK..."]="Alles sieht gut aus.", -["Every time you kill an enemy hog your ammo will get reset next turn."]="Jedes Mal, wenn du einen Gegner tötest, wird deine Munition im nächsten Zug zurückgesetzt.", -- A_Space_Adventure:death02 ["Every time you kill an enemy hog your ammo will get reset next turn"]="Jedes Mal, wenn du einen Gegner tötest, wird deine Munition im nächsten Zug zurückgesetzt", -- A_Space_Adventure:death02 ["Everywhere I look, I see hogs walking around …"] = "Überall, wo ich hinschaue, sehe ich Igel herumspazieren …", -- A_Classic_Fairytale:epil ["Exactly, man! That was my dream."]="Genau! Das war mein Traum.", @@ -606,8 +641,10 @@ ["Exploring the tunnel"]="Höhlenforscher", ["Eye Chewer"]="Augenkauer", ["Fair Wind"] = "Steife Brise", -- +["Fall Damage"] = "Fallschaden", -- Basic_Training_-_Movement +["Fallen Angel"] = "Gefallener Engel", -- Tentacle_Terror ["Family Reunion"]="Familientreffen", -["Fastest lap: "]="Schnellste Runde: ", +["Fastest lap: %.3fs by %s"] = "Beste Zeit: %.3fs von %s", -- TrophyRace ["Feeble Resistance"]="Kraftloser Widerstand", ["Fell From Grace"]="Fiel in Ungnade", ["Fell From Heaven"]="Fiel Vom Himmel", @@ -619,22 +656,29 @@ ["Fighting instead of cultivating a beautiful friendship."] = "Kämpfen, anstatt eine wunderschöne Freundschaft zu pflegen.", -- A_Classic_Fairytale:epil ["Fight: Press [Attack]"] = "Kämpfen: Drücke [Angreifen]", -- A_Space_Adventure:fruit01 ["Filthy Blue"]="Blödblau", +["Final Challenge:"] = "Letzte Herausforderung:", -- Basic_Training_-_Rope +["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "Endlich! Wir sind raus aus diesem Höllenloch. Jetzt befrei die Prinzessin, %s!", -- A_Classic_Fairytale:family ["Finally you are here..."]="Endlich bist du hier …", ["Finally you are here!"] = "Endlich bist du hier!", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 ["Final result"] = "Endstand", -- Mutant +["Final Targets"] = "Letzte Zielscheiben", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Final team scores:"] = "Endstand:", -- Space_Invasion ["Find a way to detonate all the explosives and stay alive!"]="Finde einen Weg, alle Sprengstoffe zu detonieren und bleib am Leben!", ["Find your tribe!|Cross the lake!"]="Finde deinen Stamm!|Überquere den Fluss!", ["Finish this challenge as fast as possible to earn bonus points."] = "Beende diese Herausforderung so schnell du kannst, um Bonuspunkte zu erhalten.", -- User_Mission_-_Rope_Knock_Challenge ["Finish waypoint placement"] = "Wegpunktplatzierung beenden", -- Racer ["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.", +["Finite Ropes"] = "Endliche Seile", -- Basic_Training_-_Rope +["Fire a rocket with napalm."] = "Feuere eine Rakete mit Napalm ab.", -- Continental_supplies ["Fire: [Precise]"] = "Feuern: [Genaues Zielen]", -- Space_Invasion, Tumbler +["Fire some exploding medicine that will heal 15 health to all hogs in its effect radius."] = "Wirf eine explodierende Medizin, die allen Igeln im Einflussradius 15 Gesundheit gibt.", -- Continental_supplies +["Fire your hedgehog like a sticky mine."] = "Feuere deinen Igel wie eine Haftmine.", -- Continental_supplies ["First aid kits?!"]="Erste-Hilfe-Koffer?", ["First Blood"]="Der erste Zusammenstoß", +["- First clan to capture the flag wins"] = "- Der erste Klan, der die Flagge erobert, gewinnt", -- Capture_the_Flag +["- First clan to score %d captures wins"] = "- Der erste Klan mit %d Eroberungen gewinnt", -- Capture_the_Flag ["First killer will mutate"] = "Erster Mörder wird mutieren", -- Mutant ["First Steps"]="Erste Schritte", -["- First team to capture the flag wins"] = "- Das erste Team, dass die Flagge erobert, gewinnt", -- Capture_the_Flag -["- First team to score %d captures wins"] = "- Das erste Team mit %d Eroberungen gewinnt", -- Capture_the_Flag ["Fishy"] = "Fischi", -- ["Flag captured!"]="Flagge genommen!", ["Flag respawned!"]="Flagge wieder erschienen!", @@ -642,15 +686,18 @@ ["Flamer"]="Flammenwerfer", ["Flamer selected!"] = "Flammenwerfer ausgewählt!", -- Tumbler ["Flaming Worm"]="Flammenwurm", +["Flare"] = "Leuchtfackel", -- Continental_supplies ["Flawless victory!"]="Perfekter Sieg!", ["Flee: Press [Jump]"] = "Fliehen: Drücke [Springen]", -- A_Space_Adventure:fruit01 ["Flesh for Brainz"]="Fleisch gegen Hirn", ["Fly around and hurl explosives to your enemies."] = "Flieg herum und wirf Sprengkörper auf deine Gegner.", -- Tumbler -["Flying Saucer Training"] = "Grundlagentraining: Fliegende Untertasse", -- Basic_Training_-_Flying_Saucer +["Flying Saucer Training"] = "Grundausbildung: Fliegende Untertasse", -- Basic_Training_-_Flying_Saucer ["Fly into space to fight off the invaders with barrels!"] = "Flieg in den Weltraum, um die Invasoren mit Fässern abzuwehren!", -- Space_Invasion -["Fly to the meteorite and detonate the explosives"]="Fliege zum Meteroiten und sprenge die Bomben.", +["Fly to the meteorite and detonate the explosives"]="Fliege zum Meteoriten und sprenge die Bomben.", ["Fly to the moon"]="Flieg zum Mond.", ["Fly to the moon."] = "Flieg zum Mond.", -- A_Space_Adventure:cosmos +["Forgetfulness: You will lose all your weapons each turn."] = "Vergesslichkeit: Du wirst jeden Zug alle Waffen verlieren.", -- Continental_supplies +["For the next crate, you have to do back jumps."] = "Für die nächste Kiste brauchst du Rückwärtssprünge.", -- Basic_Training_-_Movement ["Four Eyes"] = "Vier Augen", -- ["Frank"] = "Frank", -- User_Mission_-_Nobody_Laugh ["Frankie"] = "Franki", -- @@ -669,13 +716,12 @@ ["“g=150”, where 150 is 150% of normal gravity."] = "»g=150«, wobei die »150« für 150% der Normalschwerkraft steht.", -- Gravity ["“g=50, g2=150, period=4000” for gravity changing|from 50 to 150 and back with period of 4000 ms."] = "»g=50, g2=150, period=4000«, für Schwerkraft,|die von 50% bis 150% wechselt mit einer Periode von 4000ms.", -- Gravity ["Galaxy Guardians"] = "Galaxiewächter", -- Big_Armory -["Game Modifiers: "]="Spiel-Modifikatoren", +["Game Modifiers: "]="Spiel-Modifikatoren: ", ["Game over!"] = "Spiel vorbei!", -- Space_Invasion ["GAME OVER!"]="SPIEL ZU ENDE!", ["Game Started!"]="Spiel gestartet!", ["Game? Was this a game to you?!"]="Spiel? War das ein Spiel für dich?!", ["Gangsters"] = "Gangster", -- -["GasBomb"]="Gasbombe", ["Gas Gargler"]="Gasgurgler", ["Gasp! A smuggler!"] = "Huch! Ein Schmuggler!", -- A_Space_Adventure:desert01 ["Gasp!"] = "Huch!", -- A_Space_Adventure:desert01 @@ -683,7 +729,7 @@ ["Gear information hidden"] = "Gear-Information verborgen", -- HedgeEditor ["Gear information shown"] = "Gear-Information angezeigt", -- HedgeEditor ["Gear Placement Tool"] = "Gear-Platzierungswerkzeug", -- HedgeEditor -["General information"]="Allgemeine Informationen", +["General information:"] = "Allgemeine Informationen:", -- Continental_supplies ["General Lemon"]="General Limone", ["Generator: Generates energy."] = "Generator: Erzeugt Energie.", -- Construction_Mode ["Generator"]="Generator", @@ -695,13 +741,15 @@ ["Get past the flower."] = "Überquere die Blume.", -- A_Classic_Fairytale:journey ["Get ready to fight!"]="Bereitmachen zum Kämpfen!", ["Get that crate!"]="Hol dir die Kiste!", -["Get the crate on the other side of the island!|"]="Hol dir die Kiste auf der anderen Seite der Insel!|", +["Get the crate on the other side of the island."] = "Hol dir die Kiste von der anderen Seite der Insel.", -- A_Classic_Fairytale:journey +["Get the final crate to the right to complete the training."] = "Hol dir die letzte Kiste ganz rechts, um die Übung abzuschließen.", -- Basic_Training_-_Movement ["Get the highest score to win."] = "Hol dir die höchste Punktzahl, um zu gewinnen.", -- Space_Invasion +["Get the next crate by jumping over the abyss."] = "Hol dir die nächste Kiste, indem du über den Abgrund springst.", -- Basic_Training_-_Movement ["Getting ready"]="Bereitmachen", +["Getting Started"] = "Los geht's!", -- Basic_Training_-_Rope ["Getting to the device"]="Zum Greifen nah", ["Get to the crate using your flying saucer!"] = "Gelange zur Kiste mit deiner fliegenden Untertasse!", -- Basic_Training_-_Flying_Saucer -["Get to the target using your rope!"] = "Gelange zur Zielscheibe mit deinem Seil!", -- 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!"]="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.", +["Get your teammates out of their natural prison and save the princess!"] = "Befrei deine Freunde aus ihrem natürlichen Gefängnis und rette die Prinzessin!", -- A_Classic_Fairytale:family ["Giggles"] = "Kicher", -- ["Gimme Bones"]="Gib Knochen", ["Girder"]="Bauträger", @@ -714,6 +762,7 @@ ["Glassy"] = "Glasig", -- ["Goal Definition Mode"] = "Zieldefinierungsmodus", -- HedgeEditor ["GOAL DEFINITION MODE"] = "ZIELDEFINIERUNGSMODUS", -- HedgeEditor +["Goal: Score %d points or more to win!"] = "Ziel: Erreiche mindestens %d Punkte für den Sieg.", -- Mutant ["Go and collect the crate"]="Geh und sammle die Kiste auf.", ["Godai"] = "Godai", -- ["Go down and save these PAotH hogs!"]="Geh runter und rette diese PAdI-Igel!", @@ -728,11 +777,13 @@ ["Good idea, they'll never find us there!"]="Gute Idee, dort werden sie uns niemals finden!", ["Good job! Defeat the rest of the aliens!"] = "Gut gemacht! Besiege die verbleibenden Außerirdischen!", -- A_Classic_Fairytale:queen ["Good job!"] = "Gut gemacht!", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope +["Good job! Now destroy the final targets to finish the training."] = "Gut gemacht! Jetzt zerstöre die letzten Zielscheiben,|um die Übung abzuschließen.", -- Basic_Training_-_Grenade ["Good luck...or else!"]="Viel Glück! Sonst …!", ["Good luck out there!"]="Viel Glück da draußen!", ["Good luck!"]="Viel Glück!", ["Good so far!"]="Gut soweit!", ["Good to go!"]="Startklar!", +["Good! You now control Cappy."] = "Gut! Jetzt steuerst du Käppi.", -- Basic_Training_-_Movement ["Go on top of the flower"]="Geh auf die Spitze der Blume", ["Go, quick!"]="Los, schnell!", ["Gorkij"]="Gorkidsch", @@ -744,6 +795,7 @@ ["Go to Thanta and get the device part!"]="Gehe zu Thanta und ergattere das Bauteil!", ["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.", ["Go to the surface!"]="Geh an die Oberfläche!", +["Go to the target."] = "Beweg dich zum Ziel.", -- Basic_Training_-_Rope ["Go to the upper platform and get the weapons in the crates!"]="Geh zur oberen Plattform und nimm dir die Waffen in den Kisten!", ["Got the saucer!"]="Ich hab die Untertasse!", ["Got to go back."] = "Ich muss zurück.", -- A_Space_Adventure:cosmos @@ -751,8 +803,8 @@ ["Grab mines/barrels: [High jump]"] = "Minen/Fässer schnappen: [Hochsprung]", -- Tumbler ["Gravity: 100%"] = "Schwerkraft: 100%", -- Gravity ["Great choice, Steve! Mind if I call you that?"]="Großartige Entscheidung, Stefan! Stört es dich, wenn ich dich so nenne?", +["Great!"] = "Großartig!", -- Basic_Training_-_Rope ["Great! Let’s kill all these enemies, using portals."] = "Großartig! Lasst uns diese Feinde vernichten, und zwar mit Portalen.", -- portal -["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"]="Gute Arbeit! Nun schlag sie mit deinem Baseballschläger! |Tipp: Du kannst die Waffe mit [Rechtsklick] wechseln!", ["Great! You will be contacted soon for assistance."]="Gut! Du wirst schon bald für Unterstützung benachrichtigt.", ["Green areas aren't portal enabled"]="Grüne Bereiche sind portalabweisend", ["Green areas are portal-proof and repel portals."] = "Grüne Bereiche sind portalabweisend.", -- A_Space_Adventure:final @@ -762,17 +814,17 @@ ["Green"] = "Grün", -- ["Green Hog Grape"]="Grünigeltraube", ["Green hogs won't intentionally hurt you"]="Grüne Igel werden dich nicht absichtlich verletzen.", -["Green hogs won't intentionally hurt you."] = "Grüne Igel werden dich nicht absichtlich verletzen.", -- A_Space_Adventure:fruit01 ["Greenhorn"]="Grünschnabel", -["Green lipstick bullet: [Poisonous, deals no damage]"]="Grüne Lippenstiftpatrone: (giftig, kein Schaden)", +["Green Lipstick Bullet"] = "Grüne Lippenstiftpatrone", -- Continental_supplies ["Greetings, cloudy one!"]="Grüße, du Wolkiger!", ["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!", ["Greetings, %s!"] = "Sei gegrüßt, %s!", -- A_Classic_Fairytale:dragon ["Greg"] = "Gregor", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork ["Grenade Group"]="Granatengruppe", -["Grenade Training"]="Granatentraining", +["Grenades explode after 1 to 5 seconds (you decide)."] = "Granaten explodieren nach 1 bis 5 Sekunden (du entscheidest).", -- Basic_Training_-_Grenade +["Grenades with high bounciness bounce a lot and behave chaotic."] = "Granaten mit hoher Sprungkraft springen sehr stark und verhalten sich chaotisch.", -- Basic_Training_-_Grenade +["Grenade Team"] = "Granaten-Team", -- Basic_Training_-_Grenade ["Grenadier"]="Grenadier", -["Grenadiers"]="Grenadiere", ["Grey"] = "Grau", -- ["Guards"]="Wächter", ["Guile"] = "Guile", -- @@ -784,12 +836,10 @@ ["Haha, I love the look on your face!"] = "Haha, ich mag deinen Gesichtsausdruck!", -- A_Classic_Fairytale:queen ["Haha, now THAT would be something!"]="Haha, na DAS wär ja was!", ["Haha, that was just a coincidence!"] = "Haha, das war nur ein Zufall!", -- A_Classic_Fairytale:queen -["Hammer"]="Hammer", ["Hannibal"]="Hannibal", ["Hapless Hogs"]="Glücklose Igel", ["Happy with your race track?|Then stop building and start racing!"] = "Zufrieden mit deiner Rennstrecke?|Dann hör auf, zu bauen, und starte das Rennen!", -- Racer ["Hard flying"]="Schwerer Flug", -["HARD"]="SCHWER", ["Harris"] = "Harald", -- ["Harry"] = "Harry", -- User_Mission_-_Nobody_Laugh ["Harry Potter"] = "Harry Potter", -- @@ -805,11 +855,13 @@ ["Health Crate Placement Mode"]="Gesundheitskistenplatzierungsmodus", ["HEALTH CRATE PLACEMENT MODE"]="GESUNDHEITSKISTENPLATZIERUNGSMODUS", ["Health: %d"] = "Gesundheit: %d", -- HedgeEditor +["Health"] = "Gesundheit", -- Basic_Training_-_Movement ["Health: Hogs lose up to 7% base health per turn"] = "Gesundheit: Igel verlieren bis zu 7% der Grundgesundheit pro Zug", -- Battalion ["Health Modification Mode"]="Gesundheitsmodifikationsmodus", ["HEALTH MODIFICATION MODE"]="GESUNDHEITSMODIFIKATIONSMODUS", ["Heartful"]="Herzlich", -["Heavy Cannfantry"]="Schwere Kannfantrie", +["Heavenly Defense"] = "Himmlische Verteidigung", -- Tentacle_Terror +["Heavy Cannfantry"]="Schwere Kannfanterie", ["Heavy"]="Schwierig", ["Heckles"] = "Jux", -- ["Heck, you even executed one of your own!"] = "Verdammt, ihr habt sogar einen von euch exekutiert!", -- A_Classic_Fairytale:queen @@ -818,7 +870,7 @@ ["HEDGEEDITOR"] = "HEDGEEDITOR", -- HedgeEditor ["HedgeEditor tool"] = "HedgeEditor-Werkzeug", -- HedgeEditor ["Hedgehog"] = "Igel", -- -["Hedgehog projectile: [Fire your hog like a Sticky Bomb]"]="Igelprojektil: (Feuer deinen Igel wie eine Haftmine)", +["Hedgehog Projectile"] = "Igelprojektil", -- Continental_supplies ["Hedgehogs can not be deleted."] = "Igel können nicht gelöscht werden.", -- HedgeEditor ["Hedgehogs will be revived after their death."] = "Igel werden nach ihrem Tod wiederbelebt.", -- Mutant ["Hedgehogs will start in the first waypoint."] = "Igel starten im ersten Wegpunkt.", -- Racer @@ -839,7 +891,6 @@ ["Helpers: Hogs will get 1 out of 2 helpers randomly each turn"] = "Helfer: Igel kriegen zufällig 1 aus 2 Helfern pro Zug", -- Battalion ["Help Hog Solo to find all the parts of the anti-gravity device."]="Hilf Igel Einsam, alle Bauteile des Antischwerkraftgerätes zu finden.", ["Help me, Leaks!"]="Hilf mir, Undichte!", -["Help me, please!!!"]="Hilfe! Zu Hilfe! Bitte!", ["Help me, please!"]="Hilf mir bitte!", ["He moves like an eagle in the sky."]="Er bewegt sich wie ein Adler in der Luft.", ["He must be in the village already."]="Er muss schon im Dorf sein.", @@ -850,12 +901,15 @@ ["Here! Take it..."]="Hier, nimm es …", ["Here! Take it!"] = "Hier! Nimm es!", -- A_Space_Adventure:ice01 ["Here we go!"]="Auf geht's!", +["Here you will find the current mission instructions."] = "Hier siehst du die aktuellen Missionsanweisungen.", -- Basic_Training_-_Movement ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "Hier wirst du den Flug mit der fliegenden Untertasse|und ein paar coole Tricks lernen.", -- Basic_Training_-_Flying_Saucer +["Heroic Wind"] = "Heroischer Wind", -- Continental_supplies ["Hero Team"]="Heldenteam", ["He's so brave..."]="Er ist so mutig.", ["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.", ["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.", -- A_Space_Adventure:moon02 ["He won't be selling us out anymore!"]="Er wird uns nicht mehr verraten!", +["Hey, don't forget us! We still need to climb up!"] = "He! Vergiss uns nicht! Wir müssen immer noch nach oben klettern!", -- A_Classic_Fairytale:family ["Hey guys!"]="Hey, Leute!", ["Hey, guys!"]="Hey, Leute!", ["Hey"]="Hey", @@ -867,23 +921,37 @@ ["H"]="H", ["Hidden"] = "Versteckt", -- portal ["High Gravity: Gravity is %i%%"] = "Hohe Schwerkraft: Schwerkraft ist auf %i%%", -- Gravity +["High Jump: [Backspace]"] = "Hochsprung: [Rücktaste]", -- Basic_Training_-_Movement ["Highlander: Eliminate enemy hogs to take their weapons"] = "Hochländer: Eliminiere feindliche Igel, um ihre Waffen zu nehmen", -- Highlander ["Highlander: Eliminate hogs to take their weapons"] = "Hochländer: Eliminiere Igel, um ihre Waffen zu nehmen", -- Highlander -["--- Highland ---"] = "--- Hochland ---", -- Battalion ["Highland: Hogs get %d random weapons from their pool"] = "Hochland: Igel erhalten %d zufällige Waffen aus ihrem Waffenpool", -- Battalion +["--- Highland Mode ---"] = "--- Hochlandmodus ---", -- Battalion +["High Target"] = "Hohes Ziel", -- Basic_Training_-_Bazooka ["Hightime"]="Hoch hinaus", ["Hightower"] = "Hochturm", -- +["Hill Guard"] = "Hügelwache", -- Bazooka_Battlefield ["Hi! Nice to meet you"]="Hi! Schön, dich zu sehen.", ["Hi! Nice to meet you."] = "Hi! Schön, dich zu sehen.", -- A_Space_Adventure:ice01 +["Hint: Don't stand too close at the wall before you jump!"] = "Tipp: Steh nicht zu nah an der Wand, bevor du springst!", -- Basic_Training_-_Movement ["Hint: Double Jump - Press [Backspace] twice"]="Tipp: Doppelsprung – Drück [Rücktaste] 2 Mal", +["Hint: Drilling holes should solve everything."] = "Tipp: Löcher bohren sollte alle Probleme lösen.", -- A_Classic_Fairytale:family +["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "Tipp: Drücke »Hochsprung« erneut, wenn du nah am höchsten Punkt eines Hochsprungs bist.", -- Basic_Training_-_Movement +["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "Tipp: Es könnte eine gute Idee sein, einen Träger zu platzieren,|bevor du mit dem Bohren anfängst. Ich sag ja nur.", -- A_Classic_Fairytale:family +["Hint: It might be easier if you vary the angle only slightly."] = "Tipp: Es könnte leichter sein, wenn du den Winkel nur leicht veränderst.", -- Basic_Training_-_Bazooka ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "Tipp: Der Pool eines getöteten Igels wird nicht seinem Mörder übertragen", -- Battalion +["Hint: Launch the bazooka horizontally at full power."] = "Tipp: Starte die Bazooka horizontal mit voller Kraft.", -- Basic_Training_-_Bazooka ["Hint: Press [Esc] to review the mission texts."] = "Tipp: Drücke [Esc], um die Missionstexte wieder zu sehen.", -- A_Classic_Fairytale:first_blood ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "Tipp: Wähle den Schweißbrenner aus, ziele und drücke [Angriff]. Drücke [Angriff] erneut zum Anhalten.", -- A_Classic_Fairytale:journey ["Hint: Select the low gravity and press [Fire]."] = "Tipp: Wähle die niedrige Schwerkraft aus und drücke [Angriff].", -- A_Classic_Fairytale:journey +["Hint: %s needs to get really close to the princess!"] = "Tipp: %s muss sehr nah an der Prinzessin stehen!", -- A_Classic_Fairytale:family +["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "Tipp: Das Seil verbiegt sich nur um Objekte.|Wenn es nichts berührt, ist es immer schnurgerade.", -- Basic_Training_-_Rope ["--- Hint ---"] = "--- Tipp ---", -- Battalion -["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.|", +["Hint: Use the flower for orientation."] = "Tipp: Benutze die Blume als Orientierungshilfe.", -- Basic_Training_-_Movement +["Hint: Use the quit key to see the team’s continent."] = "Tipp: Benutze die Verlassentaste, um den Kontinent des Teams zu sehen.", -- Continental_supplies +["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "Tipp: Wenn du das Seil verkürzt, bewegst du dich schneller!|Und wenn du es verlängerst, wirst du langsamer.", -- Basic_Training_-_Rope +["Hint: You might want to stay out of sight and take all the crates ..."] = "Tipp: Du solltest aus der Schusslinie bleiben und alle Kisten aufsammeln.", -- A_Classic_Fairytale:journey ["His arms are so strong!"]="Seine Arme sind so stark!", -["hits"]="Treffer", +["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "Drücke die »Igel wechseln«-Taste, bis du|Käppi ausgewählt hast, den Igel mit der Mütze!", -- Basic_Training_-_Movement ["Hmm … it's going slower than expected."] = "Hmm … das dauert länger, als ich erwartet habe.", -- A_Classic_Fairytale:queen ["Hmmm...actually...I didn't either."]="Hmmm, ich … eigentlich auch nicht.", ["Hmmm..."]="Hmmm …", @@ -899,6 +967,7 @@ ["Hog decar"]="Igel decar", ["Hog dertien"]="Igel dertien", ["Hog D"]="Igel D", +["Hog %d"] = "Igel %d", -- SimpleMission ["Hog EOF"]="Igel EOF", ["Hogera is definitely the last planet I saved!"] = "Ich rette so bald keine Planeten mehr. Hogera reicht!", -- A_Space_Adventure:final ["Hogera is safe!"]="Hogera ist in Sicherheit!", @@ -919,7 +988,7 @@ ["Hog Solo arrived at the Desert Planet!"] = "Igel Einsam ist auf dem Wüstenplaneten angekommen!", -- A_Space_Adventure:cosmos ["Hog Solo arrived at the Fruit Planet!"] = "Igel Einsam ist auf dem Obstplaneten angekommen!", -- A_Space_Adventure:cosmos ["Hog Solo arrived at the Ice Planet!"] = "Igel Einsam ist auf dem Eisplaneten angekommen!", -- A_Space_Adventure:cosmos -["Hog Solo arrived at the meteorite!"] = "Igel Einsam ist auf dem Meterioten angekommen!", -- A_Space_Adventure:cosmos +["Hog Solo arrived at the meteorite!"] = "Igel Einsam ist auf dem Meteoriten angekommen!", -- A_Space_Adventure:cosmos ["Hog Solo arrived at the moon!"] = "Igel Einsam ist auf dem Mond angekommen!", -- A_Space_Adventure:cosmos ["Hog Solo arrived at the Planet of Death!"] = "Igel Einsam ist auf dem Planeten des Todes angekommen!", -- A_Space_Adventure:cosmos ["Hog Solo couldn't escape, try again!"]="Igel Einsam konnte nicht fliehen, versuch es nochmal!", @@ -934,8 +1003,9 @@ ["- Hogs will be revived"] = "- Igel werden wiederbelebt", -- Capture_the_Flag ["- Hogs will drop the flag when killed"] = "- Getötete Igel lassen die Flagge fallen", -- Capture_the_Flag ["Hog two"]="Igel zwei", +["Hold [Attack] to attach the rope."] = "Halte [Angriff], um das Seil zu befestigen.", -- Basic_Training_-_Rope +["Hold the Attack key pressed for more power."] = "Halte die Angriffstaste für mehr Kraft.", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Holy shit!"] = "Ach du dicker Vater!", -- Mutant -["Homing Bee"]="Zielsuchende Biene", ["Honda"] = "Honda", -- ["Honest Lee"]="Leo Ehrlich", ["Hook"]="Haken", @@ -958,6 +1028,7 @@ ["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!", ["However, my mates don't agree with me on letting you go..."]="Aber meine Freunde wollen dich nicht gehen lassen …", ["However, the army of Yellow Watermelons is about to attack any moment now."]="Aber die Armee der Gelben Wassermelonen wird jeden Moment angreifen.", -- A_Space_Adventure:fruit01 +["How to Rope"] = "Verwendung des Seils", -- Basic_Training_-_Rope ["How would you like being discriminated against?"] = "Wie würde es sich anfühlen, wenn ihr die Diskriminierten wärt?", -- A_Classic_Fairytale:queen ["Huh?"] = "Hä?", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"]="Jäger", @@ -976,21 +1047,23 @@ ["I can't believe what I'm hearing!"]="Ich kann nicht glauben, was ich höre!", ["I can't let you go further because …"] = "Ich kann euch nicht weitergehen lassen, weil …", -- A_Classic_Fairytale:queen ["I can't wait any more, I have to save myself!"]="Ich kann nicht länger warten, ich muss selber zur Hilfe eilen!", +["Ice"] = "Eis", -- Basic_Training_-_Movement ["Ice Jake"]="Eis-Jakob", ["I could just teleport myself there..."]="Ich könnte mich einfach dorthin teleportieren.", ["Icy Girder: [3]"] = "Eisiger Bauträger: [3]", -- HedgeEditor ["Icy Land: [3]"] = "Eisiges Gelände: [3]", -- HedgeEditor ["Icy Land"]="Eisiges Gelände", ["I'd better get going myself."]="Ich geh jetzt besser weiter.", +["Identity Thief"] = "Identitätsdieb", -- Mutant ["I didn't until about a month ago."]="Ich wusste es nicht vor einem Monat.", ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "Mir egal. Sie ist ein Vermögen wert. Tschüss, du Narr!", -- A_Space_Adventure:fruit02 -["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 gemacht hast, aber gute Arbeit!|Die nächste Zielscheibe sollte ein Kinderspiel für dich sein!", -- Basic_Training_-_Rope ["I don't know if I can forget what you've done!"] = "Ich weiß nicht, ob ich vergessen kann, was du getan hast!", -- A_Classic_Fairytale:epil ["I don't know who I can trust anymore."] = "Ich weiß nicht mehr, wem ich vertrauen kann.", -- A_Classic_Fairytale:epil ["I don't like your tone! You're hurting me!"] = "Deine Ausdrucksweise gefällt mir nicht! Du verletzt mich!", -- A_Classic_Fairytale:queen ["I feel something...a place! They will arrive near the circles!"]="Ich spüre etwas … einen Ort! Sie werden in der Nähe der Kreise auftauchen!", ["If only I had a way..."]="Wenn ich nur wüsste, wie.", ["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 …", +["If only one enemy is left, you'll get bonus ammo."] = "Wenn es nur noch einen Gegner gibt, erhältst du neue Munition.", -- A_Space_Adventure:death02 ["I forgot that she's the daughter of the chief, too..."]="Ich hab vergessen, dass sie auch die Tochter des Häuptlings ist.", ["I found it! Hooray!"] = "Ich hab's gefunden! Hurra!", -- A_Space_Adventure:desert01 ["If some good old explosives were enough to save Hogera …"] = "Wenn ein paar einfache Sprengkörper gereicht haben, um Hogera zu retten, …", -- A_Space_Adventure:final @@ -998,13 +1071,16 @@ ["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!", ["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.", ["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 get stuck, use your Desert Eagle or restart the mission!|"]="Wenn du stecken bleibst, benutze deine Desert Eagle oder starte die Mission neu.|", +["If you don't want to slip away, you have to keep moving!"] = "Wenn du nicht wegrutschen willst, musst du in Bewegung bleiben!", -- Basic_Training_-_Movement +["If you get stuck, use your Desert Eagle or restart the mission!"] = "Wenn du hängenbleibst, benutze deine Desert Eagle|oder starte die Mission neu.", -- A_Classic_Fairytale:journey ["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.", -- A_Space_Adventure:fruit02 -["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.", -- A_Space_Adventure:death02 +["If you hurt an enemy, you'll get one third of the damage dealt."] = "Wenn du einen Feind verletzt, erhältst du ein Drittel des Schadens.", -- A_Space_Adventure:death02 ["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", -- A_Space_Adventure:death02 -["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.", -- A_Space_Adventure:death02 +["If you just don’t care …"] = "Wenn es dir völlig egal ist …", -- Continental_supplies ["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", -- A_Space_Adventure:death02 +["If you kill an enemy, your health will be set to 100."] = "Wenn du einen Gegner tötest, wird deine Gesundheit auf 100 gesetzt.", -- A_Space_Adventure:death02 ["If you know what I mean..."]="Wenn du verstehst, was ich meine.", +["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "Wenn beim Versuch, ein Seil erneut zu befestigen,|ein Schuss danebengeht, ist dein Seil ebenfalls verloren!", -- Basic_Training_-_Rope ["If you say so..."]="Wenn du es sagst …", ["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.", -- A_Space_Adventure:fruit03 ["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.", @@ -1056,6 +1132,7 @@ ["I'm here to help you rescue her."]="Ich bin hier, um dir bei ihrer Rettung zu helfen.", ["I'm living a dream!"] = "Ich lebe einen Traum!", -- A_Classic_Fairytale:queen ["I'm not sure about that!"]="Ich bin mir darüber nicht so sicher.", +["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "WICHTIG: Um die Missionsanzeige erneut zu sehen, benutze|die Verlassen- oder Pausetaste.", -- Basic_Training_-_Movement ["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.", ["%i ms"] = "%i ms", -- Gravity ["I'm so glad this is finally over!"] = "Ich bin so froh, dass es endlich vorbei ist!", -- A_Space_Adventure:final @@ -1067,6 +1144,7 @@ ["In am also entrusting you with some rope"]="Ich werde dir auch etwas Seil anvertrauen.", ["In am also entrusting you with some rope."] = "Ich werde dir außerdem etwas Seil anvertrauen.", -- A_Space_Adventure:cosmos ["In case you haven't noticed, I'm a woman, too!"] = "Falls du es noch nicht bemerkt hast, ich bin auch eine Frau!", -- A_Classic_Fairytale:queen +["Increase the dust storm damage by sacrificing|your invulnerable ammo."] = "Erhöhe den Staubsturmschaden, indem|du deine Munition von Unverwundbarkeit opferst.", -- Continental_supplies ["Incredible..."]="Unglaublich.", ["Indestructible Girder: [2]"] = "Unzerstörbarer Bauträger: [2]", -- HedgeEditor ["Indestructible Land: [2]"] = "Unzerstörbares Land: [2]", -- HedgeEditor @@ -1078,6 +1156,7 @@ ["I need to prevent their arrival!"]="Ich muss ihre Ankunft verhindern!", ["I need to warn the others."]="Ich muss die anderen warnen.", ["In fact, you are the only one that's been acting strangely."]="Tatsächlich bist du der Einzige, der sich seltsam benahm.", +["Initial health: %d"] = "Anfangsgesundheit: %d", -- Continental_supplies ["Initiate escape wish!"] = "Fluchtwunsch initiiert!", -- A_Classic_Fairytale:queen ["In order to get to the other side, you need to get rid of the crates first."] = "Um auf die andere Seite zu gelangen, musst du zuerst die Kisten los werden.", -- A_Classic_Fairytale:dragon ["Insanity!"] = "Wahnsinn!", -- Mutant @@ -1088,10 +1167,10 @@ ["Insufficient Power"]="Unzureichende Energie", ["Interesting idea, haha!"]="Interessanter Gedanke, haha!", ["Interesting! Last time you said you killed a cannibal!"]="Interessant. Das letzte Mal sagtest du, dass du einen Kannibalen getötet hast.", -["In the Ice Planet Flying Saucer Stadium ..."]="Im Stadion der fliegenden Untertassen auf dem Eisplaneten …", ["In the meantime, take these and return to your \"friend\"!"]="In der Zwischenzeit, nimm diese und kehr zu deinem »Freund« zurück!", +["In the stadium, where the best pilots compete ..."] = "Im Stadion, wo sich die besten Piloten messen …", -- A_Space_Adventure:ice02 ["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!", -- A_Space_Adventure:moon02 -["In this mission you get %d%% fuel."] = "In dieser Mission erhälst du %d%% Treibstoff.", -- User_Mission_-_Diver +["In this mission you get %d%% fuel."] = "In dieser Mission erhältst du %d%% Treibstoff.", -- User_Mission_-_Diver ["In this mission you have infinite time."] = "In dieser Mission hast du unendlich viel Zeit.", -- portal ["Invalid Placement"]="Ungültige Position", ["Invasion"]="Invasion", @@ -1126,10 +1205,11 @@ ["It must be the aliens' deed."]="Das muss die Tat der Außerirdischen sein.", ["It must be the aliens!"]="Es müssen diese Außerirdischen sein!", ["It must be the cyborgs again!"]="Das müssen wohl wieder diese Cyborgs sein!", +["It needs some practice, but you have infinite lives."] = "Man braucht etwas Übung dafür, aber du hast unendlich viele Leben.", -- Basic_Training_-_Rope ["I told you, I just found them."]="Ich sag's dir, ich habe sie gerade erst gefunden.", ["It only works in teleportation nodes of your own clan."] = "Dies funktioniert nur innerhalb Teleportations-|stationen deines eigenen Klans.", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."]="Gut, dass SUDDEN DEATH in 99 Runden ist …", -["It's all about the right carrots, you know."] = "Es kommt allein auf die richtigen Karrotten an, weißt du?", -- A_Classic_Fairytale:epil +["It's all about the right carrots, you know."] = "Es kommt allein auf die richtigen Karotten an, weißt du?", -- A_Classic_Fairytale:epil ["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!", ["It's amazing how quickly our lives can change."] = "Es ist erstaunlich, wie schnell sich unsere Leben ändern können.", -- A_Classic_Fairytale:epil ["It's an ancient ritual of theirs."] = "Das ist eines ihrer antiken Rituale.", -- A_Classic_Fairytale:queen @@ -1186,6 +1266,7 @@ ["Judas"]="Judas", ["Juicy"] = "Saft", -- ["Jumping is disabled"]="Sprünge sind deaktiviert!", +["Jumping"] = "Springen", -- Basic_Training_-_Movement ["Just kidding, none of you have died!"]="Nur ein Witz! Niemand von euch ist gestorben!", ["Just look at Leaks, may he rest in peace!"] = "Schau dir nur Undichte an, möge er in Frieden ruhen!", -- A_Classic_Fairytale:queen ["Just on a walk."]="Nur spazieren.", @@ -1193,12 +1274,10 @@ ["Kaboom! Hahahaha! Take this, stupid meteorite!"] = "Krawumm! Hahahaha! Nimm dass, blöder Meteorit!", -- A_Space_Adventure:final ["Kaboom!"] = "Kabumm!", -- Basic_Training_-_Flying_Saucer ["Kamikaze Expert! +15 points!"] = "Kamikazeexperte! +15 Punkte", -- Space_Invasion -["Kamikaze"]="Kamikaze", ["Keep it up!"]="Weiter so!", ["Ken"] = "Ken", -- ["Kenshi"] = "Kenshi", -- ["Kerguelen"]="Kerguelen", -["key."]="Taste.", ["Kill all enemy hedgehogs in a single turn."] = "Töte alle gegnerischen Igel in einem Zug.", -- Big_Armory ["Kill him or skip your turn."] = "Töte ihn oder überspringe deinen Zug.", -- A_Classic_Fairytale:backstab ["Killing spree!"]="Blutrausch!", @@ -1212,7 +1291,7 @@ ["Kill the traitor, %s, or spare his life!"] = "Töte den Verräter, %s, oder verschon sein Leben!", -- A_Classic_Fairytale:backstab ["King Customer"]="König Kunde", ["King"]="König", -["--- King ---"] = "--- König ---", -- Battalion +["--- King Mode ---"] = "--- Königsmodus ---", -- Battalion ["Knight"]="Ritter", ["Knives"] = "Messer", -- ["Knockball"] = "Schlagball", -- Knockball @@ -1228,6 +1307,8 @@ ["Last Resort: Having less than 25% base health gives kamikaze"] = "Letzte Wahl: Igel mit unter 25% Grundgesundheit erhalten Kamikaze", -- Battalion ["Last Target!"]="Letzte Zielscheibe!", ["Last wave in 3 turns"]="Letzte Welle in 3 Zügen", +["Launch a bouncy ball which explodes into a crate."] = "Feuere einen sprunghaften Ball, der zu einer Kiste wird.", -- Continental_supplies +["Launch some bazookas to destroy the targets!"] = "Feuere ein paar Bazookas ab, um die Zielscheiben zu zerstören!", -- Basic_Training_-_Bazooka ["Leaderbot"]="Führboter", ["Leader"]="Führer", ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "Führ die Grünen Bananen in die Schlacht und eliminiere alle Feinde!", -- A_Space_Adventure:fruit01 @@ -1235,6 +1316,7 @@ ["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!", ["Leaks A Lot must survive!"]="Undichte Stelle muss überleben!", ["Leaks A Lot"]="Undichte Stelle", +["Leap of Faith"] = "Mutsprung", -- Basic_Training_-_Movement ["Led Heart"]="Geführtes Herz", ["Lee"]="Leo", ["Left and right"] = "Links und rechts", -- WxW @@ -1245,12 +1327,14 @@ ["[Left], [Right]: Change health value."]="[Links], [Rechts]: Gesundheitswert auswählen", ["[Left], [Right]: Change sprite selection"]="[Links], [Rechts]: Sprite-Auswahl ändern", ["Left/right: Choose crate contents"] = "Links/rechts: Kisteninhalt wählen", -- Construction_Mode -["Left/right: Choose structure type|Cursor: Build structure"] = "Links/rechts: Gebäudetyp wählen|Cursor: Gebäude bauen", -- Construction_Mode +["Left/right: Choose structure type"] = "Links/rechts: Gebäudetyp wählen", -- Construction_Mode +["Left Tong"] = "Linke Kneifzange", -- Bazooka_Battlefield ["Legs"] = "Beiner", -- ["Less tools, more fun"] = "Weniger Werkzeuge, mehr Spaß", -- Battalion ["Lestat"] = "Lestat", -- portal ["Let a continent provide your weapons!"]="Lass einen Kontinent dich mit Waffen beliefern!", ["Let me test your skills a little, will you?"]="Lass mich deine Fertigkeiten ein wenig testen, okay?", +["Let's get started!"] = "Los geht's!", -- Basic_Training_-_Bazooka ["Let's go home!"]="Lasst uns nach Hause gehen!", ["Let's go!"]="Los geht's!", ["Let's go, %s!"] = "Los geht's, %s!", -- WxW @@ -1263,14 +1347,18 @@ ["Level 2 clear!"]="Level 2 abgeschlossen!", ["Level Data Saved!"]="Leveldaten gesichert!", ["Lightbender"] = "Leuchte", -- -["Light Cannfantry"]="Leichte Kannfantrie", +["Light Cannfantry"]="Leichte Kannfanterie", +["Limited Ammo"] = "Begrenzte Munition", -- Basic_Training_-_Bazooka ["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.", -- A_Space_Adventure:ice01 -["Listen up, maggot!!"]="Aufgepasst, du Made!", +["Listen up, maggot!"] = "Aufgepasst, du Made!", -- User_Mission_-_Dangerous_Ducklings ["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.", +["Little Obstacle Course"] = "Kleiner Hindernislauf", -- Basic_Training_-_Rope ["Lively Lifeguard"] = "Lebhafter Lebensretter", -- User_Mission_-_That_Sinking_Feeling -["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.)", +["Lonely Cries"] = "Einsame Heuler", -- Continental_supplies ["Lonely Hog"]="Einsamer Igel", +["Long Jump: [Enter]"] = "Weitsprung: [Enter]", -- Basic_Training_-_Movement ["Long Live The Queen"] = "Lang lebe die Königin", -- A_Classic_Fairytale:queen +["Look around: [Mouse movement]"] = "Umsehen: [Mausbewegung]", -- Basic_Training_-_Movement ["Look, boss! There is the target!"]="Sieh, Boss! Dort ist das Ziel!", -- A_Space_Adventure:moon01 ["Look, I had no choice!"]="Versteh doch, ich hatte keine Wahl!", ["Look out! There's more of them!"]="Passt auf! Da sind noch mehr von ihnen!", @@ -1279,6 +1367,7 @@ ["Look, someone is stealing the saucer!"]="Sieh, jemand stiehlt die Untertasse!", ["Loon"] = "Spinner", -- The_Specialists ["Loopy"] = "Gaga", -- +["Lord Evil"] = "Lord Böse", -- Tentacle_Terror ["Losing Condition: Destroy"] = "Niederlagebedingung: Zerstören", -- HedgeEditor ["Low Gravity: Gravity is %i%%"] = "Niedrige Schwerkraft: Schwerkraft ist auf %i%%", -- Gravity ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "Loyaler Hochländer: Eliminiere feindliche Igel, um ihre Waffen zu nehmen", -- Highlander @@ -1299,16 +1388,14 @@ ["Mark gears for win/lose conditions"] = "Markiere Gears für Sieg-/Niederlagebedingungen", -- HedgeEditor ["Mark"] = "Markus", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork ["Mark/unmark gear: [Left Click]"] = "Gear markieren/demarkieren: [Linksklick]", -- HedgeEditor -["- Massive weapon bonus on first turn"]="- Großer Waffenbonus am ersten Zug", ["Max Citrus"]="Max Zitron", ["Maybe you should try an easier map next time."] = "Vielleicht solltet ihr beim nächsten Mal eine leichtere Karte ausprobieren.", -- Racer ["Maybe you should try an easier TechRacer map."] = "Vielleicht solltet ihr eine leichtere TechRacer-Karte ausprobieren.", -- TechRacer ["Maybe you should try easier waypoints next time."] = "Vielleicht solltet ihr beim nächsten Mal mit leichteren Wegpunkten spielen.", -- Racer ["May the spirits aid you in all your quests!"]="Mögen die Geister dich in all deinen Aufgaben begleiten!", ["Meals"] = "Mampf", -- -["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)", +["Medicine"] = "Medizin", -- Continental_supplies ["Medic"]="Sanitäter", -["MEDIUM"]="MITTEL", ["Mega kill!"] = "Megakiller!", -- Mutant ["Meiwes"]="Meiwes", ["mikade"] = "mikade", -- @@ -1320,54 +1407,53 @@ ["Mine Placement Mode"]="Minenplatzierungsmodus", ["MINE PLACEMENT MODE"]="MINENPLATZIERUNGSMODUS", ["Mines explode after %d s."] = "Minen explodieren nach %d s.", -- Mutant +["Mines time: 0s-5s"] = "Minenzeitzünder: 0s-5s", -- SimpleMission ["Mines time: 0 seconds"] = "Minenzeitzünder: 0 Sekunden", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 ["Mines time: 1.5 seconds"] = "Minenzeitzünder: 1,5 Sekunden", -- A_Space_Adventure:death01 +["Mines time: %.1fs"] = "Minenzeitzünder: %.1fs", -- SimpleMission ["Mines time: 1 second"] = "Minenzeitzünder: 1 Sekunde", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +["Mines time: %.2fs"] = "Minenzeitzünder: %.2fs", -- SimpleMission ["Mines time: 3 seconds"] = "Minenzeitzünder: 3 Sekunden", -- A_Classic_Fairytale:journey ["Mines time: 5 seconds"] = "Minenzeitzünder: 5 Sekunden", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:journey -["Mine Strike"]="Minen-Luftangriff", +["Mines time: %ds"] = "Minenzeitzünder: %ds", -- SimpleMission ["Minion"]="Lakai", ["Minions"]="Lakaien", -["Mission failed!"] = "Mission fehlgeschlagen!", -- Big_Armory ["MISSION FAILED"]="MISSION GESCHEITERT", -["Mission failure in %d s"] = "Niederlage in %d s", -- Big_Armory -["Mission lost!"] = "Mission fehlgeschlagen!", -- Basic_Training_-_Grenade +["Mission Panel"] = "Missionsanzeige", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"]="MISSION ERFOLGREICH", -["Mission won!"] = "Mission erfolgreich!", -- Basic_Training_-_Grenade ["Mister Pear"]="Herr Birne", ["Mixed %d"] = "Gemischt %d", -- WxW ["Mixed"] = "Gemischt", -- WxW ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "Modi: Aktiviere einen anderen Spielmodus, indem du|»highland«, »king« oder »points« als »mode=«|in den Skriptparameter einträgst", -- Battalion -["Modifiers: Unlimited ammo, per-hog ammo"] = "Modifikatoren: Unbegrenzte Munition, Igelwaffen", -- Battalion -["Modifiers: Unlimited ammo, shared clan ammo"] = "Modifikatoren: Unbegrenzte Munition, Klans teilen sich Waffen", -- Battalion +["Modifiers: Unlimited attacks, per-hog ammo"] = "Modifikatoren: Unbegrenzte Angriffe, Igelwaffen", -- Battalion +["Modifiers: Unlimited attacks, shared clan ammo"] = "Modifikatoren: Unbegrenzte Angriffe: Klanwaffen", -- Battalion ["Modify Sprite under Cursor: [Left Click]"] = "Sprite unter Cursor modifizieren: [Linksklick]", -- HedgeEditor ["Molly"] = "Molle", -- -["Molotov"]="Molotowcocktail", ["Monster kill!"] = "Teuflisch!", -- Mutant ["Monsters"] = "Monster", -- ["Mooney"] = "Finster", -- ["More Natives"]="Mehr Eingeborene", ["Morris"] = "Moritz", -- ["Most mines are not active."]="Die meisten Minen sind Blindgänger.", -- A_Space_Adventure:desert02 -["Most of the destructible terrain in marked with blue color"]="Der Großteil des zerstörbaren Geländes ist mit einer blauen Farbe markiert.", +["Most of the destructible terrain is marked with dashed lines."] = "Der Großteil des zerstörbaren Landes ist mit gestrichelten Linien markiert.", -- A_Space_Adventure:desert01 ["Most of the time you'll be able to use the freezer only."] = "Die meiste Zeit wirst du nur die Eiskanone benutzen können.", -- A_Space_Adventure:ice01 ["Most of the time you'll be able to use the icegun only."] = "Die meiste Zeit wirst du nur die Eiskanone benutzen können.", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"]="Bewegen: [Hoch], [Runter], [Links], [Rechts]", ["Mr Mango"]="Mister Mango", ["Mudkip"] = "Hydropi", -- ["Multi-shot! +15 points!"] = "Multischuss! +15 Punkte!", -- Space_Invasion +["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "Mehrfachverwendung: Du kannst den gleichen Munitionstyp im selben Zug|mehrmals aufsammeln und verwenden", -- Highlander ["Muriel"]="Muriel", ["Muscle Dissolver"]="Muskellöser", ["Mushroom Kingdom"] = "Pilzkönigreich", -- ["Mutant"]="Mutant", +["My First Bazooka"] = "Meine erste Bazooka", -- Basic_Training_-_Bazooka ["My flying saucer stopped working!"] = "Meine fliegende Untertasse funktioniert nicht mehr!", -- A_Space_Adventure:ice01 -["Nade Boy"]="Granatenjunge", ["Nah, probably everyone was just stupid."] = "Ach was, wahrscheinlich waren alle nur doof.", -- A_Space_Adventure:final ["Nameless Heroes"]="Namenlose Helden", ["Name"]="Name", ["Nancy Screw"]="Lockere Schraube", -["Napalm"]="Napalm", -["Napalm rocket: [Fire a bomb with napalm!]"]="Napalmrakete: (Feuer eine Bombe mit Napalm ab!)", +["Napalm Rocket"] = "Napalmrakete", -- Continental_supplies ["Naranja Jed"]="Orangus Otus", ["Natives"]="Eingeborene", ["Naughty Ninja"]="Böser Ninja", @@ -1377,7 +1463,6 @@ ["Neutralize your enemies and be careful!"]="Neutralisiere deine Gegner und sei vorsichtig!", ["New barrels per turn: %d"] = "Neue Fässer pro Zug: %d", -- Tumbler ["New clan record: %.1fs"] = "Neuer Klanrekord: %.1fs", -- Racer, TechRacer -["NEW fastest lap: "]="NEUE schnellste Runde: ", ["New mines per turn: %d"] = "Neue Minen pro Zug: %d", -- Tumbler ["New race record: %.1fs"] = "Neuer Rennrekord: %.1fs", -- Racer, TechRacer ["Newton and the Hammock"] = "Newton und die Hängematte", -- User_Mission_-_Newton_and_the_Hammock @@ -1395,13 +1480,15 @@ ["Ninja"]="Ninja", ["Ninpo"] = "Ninpo", -- ["Nobody Laugh"]="Niemand darf lachen", -["Nobody managed to finish the race. What a shame!"] = "Niemand hat es geschafft, das Rennen abzuchließen. Welch ein Jammer!", -- Racer, TechRacer +["Nobody managed to finish the race. What a shame!"] = "Niemand hat es geschafft, das Rennen abzuschließen. Welch ein Jammer!", -- Racer, TechRacer ["Nobody takes walks every day!"] = "Niemand geht den ganzen Tag lang spazieren!", -- A_Classic_Fairytale:epil +["No continent selected"] = "Kein Kontinent ausgewählt", -- Continental_supplies ["No, I am afraid I had to travel light."]="Nein, ich fürchte, dass ich mit wenig Gepäck reisen musste.", -- A_Space_Adventure:moon01 ["No, I came back to help you out..."]="Nein, ich kam zurück, um dir zu helfen.", ["No...I wonder where they disappeared?!"]="Nein. Ich frage mich, wohin sie verschwunden sind?!", ["NomNom"]="Mjamjam", ["Nom-Nom"]="Mjam-Mjam", +["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "Keine Mehrfachverwendung: Sobald du einen Munitionstyp benutzt hast, kannst|du ihn im selben Zug nicht erneut aufsammeln", -- Highlander ["Noooo, Thanta has to stay alive!"]="Nein, Thanta muss am Leben bleiben!", ["Noo, Thanta has to stay alive!"] = "Nein, Thanta muss am Leben bleiben!", -- A_Space_Adventure:ice01 ["Nope. It was one fast mole, that's for sure."]="Nee. Es war ein schneller Maulwurf, das ist klar.", @@ -1412,13 +1499,14 @@ ["Normal Girder: [1]"] = "Normaler Bauträger: [1]", -- HedgeEditor ["Normal Land: [1]"] = "Normales Gelände: [1]", -- HedgeEditor ["Normal Land"]="Normales Gelände", -["NORMAL"]="NORMAL", +["Normally, the mission panel disappears after a few seconds."] = "Normalerweise verschwindet die Missionsanzeige nach ein paar Sekunden.", -- Basic_Training_-_Movement ["Normal Rubber: [1]"] = "Normales Gummi: [1]", -- HedgeEditor ["Normal Sticky Mine"]="Normale Haftmine", ["North America"]="Nordamerika", ["Not being able to fight or hunt."] = "Nicht in der Lage, zu kämpfen oder zu jagen.", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"]="NICHT GENUG WEGPUNKTE", -["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 \"", +["Note: This basic training assumes default controls."] = "Beachte: Diese Übung geht von der Standardsteuerung aus.", -- Basic_Training_-_Movement +["Note: Walking is disabled in this mission."] = "Beachte: Gehen ist in dieser Mission deaktiviert.", -- Basic_Training_-_Grenade ["Note: We only give you grenades if you stay in your flying saucer."] = "Beachte: Wir geben dir nur Granaten, wenn du in der|fliegenden Untertasse bleibst.", -- Basic_Training_-_Flying_Saucer ["Nothing of interest has happened."] = "Es ist nichts nennenswertes passiert.", -- Space_Invasion ["Not now, Fiery Water!"]="Nicht jetzt, Feuerwasser!", @@ -1429,16 +1517,18 @@ ["Now collect the next crate!"] = "Und jetzt sammle die nächste Kiste ein!", -- Basic_Training_-_Flying_Saucer ["Now dive just one more time and collect the next crate."] = "Jetzt tauch noch einmal ab und sammle die nächste Kiste ein.", -- ["No, we made sure of that!"]="Nein, wir hatten extra aufgepasst.", -["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!", ["Now for the supreme discipline of saucer flying, the underwater attack."] = "Jetzt kommt die ultimative Disziplin der fliegenden Untertasse, der Unterwasserangriff.", -- Basic_Training_-_Flying_Saucer ["Now go and don't waste more of my time, you coward!"] = "Jetzt geh, und vergeude meine Zeit nicht noch weiter, du Feigling!", -- A_Space_Adventure:fruit01 ["Now go and play the menu mission to complete the campaign."] = "Geh jetzt und spiele die Menümission, um die Kampagne zu beenden.", -- A_Space_Adventure:death01 +["Now go to the next crate."] = "Jetzt geh zur nächsten Kiste.", -- Basic_Training_-_Movement ["No! What have I done?! What have YOU done?!"]="Nein! Was habe ich getan?! Was hast DU getan?!", ["No. Where did he come from?"]="Nein. Woher kam er?", ["Now how do I get on the other side?!"]="Aber wie komme ich auf die andere Seite?!", ["Now I have to climb these trees"]="Jetzt muss ich diese Bäume hochklettern.", +["No Wind Influence"] = "Kein Einfluss vom Wind", -- Basic_Training_-_Grenade ["Now let's try to drop weapons while flying!"] = "Jetzt versuch mal, Waffen während des Flugs abzuwerfen!", -- Basic_Training_-_Flying_Saucer ["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.", +["Now try to get out of this bounce house|and take the next crate."] = "Jetzt versuch, aus dieser Hüpfburg zu fliehen|und hol dir die nächste Kiste.", -- Basic_Training_-_Movement ["Now use it and go to the moon PAotH station to get more fuel!"]="Benutze sie jetzt und komme zur PAdI-Mondbasis, um mehr Treibstoff zu holen!", ["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.", -- A_Space_Adventure:ice02 ["No. You and the rest of the tribe are safer there!"]="Nein. Du und der Rest deines Stammes sind hier sicherer!", @@ -1446,7 +1536,8 @@ ["Objectives"]="Ziele", ["Object Placer"] = "Objektplatzierer", -- Construction_Mode ["Obliterate them!|Hint: You might want to take cover..."]="Vernichte sie!|Tipp: Du solltest in Deckung gehen.", -["Obstacle course"]="Hindernislauf", +["Obstacle course"]="Hindernisstrecke", +["Obstacle"] = "Hindernis", -- Basic_Training_-_Rope ["Of course, but you're … special."] = "Natürlich, aber du bist … besonders.", -- A_Classic_Fairytale:epil ["Of course I am!"] = "Natürlich bin ich das!", -- A_Classic_Fairytale:queen ["Of course I have to save her. What did I expect?!"]="Natürlich muss ich sie retten. Was habe ich erwartet?", @@ -1466,8 +1557,10 @@ ["Oh! Please spare me. You can take all my treasures!"]="Oh, bitte verschone mich! Du kannst all meine Schätze nehmen.", ["Oh, silly me! I forgot that I'm the shaman."]="Ach, ich Dummkopf! Ich hab vergessen, dass ich der Schamane bin.", ["Oh, that. We were just having fun!"] = "Oh, das. Wir hatten nur Spaß!", -- A_Classic_Fairytale:queen +["Oh yeah! You sure know how to rope!"] = "Jawoll! Jetzt weißt du, wie man das Seil richtig benutzt!", -- Basic_Training_-_Rope ["Oh yes! I got the device part! Now it belongs to me alone."] = "Jawoll! Ich hab das Geräteteil! Nun gehört es mir ganz allein.", -- A_Space_Adventure:fruit02 ["Okay, I'll be extra careful!"] = "In Ordnung, ich werde besonders vorsichtig sein!", -- A_Space_Adventure:desert01 +["Okay, now destroy the target|using the baseball bat."] = "Okay, nun zerstöre die Zielscheibe|mit dem Baseballschläger.", -- Basic_Training_-_Rope ["Okay then!"] = "Okay!", -- A_Space_Adventure:fruit02 ["Okay, 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 Notfälle versteckt haben, nehmen.", -- A_Space_Adventure:moon01 ["OK, I'll be extra careful!"]="Okay, ich werde besonders vorsichtig sein!", @@ -1485,47 +1578,51 @@ ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."]="Ein Stamm war friedlich und verbrachte die Zeit mit der Jagd, Übungen und den kleinen Freuden des Lebens.", ["Oneye"] = "Einauge", -- portal ["Only Hog Solo can be trusted with the crate."] = "Nur Igel Einsam kann man die Kiste anvertrauen.", -- A_Space_Adventure:fruit02 -["Only one hog per team allowed! Excess hogs will be removed"] = "Nur ein Igel pro Team erlaubt! Überschüssige Igel werden entfernt", -- Mutant +["Only one hog per team allowed! Excess hogs will be removed."] = "Nur ein Igel pro Team erlaubt! Überschüssige Igel werden entfernt.", -- Mutant ["Only the best pilots can master the following stunts."] = "Nur die besten Piloten können die folgenden Stunts meistern.", -- Basic_Training_-_Flying_Saucer +["Only two clans allowed! Excess hedgehogs will be removed."] = "Nur zwei Klans erlaubt! Überschüssige Igel werden entfernt.", -- CTF_Blizzard ["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.", -- A_Space_Adventure:desert03 ["On the Ice Planet, where ice rules ..."]="Auf dem Eisplaneten, wo das Eis herrscht …", -- A_Space_Adventure:ice01 ["On the other side of the moon ..."]="Auf der anderen Seite des Mondes …", -- A_Space_Adventure:moon02 ["On the Planet of Sand, you have to double check your moves ..."] = "Auf dem Planeten des Sandes musst du deine Züge doppelt überdenken …", -- A_Space_Adventure:desert01 -["On this map you get %d%% fuel."] = "Auf dieser Karte erhälst du %d%% Treibstoff.", -- TechRacer -["On this map you get infinite fuel."] = "Auf dieser Karte erhälst du unbegrenzten Treibstoff.", -- TechRacer +["On this map you get %d%% fuel."] = "Auf dieser Karte erhältst du %d%% Treibstoff.", -- TechRacer +["On this map you get infinite fuel."] = "Auf dieser Karte erhältst du unbegrenzten Treibstoff.", -- TechRacer ["Oops...I dropped them."]="Upps, ich habe sie fallen gelassen.", ["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!", +["Oops! You have selected the wrong hedgehog! Just try again."] = "Upps! Du hast den falschen Igel ausgewählt! Versuch es einfach erneut.", -- Basic_Training_-_Movement +["Open ammo menu: [Right click]"] = "Munitionsmenü öffnen: [Rechtsklick]", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope ["Open that crate and we will continue!"]="Öffne diese Kiste und wir werden fortfahren!", -["Opposing Team: "]="Gegnerisches Team: ", ["Orange"] = "Orange", -- ["Orlando Boom!"]="Orlando Bumm!", ["Or let the next player place waypoints|if less than 2 waypoints have been placed."] = "Oder lass den nächsten Spieler Wegpunkte platzieren,|wenn weniger als 2 Wegpunkte platziert worden sind.", -- Racer ["Or maybe this was all part of an evil plan, so evil that even Prof. Hogevil can't think of it!"] = "Oder vielleicht war all das ein böser Plan, so böse, dass selbst Prof. Bösigel nicht drauf gekommen wäre.", -- A_Space_Adventure:final ["Oscillating Gravity: Gravity periodically changes within a range from %i%% to %i%% with a period of %s"] = "Oszillierende Schwerkraft: Schwerkraft ändert sich periodisch von %i%% bis %i%% mit einer Periode von %s", -- Gravity -["Other kills don't give you points."]="Andere Abschüsse bringen keine Punkte.", ["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.", ["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 Schaden verstümmelt.", +["Ouch! You just took fall damage."] = "Autsch! Du hast Fallschaden genommen.", -- Basic_Training_-_Movement ["Our tribe, our beautiful island!"]="Unser Stamm, unsere schöne Insel!", ["Out of ammo!"] = "Munition ist alle!", -- Tumbler +["Out of ammo! Try again!"] = "Munition ist alle! Versuch's noch mal!", -- Basic_Training_-_Bazooka +["Over the Water"] = "Über dem Wasser", -- Basic_Training_-_Rope ["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.", ["PAotH"]="PAdI", -["Parachute"]="Fallschirm", ["Patches"] = "Flick", -- ["Pathetic Resistance"]="Erbärmlicher Widerstand", ["Paul McHoggy"]="Paul McIgel", +["Pause: [P]"] = "Pause: [P]", -- Basic_Training_-_Movement ["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.", ["Penalty: If you violate above rule, you have to skip in the next turn."] = "Strafe: Wenn du obige Regel verletzt, musst du den nächsten Zug aussetzen.", -- WxW -["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)", +["Penguin Roar"] = "Pinguinröhren", -- Continental_supplies ["Perfect! Now try to get the next crate without hurting yourself!"]="Perfekt! Jetzt versuch, zur nächsten Kiste zu gelangen, ohne dich zu verletzen!", ["Per-Hog Ammo"]="Munition pro Igel", ["Per-hog Ammo: Weapons are not shared between hogs"] = "Igelwaffen: Igel teilen sich Waffen nicht untereinander", -- User_Mission_-_Nobody_Laugh -["Per team weapons"]="Waffen pro Team", +["Personal best: %.3f seconds"] = "Persönliche Bestzeit: %.3f Sekunden", -- A_Space_Adventure:ice02 ["Pfew! That was close!"]="Puh! Das war knapp!", ["Phosphat"] = "Phosphat", -- portal ["Physicist"]="Physiker", -["Piano Strike"]="Piano-Angriff", ["PickHammer"]="Presslufthammer", ["Pikachu"] = "Pikachu", -- +["Pincer Knights"] = "Kneifzangenkrieger", -- Bazooka_Battlefield ["Pings left: %d"] = "Verbleibende Pings: %d", -- Space_Invasion ["Pink"] = "Rosa", -- ["Pirates"] = "Piraten", -- @@ -1560,7 +1657,7 @@ ["Place Waypoint"] = "Wegpunkt platzieren", -- HedgeEditor ["Place waypoint"] = "Wegpunkt platzieren", -- Racer ["Place weapon crates"] = "Platziere Waffenkisten", -- HedgeEditor -["- Place your team flag at the end of your first turn"] = "- Platziere deine Teamflagge am Ende deines ersten Zuges", -- Capture_the_Flag +["- Place your clan flag at the end of your first turn"] = "- Platziere deine Klanflagge am Ende deines ersten Zuges", -- Capture_the_Flag ["Planes used: %d"]="Verwendete Flugzeuge: %d", ["Planets with all missions completed will be marked with two flowers."] = "Planeten, bei denen alle Missionen erledigt wurden, werden mit zwei Blumen markiert.", -- A_Space_Adventure:cosmos ["Planets with completed main missions will be marked with a flower."]="Planeten, bei denen die Hauptmissionen erledigt wurden, werden mit einer Blume markiert.", -- A_Space_Adventure:cosmos @@ -1576,17 +1673,19 @@ ["Please, stop releasing your \"smoke signals\"!"]="Bitte hör mit deinen »Rauchzeichen« auf!", ["Please wait …"] = "Bitte warten …", -- WxW ["Point Blank Combo! +5 points!"] = "Ganz-Schön-Dicht-Dran-Kombi! +5 Punkte!", -- Space_Invasion +["--- Points Mode ---"] = "--- Punktemodus ---", -- Battalion ["points"]="Punkte", -["--- Points ---"] = "--- Punkte ---", -- Battalion ["point(s)"] = "Punkt(e)", -- Mutant ["Poison"]="Gift", ["Poisonous Apple"]="Giftapfel", +["Poisonous, deals no damage."] = "Giftig, macht keinen Schaden.", -- Continental_supplies ["Pokémon"] = "Pokémon", ["Poor %s (%s) died %d times."] = "%s (%s) war arm dran und ist %d mal gestorben.", -- Mutant -["Population"]="Einwohnerzahl", ["Porkey"] = "Igelchen", -- -["Portal hint: one goes to the destination, and one is the entrance.|"]="Portaltipp: Eins geht zum Ziel, und das andere ist der Eingang.|", +["Portal hint: One goes to the destination, the other one is the entrance.|"] = "Portaltipp: Eins geht zum Ziel, das andere ist der Eingang.|", -- A_Classic_Fairytale:dragon ["Portal Mind Challenge"] = "Knifflige Portalherausforderung", -- portal +["Precise Aim: [Left Shift]"] = "Genaues Zielen: [Umschalt links]", -- Basic_Training_-_Movement +["Precise Aim: [Left Shift] + [Up]/[Down]"] = "Genaues Zielen: [Umschalt links] + [Hoch]/[Runter]", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Precise flying"]="Präzisionsfliegen", ["Precise: Remove previous waypoint"] = "Genaues Zielen: Vorherigen Wegpunkt entfernen", -- Racer ["Precise shooting"]="Präzisionsschießen", @@ -1595,8 +1694,10 @@ ["Prepare to fight"]="Bereitmachen zum Kämpfen", ["Prepare to flee!"]="Bereitmachen zum Fliehen!", ["Prepare yourself"]="Mach dich bereit", -["Press [Attack] (space bar by default) to start,|repeadedly tap the up, left and right movement keys to accelerate."] = "Drücke [Angriff] (standardmäßig die Leertaste) zum Starten,|drücke wiederholt die Beweungstasten oben,|links und rechts zum Beschleunigen.", -- Basic_Training_-_Flying_Saucer +["Press [Attack] (space bar by default) to start,|repeatedly tap the up, left and right movement keys to accelerate."] = "Drücke [Angriff] (standardmäßig die Leertaste) zum Starten,|drücke wiederholt die Bewegungstasten oben,|links und rechts zum Beschleunigen.", -- Basic_Training_-_Flying_Saucer ["Press [Attack] to begin."] = "Drücke [Angreifen], um anzufangen.", -- A_Classic_Fairytale:first_blood +["Press [Attack] to confirm."] = "Drücke [Angreifen] zum Bestätigen.", -- Continental_supplies +["Press [Attack] to select this continent!"] = "Drücke [Angreifen], um diesen Kontinent auszuwählen!", -- Continental_supplies ["Press [Left] and [Right] to change the difficulty."] = "Drücke [Links] und [Rechts], um den Schwierigkeitsgrad zu ändern.", -- A_Classic_Fairytale:first_blood ["Press [Left] or [Right] to move around, [Enter] to jump"]="Drücke [Links] oder [Rechts] zum Bewegen, [Eingabe] zum Springen.", ["Press [Long jump] to accept this configuration and begin placing hedgehogs."] = "Drücke [Weitsprung], um diese Konfiguration zu akzeptieren|und mit der Igelplatzierung anzufangen.", -- WxW @@ -1613,10 +1714,12 @@ ["Professor"]="Professor", ["Prof. Hogevil"]="Prof. Bösigel", ["Pro Killers"] = "Profikiller", -- Big_Armory -["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.", +["Protect the King: When the king dies, so does the team"] = "Beschützt den König: Wenn der König stirbt, stirbt das Team mit", -- Battalion +["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 Zeitzünder mit [1-5], ziele mit [Hoch]/[Runter] und halte [Leer] für mehr Kraft", -- A_Classic_Fairytale:shadow ["Purple"] = "Violett", -- ["Pyromancer"]="Feuermacher", ["Pyro"]="Pyromane", +["Quit: [Esc]"] = "Verlassen: [Esc]", -- Basic_Training_-_Movement ["Race complexity limit reached"] = "Rennkomplexitätslimit erreicht", -- Racer, TechRacer ["Racer tool"] = "Wettrennwerkzeug", -- Racer ["RACER"]="WETTRENNEN", @@ -1630,10 +1733,11 @@ ["Raging Buffalo"]="Wütender Büffel", ["Ramesses"] = "Ramesses", -- ["Ramon"]="Ramon", +["Random continent"] = "Zufälliger Kontinent", -- Continental_supplies ["Rank: %s"]="Rang: %s", ["Razac"] = "Rasak", -- portal ["RC Plane Challenge"] = "Funkflugzeugsherausforderung", -- User_Mission_-_RCPlane_Challenge -["RC Plane"]="Funkflugzeug", +["Reach and destroy the final target to win."] = "Erreiche und zerstöre die letzte Zielscheibe, um zu gewinnen.", -- Basic_Training_-_Rope ["Read the challenge objectives from within the mission for more details."]="Lies die Herausforderungsziele in der Mission für mehr Details.", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 ["Ready for Battle?"]="Bereit für die Schlacht?", ["Really?! You thought you could harm me with your little toys?"]="Wirklich? Du dachtest, du könntest mich mit deinen kleinen Spielzeugen verletzen?", @@ -1642,10 +1746,12 @@ ["Reflector Shield: Reflects enemy projectiles."] = "Reflektorschild: Reflektiert Feindprojektile.", -- Construction_Mode ["Reflector Shield"]="Reflektorschild", ["Regurgitator"]="Hochwürger", +["Reinforcements! +2 of each weapon!"] = "Nachschub! +2 von jeder Waffe!", -- A_Space_Adventure:death02 ["Reinforcements"]="Verstärkung", +["Release rope: [Attack]"] = "Seil loslassen: [Angriff]", -- Basic_Training_-_Rope +["Remember: Hold down [Left Shift] to prevent slipping"] = "Denk dran: Halte [Umschalt links], um nicht zu rutschen", -- Basic_Training_-_Movement ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"]="Denk dran: Viele werden das Antischwerkraftgerät begehren! Geh jetzt! Beeilung!", -["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.", -["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!", +["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "Höre meine Worte, du erbärmliches Tier: Eines Tages wirst du deine blinde Loyalität bitter bereuen!", -- A_Classic_Fairytale:shadow ["Replenishment: Weapons are restocked on turn start of a new hog"] = "Aufstockung: Waffen werden am Zugbeginn eines neuen Igels aufgestockt", -- Highlander ["Repositioning Mode"] = "Repositionierungsmodus", -- HedgeEditor ["REPOSITIONING MODE"] = "REPOSITIONIERUNGSMODUS", -- HedgeEditor @@ -1653,37 +1759,39 @@ ["Rescue the imprisoned PAotH team and get the fuel!"]="Rette das gefangene PAdI-Team und hol dir den Treibstoff!", ["Respawner: Resurrects dead hogs."] = "Wiederbeleber: Belebt tote Igel wieder.", -- Construction_Mode ["Respawner"]="Wiederbeleber", -["Resurrector"]="Totenbeschwörung", +["Retract/Extend rope: [Up]/[Down]"] = "Seil einziehen/ausfahren: [Hoch]/[Runter]", -- Basic_Training_-_Rope ["- Return the enemy flag to your base to score"] = "- Bring die Feindesflagge zu deiner Basis, um zu punkten", -- Capture_the_Flag [" - 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", ["Return to Leaks A Lot!"] = "Kehre zu Undichte Stelle zurück!", -- A_Classic_Fairytale:shadow ["Return to the mission menu by pressing the \"Go back\" button."]="Kehre zum Missionsmenü zurück, indem du den »Zurück«-Knopf drückst.", -- A_Space_Adventure:cosmos ["Return to the Surface"]="Zurück an die Oberfläche", +["Rhombus"] = "Raute", -- Basic_Training_-_Movement ["Rider"] = "Reiter", -- portal ["Rifleman"]="Schütze", ["Righteous Beard"]="Redlicher Bart", +["Right Tong"] = "Rechte Kneifzange", -- Bazooka_Battlefield ["Ripe"] = "Reif", -- +["Rise the water if nobody else is in the circle and deal 6 damage to all enemy hogs."] = "Lass das Wasser steigen, wenn sonst keiner im Kreis ist, und richte 6 Schaden auf alle Feinde an.", -- Continental_supplies ["Robert Yellow Apple"]="Robert Gelbapfel", ["Rocket"] = "Rakete", -- Big_Armory ["Ronald"] = "Ronald", -- portal ["Roof"] = "Decke", -- WxW ["Rope-knocking Challenge"] = "Seilschubsen", -- User_Mission_-_Rope_Knock_Challenge -["Rope Master"] = "Seilmeister", -- Basic_Training_-_Rope ["Roper"] = "Seiler", -- ["Ropes and Crates"]="Seile und Kisten", -["Rope Team"]="Seilteam", -["Rope Training"]="Seiltraining", +["Rope Weapons"] = "Seilwaffen", -- Basic_Training_-_Rope ["Rope won't get reset"]="Seil wird nicht zurückgesetzt.", ["Roshi"] = "Roschi", -- ["Rot Molester"]="Rottiger Störenfried", ["Rotten"] = "Verdorben", -- ["Round draw"] = "Unentschieden", -- Racer, TechRacer -["Round %d (Sudden Death in round %d)"] = "%d. Runde (Sudden Death in der %d. Runde)", -- Battalion ["Round limit: %d"] = "Rundenbegrenzung: %d", -- Racer ["Round Limit: %d"] = "Rundenbegrenzung: %d", -- Space_Invasion ["Round limit:"] = "Rundenbegrenzung:", -- TechRacer ["Rounds complete: %d/%d"] = "Gespielte Runden: %d/%d", -- Racer, Space_Invasion, TechRacer ["Round score: %d"] = "Rundenpunktzahl: %d", -- Space_Invasion +["Round's slowest lap: %.3fs by %s"] = "Schlechteste Zeit der Runde: %.3fs von %s", -- TrophyRace +["Rounds until Sudden Death: %d"] = "Runden bis zum Sudden Death: %d", -- Battalion ["RS1"]="RE1", ["RS2"]="RE2", ["Rubber"]="Gummi", @@ -1691,7 +1799,6 @@ ["RUBBER PLACEMENT MODE"]="GUMMIPLATZIERUNGSMODUS", ["Rules:"] = "Regeln:", -- Capture_the_Flag ["RULES:"] = "REGELN:", -- Frenzy -["Rules: "] = "Regeln: ", -- Mutant ["Run away, you coward!"]="Lauf weg, du Feigling!", -- A_Space_Adventure:desert01 ["Running displacement algorithm …"] = "Führe Deplatzierungsalgorithmus aus …", -- A_Classic_Fairytale:queen ["Running for survival"]="Lauf um dein Leben", @@ -1699,7 +1806,8 @@ ["Rusty Joe"]="Rostjonas", ["Ryu"] = "Ryu", -- ["%s: %.1fs"] = "%s: %.1fs", -- Racer, TechRacer -["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 ein Splitterfragment in die Luft)", +["%s (+1)"] = "%s (+1)", -- A_Space_Adventure:fruit03 +["Sabotage all hogs in the circle and fire a cluster above you.|Sabotaged hogs lose health and have to deal with a very high gravity during their turn."] = "Sabotiere alle Igel im Kreis und feuere einen Bombensplitter nach oben.|Sabotierte Igel verlieren Gesundheit und leiden während ihres Zuges unter einer sehr hohen Schwerkraft.", -- Continental_supplies ["Saint"]="Sankt", ["Salivaslurper"]="Speichelschlürfer", ["Salty Dog"] = "Versalzene Suppe", -- @@ -1721,43 +1829,55 @@ ["%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.", ["Scallywag"] = "Tunichtgut", -- ["Scalp Muncher"]="Skalpknabberer", +["Scenario failed!"] = "Szenario fehlgeschlagen!", -- SimpleMission ["Scenario"] = "Szenario", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape ["Scientist"]="Wissenschaftler", ["%s climbed home in %d seconds!"] = "%s ist in %d Sekunden nach Hause geklettert!", -- ClimbHome ["Score: %d"] = "Punktzahl: %d", -- Space_Invasion ["Score goal: %d"] = "Punkteziel: %d", -- Control ["Score graph"] = "Punktegraph", -- Mutant -["Score points by killing other hedgehogs (see below)."] = "Hole Punkte, indem du andere Igel tötest (siehe unten).", -- Mutant -["Scores: "] = "Punktestand: ", -- Capture_the_Flag +["Score points by killing other hedgehogs."] = "Hole Punkte, indem du andere Igel tötest.", -- Mutant ["Scores:"] = "Punktestand:", -- Mutant -["Scores"] = "Punktestand", -- Mutant ["Scoring: "] = "Punktewertung: ", -- Mutant ["Script parameter examples:"] = "Skriptparameterbeispiele:", -- Gravity +["%s (%d)"] = "%s (%d)", -- Continental_supplies ["%s: %d (deaths: %d)"] = "%s: %d (Tode: %d)", -- Mutant +["%s (%d), %d sec"] = "%s (%d), %d s", -- Continental_supplies ["%s: Did not finish"] = "%s: Wurde nicht fertig", -- Racer, TechRacer ["%s did not finish the race."] = "%s hat das Rennen nicht abgeschlossen.", -- Racer, TechRacer ["%s didn't expect that."] = "%s hat damit nicht gerechnet.", -- User_Mission_-_Rope_Knock_Challenge +["%s died … and lives again!"] = "%s ist gestorben … und lebt wieder!", -- Construction_Mode ["%s doesn’t really know how to handle a rope properly."]="%s weiß nicht, wie man mit einem Seil umgeht.", -["%s: %d"] = "%s: %d", -- Control, Capture_the_Flag +["%s (+%d)"] = "%s (+%d)", -- Battalion +["%s, %d sec"] = "%s, %d s", -- Continental_supplies ["Search for the device with the help of the other hedgehogs "]="Such nach dem Gerät mit der Hilfe der anderen Igel.", ["Searching in the dust"]="Suche im Staub", ["Searching the stars!"]="Suche in den Sternen", ["seconds"]="Sekunden", -["Seduction"]="Verführung", ["Seems like every time you take a \"walk\", the enemy finds us!"] = "Es scheint, dass jedes Mal, wenn du »spazieren« gehst, der Feind uns findet!", -- A_Classic_Fairytale:backstab ["See that crate farther on the right?"]="Siehst du die Kiste weiter rechts?", ["See ya!"]="Mach's gut!", ["Segmentation Paul"]="Se Gmentf Ehler", -["Select a placement mode and read the infos|in the mission panel to learn how to use it."] = "Wähle einen Platzierungsmodus und lies die Infos|im Missionsfeld, um zu erfahren, wie man ihn benutzt.", -- HedgeEditor -["Select continent!"]="Wähle einen Kontinent!", +["Select a placement mode and read the infos|in the mission panel to learn how to use it."] = "Wähle einen Platzierungsmodus und lies die Infos|in der Missionsanzeige, um zu erfahren, wie man ihn benutzt.", -- HedgeEditor +["Select continent"] = "Kontinent auswählen", -- Continental_supplies ["selected!"]="ausgewählt!", ["Selection Mode"]="Auswahlmodus", ["Select, modify, or delete girders, rubbers and sprites"] = "Wähle, modifiziere oder lösche Träger, Gummis und Sprites", -- HedgeEditor ["Select/Place/Delete Gear: [Left Click]"] = "Gear wählen/platzieren/löschen: [Linksklick]", -- HedgeEditor ["Select, reposition and delete gears"] = "Wähle, repositioniere und lösche Gears", -- HedgeEditor +["Select Rope"] = "Seil auswählen", -- Basic_Training_-_Rope +["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "Wähle »Igel wechseln« aus dem Munitionsmenü und|drücke [Angriff], um fortzufahren.", -- Basic_Training_-_Movement +["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "Wähle »Igel wechseln« aus dem Munitionsmenü und|drücke [Angriff].", -- Basic_Training_-_Movement +["Select the current continent."] = "Wählt den jetzigen Kontinent aus.", -- Continental_supplies +["Select the rope to begin!"] = "Wähle das Seil aus, um anzufangen!", -- Basic_Training_-_Rope +["Select this item for a random continent."] = "Wähle diesen Eintrag, um einen zufälligen Kontinent auszuwählen.", -- Continental_supplies +["Select weapon: [Left click]"] = "Waffe auswählen: [Linksklick]", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +["Select Weapon"] = "Waffe auswählen", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Select win/lose condition: [Left], [Right]"] = "Sieg-/Niederlagebedingung wählen: [Links], [Rechts]", -- HedgeEditor -["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.", +["Select your continent with [Up]/[Down] or by selecting a representative weapon."] = "Wähle deinen Kontinent mit [Hoch]/[Runter]. Alternativ kannst du eine repräsentative Waffe wählen.", -- Continental_supplies ["Sergey"] = "Sergey", -- +["Set bounciness: [Left Shift] + [1]-[5]"] = "Sprunghaftigkeit setzen: [Umschalt links] + [1]-[5]", -- Basic_Training_-_Grenade +["Set detonation timer: [1]-[5]"] = "Explosionszeitzünder einstellen: [1]-[5]", -- Basic_Training_-_Grenade ["Set Health: [Left Click]"]="Gesundheit setzen: [Linksklick]", ["Set Identity: [Left Click]"]="Identität setzen: [Linksklick]", ["Set LandFlag: [1], [2], [3], [4]"]="LandFlag setzen: [1], [2], [3], [4]", @@ -1767,15 +1887,19 @@ ["%s exploded."] = "%s ist explodiert.", -- User_Mission_-_Rope_Knock_Challenge ["%s fell from a high cliff."] = "%s fiel von einer hohen Klippe.", -- User_Mission_-_Rope_Knock_Challenge ["%s fell too fast."] = "%s fiel zu schnell.", -- User_Mission_-_Rope_Knock_Challenge +["%s fell victim to a weapon filter"] = "%s ist einem Waffenfilter zum Opfer gefallen", -- Construction_Mode ["%s felt unstable."] = "%s war nicht ganz standfest.", -- User_Mission_-_Rope_Knock_Challenge ["%s felt victim to rope-knocking."] = "%s fiel dem Seilschubsen zum Opfer.", -- User_Mission_-_Rope_Knock_Challenge ["%s flew like a rock."] = "%s fiel wie ein Stein.", -- User_Mission_-_Rope_Knock_Challenge +["%s gets an extra life"] = "%s erhält ein Extraleben", -- Construction_Mode ["%s goes the way of the lemming."] = "%s geht den Weg der Lemminge.", -- User_Mission_-_Rope_Knock_Challenge ["Sgt. Smith"] = "Gfr. Schmidt", -- ["%s had it coming."] = "%s hat's verdient.", -- User_Mission_-_Rope_Knock_Challenge ["%s had no chance."] = "%s hatte keine Chance.", -- User_Mission_-_Rope_Knock_Challenge ["... share your beauty with the world every morning, my princess!"]="…, ja, wie du deine Schönheit mit dem Rest der Welt teilst, meine Prinzessin!", +["%s has been killed before taking enough damage first."] = "%s ist vor dem Erleiden des erforderlichen Schadens gestorben.", -- SimpleMission ["%s has been knocked out."] = "%s wurde eliminiert.", -- User_Mission_-_Rope_Knock_Challenge +["%s has been rescued from death"] = "%s wurde wiederbelebt", -- Construction_Mode ["%s has fallen victim to gravity."] = "%s fiel der Schwerkraft zum Opfer.", -- User_Mission_-_Rope_Knock_Challenge ["%s has mutated! +2 points"] = "%s mutierte! +2 Punkte", -- Mutant ["%s has passed the best height of %s!"]="%s hat die Besthöhe von %s überschritten!", @@ -1798,23 +1922,28 @@ ["Shoppa Love"]="Seilliebe", ["Shoppa Union"]="Konsumentenunion", ["Shoppers"] = "Käufer", -- -["Shotgun"]="Schrotflinte", ["shots remaining."]="Schüsse übrig", ["Sigh."] = "Seufz.", -- A_Classic_Fairytale:epil ["Silly"]="Doofi", ["Silver"] = "Silber", -- -["Sine Gun"] = "Sinuskanone", -- Construction_Mode ["Sinky"]="Blubb", ["Sirius Lee"]="Leo Ernst", +["%s is dead, who was critical to this mission!"] = "%s ist tot, war aber kritisch für diese Mission!", -- SimpleMission ["%s is eliminated!"] = "%s wurde eliminiert!", -- User_Mission_-_Rope_Knock_Challenge +["%s is now as poor as a church mouse"] = "%s ist jetzt so arm wie eine Kirchenmaus", -- Construction_Mode +["%s is now a zombie hedgehog"] = "%s ist jetzt ein Zombie-Igel", -- Construction_Mode +["%s is suddenly low on ammo"] = "%s fehlt es plötzlich an Munition", -- Construction_Mode +["Skip your turn to try again."] = "Überspringe deinen Zug, um es erneut zu versuchen.", -- Basic_Training_-_Rope +["Skulls"] = "Schädels", -- Bazooka_Battlefield ["Slimer"] = "Schleimer", -- ["Slippery"]="Rutschig", +["%s lost all the weapons"] = "%s hat alle Waffen verloren", -- Construction_Mode ["Slot %d: %s"] = "Slot %d: %s", -- Frenzy ["Slot keys save time! (F1-F10 by default)"]="Schnelltasten, um Zeit zu sparen! (standardmäßig F1–F10)", ["Slowpoke"] = "Flegmon", -- -["%s made it past the hogosphere."]="%s hat es über die Igelspähre geschafft.", +["%s made it past the hogosphere."]="%s hat es über die Igelsphäre geschafft.", ["%s managed to pass half of the distance towards home."]="%s hat die Hälfte des Weges nach Hause absolviert.", -["%s may choose the rules."] = "%s darf die Regeln bestimmmen.", -- WxW +["%s may choose the rules."] = "%s darf die Regeln bestimmen.", -- WxW ["Smith 0.97"]="Smith 0.97", ["Smith 0.98"]="Smith 0.98", ["Smith 0.99a"]="Smith 0.99a", @@ -1823,14 +1952,15 @@ ["Smith 1.0"]="Smith 1.0", ["Smugglers"]="Schmuggler", ["%s must skip this turn for rule violation."] = "%s muss wegen einer Regelverletzung aussetzen.", -- WxW +["Sneaks"] = "Schleichs", -- Bazooka_Battlefield ["%s never got the ninja diploma."]="%s ist bei der Ninjaprüfung durchgefallen.", ["%s never wanted to reach for the sky in the first place."]="%s wollte nie nach den Sternen greifen.", ["Sniper! +8 points!"] = "Scharfschütze! +8 Punkte!", -- Space_Invasion ["Sniper"]="Heckenschütze", -["Sniper Rifle"]="Scharfschützengewehr", ["Sniper Training"]="Scharfschützen-Training", ["Sniperz"]="Heckenschützen", ["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.", +["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "Bisher hattest du unendlich viele Seile,|aber in der realen Welt sind Seile normalerweise begrenzt.", -- Basic_Training_-_Rope ["So Hog Solo, here we are ..."]="Also, Igel Einsam, da wären wir!", ["So humiliating..."]="Welch Demütigung!", ["So, I believe that it's a good place to start."]="Also glaube ich, dass es ein guter Ort zum Anfangen ist.", -- A_Space_Adventure:desert01 @@ -1841,6 +1971,7 @@ ["Some parts of the land are indestructible."]="Einige Teile des Landes sind unzerstörbar.", ["Some parts of the land are indestructible"]="Einige Teile des Landes sind unzerstörbar", ["Some sick game of yours?!"] = "Ein krankes Spiel von euch?!", -- A_Classic_Fairytale:queen +["Some weapons can be dropped from the rope."] = "Einige Waffen können vom Seil aus fallen gelassen werden.", -- Basic_Training_-_Rope ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"]="Irgendwo anders auf dem Obstplaneten hilft Leutnant Limone Igel Einsam", ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"]="Anderswo auf dem Obstplaneten kommt Igel Einsam näher an das Gerät.", ["Somewhere in the Fruit Planet Hog Solo got lost ..."]="Irgendwo auf dem Obstplaneten hat sich Igel Einsam verlaufen …", @@ -1862,11 +1993,12 @@ ["Spacetrip"]="Weltraumreise", ["Spawn the crate and attack!"] = "Lass die Kiste auftauchen und greif an!", -- WxW ["Specials: Kings and air generals drop helpers, not weapons"] = "Besonderheiten: Könige und Luftgeneräle lassen Helfer statt Waffen fallen", -- Battalion -["Special Weapons:"]="Sonderwaffen:", +["Special weapons:"] = "Sonderwaffen:", -- Continental_supplies ["Speckles"] = "Flecken", -- ["Specs Appeal"] = "Doppelpunkt", -- ["Specs"] = "Punkte", -- ["Spectator"] = "Zuschauer", -- +["Speed Roping"] = "Schnelles Seil", -- Basic_Training_-_Rope ["Speed Shoppa"] = "Rasender Kistensammler", -- ["Spikes"] = "Stacheln", -- ["Spike"]="Stachel", @@ -1883,11 +2015,14 @@ ["Sprite Testing Mode"]="Sprite-Testmodus", ["Squirtle"] = "Schiggy", -- ["Squishy"] = "Matschig", -- -["%s reached home in %.3f seconds. Congratulations!"]="%s has das Zuhause in %.3f Sekunden erreicht. Gratulation!", +["%s reached home in %.3f seconds. Congratulations!"]="%s hat das Zuhause in %.3f Sekunden erreicht. Gratulation!", +["%s: %s"] = "%s: %s", -- Continental_supplies ["%s (%s) destroyed %d invaders in one round."] = "%s (%s) hat %d Invasoren in einer Runde zerstört.", -- Space_Invasion ["%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, select your continent!"] = "%s, wähl deinen Kontinent!", -- Continental_supplies ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "%s (%s) machte kurzen Prozess mit den Invasoren: Beste Kombi von %d!", -- Space_Invasion ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "%s (%s) wurde in die Planetare Assoziation der Igel eingeladen für die Zerstörung von erstaunlichen %d Invasoren in nur einer Runde!", -- Space_Invasion +["%s (%s) has captured the flag %d times."] = "%s (%s) hat die Flagge %d mal erobert.", -- Capture_the_Flag ["%s (%s) hate life and suicided %d times."] = "%s (%s) hasst das Leben und begang gleich %d mal Suizid.", -- Mutant ["%s should try the rope training mission first."]="%s sollte wohl zuerst das Seiltraining absolvieren.", ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "%s (%s) ist im Tötungsrausch: %d Invasoren in einer Runde zerstört .", -- Space_Invasion @@ -1905,8 +2040,8 @@ ["%s (%s) shot %d invaders and never missed in the best round!"] = "%s (%s) hat in der besten Runde %d Invasoren abgeschossen, ohne einmal daneben zu schießen!", -- Space_Invasion ["%s (%s) struck like a meteor: %d points in only one round!"] = "%s (%s) schlug ein wie ein Meteor: %d Punkte in nur einer Runde!", -- Space_Invasion ["%s still had a long way to go."]="%s hatte noch einen langen Weg.", +["%s stumbled."] = "%s ist gestolpert.", -- User_Mission_-_Rope_Knock_Challenge ["%s (%s) tumbles like no other: %d points in one round."] = "%s (%s) kämpft wie kein Anderer: %d Punkte in einer Runde.", -- Space_Invasion -["%s stumpled."] = "%s ist gestolpert.", -- User_Mission_-_Rope_Knock_Challenge ["%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) was lightning-fast! Longest combo of %d, absolutely insane!"] = "%s (%s) ist blitzschnell! Längste Kombi von %d, absolut verrückt!", -- Space_Invasion ["%s (%s) was on fire: Longest combo of %d."] = "%s (%s) hatte Hummeln im Hintern: Längste Kombi von %d.", -- Space_Invasion @@ -1919,19 +2054,20 @@ ["Standard Waypoint"]="Standard-Wegpunkt", ["Star"] = "Stern", -- Big_Armory ["Status update"] = "Statusaktualisierung", -- Racer, TechRacer -["Status Update"] = "Statusaktualisierung", -- Space_Invasion ["Stay away from our weapons!"] = "Bleibt weg von unseren Waffen!", -- A_Classic_Fairytale:queen ["Stay there, comrades!"] = "Keinen Schritt weiter, Kameraden!", -- A_Classic_Fairytale:queen ["Stay there to flee!"] = "Bleib hier, um zu fliehen!", -- A_Space_Adventure:fruit01 ["Steel Eye"]="Stahlauge", ["Step 1: Activate your flying saucer but do NOT move yet!"] = "1.: Aktiviere deine fliegende Untertasse, aber beweg dich noch NICHT.", -- Basic_Training_-_Flying_Saucer +["Step 1: Start roping"] = "1.: Befestige dich am Seil", -- Basic_Training_-_Rope +["Step 2: Select grenade"] = "2.: Wähl die Granate", -- Basic_Training_-_Rope ["Step 2: Select your grenade."] = "2.: Wähl eine Granate aus.", -- Basic_Training_-_Flying_Saucer +["Step 3: Drop the grenade"] = "3.: Lass die Granate fallen", -- Basic_Training_-_Rope ["Step 3: Start flying and get yourself right above the target."] = "3.: Flieg los und flieg direkt über der Zielscheibe.", -- Basic_Training_-_Flying_Saucer ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "4.: Lass deine Granate fallen, indem du [Weitsprung] drückst.", -- Basic_Training_-_Flying_Saucer ["Step 5: Get away quickly and land safely anywhere."] = "5.: Flieh schnell und lande an einem sicheren Ort.", -- ["Step By Step"]="Schritt für Schritt", ["Steve"]="Steffen", -["Sticky Mine"]="Haftmine", ["Sticky Mine Placement Mode"]="Haftminenplatzierungsmodus", ["STiCKY MINE PLACEMENT MODE"]="HAFTMINENPLATZIERUNGSMODUS", ["STICKY MINE PLACEMENT MODE"] = "HAFTMINENPLATZIERUNGSMODUS", -- HedgeEditor @@ -1939,6 +2075,7 @@ ["Stop right there, puny worms!"] = "Schluss jetzt, ihr mickrigen Würmer!", -- A_Classic_Fairytale:queen ["Street Fighters"] = "Straßenboxer", -- ["Strength: %d (multiplier for ammo)"] = "Stärke: %d (Faktor für Munition)", -- Battalion +["Strong knockback, but no poison."] = "Starker Rückschlag, aber kein Gift.", -- Continental_supplies ["Stronglings"]="Stärklinge", ["Structure Placement Mode"]="Gebäudeplatzierungsmodus", ["Structure Placer"] = "Gebäudeplatzierer", -- Construction_Mode @@ -1952,6 +2089,7 @@ ["Sunflame"] = "Sonnenflamme", -- Big_Armory ["Super weapons: A few crates contain very powerful weapons."] = "Superwaffen: Ein paar Kisten enthalten sehr starke Waffen.", -- WxW ["Super weapons: %s"] = "Superwaffen: %s", -- WxW +["Supplies: Each continent gives you unique weapons, specials and health."] = "Versorgungsgüter: Jeder Kontinent gibt dir einzigartige Waffen, Extras und Gesundheit.", -- Continental_supplies ["Support Station: Allows placement of crates."] = "Waffenstation: Ermöglicht Kistenplatzierung.", -- Construction_Mode ["Support Station"]="Waffenstation", ["Sure!"] = "Sicher!", -- A_Classic_Fairytale:epil @@ -1959,13 +2097,16 @@ ["Surf Before Crate: You must bounce off the water once before you can get crates."] = "Surfen Vor Kiste: Du musst vom Wasser einmal abprallen, bevor du Kisten bekommst.", -- WxW ["Surfer! +15 points!"]="Surfer! +15 Punkte", ["Surfer!"]="Surfer!", +["Surprise supplies: Get 1-3 random weapons each turn."] = "Überraschungsnachschub: Erhalte 1-3 zufällige Waffen pro Zug.", -- Continental_supplies ["Survive!|Hint: Cinematics can be skipped with the [Precise] key."]="Überlebe!|Tipp: Zwischensequenzen können mit der [Genaues Zielen]-Taste übersprungen werden.", ["%s violated the “All But Last” rule and will be penalized."] = "%s verletzte die »Nicht Den Letzten«-Regel und wird aussetzen müssen.", -- WxW ["%s violated the “Kill The Leader” rule and will be penalized."] = "%s verletzte die »Tötet Den Besten«-Regel und wird aussetzen müssen.", -- WxW +["Swap place with a random enemy in the circle."] = "Vertausch die Plätze mit einem zufälligen Gegner im Kreis.", -- Continental_supplies ["%s was a good target."] = "%s war ein gutes Zielobjekt.", -- User_Mission_-_Rope_Knock_Challenge ["%s was close to home."]="%s war nah an Zuhause.", ["%s was damn close to home."]="%s war verdammt nah an Zuhause.", ["%s was doomed from the beginning."] = "%s war von Anfang an dem Untergang geweiht.", -- User_Mission_-_Rope_Knock_Challenge +["%s was extracted from the scheme"] = "%s wurde vom Schema extrahiert", -- Continental_supplies ["%s was good, but not good enough."]="%s war gut, aber nicht gut genug.", ["%s was knocked away."] = "%s wurde weggeschubst.", -- User_Mission_-_Rope_Knock_Challenge ["%s was really unlucky."] = "%s hatte großes Pech.", -- User_Mission_-_Rope_Knock_Challenge @@ -1975,12 +2116,18 @@ ["%s went over a quarter of the way towards home."]="%s hat mehr als ein Viertel des Weges nach Hause absolviert.", ["%s! Why?!"] = "%s! Warum!", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united ["Swing, Leaks A Lot, on the wings of the wind!"]="Schwing, Undichte Stelle, auf den Flügeln des Windes!", +["Swing: [Left]/[Right]"] = "Schwingen: [Links]/[Rechts]", -- Basic_Training_-_Rope ["%s wins!"]="%s gewinnt!", ["%s wins with a best time of %.1fs."] = "%s gewinnt mit einer Bestzeit von %.1fs.", -- Racer, TechRacer -["Switched to "]="Gewechselt zu ", -["Switch Hog"]="Igel wechseln", +["Switch: Drop ball of dirt from parachute (once)"] = "Wechseln: Erdklumpen fallen lassen (ein mal)", -- Continental_supplies +["Switch Hedgehog (1/3)"] = "Igel wechseln (1/3)", -- Basic_Training_-_Movement +["Switch Hedgehog (2/3)"] = "Igel wechseln (2/3)", -- Basic_Training_-_Movement +["Switch Hedgehog (3/3)"] = "Igel wechseln (3/3)", -- Basic_Training_-_Movement +["Switch Hedgehog (Failed!)"] = "Igel wechseln (Fehlgeschlagen!)", -- Basic_Training_-_Movement +["Switch hedgehog: [Tabulator]"] = "Igel wechseln: [Tabulator]", -- Basic_Training_-_Movement +["Switch: Select weapon special"] = "Wechseln: Waffenextra auswählen", -- Continental_supplies ["Switch: Toggle crate radar"] = "Wechseln: Kistenradar umschalten", -- WxW -["switch"]="Wechseln", +["Swords"] = "Schwerter", -- Bazooka_Battlefield ["Syntax Errol"]="Syntaxfehlel", ["%s, you may choose the rules."] = "%s, du darfst die Regeln bestimmen", -- WxW ["szczur"] = "szczur", -- @@ -2001,28 +2148,29 @@ ["Target Practice: Grenade (hard)"] = "Zielübung: Granate (schwer)", -- Target_Practice_-_Grenade_hard ["Target Practice: Homing Bee"] = "Zielübung: Zielsuchende Biene", -- Target_Practice_-_Homing_Bee ["Target Practice: Shotgun"] = "Zielübung: Schrotflinte", -- Target_Practice_-_Shotgun +["Target Puncher"] = "Zielscheibenzerstörer", -- Basic_Training_-_Rope ["Targets left: %d"] = "Verbleibende Ziele: %d", -- ["Target"] = "Zielscheibe", -- HedgeEditor ["Tatsujin"] = "Tatsujin", -- ["Tatters"] = "Lumpen", -- -["Team %d: "]="Team %d: ", +["Team %d"] = "Team %d", -- SimpleMission ["Team Identity Mode"]="Team-Identitätsmodus", ["TEAM IDENTITY MODE"]="TEAMIDENTITÄTSMODUS", ["Team of Hearts"]="Team der Herzen", ["Team’s best heights per round"]="Die Besthöhen der Teams pro Runde", -["Team Scores:"] = "Teampunktestand:", -- Control -["Team scores:"] = "Teampunktestand:", -- Space_Invasion ["Teamwork 2"] = "Teamwork 2", -- User_Mission_-_Teamwork_2 ["Teamwork"] = "Teamwork", -- User_Mission_-_Teamwork ["Team Zook"]="Team Zook", ["TechRacer"] = "TechRacer", -- TechRacer ["Teleporation Node"]="Teleporterstation", -["Teleportation Mode"]="Teleportationsmodus", ["Teleportation Node: Allows teleportation| between other nodes."] = "Teleportationsstation: Ermöglicht Teleportation| zwischen anderen Stationen.", -- Construction_Mode ["Teleportation Node"]="Teleportationsstation", -["Teleport hint: just use the mouse to select the destination!"]="Teleportertipp: Benutze einfach die Maus, um das Ziel auszuwählen.", -["Teleport"]="Teleporter", -["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."]="Teleportation fehlgeschlagen. Bitte teleportiere nur innerhalb des Einzugsgebiets deiner Klanteleporter.", +["Teleport hint: Just use the mouse to select the destination!"] = "Teleportertipp: Benutze einfach den Mauszeiger, um das Ziel auszuwählen!", -- A_Classic_Fairytale:dragon +["Teleport to the impact location."] = "Teleportier dich zum Einschlagskrater.", -- Continental_supplies +["Teleport to the top of the map, expect fall damage!"] = "Teleportier dich nach ganz oben, rechne mit Fallschaden!", -- Continental_supplies +["Teleport unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "Teleportation fehlgeschlagen. Bitte teleportiere dich nur im Einzugsbereich der Teleporter deines Klans.", -- Construction_Mode +["Tentacle Terror"] = "Tentakel-Terror", -- Tentacle_Terror +["Textile industry: Will give you a parachute every second turn."] = "Textilindustrie: Gibt dir einen Fallschirm alle 2 Züge.", -- Continental_supplies ["Thanks!"]="Danke!", ["Thanks, dude! It really means a lot to me."] = "Danke, Mann! Das bedeutet mir wirklich sehr viel.", -- A_Classic_Fairytale:epil ["Thanks, man! It really means a lot to me."] = "Danke, Mann! Das bedeutet mir wirklich sehr viel.", -- A_Classic_Fairytale:epil @@ -2050,7 +2198,8 @@ ["The air bombs are weaker than usual."] = "Die Luftbomben sind schwächer als normal.", -- Battalion ["The aliens respect me, even worship me!"] = "Die Außerirdischen respektieren mich, ja sie beten mich sogar an!", -- A_Classic_Fairytale:queen ["The ally units share their ammo."]="Die verbündeten Einheiten teilen sich ihre Munition.", -["The answer is...entertaintment. You'll see what I mean."]="Die Antwort lautet: Unterhaltung. Du wirst verstehen, was ich meine.", +["The ammo of %s has been vaporized"] = "Die Munition von %s wurde vaporisiert", -- Construction_Mode +["The answer is ... entertainment. You'll see what I mean."] = "Die Antwort lautet: Unterhaltung. Du wirst verstehen, was ich meine.", -- A_Classic_Fairytale:backstab ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "Die Anti-Portal-Oberfläche ist auf dem ganzen Boden verteilt und ich habe nichts, um ihn zu töten. Wenn ich etwas auf ihn fallen lassen könnte, könnte es ihn genug verletzen, um ihn zu töten.", -- portal ["The big bang"]="Der große Knall", ["The Boss"] = "Der Boss", -- @@ -2058,6 +2207,15 @@ ["The Bull's Eye"]="Ins Schwarze", ["The caves are well hidden, they won't find us there!"]="Die Höhlen sind gut versteckt, sie werden uns hier nicht finden!", ["The clan of the Red Strawberry wants to take over the dominion and overthrow King Pineapple."]="Der Klan der Roten Erdbeere will die Herrschaft an sich reißen und König Ananas stürzen.", +["The continent of cowards"] = "Der Kontinent der Feiglinge", -- Continental_supplies +["The continent of dust"] = "Der Kontinent des Staubes", -- Continental_supplies +["The continent of firearms"] = "Der Kontinent der Schusswaffen", -- Continental_supplies +["The continent of greed"] = "Der Kontinent der Gier", -- Continental_supplies +["The continent of guerilla tactics"] = "Der Kontinent der Guerillataktik", -- Continental_supplies +["The continent of ice and science"] = "Der eisige Kontinent der Wissenschaft", -- Continental_supplies +["The continent of medicine"] = "Der Kontinent der Medizin", -- Continental_supplies +["The continent of ninjas"] = "Der Kontinent der Ninjas", -- Continental_supplies +["The continent of sports"] = "Der Kontinent des Sports", -- Continental_supplies ["The Crate Frenzy"]="Der Kistenrausch", ["The Customer is King"] = "Der Kunde ist König", -- Challenge_-_Speed_Shoppa_-_ShoppaKing ["the Desert Planet"]="der Wüstenplanet", @@ -2069,21 +2227,25 @@ ["The editor weapons and tools have been removed!"]="Die Editorwaffen und -werkzeuge wurden entfernt!", ["The enemies aren't many anyway, it is going to be easy!"]="Es sind eh nicht so viele Feinde, es wird einfach sein!", ["The enemy can't move but it might be a good idea to stay out of sight!"] = "Der Feind kann sich nicht bewegen, aber du solltest besser aus der Schusslinie bleiben!", -- A_Classic_Fairytale:dragon +["The enemy has taken a crate which we really needed!"] = "Der Feind hat sich eine Kiste geholt, die wir wirklich gebraucht hätten!", -- SimpleMission +["The enemy hogs play in a random order."] = "Die Feinde spielen in zufälliger Reihenfolge.", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"]="Der Feind versteckt sich auf dem Entlein dort drüben!", ["The Enemy Of My Enemy"]="Der Feind meines Feindes", ["The explosion is weaker than usual."] = "Die Explosion ist schwächer als gewöhnlich.", -- Battalion +["The fastest hedgehog was %s from %s with a time of %.3fs."] = "Der schnellste Igel war %s von %s mit einer Zeit von %.3fs.", -- TrophyRace ["The fight begins!"]="Die Schlacht beginnt!", ["The final part"]="Das letzte Bauteil", +["The final targets are quite tricky. You need to aim well."] = "Die letzten Zielscheiben sind echt knifflig. Du musst gut zielen.", -- Basic_Training_-_Bazooka ["The First Blood"]="Der erste Zusammenstoß", ["The First Encounter"]="Das erste Zusammentreffen", ["The first hedgehog to kill someone becomes the Mutant."] = "Der erste Igel, der einen anderen tötet, mutiert.", -- Mutant -["The first hedgehog which scores %d or more wins the game."] = "Der erste Igel, der %d oder mehr Punkte hat, gewinnt.", -- Mutant ["The first stop"]="Der erste Halt", ["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.", ["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", ["The flag will respawn next round."]="Die Flagge wird nächste Runde wieder auftauchen.", ["The flood has stopped! Challenge over."] = "Die Flut ist vorbei! Herausforderung beendet.", -- User_Mission_-_That_Sinking_Feeling ["The food bites back"]="Das Essen beißt zurück", +["The forgotten continent"] = "Der vergessene Kontinent", -- Continental_supplies ["the Fruit Planet"]="der Obstplanet", ["The giant umbrella from the last crate should help break the fall."]="Der Riesenschirm aus der letzten Kiste sollte helfen, den Sturz abzubremsen.", ["The Great Escape"]="Gesprengte Ketten", @@ -2108,18 +2270,20 @@ ["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.", ["the moon"]="der Mond", ["The Moonwalk"]="Der Mondspaziergang", -["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.", +["The Mutant has super weapons and a lot of health."] = "Der Mutant hat Superwaffen und eine hohe Gesundheit.", -- Mutant +["The Mutant loses health quickly, but gains health by killing."] = "Der Mutant verliert schnell Gesundheit, heilt sich aber für jeden Abschuss.", -- Mutant ["The Nameless One"]="Der Namenlose", ["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!", ["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.", -["The next one is pretty hard! |Tip: You have to do multiple swings!"]="Die Nächste ist ziemlich schwer! |Tipp: Du musst mehrmals schwingen!", +["The next crate is an utility crate."] = "Die nächste Kiste ist eine Werkzeugkiste.", -- Basic_Training_-_Movement +["The next target can only be reached by something called “bouncing bomb”."] = "Die nächste Zielscheibe kann nur von einer »hüpfenden Bombe« erreicht werden.", -- Basic_Training_-_Bazooka +["The next target is high in the sky."] = "Die nächste Zielscheibe ist hoch im Himmel.", -- Basic_Training_-_Bazooka ["Then how do they keep appearing?"]="Also woher kommen sie?", ["The Ninja-Samurai Alliance"] = "Die Ninja-Samurai-Allianz", -- ["Then prepare for battle!"]="Dann mach dich bereit für die Schlacht!", ["Then what am I?"] = "Was bin ich dann?", -- A_Classic_Fairytale:epil ["The only woman, huh?"] = "Die einzige Frau, wie?", -- A_Classic_Fairytale:epil -["The opression of the elders, of course!"] = "Die Unterdrückung der Ältesten, natürlich!", -- A_Classic_Fairytale:queen +["The oppression of the elders, of course!"] = "Die Unterdrückung der Ältesten natürlich!", -- A_Classic_Fairytale:queen ["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.", ["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!", ["the Planet of Death"]="der Todesplanet", @@ -2135,16 +2299,21 @@ ["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!", ["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 …", ["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!", +["The respawner respawns %s"] = "Der Wiederbeleber belebt %s wieder", -- Construction_Mode ["The Rising"]="Der Aufstieg", -["The rope won't get reset."] = "Das Seil wird nicht zurückgesetzt.", -- A_Space_Adventure:death02 ["The Savior"]="Der Erlöser", +["The score and deaths are shown next to the team bar."] = "Die Punkte und Tode werden neben der Teamleiste angezeigt.", -- Mutant +["These girders are slippery, like ice."] = "Diese Träger sind so rutschig wie Eis.", -- Basic_Training_-_Movement ["These primitive people are so funny!"]="Diese primitiven Leute sind so lustig!", +["These weapon specials cannot be used close to other hogs."] = "Diese Waffenextras können nicht in der Nähe anderer Igel benutzt werden.", -- Continental_supplies ["The Shadow Falls"]="Die Schattenfälle", ["The Showdown"]="Das Showdown", ["The Slaughter"]="Die Schlachtung", ["The Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "Die Gesellschaft der Perfektionisten grüßt %s (%s): In der besten Runde %d Treffer, kein Schuss ging daneben.", -- Space_Invasion ["THE SPECIALISTS"]="DIE SPEZIALISTEN", -["The spirits of the ancerstors are surely pleased, Leaks A Lot."]="Die Geister der Ahnen sind sicherlich erfreut, Undichte Stelle.", +["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "Die rotierenden Pfeile über deinen Igel zeigen an,|welcher Igel jetzt ausgewählt ist.", -- Basic_Training_-_Movement +["The spirits of the ancestors are surely pleased, Leaks A Lot."] = "Die Geister der Ahnen sind sicherlich erfreut, Undichte Stelle.", -- A_Classic_Fairytale:first_blood +["The targets will guide you through the training."] = "Die Zielscheiben führen dich durch die Übung.", -- Basic_Training_-_Rope ["The team continued their quest of finding the rest of the tribe."] = "Das Team setzte die Suche nach dem Rest ihres Stammes fort.", -- A_Classic_Fairytale:queen ["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.", ["The Torment"]="Die Qual", @@ -2154,6 +2323,7 @@ ["The Tunnel Maker"]="Der Tunnelbauer", ["The Ultimate Weapon"]="Die Ultimative Waffe", ["The Union"]="Die Einheit", +["The Union: You can select a hedgehog at the start of your turns."] = "Die Vereinigung: Du kannst einen Igel zu Zugbeginn auswählen.", -- Continental_supplies ["The village, unprepared, was destroyed by the cyborgs..."]="Das unvorbereitete Dorf wurde von den Cyborgs zerstört.", ["The walk of Fame"]="Die Ruhmesmeile", ["The wasted youth"]="Die vergeudete Jugend", @@ -2161,6 +2331,7 @@ ["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!", ["The what?!"]="Das was?!", ["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.", +["The wrong hedgehog has taken the crate."] = "Der falsche Igel hat sich die Kiste genommen.", -- SimpleMission ["They are all waiting back in the village, haha."]="Sie warten alle im Dorf, haha.", ["They are up there! Take this rope and hurry!"]="Sie sind da oben! Nimm dieses Seil und beeil dich!", ["They Call Me Bullseye! +16 points!"] = "Sie nennen mich »Adlerauge«! +16 Punkte!", -- Space_Invasion @@ -2176,17 +2347,20 @@ ["The Zoo"] = "Der Zoo", -- ["Thighlicker"]="Schenkelschlecker", ["Things are going to get messy around here."]="Es wird hier gleich richtig hässlich werden.", -- A_Space_Adventure:fruit01 +["This allows to select any hedgehog in your team!"] = "Damit kannst du einen beliebigen Igel in deinem Team auswählen.", -- Basic_Training_-_Movement ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "Hiermit erzeugst du eine Kiste an einem|beliebigen Ort im Einflussgebiet deines Klans,|auf Kosten von Energie.", -- Construction_Mode -["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "Hiermit kannst du Minen, Haftminen und Fässer|an einer beliebigen Stelle innerhalb des|Einflussgebiets deines Klans platzieren,|auf Kosten von Energie.|Hoch/Runter: Objekttyp wählen|Links/Rechts: Zeitzünder wählen (für Minen)|Cursor: Objekt platzieren", -- Construction_Mode +["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "Damit kannst du Minen, Haftminen, und Fässer|innerhalb des Einflussbereichs deines Klans|erzeugen und platzieren, auf Kosten von Energie.", -- Construction_Mode ["This almost concludes our tutorial."] = "Damit ist unsere Übung fast abgeschlossen.", -- Basic_Training_-_Flying_Saucer +["This also increases the effectiveness of Medicine."] = "Dies erhöht außerdem die Wirksamkeit von Medizin.", -- Continental_supplies ["This game wasn’t really exciting."] = "Diese Runde war nicht so aufregend.", -- Space_Invasion ["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!", ["This is a new personal best, congratulations!"] = "Das ist eine neue persönliche Bestleistung, Gratulation!", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 ["This is a new personal best time, congratulations!"] = "Das ist eine neue persönliche Bestzeit, Gratulation!", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +["This is Cappy."] = "Das ist Käppi.", -- Basic_Training_-_Movement ["This is it! It's time to make Fell From Heaven fall for me..."]="Das ist es! Es ist an der Zeit, Fiel Vom Himmel in mich verfallen zu lassen …", ["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!", -["This is seems like a wealthy hedgehog, nice ..."]="Das sieht wie ein reicher Igel aus, nett.", -["This is the Olympic stadium of saucer flying."]="Dies ist das olympische Stadion des Untertassenflugs.", +["This is the mission panel."] = "Dies ist die Missionsanzeige.", -- Basic_Training_-_Movement +["This is the Olympic Stadium of Saucer Flying."] = "Dies ist das Olympische Stadion des Untertassenflugs.", -- A_Space_Adventure:ice02 ["This is the wrong way!"]="Das ist die falsche Richtung!", ["This is typical!"]="Typisch!", ["This must be some kind of sorcery!"]="Das muss wohl eine Art Zauberei sein!", @@ -2195,34 +2369,44 @@ ["This planet seems dangerous!"]="Dieser Planet scheint gefährlich zu sein!", ["This rain is really something..."]="Das nenne ich mal einen Regenschauer …", ["This round’s award for ultimate disappointment goes to: Everyone!"]="Der ultimative Enttäuschungspreis geht in dieser Runde an: alle!", +["This seems like a wealthy hedgehog, nice ..."] = "Das scheint ein reicher Igel zu sein, nett …", -- A_Space_Adventure:desert01 ["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?", ["This will be fun!"]="Das wird Spaß machen!", ["This will be useful when I need a new platform or if I want to rise."] = "Das wird sich als nützlich erweisen, wenn ich eine neue Plattform brauche oder ich nach oben muss.", -- portal -["This will certianly come in handy."] = "Das wird bestimmt nützlich sein.", -- User_Mission_-_Teamwork_2 +["This will certainly come in handy."] = "Das wird bestimmt nützlich sein.", -- User_Mission_-_Teamwork_2 ["Thompson"] = "Thomas", -- ["Those aliens are destroying the island!"]="Diese Außerirdischen zerstören die Insel!", ["Those were scheduled for disposal anyway."] = "Sie waren eh für den Schrottplatz bestimmt.", -- A_Classic_Fairytale:dragon +["Throw a 1 second mine!"] = "Wirf eine 1-Sekunden-Mine!", -- Continental_supplies ["Throw a baseball at your foes|and send them flying!"] = "Wirf einen Baseball auf deine|Gegner und lass sie fliegen!", -- Knockball +["Throw a grenade to destroy the target!"] = "Wirf eine Granate, um die Zielscheibe zu zerstören!", -- Basic_Training_-_Grenade ["Thug #%d"] = "Rowdy %d", -- A_Space_Adventure:death01 ["thug"]="Rowdy", ["Timbers"] = "Holz", -- ["Time: %.1fs"] = "Zeit: %.1fs", -- Racer, TechRacer -["Time Box"] = "Zeitkasten", -- Construction_Mode +["Time: %.3fs by %s"] = "Zeit: %.3fs von %s", -- TrophyRace +["Time: %.3fs"] = "Zeit: %.3fs", -- TrophyRace ["Timed Kamikaze! +10 points!"] = "Rechtzeitiges Kamikaze: +10 Punkte!", -- Space_Invasion ["Time extended! +%dsec"] = "Zeitbonus! +%ds", -- Space_Invasion ["Time extension: %ds"] = "Zeitbonus: %ds", -- Tumbler ["Time for a more interesting stunt, but first just collect the next crate!"] = "Zeit für einen interessanteren Stunt, aber sammle zuerst die nächste Kiste auf!", -- Basic_Training_-_Flying_Saucer +["Timer"] = "Zeitzünder", -- Basic_Training_-_Grenade ["Time's up!"]="Die Zeit ist um!", ["Time’s up!"]="Die Zeit ist um!", ["Time to run!"]="Zeit, zu fliehen!", ["Tip: Changing your aim while flying is very difficult, so adjust it before you take off."] = "Tipp: Es ist sehr schwer, beim Fliegen die Zielrichtung zu ändern,|also pass sie an, bevor du abhebst.", -- Basic_Training_-_Flying_Saucer ["Tip: Don't remain for too long in the water, or you won't make it."] = "Tipp: Bleib nicht zu lang im Wasser, sonst schaffst du es nicht.", -- Basic_Training_-_Flying_Saucer ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "Tipp: Wenn du hängenbleibst, benutze »Zug überspringen«,|um das aktuelle Ziel erneut zu versuchen.", -- Basic_Training_-_Flying_Saucer -["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.", -["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!", ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "Tipp: Du kannst die fliegende Untertasse|im Flug wechseln, drücke einfach [Angriff] zwei mal.", -- Basic_Training_-_Flying_Saucer ["Tiyuri"] = "Tiyuri", -- ["Toad"] = "Toad", -- +["To begin, walk to the crate to the right."] = "Um loszulegen, geh zur Kiste rechts.", -- Basic_Training_-_Movement +["To begin with the training, hit the attack key!"] = "Um mit der Übung anzufangen, drücke die Angriffstaste.", -- Basic_Training_-_Movement +["To begin with the training, select the bazooka from the ammo menu!"] = "Um mit dem Training anzufangen, wähl die Bazooka aus dem Munitionsmenü aus!", -- Basic_Training_-_Bazooka +["To begin with the training, select the grenade from the ammo menu!"] = "Um mit dem Training anzufangen, wähl die Granate aus dem Munitionsmenü aus!", -- Basic_Training_-_Grenade +["To finish hedgehog selection, just do anything|with him, like walking."] = "Um die Igelwahl zu beenden, mach irgendwas mit dem Igel, z.B. gehen.", -- Basic_Training_-_Movement +["To get over the next obstacle, you need to perform your back jump precisely."] = "Um über das nächste Hindernis zu gelangen, musst du den Rückwärtssprung präzise vornehmen.", -- Basic_Training_-_Movement +["To get over the water, you have to do multiple|rope shots and swings."] = "Um über das Wasser zu gelangen, brauchst du mehrere Seilschüsse|und musst mehrfach schwingen.", -- Basic_Training_-_Rope ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "Editorwaffen- und Werkzeuge umschalten: [Genaues Zielen]+[2]", -- HedgeEditor ["Toggle Editing Weapons and Tools: Precise+2"]="Waffen- und Werkzeugbearbeitung umschalten: Genaues Zielen + 2", ["Toggle Gear Information: [Precise]+[3]"] = "Gear-Infos umschalten: [Genaues Zielen]+[3]", -- HedgeEditor @@ -2238,6 +2422,7 @@ ["Too slow! Try again ..."]="Zu langsam! Versuch es nochmal.", ["Top-class elite pilot"]="Elitepilot der Spitzenklasse", ["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].", +["To reach higher ground, walk to a ledge, look to the left, then do a back jump."] = "Um auf höheres Gelände zu kommen, geh zur Kante,|blicke nach links und mach einen Rückwärtssprung.", -- Basic_Training_-_Movement ["Torn Muscle"]="Loser Muskel", ["To the caves..."]="Zu den Höhlen …", ["Touch all waypoints as fast as you can!"] = "Berühre alle Wegpunkte so schnell du kannst!", -- Racer @@ -2258,27 +2443,33 @@ ["Training"] = "Übung", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope ["Traitors don't get to shout around here!"] = "Verräter haben hier nicht das Recht, herumzubrüllen!", -- A_Classic_Fairytale:epil ["Traitors"]="Verräter", +["Trapped"] = "Gefangen", -- Basic_Training_-_Movement ["Trapper"]="Trapper", ["Travel carefully as your fuel is limited"]="Reise vorsichtig, da dein Treibstoff begrenzt ist.", ["Travel to all the neighbor planets and collect all the pieces"]="Reise zu allen Nachbarplaneten und sammle alle Bauteile ein.", +["Treasure: Massive weapon bonus in first turn."] = "Schatz: Riesiger Waffenbonus im ersten Zug.", -- Continental_supplies ["Tribe"]="Stamm", ["TrophyRace"]="TrophyRace", ["Trunks"] = "Rüssel", -- ["Try again!"] = "Versuch es noch mal!", -- Basic_Training_-_Flying_Saucer ["Try it now and dive here to collect the crate on the right girder."] = "Versuch es jetzt und tauch hier ab, um die Kiste auf dem rechten Träger aufzusammeln.", -- Basic_Training_-_Flying_Saucer ["Try not to get spotted by the guards!"]="Versuch, von den Wächtern unentdeckt zu bleiben!", +["Try out different bounciness levels to reach difficult targets."] = "Probiere mehrere Sprungstärken aus, um verschiedene Ziele zu treffen.", -- Basic_Training_-_Grenade ["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!", ["Try to keep as many allies alive as possible."]="Versuch, so viele Verbündete wie möglich am Leben zu erhalten.", ["Try to land softly, as you can still take fall damage!"] = "Lande vorsichtig, da du immer noch Fallschaden nehmen könntest!", -- Basic_Training_-_Flying_Saucer ["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.", +["Try to reach and destroy the next target quickly."] = "Versuch, das nächste Ziel möglichst schnell|zu erreichen und zu zerstören.", -- Basic_Training_-_Rope ["T_T"]="T_T", ["Tumbler"] = "Purzler", -- Tumbler +["Turn around: [Left Shift] + [Left]/[Right]"] = "Umdrehen: [Umschalt links] + [Links]/[Rechts]", -- Basic_Training_-_Movement +["Turning Around"] = "Umdrehen", -- Basic_Training_-_Movement ["Turns: Hogs get %d random weapon(s) from their pool"] = "Züge: Igel erhalten %d zufällige Waffe(n) aus ihrem Waffenpool", -- Battalion -["Turns: King's health is set to %d%% of the team health"] = "Züge: Königgesundheit ist %d%% der Teamgesundheit", -- Battalion +["Turns: King's health is set to %d%% of the team health"] = "Züge: Königsgesundheit ist %d%% der Teamgesundheit", -- Battalion +["Turns left: %d"] = "Verbleibende Züge: %d", -- A_Classic_Fairytale:journey ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "Züge: Füllen %d Waffen- und %d Helferpunkte auf und verteilen|Waffen zufällig, basierend auf den vorhandenen Teampunkten", -- Battalion ["Turns until arrival: %d"] = "Züge bis zur Ankunft: %d", -- A_Classic_Fairytale:backstab ["Turns until Sudden Death: %d"] = "Züge bis Sudden Death: %d", -- A_Classic_Fairytale:dragon -["Turn Time: %dsec"] = "Zugzeit: %ds", -- Space_Invasion ["Twenty-Twenty"] = "Zwanzig-Zwanzig", -- ["Two flowers: All missions complete"] = "Zwei Blumen: Alle Missionen abgeschlossen", -- A_Space_Adventure:cosmos ["Two little hogs cooperating, getting past obstacles..."]="Zwei Igelchen, sie arbeiten zusammen, bewältigen Hindernisse gemeinsam …", @@ -2292,9 +2483,8 @@ ["unC0Rr"] = "unC0Rr", -- ["Under Construction"]="Baustelle", ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with 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.", -["Under the meteorites shadow ..."]="Unter dem Schatten des Meteoriten …", +["Under the meteorite’s shadow ..."] = "Unter dem Schatten des Meteoriten …", -- A_Space_Adventure:cosmos ["Unexpected Igor"]="Ausnahmefelix", -["Unique new weapons"]="Einzigartige neue Waffen", ["Unit 0x0007"]="Einheit 0x0007", ["Unit 189"] = "Einheit 189", -- ["Unit 234"] = "Einheit 234", -- @@ -2306,20 +2496,26 @@ ["Unit 638"] = "Einheit 638", -- ["Unit 709"] = "Einheit 709", -- ["Unit 835"]="Einheit 835", +["Unit 881"] = "Einheit 881", -- User_Mission_-_Newton_and_the_Hammock ["Unit 883"] = "Einheit 883", -- ["United We Stand"]="Gemeinsam sind wir stark", -["Unit"]="Einheit", +["Unlike bazookas, grenades are not influenced by wind."] = "Anders als Bazookas werden Granaten nicht vom Wind beeinflusst.", -- Basic_Training_-_Grenade ["Unlimited Attacks: Attacks don't end your turn"] = "Unbegrenzte Angriffe: Angriffe beenden deinen Zug nicht", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree ["Unlimited Attacks"]="Unbegrenzte Angriffe", ["Unlucky Sods"]="Arme Schweine", ["Unstoppable!"]="Unaufhaltsam!", ["Unsuspecting Louts"]="Nichtsahnende Lümmel", +["Up/Down: Adjust dust storm damage"] = "Hoch/Runter: Staubsturmschaden anpassen", -- Continental_supplies +["Up/Down: Browse through continents"] = "Hoch/Runter: Durch Kontinente blättern", -- Continental_supplies ["Up/Down: Change placement mode"] = "Hoch/Runter: Platzierungsmodus wechseln", -- HedgeEditor ["Up/down: Choose crate type"] = "Hoch/Runter: Kistentyp wählen", -- Construction_Mode +["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "Hoch/Runter: Objekttyp auswählen|1-5/Wechseln/Links/Rechts: Minenzeitzünder wählen|Cursor: Objekt platzieren", -- Construction_Mode ["Upper-class elite pilot"]="Elitepilot der Oberklasse", +["Upside-Down World"] = "Verkehrte Welt", -- Continental_supplies ["Use it wisely!"]="Benutze sie weise!", ["Use it with precaution!"]="Benutze sie weise.", ["User Challenge"]="Benutzerherausforderung", +["!"] = "!", -- User_Mission_-_Dangerous_Ducklings ["Use space button twice to change flying saucer while being in air."]="Drücke die Angriffstaste 2 mal, um die fliegende Untertasse im Flug zu wechseln", ["Use space button twice to change flying saucer while floating in mid-air."]="Drücke die Angriffstaste 2 mal, um die fliegende Untertasse im Flug zu wechseln.", ["Use the attack key twice to change the flying saucer while being in air."] = "Benutze die Angriffstaste 2 mal, um die fliegende Untertasse in der Luft zu wechseln.", -- A_Space_Adventure:ice02 @@ -2328,15 +2524,16 @@ ["Use the bazooka and the flying saucer to get the freezer."] = "Benutze die Bazooka und die fliegende Untertasse, um die Eiskanone zu ergattern.", -- A_Space_Adventure:ice01 ["Use the bazooka and the flying saucer to get the icegun."]="Benutze die Bazooka und die fliegende Untertasse, um die Eiskanone zu ergattern", ["Use the flying saucer from the crate to fly to the moon."] = "Benutze die fliegende Untertasse aus der Kiste, um zum Mond zu fliegen.", -- A_Space_Adventure:cosmos -["Use the flying saucer to fly the other planets."] = "Benutze die fliegende Untertasse, um zu den anderen Planeten zu fliegen.", -- A_Space_Adventure:cosmos ["Use the flying saucer to fly to the other planets."] = "Benutze die fliegende Untertasse, um zu den anderen Planeten zu fliegen.", -- A_Space_Adventure:cosmos ["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.", ["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 Werkzeug, um zum letzten Ziel zu kommen.|", ["Use the RC plane and destroy the all the targets."]="Benutze das Funkflugzeug und zerstöre alle Zielscheiben.", ["Use the RC plane and destroy the all the targets"]="Benutze das Funkflugzeug und zerstöre alle Zielscheiben", ["Use the rope in order to catch the blue hedgehog"]="Benutze das Seil, um den blauen Igel zu fangen.", +["Use the rope to complete the obstacle course!"] = "Benutze das Seil, um die Hindernisstrecke abzuschließen!", -- Basic_Training_-_Rope ["Use the rope to get on the head of the mole, young one!"]="Benutze das Seil, um auf den Kopf des Maulwurfs zu gelangen, Jüngling!", ["Use the rope to get to the crate"]="Benutze das Seil, um zur Kiste zu gelangen.", +["Use the rope to get to the target!"] = "Benutze das Seil, um zur Zielscheibe zu gelangen!", -- Basic_Training_-_Rope ["Use the rope to knock your enemies to their doom."]="Benutze das Seil, um deine Gegner in ihr Verderben zu stürzen!", ["Use the rope to quickly get to the surface!"]="Benutze das Seil, um schnell zur Oberfläche zu gelangen!", ["Use the saucer and fly away"]="Benutze die Untertasse und flieg davon!", @@ -2344,7 +2541,7 @@ ["Use the saucer and pass through the rings."]="Benutze die Untertasse und passiere die Ringe.", ["Use the shield to protect yourself from bazookas."] = "Benutze das Schild, um dich vor Bazookas zu schützen.", -- Space_Invasion ["Use the structure placer to place structures."] = "Benutze den Gebäudeplatzierer, um Gebäude zu platzieren.", -- Construction_Mode -["Use this mode to give a hog a preset identity and weapons."]="Benutze diesen Modus, um einem Igel ein voreingestelle Idendität sowie Waffen zu geben.", +["Use this mode to give a hog a preset identity and weapons."]="Benutze diesen Modus, um einem Igel eine voreingestellte Identität sowie Waffen zu geben.", ["Use this mode to give an entire team themed hats and names."]="Benutze diesen Modus, um einem Team einen Satz Hüte und Namen zu geben.", ["Use this mode to place air mines"]="Benutze diesen Modus, um Luftminen zu platzieren", ["Use this mode to place barrels"]="Benutze diesen Modus, um Pulverfässer zu platzieren", @@ -2367,12 +2564,12 @@ ["Use your ready time to think."]="Benutze deine Vorbereitungszeit zum Denken.", ["Use your rope to collect all crates as fast as possible."] = "Benutze dein Seil, um alle Kisten so schnell wie möglich einzusammeln.", -- ["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!", +["Use your rope to get to the next target, then destroy it!"] = "Benutze dein Seil, um zur nächsten Zielscheibe zu gelangen,|dann zerstöre sie!", -- Basic_Training_-_Rope ["Utility Crate Placement Mode"]="Werkzeugkistenplatzierungsmodus", ["UTILITY CRATE PLACEMENT MODE"]="WERKZEUGKISTENPLATZIERUNGSMODUS", ["Utility crates extend your time."] = "Werkzeugkisten erhöhen deine Zeit.", -- Tumbler ["Variants: Hogs will be randomized from 12 different variants"] = "Varianten: Igel werden aus 12 verschiedenen Varianten zufällig ausgewählt", -- Battalion ["Variants: Kings and air generals are disabled"] = "Varianten: Könige und Luftgeneräle sind deaktiviert", -- Battalion -["Variants: The last hog of each team will be a king"] = "Varianten: Der letzte Igel jedes Teams wird zum König", -- Battalion ["Vedgies"]="Früchties", ["Vegan Jack"]="Veganer-Jochen", ["Vega"] = "Vega", -- @@ -2390,9 +2587,11 @@ ["Voldemort"] = "Voldemort", -- portal ["Voltorb"] = "Voltobal", -- ["Wait a moment …"] = "Moment mal …", -- A_Space_Adventure:final +["Walking on Ice"] = "Auf dem Eis laufen", -- Basic_Training_-_Movement ["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.", -["Wall Before Crate: You must touch the marked wall before you can get crates."] = "Wand Vor Kiste: Du musst die markierte Wand berühren, bevor die Kisten erhälst.", -- WxW -["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "Wände Vor Kiste: Du musst die %d markierten Wände berühren, bevor du Kisten erhälst.", -- WxW +["Walk: [Left]/[Right]"] = "Gehen: [Links]/[Rechts]", -- Basic_Training_-_Bazooka +["Wall Before Crate: You must touch the marked wall before you can get crates."] = "Wand Vor Kiste: Du musst die markierte Wand berühren, bevor du Kisten erhältst.", -- WxW +["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "Wände Vor Kiste: Du musst die %d markierten Wände berühren, bevor du Kisten erhältst.", -- WxW ["Wall set: No walls"] = "Wandgruppe: Keine Wände", -- WxW ["Wall set: %s (%d walls)"] = "Wandgruppe: %s (%d Wände)", -- WxW ["Wall set: %s"] = "Wandgruppe: %s", -- WxW @@ -2400,13 +2599,14 @@ ["Wall to wall"] = "Wand zu Wand", -- WxW ["Waluigi"]="Waluigi", ["Wannabe Flyboys"]="Möchtegernflieger", +["Wannabe Ropers"] = "Möchtegernseiler", -- Basic_Training_-_Rope ["Wannabe Shoppsta"]="Möchtegernkäufer", ["Wario"] = "Wario", -- +["Warming Up"] = "Aufwärmübungen", -- Basic_Training_-_Grenade ["Warning: Deletition Mode Active"]="Achtung: Löschmodus aktiv", +["Warning: Fire cake detected"]="Achtung: Feuertorte gesichtet", -- ClimbHome ["Warning: Never ever leave the flying saucer while in water!"] = "Achtung: Verlasse niemals die fliegende Untertasse im Wasser!", -- Basic_Training_-_Flying_Saucer -["WARNING: Sabotage detected!"]="ACHTUNG: Sabotage erkannt!", ["Warrior"]="Krieger", -[" 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!", ["WatchBot 4000"] = "Wachboter 4000", -- User_Mission_-_Teamwork_2 ["Watch your steps, young one!"]="Pass auf deine Schritte auf, Jüngling!", ["Watermelon Heart"]="Wassermelonenherz", @@ -2427,10 +2627,10 @@ ["WEAPON CRATE PLACEMENT MODE"] = "WAFFENKISTENPLATZIERUNGSMODUS", -- HedgeEditor ["Weapon Filter: Dematerializes all ammo| carried by enemies entering it."] = "Waffenfilter: Dematerialisiert sämtliche Munition,| die Gegner in seinem Einflussbereich tragen.", -- Construction_Mode ["Weapon Filter"]="Waffenfilter", -["weaponschemes"]="Waffenschemata", ["Weapons: Each team starts with %d weapon points"] = "Waffen: Jedes Team beginnt mit %d Waffenpunkten", -- Battalion ["Weapons: Hogs will get 1 out of 3 weapons randomly each turn"] = "Waffen: Igel erhalten zufällig 1 aus 3 Waffen pro Zug", -- Battalion ["Weapons: Nearly every hog variant gets 1 kamikaze"] = "Waffen: Fast jede Igelvariante erhält 1 Kamikaze", -- Battalion +["Weapon specials: Some weapons have special modes (see weapon description)."] = "Waffenextras: Einige Waffen haben Sondermodi (siehe Waffenbeschreibung).", -- Continental_supplies ["Weapons reset: The weapons are reset after each turn."] = "Gleichbleibende Bewaffnung: Die Waffen werden nach jedem Zug zurückgesetzt.", -- WxW ["Weapons Reset"]="Waffenzurücksetzung", ["We are indeed."]="Das sind wir in der Tat.", @@ -2440,6 +2640,7 @@ ["We come in peace! Just let our friends go!"] = "Wir kommen in Frieden! Lass einfach nur unsere Freunde gehen!", -- A_Classic_Fairytale:queen ["We could just have blown up the meteorite from the the beginning!"] = "Wir hätten doch gleich den Meteoriten in die Luft jagen können!", -- A_Space_Adventure:final ["We don't have time for that now!"] = "Wir haben jetzt keine Zeit dafür!", -- A_Classic_Fairytale:queen +["We have lost an object which was critical to this mission."] = "Wir haben ein missionskritisches Objekt verloren!", -- SimpleMission ["We have no time to waste..."]="Wir haben keine Zeit zu verlieren.", ["We have nowhere else to live!"]="Wir haben sonst keinen Ort zu leben!", ["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.", @@ -2448,20 +2649,23 @@ ["We have to protect the village!"]="Wir müssen das Dorf schützen!", ["We have to unite and defeat those cylergs!"]="Wir müssen uns zusammentun, und diese Cylergs besiegen!", ["Welcome Hog Solo, surprised to see me?"]="Hallo, Igel Einsam! Bist du überrascht, mich zu sehen?", +["Welcome home! Please take a seat"] = "Willkommen zu Hause! Bitte nimm Platz", -- ClimbHome ["Welcome, Leaks A Lot!"]="Willkommen, Undichte Stelle!", ["Welcome to the Death Planet!"]="Willkommen auf dem Todesplaneten!", ["Welcome to the Desert Planet!"]="Willkommen auf dem Wüstenplaneten!", ["Welcome to the Fruit Planet!"]="Willkommen auf dem Obstplaneten!", -["Welcome to the meteorite!"]="Willkommen auf dem Meteorit!", +["Welcome to the meteorite!"]="Willkommen auf dem Meteoriten!", ["Welcome to the moon!"]="Willkommen auf dem Mond!", ["Welcome to the Planet of Ice!"]="Willkommen auf dem Eisplaneten!", ["Well done."]="Gut gemacht.", +["Well done! Let's destroy the next target!"] = "Gut gemacht! Lasst uns die nächste Zielscheibe zerstören!", -- Basic_Training_-_Rope +["Well done! The next target awaits."] = "Sehr gut! Die nächste Zielscheibe wartet schon!", -- Basic_Training_-_Rope ["We'll give you a problem then!"]="Dann geben wir euch ein Problem!", ["(well... kind of...)"]="(naja, sozusagen …)", ["We'll play a game first."]="Wir werden zuerst ein Spiel spielen.", ["We'll spare your life for now!"]="Wir werden dein Leben verschonen. Noch.", ["Well, that escalated quickly!"]="Das ging aber schnell in die Hose!", -["Well that was an unnecessary act of violence."] = "Naja, das war ein unnötiger Gewaltakt.", -- A_Classic_Fairytale:epil +["Well, that was an unnecessary act of violence."] = "Naja, das war wohl ein unnötiger Gewaltakt.", -- A_Classic_Fairytale:epil ["Well, that was a waste of time."]="Tja, das war wohl Zeitverschwendung.", ["We'll use our communicators to contact you."]="Wir werden unsere Kommunikatoren benutzen, um dich zu kontaktieren.", ["Well, well! Isn't that the cutest thing you've ever seen?"]="Sieh mal einer an! So was putziges hab ich ja schon lange nicht mehr gesehen.", @@ -2511,11 +2715,13 @@ ["What is this place?"]="Was ist dieser Ort?", ["What oppression? You were the most unoppressed member of the tribe!"] = "Welche Unterdrückung? Der Stamm hat dich überhaupt nicht unterdrückt!", -- A_Classic_Fairytale:queen ["What shall we do with the traitor?"]="Was sollen wir mit dem Verräter tun?", +["What's in the box, you ask? Let's find out!"] = "Was wohl in der Kiste ist? Finde es heraus!", -- Basic_Training_-_Movement ["What the?"] = "Was zum?", -- A_Classic_Fairytale:queen ["What?!"] = "Was?!", -- A_Classic_Fairytale:queen ["WHAT?! You're the ones attacking us!"]="WAS?! Ihr seid diejenigen, die uns angreifen!", ["When I find it..."]="Wenn ich ihn in die Finger kriege …", ["When?"]="Wann?", +["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "Wenn du in der Luft bist, kannst du weiterhin zielen|und das Seil erneut schießen, wenn du nicht schon eins festhältst.", -- Basic_Training_-_Rope ["Where are all these crates coming from?!"]="Woher kommen all die Kisten?!", ["Where are they?!"]="Wo sind sie?!", ["Where did that alien run?"]="Wohin ist dieser Außerirdische gelaufen?", @@ -2545,15 +2751,15 @@ ["Why?"] = "Warum?", -- A_Classic_Fairytale:queen ["Why, why, why, why!"] = "Warum, warum, warum, warum!", -- A_Classic_Fairytale:queen ["Why would they do this?"]="Warum würden sie das tun?", -["- Will Get 1-3 random weapons"]="- Wird 1–3 zufällige Waffen erhalten", -["- Will give you a parachute every second turn."]="- Wird dir jeden 2. Zug einen Fallschirm geben", ["Will this ever end?"]="Wird dies je enden?", ["Will you give me the other parts?"]="Wirst du mir die anderen Teile geben?", +["Wind"] = "Wind", -- Basic_Training_-_Bazooka ["Winner: %s"] = "Sieger: %s", -- Mutant ["Winning time: %s"] = "Bestzeit: %s", -- Racer, TechRacer ["Win"]="Sieg", ["Wise Oak"]="Weise Eiche", ["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 die einzige Hoffnung des Dorfs.", +["With low bounciness, it barely bounces at all, but it is much more predictable."] = "Mit einer niedrigen Sprungkraft springen sie fast gar nicht, aber sie sind viel berechenbarer.", -- Basic_Training_-_Grenade ["With the rest of the tribe gone, it was up to %s to save the village."] = "Da der Rest des Stammes fort war, lag es alleine an %s, das Dorf zu retten.", -- A_Classic_Fairytale:dragon ["Worry not, for it is a peaceful animal! There is no reason to be afraid..."]="Sei ganz beruhigt, da es ein friedliebendes Tier ist. Es gibt keinen Grund, Angst zu haben.", ["Wow, what a dream!"]="Wow, was für ein Traum!", @@ -2563,7 +2769,7 @@ ["Yay, we won!"]="Hurra, wir haben gewonnen!", ["Y Chwiliad"]="Y Chwiliad", ["Yeah...I think it's a 'he', lol."]="Ja, ich glaube, dass es ein »er« ist. (lach)", -["Yeah, sure! I died. Hillarious!"]="Ja, sicher! Ich starb. Urkomisch!", +["Yeah, sure! I died. Hilarious!"] = "Ja, sicher! Ich starb. Urkomisch!", -- A_Classic_Fairytale:backstab ["Yeah, take that!"]="Jawohl, nimm das!", ["Yeah? Watcha gonna do? Cry?"]="Ja und? Was willst du schon tun? Heulen?", ["Yeah, well, for some dude to be happy, some other dude has to suffer."] = "Tja, naja, damit ein Typ glücklich sein kann, muss ein anderer Typ leiden.", -- A_Classic_Fairytale:queen @@ -2589,19 +2795,22 @@ ["You are sabotaged, RUN!"]="Du wurdest sabotiert, LAUF!", ["You are the one who fled! So, you are alive."]="Du bist der, der floh! Du lebst also.", ["You bear impressive skills, %s!"] = "Du hast erstaunliche Fähigkeiten, %s!", -- A_Classic_Fairytale:dragon +["You can also hold down the key for “Precise Aim” to prevent slipping."] = "Alternativ kannst du die Taste für »Genaues Zielen« gedrückt halten, um nicht zu rutschen.", -- Basic_Training_-_Movement ["You can always trust me!"] = "Du kannst mir immer vertrauen!", -- A_Classic_Fairytale:epil ["You can always trust me! I love you!"] = "Du kannst mir immer vertrauen! Ich liebe dich!", -- A_Classic_Fairytale:epil ["You can avoid some battles."]="Du kannst einige Kämpfe vermeiden.", +["You can change the detonation timer of grenades."] = "Du kannst den Zeitzünder von Granaten einstellen.", -- Basic_Training_-_Grenade ["You can choose another planet by replaying this mission."]="Du kannst einen anderen Planeten auswählen, indem du diese Mission erneut spielst.", ["You can dive with your flying saucer!"] = "Mit deiner fliegenden Untertasse kannst du abtauchen!", -- Basic_Training_-_Flying_Saucer -["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "Du kannst sogar deine Zielrichtung im Flug ändern, wenn du|zuerst [Genaues Zielen] gedrückt hälst, und dann [Hoch] oder [Runter] drückst.", -- Basic_Training_-_Flying_Saucer -["You can further customize the race by changing the scheme script paramater."]="Du kannst das Rennen ferner bearbeiten, indem du den Skriptparameter im Schema änderst.", +["You can even change your aiming direction in mid-flight if you first hold [Precise] and then press [Up] or [Down]."] = "Du kannst sogar deine Zielrichtung im Flug ändern, wenn du|zuerst [Genaues Zielen] gedrückt hältst, und dann [Hoch] oder [Runter] drückst.", -- Basic_Training_-_Flying_Saucer +["You can further customize the race by changing the scheme script parameter."] = "Du kannst das Rennen ferner bearbeiten, indem du den Skriptparameter im Schema änderst.", -- TechRacer ["You can only use the sniper rifle or the watermelon bomb."]="Du kannst nur das Scharfschützengewehr oder die Wassermelonenbombe benutzen.", ["You can only use the sniper rifle or the watermelon bomb"]="Du kannst nur das Scharfschützengewehr oder die Wassermelonenbombe benutzen", ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "In dieser Mission kannst du üben, dich herumbewegen|und Werkzeuge benutzen.|Aber sie wird niemals enden!", -- A_Classic_Fairytale:epil -["- You can switch between hogs at the start of your turns. (Not first one)"]="- Du kannst deinen Igel am Zugbeginn aussuchen (aber nicht im 1. Zug).", +["You can set the bounciness of grenades (and grenade-like weapons)."] = "Du kannst die Sprunghaftigkeit von Granaten (und granatenähnlichen Waffen) setzen.", -- Basic_Training_-_Grenade ["You can’t open a portal on the blue surface."] = "Du kannst kein Portal auf der blauen Oberfläche öffnen.", -- portal ["You can use the other 2 hogs to assist you."]="Du kannst die anderen beiden Igel benutzen, um dich zu unterstützen.", +["You can use the rope to reach new places."] = "Du kannst das Seil benutzen, um neue Orte zu erreichen.", -- Basic_Training_-_Rope ["You choose well, Hog Solo!"]="Gute Wahl, Igel Einsam!", ["You completed the mission in %.3f seconds."] = "Du hast die Mission in %.3f Sekunden abgeschlossen.", -- A_Space_Adventure:ice02 ["You completed the mission in %d rounds."] = "Du hast die Mission in %d Runden abgeschlossen.", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2615,15 +2824,11 @@ ["You defended yourself against the Fruit Assassins."] = "Du hast dich gegen die Obstassassinen gewehrt.", -- A_Space_Adventure:fruit02 ["You defended yourself against the Strawberry Assassins."]="Du hast dich gegen die Erdbeerassassinen gewehrt.", ["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.", -["You did not make it in time, try again!"]="Du hast es nicht rechtzeitig geschafft, versuch es nochmal!", ["You don't deserve my sacrifice!"] = "Ihr verdient mein Opfer nicht!", -- A_Classic_Fairytale:queen ["You drove Professor Hogevil away."] = "Du hast Professor Bösigel verjagt.", -- A_Space_Adventure:moon01 ["You drove the minions away."] = "Du hast die Lakaien verjagt.", -- A_Space_Adventure:moon01 -["You earned the \"Rope Master\" achievement for finishing in under 50 seconds."] = "Für die Beendigung der Übung in weniger als 50 Sekunden hast du die »Seilmeister«-Auszeichnung erhalten.", -- Basic_Training_-_Rope ["You endangered your whole tribe, you bastard!"] = "Du hast deinen ganzen Stamm gefährdet, du Schwein!", -- A_Classic_Fairytale:queen -["You failed!"] = "Du hast versagt!", -- Basic_Training_-_Rope ["You failed to kill all enemies in a single turn."] = "Du hast es nicht geschafft, alle Gegner in einem Zug zu töten.", -- Big_Armory -["You failed to kill all enemies in this turn."] = "Du hast es nicht geschafft, alle Gegner in diesem Zug zu töten.", -- Big_Armory ["You fought bravely and you helped us win this battle!"]="Du hast mutig gekämpft und uns geholfen, diese Schlacht zu gewinnen!", ["You give me no choice!"] = "Ihr habt mir keine andere Wahl gelassen!", -- A_Classic_Fairytale:queen ["You got a killer mask there, amigo!"] = "Du hast eine Killermaske, Amigo!", -- A_Classic_Fairytale:epil @@ -2633,8 +2838,9 @@ ["You had %.2fs remaining on the clock (+%d points)."]="Verbleibende Zeit: %.2fs (+%d Punkte).", ["You had %d additional flying saucers left."] = "Du hattest %d zusätzliche fliegende Untertassen übrig.", -- A_Space_Adventure:ice02 ["You had "]="Du hattest ", -["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 stirbt, ist die Mission verloren.|Tipp: Vielleicht solltest du ein paar Minen benutzen.", +["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, bevor die nächste Welle ankommt.|Stell sicher, die ankommenden Kannibalen angemessen zu begrüßen!|Wenn der Igel stirbt, ist alles verloren.|Tipp: Du solltest ein paar Minen legen.", -- A_Classic_Fairytale:backstab ["You have acquired the last device part."]="Du hast das letzte Bauteil erhalten.", +["You have activated Switch Hedgehog!"] = "Du hast »Igel wechseln« aktiviert!", -- Basic_Training_-_Movement ["You have beaten the challenge!"]="Du hast die Herausforderung gemeistert!", ["You have been giving us out to the enemy, haven't you!"]="Du hast uns an den Feind verkauft, nicht wahr?", ["You have chosen the perfect moment to leave."]="Du hast den perfekten Augenblick ausgesucht, um zu gehen.", @@ -2643,11 +2849,14 @@ ["You have chosen to flee."] = "Du hast dich für die Flucht entschieden.", -- A_Space_Adventure:fruit01 ["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.", ["You have collected %d out of %d crate(s)."] = "Du hast %d von %d Kiste(n) eingesammelt.", -- +["You have collected the “Switch Hedgehog” utility!"] = "Du hat das Werkzeug »Igel wechseln« eingesammelt!", -- Basic_Training_-_Movement +["You have completed the Basic Bazooka Training!"] = "Du hast die Übungen mit der Bazooka abgeschlossen!", -- Basic_Training_-_Bazooka +["You have completed the Basic Grenade Training!"] = "Du hast die Übungen mit der Granate abgeschlossen!", -- Basic_Training_-_Grenade +["You have completed the Basic Movement Training!"] = "Du hast die Fortbewegungsübungen abgeschlossen!", -- Basic_Training_-_Movement ["You have completed this challenge in %.2f s (+%d points)."] = "Du hast diese Herausforderung in %.2f s gemeistert (+%d Punkte).", -- User_Mission_-_Rope_Knock_Challenge ["You have destroyed all targets!"]="Du hast alle Zielscheiben zerstört!", ["You have destroyed all the targets."]="Du hast alle Zielscheiben zerstört.", ["You have destroyed %d of %d targets (+%d points)."]="Du hast %d von %d Zielscheiben zerstört (+%d Punkte).", -["You have destroyed %d of %d targets."]="Du hast %d von %d Zielscheiben zerstört.", ["You have dropped %d missiles."]="Du hast %d Bomben abgeworfen.", ["You have eliminated all visible enemy hedgehogs!"]="Du hast alle sichtbaren feindlichen Igel besiegt!", ["You have eliminated Professor Hogevil."] = "Du hast Professor Bösigel eliminiert.", -- A_Space_Adventure:moon01 @@ -2658,13 +2867,11 @@ ["You have failed to save the tribe!"]="Du hast es nicht geschafft, den Stamm zu retten!", ["You have finally figured it out!"]="Ihr habt es endlich kapiert!", ["You have finished the Basic Rope Training!"] = "Du hast die Seilübung abgeschlossen!", -- Basic_Training_-_Rope -["You have finished the bazooka training!"] = "Du hast die Bazookaübung abgeschlossen!", -- Basic_Training_-_Bazooka ["You have finished the challenge!"]="Du hast die Herausforderung gemeistert!", ["You have finished the challenge in %.3f s."] = "Du hast die Herausforderung in %.3f s bewältigt.", -- ["You have finished the Flying Saucer Training!"] = "Du hast die Übungen mit der fliegenden Untertasse abgeschlossen!", -- Basic_Training_-_Flying_Saucer ["You have finished the target practice!"] = "Du hast die Zielübung abgeschlossen!", -- ["You have kidnapped our whole tribe!"]="Ihr habt unseren ganzen Stamm entführt!", -["You have killed all enemies."] = "Du hast alle Gegner umgebracht.", -- Big_Armory ["You have killed an innocent hedgehog!"]="Du hast einen unschuldigen Igel getötet!", ["You have killed %d of 16 hedgehogs (+%d points)."] = "Du hast %d von 16 Igeln getötet (+%d Punkte).", -- User_Mission_-_Rope_Knock_Challenge ["You have launched %d bazookas."]="Du hast %d Bazookas abgefeuert.", @@ -2673,7 +2880,7 @@ ["You have managed to catch the blue hedgehog in %.3f seconds."] = "Du hast es geschafft, den blauen Igel in %.3f Sekunden zu fangen.", -- A_Space_Adventure:moon02 ["You have managed to catch the blue hedgehog in time"]="Du hast es geschafft, den blauen Igel rechtzeitig zu fangen.", ["You have never worked a bit in your life!"] = "Du hast in deinem gesamten Leben noch nicht gearbeitet!", -- A_Classic_Fairytale:queen -["You have nothing to be afraid of now."] = "Jetzt hast du nichts mehr zu beführchten.", -- A_Classic_Fairytale:epil +["You have nothing to be afraid of now."] = "Jetzt hast du nichts mehr zu befürchten.", -- A_Classic_Fairytale:epil ["You haven't rescued anyone."]="Du hast niemanden gerettet.", ["You have obtained an achievement: Lively Lifeguard"]="Du hast eine Auszeichnung erhalten: Lebhafter Lebensretter", ["You have perfectly beaten the challenge!"]="Du hast die Herausforderung gemeistert!", @@ -2681,7 +2888,6 @@ ["You have proven yourselves worthy!"]="Ihr habt euch bewährt.", ["You have reached the take-off area successfully!"]="Du hast das Startfeld erfolgreich erreicht!", ["You have rescued H and Dr. Cornelius."]="Du hast H und Dr. Cornelius gerettet.", -["You have SCORED!!"]="Du hast GEPUNKTET!", ["You have shot %d times."] = "Du hast %d Schüsse abgegeben.", -- ["You have successfully eliminated Professor Hogevil."]="Du hast Professor Bösigel erfolgreich eliminiert!", ["You have successfully finished the campaign!"] = "Du hast die Kampagne erfolgreich abgeschlossen!", -- A_Classic_Fairytale:epil @@ -2694,8 +2900,9 @@ ["You have to continue alone from now on."]="Von hier an musst du alleine fortfahren.", ["You have to destroy all the explosives without dying!"]="Du musst alle Sprengstoffe zerstören, ohne zu sterben!", ["You have to destroy all the targets."]="Du musst alle Zielscheiben zerstören.", -["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "Du musst das obige Ziel zerstören, indem du eine Granate|aus deiner fliegenen Untertasse darauf abwirfst.", -- Basic_Training_-_Flying_Saucer +["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "Du musst das obige Ziel zerstören, indem du eine Granate|aus deiner fliegenden Untertasse darauf abwirfst.", -- Basic_Training_-_Flying_Saucer ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "Du musst 2 Zielscheiben zerstören, aber die vorherige Methode wäre hier sehr schwer oder gefährlich.", -- Basic_Training_-_Flying_Saucer +["You have to drop the grenade from rope!"] = "Du musst die Granate vom Seil fallen lassen!", -- Basic_Training_-_Rope ["You have to eliminate all the enemies."]="Du musst alle Gegner eliminieren.", ["You have to eliminate all the visible enemies."]="Du musst alle sichtbaren Gegner eliminieren.", ["You have to get the weapons and rescue the PAotH researchers."]="Wir müssen die Waffen besorgen und die PAdI-Forscher retten.", @@ -2716,6 +2923,7 @@ ["You just appeared out of thin air!"]="Du bist einfach aus dem Nichts aufgetaucht!", ["You just can't let it go, can you!"] = "Du kannst einfach nicht loslassen, oder?", -- A_Classic_Fairytale:queen ["You just committed suicide..."]="Du hast gerade Selbstmord begangen.", +["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "Du hast etwas Gesundheit aufgesammelt.|Je gesünder deine Igel sind, desto besser!", -- Basic_Training_-_Movement ["You killed my father, you monster!"]="Du hast meinen Vater umgebracht, du Monster!", ["You know...taking a stroll."]="Du weißt schon … umherbummeln.", ["You know what? I don't even regret anything!"]="Weißt du was? Ich bereue nichts!", @@ -2749,11 +2957,13 @@ ["You never give me plants!"] = "Ihr gebt mir niemals Pflanzen!", -- A_Classic_Fairytale:queen ["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?", ["You now have infinite fuel, grenades and bazookas for fun."] = "Du hast jetzt unbegrenzten Treibstoff, Granaten und Bazookas nur so zum Spaß.", -- Basic_Training_-_Flying_Saucer +["You only get 1 rope this time, don't waste it!"] = "Diesmal erhältst du nur 1 Seil, vergeud es nicht!", -- Basic_Training_-_Rope ["You only have 2 flying saucers this time."] = "Diesmal hast du nur 2 fliegende Untertassen.", -- Basic_Training_-_Flying_Saucer ["You only have one flying saucer this time."] = "Diesmal hast du nur eine fliegende Untertasse.", -- Basic_Training_-_Flying_Saucer ["You probably know what to do next..."]="Du weißt vermutlich, was als nächstes zu tun ist.", ["Your accuracy was %.1f%%."]="Deine Treffgenauigkeit betrug %.1f%%.", ["Your accuracy was %.1f%% (+%d points)."] = "Deine Treffgenauigkeit betrug %.1f%% (+%d Punkte).", -- +["Your ammo is limited this time."] = "Diesmal ist deine Munition begrenzt.", -- Basic_Training_-_Bazooka ["Your deaths will be avenged, Cannibals!"] = "Eure Tode werden gerächt, Kannibalen!", -- A_Classic_Fairytale:enemy ["Your deaths will be avenged, Natives!"] = "Eure Tode werden gerächt, Eingeborene!", -- A_Classic_Fairytale:enemy ["Your death will not be in vain, Dense Cloud!"]="Dein Tod wird nicht ungesühnt bleiben, Dichte Wolke!", @@ -2761,19 +2971,19 @@ ["You're...alive!? But we saw you die!"]="Du … lebst? Aber wir sahen dich sterben!", ["You're a pathetic liar!"]="Du bist ein dreckiger Lügner!", ["You're funny!"]="Du bist lustig!", -["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.", -- Basic_Training_-_Rope ["You're on your way to freeing your tribe!"] = "Ihr seid dabei, euren Stamm zu befreien!", -- A_Classic_Fairytale:queen ["You're pathetic! You are not worthy of my attention..."]="Du bist erbärmlich! Du hast meine Aufmerksamkeit nicht verdient.", -["You're probably wondering why I bought you back..."]="Ihr fragt euch bestimmt, warum ich euch zurückgebracht habe.", +["You're probably wondering why I brought you back ..."] = "Ihr fragst euch bestimmt, warum ich euch zurückgebracht habe.", -- A_Classic_Fairytale:backstab ["Your escape took you %d turns."] = "Deine Flucht dauerte %d Züge.", -- A_Space_Adventure:desert02 ["You're so brave! I feel safe with you."] = "Du bist so mutig! In deinen Händen fühle ich mich sicher.", -- A_Classic_Fairytale:epil ["You're some piece of hypocrite junkie!"] = "Du bist sowas von ein heuchlerischer Junkie!", -- A_Classic_Fairytale:queen ["You're terrorizing the forest...We won't catch anything like this!"]="Du terrorisierst den Wald. Wir werden auf diese Weise nichts fangen!", ["You retrieved the lost part."]="Du hast das verlorene Teil ergattert.", -- A_Space_Adventure:fruit02 -["Your fastest escape so far: %d turns"] = "Deine schnelltse Flucht bis jetzt: %d Züge", -- A_Space_Adventure:desert02 +["Your fastest escape so far: %d turns"] = "Deine schnellste Flucht bis jetzt: %d Züge", -- A_Space_Adventure:desert02 ["Your fastest victory so far: %d rounds"] = "Dein schnellster Sieg bis jetzt: %d Runden", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 ["Your first destination is the moon in order to get more fuel."]="Dein erstes Ziel ist der Mond, um mehr Treibstoff zu erhalten.", ["Your hedgehog died!"]="Dein Igel ist gestorben!", +["Your hedgehog has been revived!"] = "Dein Igel wurde wiederbelebt!", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope ["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.", ["Your height over time"]="Deine Höhe über die Zeit", ["Your hogs must survive!"]="Deine Igel müssen überleben.", @@ -2783,18 +2993,17 @@ ["Your rank: %s"]="Dein Rang: %s", ["You saved %d of 8 Hapless Hogs."]="Du hast %d von 8 Glücklosen Igeln gerettet.", ["You see, hedgehog spikes are very, very valuable."] = "Ihr müsst verstehen, Igelstacheln sind sehr, sehr wertvoll.", -- A_Classic_Fairytale:queen +["You see the wind strength at the bottom right corner."] = "Du siehst die Windstärke in der unteren rechten Ecke.", -- Basic_Training_-_Bazooka ["You should have known that we don't rely on meatbags!"] = "Ihr solltet gewusst haben, dass wir uns nicht auf Fleischbeutel verlassen!", -- A_Classic_Fairytale:queen ["You should know this more than anyone, Leaks!"] = "Du solltest es von allen am Ehesten wissen, Undichte!", -- A_Classic_Fairytale:queen ["You speak great truth, Hannibal. Here, take a sip!"] = "Du sprichst weise Worte, Hannibal. Hier, nimm einen Schluck!", -- A_Classic_Fairytale:epil ["You've been assaulting us, we have been just defending ourselves!"]="Ihr habt uns überfallen, wir haben uns nur verteidigt!", ["You've failed. Try again."]="Du bist gescheitert. Versuche es nochmal.", -["You've reached the goal!| |Time: "]="Ziel erreicht!| |Zeit: ", ["You will be avenged!"]="Du wirst gerächt!", ["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 Zielscheiben übrigbleiben.", -- A_Space_Adventure:desert03 ["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.", -- A_Space_Adventure:fruit03 ["You will play every 3 turns"]="Du wirst alle 3 Züge spielen.", ["You will play every 3 turns."] = "Du wirst alle 3 Züge spielen.", -- A_Space_Adventure:fruit01 -["- 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)!", ["You win!"] = "Du hast gewonnen!", -- Big_Armory ["You won't believe what happened to me!"]="Ihr werdet nicht glauben, was mir passiert ist!", ["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.", @@ -2802,7 +3011,6 @@ ["Zealandia"]="Neuseeland-Kontinent", ["Zombie"] = "Zombie", -- ["Zombi"] = "Zombi", -- portal -["'Zooka Team"]="Die Knalltüten", ["Zook"]="Zook", ["Zork"]="Zork", } diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/de.txt --- a/share/hedgewars/Data/Locale/de.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/de.txt Sun Jun 10 19:12:26 2018 +0200 @@ -61,13 +61,14 @@ 00:57=Gummi 00:58=Luftmine 00:59=Quietscheentchen +00:60=Minigun 01:00=Laden … 01:01=Unentschieden 01:02=%1 gewinnt! 01:03=Lautstärke: %1 % 01:04=Pause -01:05=Wirklich beenden (Z/Esc)? +01:05=Wirklich beenden (%1/%2)? 01:06=Sudden Death! 01:07=%1 verbleibend 01:08=Treibstoff @@ -86,13 +87,25 @@ 01:19=Extreme 01:20=%1 Sprungkraft 01:21=Audio stumm -01:22=Abwesenheitsmodus +01:22=Automatisches Überspringen aktiv 01:23=Autokamera aus 01:24=Autokamera an 01:25=Zieltaste drücken, um das Ziel zu markieren 01:26=Werkzeug nicht verfügbar im Sudden Death 01:27=+%1 01:28=Leer! +01:29=Unbekannte Taste +01:30=%1 und %2 gewinnen! +01:31=%1, %2 und %3 gewinnen! +01:32=%1, %2, %3 und %4 gewinnen! +01:33=%1, %2, %3, %4 und %5 gewinnen! +01:34=%1, %2, %3, %4, %5 und %6 gewinnen! +01:35=%1, %2, %3, %4, %5, %6 und %7 gewinnen! +01:36=Alle gewinnen! +01:37=%1 ist gegangen. +01:38=%1 ist zurück. +01:39=%1 hat den Zug automatisch übersprungen. +01:40=%1 fps ; Event messages ; Hog (%1) died @@ -334,7 +347,7 @@ 02:02=Jetzt geht's los! 02:02=Auf geht's! -; Round ends and team/clan (%1) wins +; Round ends and team (%1) wins 02:03=%1 gewinnt! 02:03=%1 ist der Champion 02:03=%1 ist der Sieger! @@ -364,7 +377,6 @@ 02:03=%1 schlürft von der Siegersoße 02:03=%1 hat diese Runde meisterhaft gewonnen 02:03=%1 siegt mit Stil -02:03=Mission erfolgreich, %1 gewinnt 02:03=%1 verdient sich die Siegermedaillie 02:03=Wer ist der Sieger? %1 ist der Sieger! 02:03=%1 hat Grund zum Feiern @@ -556,7 +568,7 @@ 02:06=Nette Überraschung! 02:06=Neue Spielzeuge 02:06=Eine Kiste voller Überraschungen -02:06=Explosive Übrraschungen! +02:06=Explosive Überraschungen! 02:06=Nimm dir das für eine Überraschung 02:06=Heb mich auf! Ich bin eine Kiste! 02:06=Wehe, wenn da kein schweres Geschütz drin ist @@ -578,13 +590,13 @@ 02:06=Zerschmettert den Feind! 02:06=Spaß! Explosionen! Zerstörung! 02:06=Lass Tod und Zerstörung auf deine Feinde herabregnen -02:06=Waffen, davon kann man nie genung haben +02:06=Waffen, davon kann man nie genug haben 02:06=Hol sie dir, bevor dir die Munition ausgeht! 02:06=Das bedeutet Chaos! 02:06=Extras für wahre Krieger 02:06=Achtung: Nicht bei hohen Temperaturen aufbewahren 02:06=Bist du gut genug für diese Waffe? -02:06=Herorische Bewaffnung für heroische Igel +02:06=Heroische Bewaffnung für heroische Igel 02:06=Überraschungswaffe! 02:06=Es regnet Kisten! 02:06=Die ultimative Waffe? Oder nur so 'ne Langweilige? @@ -694,7 +706,7 @@ 02:07=Ein kleines Helferlein für kleine Igelchen 02:07=Erweitere deine Möglichkeiten 02:07=Überliste deinen Feind -02:07=Bau dir Brücken zum Sig +02:07=Bau dir Brücken zum Sieg 02:07=Überraschungswerkzeug! 02:07=Nützliches Geschenk! 02:07=Werkzeug für dich! @@ -1293,6 +1305,7 @@ 03:57=Werkzeug 03:58=Schwebende Annäherungsmine 03:59=Schwimmende Bombe +03:60=Die ultimative Feuerwaffe ; Weapon Descriptions (use | as line breaks) 04:00=Greife deine Feinde mit einfachen Granaten an.|Der Zeitzünder steuert den Explosionszeitpunkt.|1–5: Zeitzünder einstellen|Genaues Zielen + 1-5: Sprungkraft einstellen|Angriff: Halten, um mit mehr Kraft zu werfen @@ -1308,7 +1321,7 @@ 04:10=Rohe Gewalt ist immer eine Lösung. Lege einfach|diesen klassischen Sprengsatz neben deinen Feinden|ab und mach dich aus dem Staub.|Angriff: Dynamitstange legen 04:11=Beseitige Feinde, indem du diese mit dem|Baseballschläger einfach von der Karte fegst.|Oder wie wäre es, wenn du deinen Freunden ein|paar Minen vor die Beine schlägst?|Angriff: Alles vor dem Igel schlagen 04:12=Rücke mit deinen Feinden näher zusammen und|entfessle die Kraft dieser so gut wie tödlichen|Kampftechnik.|Angriff: Alles vor dem Igel schlagen -04:13=UNUSED +04:13=NICHT IN VERWENDUNG 04:14=Höhenangst? Greif besser zum Fallschirm.|Er wird sich von alleine entfalten, wenn du|zu lange oder zu tief fällst, und so deinem|Igel den Hals retten.|Angriff: Fallschirm manuell öffnen oder entfernen|Links/Rechts/Hoch/Runter: Flug steuern|Weitsprung: Waffe benutzen 04:15=Rufe ein Flugzeug, um deine Feinde mit einem|Bombenteppich einzudecken.|Links/Rechts: Angriffsrichtung wählen|Cursor: Zielgebiet wählen und Angriff starten 04:16=Rufe ein Flugzeug, um mehrere Minen im|Zielgebiet abwerfen zu lassen.|Links/Rechts: Angriffsrichtung wählen|Cursor: Zielgebiet wählen und Angriff starten @@ -1343,18 +1356,19 @@ 04:45=All die Physikstunden haben sich endlich bezahlt gemacht!|Entfessle eine zerstörerische Sinuswelle, die sich durch|das Gelände (und deine Feinde) brennen wird.|Pass auf, die Waffe erzeugt einen ordentlichen Rückstoß.|Angriff: Feuern 04:46=Brutzle deine Feinde mit fließenden Flammen.|Herzerwärmend!|Angriff: Aktivieren|Hoch/Runter: Beim Feuern zielen|Links/Rechts: Durchfluss ändern 04:47=Verdopple den Spaß mit zwei spitzigen, schicken, klebrigen Minen.|Löse eine Kettenreaktion aus oder beschütze dich (oder beides).|Angriff: Halten, um mit mehr Kraft zu feuern (zwei mal) -04:48=Warum sind Maulwürfe verhasst? Igel, Minen|oder Fässer in den Boden zu stampfen, kann|auch sehr lustig sein! Ein guter Treffer des Hammers wird|ein Drittel (mit Zusatzschaden sogar die Hälfte) der|Lebenspunkte eines Igels abziehen und ihn im Boden|versenken.|Angriff: Zuschlagen +04:48=Warum sind Maulwürfe verhasst? Igel und Gedöhns|in den Boden zu stampfen, kann auch sehr lustig sein!|Ein guter Treffer des Hammers wird ein Drittel|(mit Zusatzschaden sogar die Hälfte) der Lebenspunkte|eines Igels abziehen und ihn im Boden versenken.|Angriff: Zuschlagen 04:49=Opfere deine Gesundheit, um deine Freunde zurückzuholen!|Aber pass auf, dass du keine Feinde beschwörst.|Angriff: Gedrückt halten, um Igel langsam wiederauferstehen zu lassen.|Hoch: Totenbeschwörung beschleunigen 04:50=Verstecken sich Feinde im Untergrund?|Grabe sie aus mit dem Bohr-Luftangriff!|Der Zeitzünder bestimmt, wie tief dieser graben wird.|Links/Rechts: Angriffsrichtung wählen|1-5: Zeitzünder einstellen|Cursor: Zielgebiet wählen und Angriff starten 04:51=Wirf mit Dreck um dich! Der Schlammball|schubst Igel und andere Dinge weg,|aber richtet keinen Schaden an.|Angriff: Halten, um mit mehr Kraft zu werfen 04:52=NICHT IN VERWENDUNG 04:53=Unternimm eine Reise durch Zeit und Raum,|während du deine Kameraden alleine am Schlachtfeld zurücklässt.|Sei darauf vorbereitet, jederzeit wieder zurückzukommen,|oder auf Sudden Death, oder wenn sie alle besiegt wurden.|Haftungsausschluss. Nicht funktionstüchtig, wenn in Sudden Death,|wenn du alleine bist – oder der König.|Angriff: Aktivieren 04:54=Versprühe einen Strahl klebriger Flocken.|Baue Brücken, begrabe Gegner, versiegle Tunnel.|Pass auf, dass du selbst nichts abbekommst!|Angriff: Aktivieren/Deaktivieren|Hoch/Runter: Beim Feuern zielen|Links/Rechts: Schussweite einstellen -04:55=Hol die Eiszeit zurück! Friere Igel ein,|mach den Boden rutschig oder|rette dich selbst vor dem Ertrinken,|indem du das Wasser einfrierst.|Angriff: Aktivieren/Deaktivieren|Hoch/Runter: Beim Feuern zielen +04:55=Hol die Eiszeit zurück!|Friere Igel und Sachen ein, mach den Boden|rutschig oder rette dich selbst vor dem|Ertrinken, indem du das Wasser einfrierst.|Angriff: Aktivieren/Deaktivieren|Hoch/Runter: Beim Feuern zielen 04:56=Du kannst zwei Hackebeile auf deinen Feind schleudern,|Passagen und Tunnel blockieren, und sie sogar zum Klettern|benutzen! Der Schaden erhöht sich mit der Geschwindigkeit.|Aber sei vorsichtig! Es ist gefährlich, mit Messern zu spielen.|Angriff: Gedrückt halten, um mit mehr Schwung zu werfen (zwei mal) 04:57=Bau einen SEHR elastischen Balken aus Gummi,|von dem Igel und andere Sachen abprallen,|ohne Fallschaden zu nehmen.|Links/Rechts: Ausrichtung des Gummis wählen|Cursor: Gummi platzieren 04:58=Diese Annäherungsmine wird frei in der Luft schweben und|verfolgt törichte Igel, die dumm genug sind, ihr zu nahe zu|kommen. Allerdings ist ihre Explosion schwächer als|die der Landmine.|Angriff: Halten, um mit mehr Kraft zu werfen 04:59=Gib diesen dreckigen Igeln ein Bad! Dieses süße|kleine Quietscheentchen kann auf Wasser schwimmen|und folgt dabei dem Wind. Sie explodiert bei Kollision|mit Land, also stell sicher, sie von einer Klippe oder|einem anderem sicheren Ort fallen zu lassen.|Angriff: Quietscheentschen fallen lassen +04:60=Lass es Kugeln auf deine Gegner hageln!|Und sie dachten wirklich, sie seien hinter|drei Trägerschichten sicher.|Angriff: Mit voller Kraft feuern|Hoch/Runter: Weiterzielen ; Game goal strings 05:00=Spielmodifikationen diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/el.txt --- a/share/hedgewars/Data/Locale/el.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/el.txt Sun Jun 10 19:12:26 2018 +0200 @@ -56,7 +56,7 @@ 01:02=Οι %1 Νικούν! 01:03=Ένταση Ήχου %1% 01:04=Παύση -01:05=Σίγουρα θέλετε να φύγετε (Y/Esc); +01:05=Σίγουρα θέλετε να φύγετε (%1/%2); 01:06=Ξαφνικός Θάνατος! 01:07=%1 απομένουν 01:08=Καύσιμα diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/en.txt --- a/share/hedgewars/Data/Locale/en.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/en.txt Sun Jun 10 19:12:26 2018 +0200 @@ -61,13 +61,14 @@ 00:57=Rubber 00:58=Air Mine 00:59=Rubber Duck +00:60=Minigun 01:00=Loading … 01:01=Round draw 01:02=%1 wins! 01:03=Volume %1% 01:04=Paused -01:05=Really quit? (Y/Esc) (Click to resume) +01:05=Really quit? (%1/%2) 01:06=Sudden Death! 01:07=%1 remaining 01:08=Fuel @@ -84,7 +85,7 @@ 01:19=Extreme 01:20=%1 Bounce 01:21=Audio Muted -01:22=AFK mode +01:22=Auto Skip Enabled 01:23=Auto Camera Off 01:24=Auto Camera On 01:25=Press the target button to mark the target @@ -92,6 +93,18 @@ ; E.g. “+25” when gaining health from crate or vampirism 01:27=+%1 01:28=Empty! +01:29=Unknown key +01:30=%1 and %2 win! +01:31=%1, %2 and %3 win! +01:32=%1, %2, %3 and %4 win! +01:33=%1, %2, %3, %4 and %5 win! +01:34=%1, %2, %3, %4, %5 and %6 win! +01:35=%1, %2, %3, %4, %5, %6 and %7 win! +01:36=Everyone wins! +01:37=%1 is gone. +01:38=%1 is back. +01:39=%1 automatically skipped turn. +01:40=%1 fps ; Event messages ; Normal hog (%1) died (0 health) @@ -232,7 +245,7 @@ 02:01=%1 has found the lost city of Atlantis 02:01=Your doggy paddle could use a little work, %1 02:01=%1 should have brought a jet ski -02:01=%1 doesn't like watersports +02:01=%1 doesn't like water sports 02:01=%1 is forever blowing bubbles 02:01=%1 is short of a raft 02:01=%1 thinks salt water is good for the skin @@ -281,7 +294,7 @@ 02:02=Just count yourself lucky you're not up against Jessor 02:02=Give it your all! 02:02=The losers do the cleaning up! -02:02=Let the fight of the millenium begin +02:02=Let the fight of the millennium begin 02:02=Let the fight of the century begin 02:02=Let the fight of the decade begin 02:02=Let the fight of the year begin @@ -307,7 +320,7 @@ 02:02=Have no fear! 02:02=Be brave and conquer -; Round ends and a team/clan (%1) wins +; Round ends and a team (%1) wins 02:03=%1 wins! 02:03=%1 is the champion! 02:03=%1 is the winner! @@ -338,7 +351,6 @@ 02:03=%1 masterfully won this round 02:03=%1 is the victor 02:03=%1 wins with style -02:03=Mission accomplished, %1 won 02:03=%1 earns the victory medal 02:03=%1 rules the game 02:03=Who's the winner? %1 is the winner! @@ -466,7 +478,7 @@ 02:05=Satisfaction guaranteed! 02:05=Painkillers for killers 02:05=Just when you thought you defeated the enemy … -02:05=Don't hestitate to take it. You might die +02:05=Don't hesitate to take it. You might die 02:05=Take me! 02:05=Guardian angels send their regards 02:05=A gift from the gods @@ -512,7 +524,7 @@ 02:06=You'll never get enough of these 02:06=More weapons to make the game more exciting 02:06=Not for wimps -02:06=Warning: Higly explosive +02:06=Warning: Highly explosive 02:06=For those gun nuts 02:06=This could be the match-winning weapon! 02:06=Explosive fun! @@ -553,7 +565,7 @@ 02:06=Caution: Don't expose to high temperatures 02:06=Do you have what it takes to handle this weapon? 02:06=Are you worthy of this weapon? -02:06=Heroric weaponry for heroic hedgehogs +02:06=Heroic weaponry for heroic hedgehogs 02:06=Surprise weapon! 02:06=Damage in boxes 02:06=Deliver some damage @@ -687,7 +699,7 @@ 02:07=Prof. Hedge's latest invention 02:07=Gears! 02:07=Gadgets! -02:07=A thingamajing! +02:07=A thingamajig! 02:07=Who feels inventive today? 02:07=Here's part 1 of the 19-part DIY set 02:07=A do-it-yourself box! @@ -699,7 +711,7 @@ 02:07=Collect it or be damned 02:07=Collectibles! 02:07=Useful utilities! -02:07=Look what I found in the toolshed! +02:07=Look what I found in the tool shed! 02:07=If I had a spanner … 02:07=A Swiss army knife in box form 02:07=You may need this @@ -756,7 +768,7 @@ 02:08=%1 was never much of a good shot anyway 02:08=%1 didn't want to join the army in the first place 02:08=Stop wasting our time, %1 -02:08=I'm dissapointed in you, %1 +02:08=I'm disappointed in you, %1 02:08=Come on, you can do better than that, %1 02:08=%1's will has broken 02:08=%1 apparently has better things to do @@ -885,7 +897,7 @@ 02:11=%1 needs vacation 02:11=%1 has to do some homework 02:11=%1 walks away from the trouble -02:11=%1 evaportated +02:11=%1 evaporated 02:11=%1 really needs to go 02:11=%1 dematerialized 02:11=%1 transforms into nothing @@ -911,7 +923,7 @@ 02:12=%1 should have taken those vitamins 02:12=%1 feels a pain in the stomach 02:12=%1 doesn't look healthy -02:12=%1 nees a sickbay +02:12=%1 needs a sickbay 02:12=%1 has a really, really foul smell 02:12=Are you okay, %1? 02:12=%1 suffers from the health loss disease @@ -1194,6 +1206,7 @@ 03:57=Utility 03:58=Floating proximity bomb 03:59=Swimming bomb +03:60=The ultimate firearm ; Weapon Descriptions (use | as line breaks) 04:00=Attack your enemies using a simple grenade.|It will explode once its timer reaches zero.|1-5: Set grenade's timer|Precise + 1-5: Set bounce strength|Attack: Hold to throw with more power @@ -1214,20 +1227,20 @@ 04:15=Call in an airplane to attack your enemies|using a bombing run.|Left/Right: Determine attack direction|Cursor: Select target region 04:16=Call in an airplane to drop several mines|in the target area.|Left/Right: Determine attack direction|Cursor: Select target region 04:17=Need shelter? Use the blow torch to dig|a tunnel into solid ground granting you|cover.|Attack: Start or stop digging|Up/down: Change digging direction -04:18=Need additional protection or want to pass|unpassable ground? Place some girders as you|like.|Left/Right: Select girder to place|Cursor: Place girder in a valid position +04:18=Need additional protection or want to pass|impassable ground? Place some girders as you|like.|Left/Right: Select girder to place|Cursor: Place girder in a valid position 04:19=Used at the right moment teleportation can|be more powerful than almost all weapons as|it allows you to save hogs from dangerous|situations within seconds.|Cursor: Select target region|Left/Right: Choose facing direction 04:20=Allows you to play the current turn with|a different hog.|Attack: Enable switching hogs|Switch: Select next hog|Precise + Switch: Select previous hog 04:21=Shoot a projectile that will release|multiple clusters upon impact. The|clusters are hurled backwards and are|more dangerous than the main projectile.|Attack: Shoot at full power 04:22=Not just for Indiana Jones! The whip is a|useful weapon in many situations. Especially|when you'd like to shove someone off a cliff.|Attack: Strike everything in front of you 04:23=If you have nothing to lose, this might be|quite handy. Sacrifice your hog by launching|it into a specific direction hurting everything|on his way and exploding at the end.|Attack: Launch the devastating and deadly attack 04:24=Happy Birthday! Launch this cake, let it walk right|next to your enemies and let them have an explosive|party. The cake is able to pass almost all terrain|but he might detonate earlier this way.|Attack: Start the cake or let it stop and explode -04:25=With this costume kit your hog becomes irresistibly|attractive and makes nearby hogs jump in blind love|towards it (and into some gap or hole). The seduction is|so heartwarming, it even breaks the ice of frozen hogs.|Attack: Use the irresistable seduction +04:25=With this costume kit your hog becomes irresistibly|attractive and makes nearby hogs jump in blind love|towards it (and into some gap or hole). The seduction is|so heartwarming, it even breaks the ice of frozen hogs.|Attack: Use the irresistible seduction 04:26=Throw this juicy (and bouncy) watermelon at|your enemies. Once the timer expires, it will|split into several explosive pieces.|1-5: Set watermelon's timer|Attack: Hold to shoot with more power 04:27=Let hellfire rain onto your opponents by using|this fiendish explosive. Don't get too close to|the explosion as smaller fires might last longer.|Attack: Hold to shoot with more power 04:28=Short time after launching this rocket, it will|start drilling through solid ground and explode|once its fuse is triggered or it resurfaces again.|Attack: Hold to shoot with more power 04:29=This is nothing for small kids! The ball gun fires|tons of small colored balls filled with explosives.|Attack: Shoot at full power|Up/Down: Continue aiming 04:30=Call in an airplane to launch a powerful napalm|strike. With proper aiming this attack can eradicate|huge parts of landscape including unlucky hogs|sitting there.|Left/Right: Determine attack direction|Cursor: Select target region -04:31=The RC plane is the ideal weapon to collect crates or|attack far away hogs. Either steer it into enemies or|drop some bombs first.|Attack: Launch the plane or drop bombs|Long Jump: Let the valkyries ride into battle|Left/Right: Steer the plane +04:31=The RC plane is the ideal weapon to collect crates or|attack far away hogs. Either steer it into enemies or|drop some bombs first.|Attack: Launch the plane or drop bombs|Long Jump: Let the Valkyries ride into battle|Left/Right: Steer the plane 04:32=Low gravity is more effective than any diet! Jump|higher and over greater distances or let your enemies|fly even further.|Attack: Activate 04:33=Sometimes you just need that little extra boost to|deal some more damage. Activating this increases|the damage dealt by 50% for the rest of the turn.|Attack: Activate 04:34=Makes you immune to damage for the|rest of your turn. But don't be too|cocky, you could still drown.|Attack: Activate @@ -1244,18 +1257,19 @@ 04:45=All those physics classes have finally paid off!|Launch a devastating sine wave which burns itself|through terrain.|Watch out, this weapon has a strong knockback.|Attack: Shoot 04:46=Cover your foes with sizzling liquid flame.|Heartwarming!|Attack: Activate|Up/Down: Continue aiming|Left/Right: Modify spitting power 04:47=Double the fun with two spiky, sneaky, sticky mines.|Set up a chain reaction or defend yourself (or both!)|Attack: Hold to shoot with more power (twice) -04:48=Why should the moles get all the abuse? Wacking|a hog (or mines, or barrels) can be just as fun!|A good blow from this hammer will shave off|one third of a hog's health (or one half with|Extra Damage) and plunge them underground.|Attack: Activate +04:48=Why should the moles get all the abuse?|Whacking hogs and stuff can be just as fun!|A good blow from this hammer will shave off|one third of a hog's health (or one half with|Extra Damage) and plunge them underground.|Attack: Activate 04:49=Sacrifice your health to resurrect your friends!|But beware that this also resurrects your foes.|Attack: Keep attack pressed to resurrect slowly|Up: Accelerate resurrection 04:50=Is someone hiding underground?|Dig them out with a drill strike!|Timer controls how far it will dig.|Left/Right: Determine attack direction|1-5: Set timer|Cursor: Select target region 04:51=Get in a free shot by hurling a ball of mud.|Deals no damage, but knocks hogs and|objects back.|Attack: Hold to shoot with more power 04:52=UNUSED 04:53=Take a trip through time and space,|while leaving your comrades to fight on alone.|Be prepared to return at any time,|or for Sudden Death or if they are all defeated.|Disclaimer. Does not function in Sudden Death,|if you are alone, or if you are a King.|Attack: Activate 04:54=Spray a stream of sticky flakes.|Build bridges, bury enemies, seal off tunnels.|Be careful you don't get any on you!|Attack: Activate/Deactivate|Up/Down: Continue aiming|Left/Right: Modify spitting power -04:55=Bring back the ice-age!|Freeze hedgehogs, make the floor slippery or|save yourself from drowning by freezing the water.|Attack: Activate/Deactivate freezeray|Up/Down: Continue aiming +04:55=Bring back the ice-age!|Freeze hedgehogs or objects, make the floor slippery|or save yourself from drowning by freezing the water.|Attack: Activate/Deactivate freeze ray|Up/Down: Continue aiming 04:56=You can throw two cleavers at your enemy, block|passages and tunnels and even use them for|climbing! Its damage increases with its speed.|But be careful! Playing with knives is dangerous.|Attack: Hold to shoot with more power (twice) 04:57=Build a VERY elastic rubber band, from which|hedgehogs and other things bounce off|without taking fall damage.|Left/Right: Change rubber band orientation|Cursor: Place rubber band in a valid position -04:58=This proximity bomb will float freely in the air and follow|hedgehogs careless enouogh to come too close to it.|Its explosion is weaker than that of the land mine, however.|Attack: Hold to shoot with more power +04:58=This proximity bomb will float freely in the air and follow|hedgehogs careless enough to come too close to it.|Its explosion is weaker than that of the land mine, however.|Attack: Hold to shoot with more power 04:59=Send those dirty hogs swimming! This cute little squeaky|rubber duck is able to swim on water and will go with the|wind once swimming. It explodes when it hits land, so|make sure to drop it from a cliff or another safe spot.|Attack: Drop the rubber duck +04:60=Unleash a rain of bullets upon your foes!|And they thought they were safe|behind a triple layer of girders.|Attack: Shoot at full power|Up/Down: Continue aiming ; Game goal strings 05:00=Game Modes diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/es.lua --- a/share/hedgewars/Data/Locale/es.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/es.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ ["..."] = "...", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler -- ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ ["a Hedgewars mini-game"] = "un minijuego de Hedgewars", -- Space_Invasion, The_Specialists -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope ["Aiming Practice"] = "Practica tu puntería", --Bazooka, Shotgun, SniperRifle -- ["Aiming practice"] = "", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ ["Ammo is reset at the end of your turn."] = "", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ ["Available points remaining: "] = "Puntos restantes:", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "¡Batea pelotas contra tus enemigos|y hazlos caer al agua!", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "¡Batea a tus enemigos fuera del campo de juego|a través de las canastas laterales!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Entrenamiento con bazuca", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Mejores tiempos por equipo: ", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Careless"] = "Descuidado", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "¡Completa el recorrido lo más rápido que puedas!", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -332,6 +371,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -355,6 +395,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 ["Deadweight"] = "Peso muerto", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen ["Double Kill!"] = "¡Dos por uno!", -- ["Double kill!"] = "", -- Mutant @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope ["Drowner"] = "Ahogado", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -551,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Vuelta rápida: ", ["Feeble Resistance"] = "Resistencia Fútil", -- ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -636,11 +701,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "¡Buena suerte!", ["Good so far!"] = "¡Vamos bien!", ["Good to go!"] = "¡Sigue!", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ ["GOTCHA!"] = "¡TE PILLÉ!", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -737,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -744,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united ["Heavy"] = "Pesado", -- ["Heckles"] = "", -- @@ -781,11 +862,13 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer -- ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -794,21 +877,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["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 @@ -823,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -878,6 +981,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Artillero", --Bazooka, Shotgun, SniperRifle @@ -896,12 +1000,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1039,6 +1153,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Menos mal que aún quedan 99 turnos hasta la MUERTE SÚBITA...", @@ -1098,6 +1213,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "No se puede saltar", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1140,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion ["Last Target!"] = "¡Último objetivo!", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1154,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1173,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 ["Listen up, maggot!!"] = "¡Atento, escoria!", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope ["Lively Lifeguard"] = "Salvavidas dicharachero", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1228,11 +1355,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ ["MISSION FAILED"] = "MISIÓN FRACASADA", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "MISIÓN COMPLETADA", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1258,15 +1392,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"] = "Movimiento: [Arriba], [Abajo], [Izquierda], [Derecha]", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1309,6 +1446,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1319,11 +1457,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"] = "NO HAY SUFICIENTES BALIZAS", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1338,12 +1479,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1351,6 +1495,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1371,8 +1516,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1387,8 +1534,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1396,6 +1545,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Equipo enemigo: ", -- ["Orange"] = "", -- @@ -1406,25 +1557,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- ["Pathetic Resistance"] = "Patética resistencia", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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"] = "Armamento individualizado", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1457,6 +1615,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1476,6 +1635,7 @@ -- ["Please wait …"] = "", -- WxW -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion +-- ["--- Points Mode ---"] = "", -- Battalion ["points"] = "puntos", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle -- ["point(s)"] = "", -- TargetPractice, Mutant -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 @@ -1485,7 +1645,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1512,10 +1675,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer ["RACER"] = "CORREDOR", -- ["Racer"] = "", -- Racer @@ -1533,6 +1699,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1541,10 +1708,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1553,14 +1724,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = "- Vuelve a tu base con la bandera enemiga para anotar un punto | - El equipo que anote 3 puntos gana | - Sólo se puede anotar si tu propia bandera está en tu base | - Los erizos resucitan cuando mueren", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1572,6 +1746,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1582,6 +1757,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1596,6 +1773,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1619,22 +1797,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1652,9 +1834,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1663,15 +1854,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1702,9 +1897,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode ["Sinky"] = "Sumergible", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1719,6 +1921,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1727,6 +1930,7 @@ ["Sniper Training"] = "Entrenamiento con rifle francotirador", ["Sniperz"] = "Francotiradores", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1736,6 +1940,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1759,6 +1964,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1780,6 +1986,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1814,7 +2021,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1863,12 +2073,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies ["Switched to "] = "Cambiar a ", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1885,10 +2102,12 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- ["Team %d: "] = "Equipo %d", +-- ["Team %d"] = "", -- SimpleMission -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor -- ["Team of Hearts"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove @@ -1904,7 +2123,10 @@ -- ["Teleportation Node"] = "", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1932,6 +2154,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1950,11 +2173,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "¡El enemigo está escondido detrás del patito del fondo!", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1984,17 +2211,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant ["The Nameless One"] = "Anónimo", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2008,16 +2241,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion ["THE SPECIALISTS"] = "LOS ESPECIALISTAS", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2034,6 +2272,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2049,17 +2288,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2067,6 +2311,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Vaya que si llueve...", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2075,14 +2320,19 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2090,10 +2340,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2125,6 +2383,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2134,14 +2393,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope ["T_T"] = "T_T", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2158,6 +2422,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2172,9 +2437,11 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- ["Unit 835"] = "Unidad 835", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united ["Unit"] = "Unidad", +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade ["Unlimited Attacks"] = "Ataques ilimitados", -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2182,10 +2449,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood ["User Challenge"] = "Reto personal", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2196,8 +2465,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2209,6 +2480,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "¡Usa tu cuerda para llegar a la salida lo más rápido que puedas!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2231,6 +2503,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2240,8 +2515,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2276,6 +2554,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2284,6 +2563,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2292,11 +2572,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos ["Well done."] = "Bien hecho.", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2347,10 +2630,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2380,15 +2665,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies ["Will this ever end?"] = "¿Es que nunca se va a terminar?", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2424,18 +2712,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2463,13 +2755,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2522,6 +2820,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2541,6 +2840,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2568,11 +2868,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2584,6 +2886,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2593,6 +2896,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2602,6 +2906,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/es.txt --- a/share/hedgewars/Data/Locale/es.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/es.txt Sun Jun 10 19:12:26 2018 +0200 @@ -63,7 +63,7 @@ 01:02=¡%1 venció! 01:03=Volumen %1% 01:04=Pausa -01:05=¿Seguro que quieres salir (Y / Esc)? +01:05=¿Seguro que quieres salir (%1 / %2)? 01:06=¡Muerte súbita! 01:07=%1 restante 01:08=Combustible diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/fi.txt --- a/share/hedgewars/Data/Locale/fi.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/fi.txt Sun Jun 10 19:12:26 2018 +0200 @@ -66,7 +66,7 @@ 01:02=%1 voitti! 01:03=Äänenvoimakkuus %1% 01:04=Tauko -01:05=Poistutaanko (Y/Esc)? +01:05=Poistutaanko (%1/%2)? 01:06=Äkkikuolema! 01:07=%1 Jäljellä 01:08=Polttoaine diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/fr.lua --- a/share/hedgewars/Data/Locale/fr.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/fr.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ -- ["..."] = "", -- ["011101000"] = "", -- ["011101001"] = "", +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler ["A Classic Fairytale"] = "Un conte classique de fée", +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission ["Actually, you aren't worthy of life! Take this..."] = "En fait, tu n'es pas digne de vivre ! Prends ça....", ["A cy-what?"] = "Un cy-quoi ?", -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "Après que Grosse Fuite ait trahit sa tribu, il rejoignât les cannibales... ", -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "Après le choc causé par l'espion ennemi, Grosse Fuite et Nuage Dense partirent chasser pour se détendre.", +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 ["Again with the 'cannibals' thing!"] = "Encore avec votre 'cannibale' truc", -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ ["a Hedgewars mini-game"] = "Un mini jeux d'Hedgewars", -- Space_Invasion, The_Specialists -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope ["Aiming Practice"] = "Entraînement de tir", --Bazooka, Shotgun, SniperRifle -- ["Aiming practice"] = "", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope ["Air Attack"] = "Attaque Aérienne", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen ["All walls touched!"] = "Tous les murs sont touchés", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ ["Ammo is reset at the end of your turn."] = "Les munitions sont réinitialisées à la fin du tour", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement ["And how am I alive?!"] = "Et comment suis-je en vie ?", -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen ["And where's all the weed?"] = "Et où est toute l'herbe ?", ["And you believed me? Oh, god, that's cute!"] = "Et tu m'as cru ? Oh mon dieu, c'est mignon !", +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission ["Antarctica"] = "Antarctique", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW ["Asia"] = "Asie", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 ["Assault Team"] = "Equipe d'assault", @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 ["As you can see, there is no way to get on the other side!"] = "Comme tu peux le voir, il n'y a pas de moyen d'atteindre l'autre côté !", +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ ["Available points remaining: "] = "Points restants disponibles", -- need the situation of when this sentence is used -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", ["Back in the village, after telling the villagers about the threat..."] = "De retour au village, après avoir averti les villageois de la menace...", -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement ["Backstab"] = "Coup de poignard dans le dos", -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor ["Barrel Placement Mode"] = "Mode de placement de barile", -- Construction_Mode +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Frappez vos ennemis à la batte|et envoyez-les à la mer !", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Frappez vos ennemis à la batte|, marquez des paniers ou envoyez-les à la mer !", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Entraînement au Bazooka", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Meilleurs tours par équipe", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ ["Bullseye"] = "Dans le mille", -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- ["But it proved to be no easy task!"] = "Mais cela ne s'avéra pas être une tâche facile !", @@ -247,6 +278,8 @@ ["But you're cannibals. It's what you do."] = "Mais vous êtes cannibales. C'est ce que vous faites.", ["But you said you'd let her go!"] = "Mais vous aviez dit que vous la laisseriez partir !", -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -259,9 +292,11 @@ -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy ["Çannibals?! You're the cannibals!"] = "Çannibales ? C'est vous les cannibales !", -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Çareless"] = "Imprudent", ["Careless"] = "Imprudent", -- User_Mission_-_That_Sinking_Feeling -- ["Çarol"] = "", @@ -273,6 +308,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -317,6 +353,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -325,6 +363,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "Finissez la course aussi vite que possible !", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -338,6 +377,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -361,6 +401,8 @@ -- ["Corpsemonger"] = "", -- ["Corpse Thrower"] = "", ["Cost"] = "Coût", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -377,6 +419,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -394,6 +437,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 ["Deadweight"] = "poids mort", -- ["Deer"] = "", -- @@ -401,6 +447,7 @@ -- ["Defeat Professor Hogevil!"] = "", -- A_Space_Adventure:death01 -- ["Defeat the cannibals"] = "", -- A_Classic_Fairytale:backstab ["Defeat the cannibals!|"] = "Décime les cannibales", +-- ["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 cannibals!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "Bat les cannibales ! |Astuce Grenade : règles le compte à rebour avec [1-5], vises avec [haut]/[bas] et maintiens [Espace] pour la puissance", ["Defeat the cyborgs!"] = "Bats les cyborgs !", -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen @@ -417,9 +464,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "Détruis-le, Grosse Fuite ! Il est responsable de la mort de beaucoup des notres !", -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air."] = "Détruis les cibles ! |Astuce : sélectionne le Shoryuken et appuyez sur [Espace] |P.S. vous pouvez l'utilisez en plein vol", ["Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot"] = "Détruis les cibles ! |Astuce : [haut], [bas] pour viser, [Espace] pour tirer", -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -457,6 +508,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen ["Double Kill!"] = "Double meurtre !", -- ["Double kill!"] = "", -- Mutant @@ -483,6 +536,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope -- ["Drowner"] = "",-- can't have a good translation, think its a merge of drone and owner so if wanna translate it will be : tueur de drone, wich is like drone hunter... -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -559,7 +613,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 ["Eye Chewer"] = "Mâcheur d'oeil", -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror ["Family Reunion"] = "Réunion de famille ", +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Meilleur tour : ", ["Feeble Resistance"] = "Résistance Futile", -- ["Fell From Grace"] = "", @@ -572,18 +629,24 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 ["Filthy Blue"] = "Bleu dégueulasse", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final ["Find your tribe!|Cross the lake!"] = "Trouve ta tribue ! |Traverse le lac !", -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "Finis ton entraînement ! |Astuce : Les animations peuvent être passées en appuyant sur la touche [Precise]", +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire a mine: [Does what it says ~ Çant be dropped close to an enemy ~ 1 sec]"] = "", -- Continental_supplies -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler ["First aid kits?!"] = "Des kits de premiers secours ?!", ["First Blood"] = "Premier sang", +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant ["First Steps"] = "Premiers pas", -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -602,6 +665,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -644,12 +708,17 @@ -- ["Get past the flower."] = "", -- A_Classic_Fairytale:journey -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 ["Get that crate!"] = "Prends cette caisse", +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey ["Get the crate on the other side of the island!|"] = "Prends la caisse de l'autre côté de l'île !", +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 ["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!"] = "Fais sortir tes coéquipiers de leur prison naturelle et sauve la princesse ! |Percer des trous résoudrait tout. |Ce serait une bonne idée de placer quelques poutres avant de commencer à percer. Moi j'dis ça mais j'dis rien. |Tous vos hérissons doivent être au dessus de la hauteur marquée ! | Grosse Fuite doit être très proche de la princesse ! ", -- ["Giggles"] = "", -- @@ -664,6 +733,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -677,11 +747,13 @@ ["Good idea, they'll never find us there!"] = "Bonne idée, ils ne nous trouverons jamais là bas !", -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 ["Good luck...or else!"] = "Bonne chance.... ou pas !", ["Good luck out there!"] = "Bonne chance pour sortir d'ici", ["Good so far!"] = "Pas mal jusqu'ici!", ["Good to go!"] = "C'est pret!", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement ["Go on top of the flower"] = "Atteins le dessus de la fleur", ["Go, quick!"] = "Va ! Vite !", ["Gorkij"] = "Gorkij", @@ -691,12 +763,14 @@ ["GOTCHA!"] = "je t'ai eu !", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope ["Great choice, Steve! Mind if I call you that?"] = "Bon choix, Steve ! Ça t'ennuie si je t'appele comme ça ?", -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "Bien joué! Maintenant, fracasse le avec une batte de baseball ! Astuce: Tu peux changer d'arme avec un 'clique droit'!", -- Basic_Training_-_Rope @@ -715,6 +789,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade ["Grenade Training"] = "Entrainement à la grenade", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -747,6 +824,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode ["Healing Station"] = "Station de soignement", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor ["Health Crate Placement Mode"] = "Mode de placement de caisse de soin", -- Construction_Mode -- ["Health: %d"] = "", -- HedgeEditor @@ -754,6 +833,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy Çannfantry"] = "", -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united ["Heavy"] = "Lourd", @@ -792,11 +872,13 @@ ["Here...pick your weapon!"] = "Ici...prend ton arme !", -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer ["Hero Team"] = "Equipe de héros", -- User_Mission_-_The_Great_Escape ["He's so brave..."] = "Il est si courageux", -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 ["He won't be selling us out anymore!"] = "Il ne nous vendra plus !", +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family ["Hey guys!"] = "Salut les gars !", ["Hey, guys!"] = "Salut les gars", -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -805,21 +887,38 @@ ["Hey! This is cheating!"] = "Hé ! C'est de la triche !", -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka ["Hightime"] = "Meilleur temps", -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement ["Hint: Double Jump - Press [Backspace] twice"] = "Astuce : Double saut - appuyez deux fois sur [retour arrière]", +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope +-- ["Hint: You might want to stay out of sight and take all the crates ..."] = "", -- A_Classic_Fairytale:journey ["Hint: you might want to stay out of sight and take all the crates...|"] = "Astuce : Vous aimeriez probablement rester hors de vue et prendre toutes les caisses...|", ["His arms are so strong!"] = "Ses bras sont si forts !", -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["Hmmm..."] = "", ["Hmmm...actually...I didn't either."] = "Humm... en fait...je ne savais pas non plus.", @@ -834,6 +933,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -866,6 +966,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant ["Homing Bee"] = "Abeille téléguidée", -- Construction_Mode -- ["Honda"] = "", -- @@ -889,6 +991,7 @@ ["However, if you fail to do so, she dies a most violent death! Muahahaha!"] = "Cependant, si tu échoues, elle aura une mort encore plus violente ! Muahahaha!", ["However, my mates don't agree with me on letting you go..."] = "Mes amis ne sont pas d'accord pour vous laisser partit ...", -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Chasseur", --Bazooka, Shotgun, SniperRifle @@ -907,12 +1010,14 @@ ["I can't believe what I'm hearing!"] = "Je ne peux pas croire ce que j'entends !", -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen ["I can't wait any more, I have to save myself!"] = "Je ne peux plus attendre, je dois me sauver !", +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 ["I could just teleport myself there..."] = "Je pourrais juste me téléporter là-bas...", -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor ["I'd better get going myself."] = "Je ferais mieux de rentrer.", +-- ["Identity Thief"] = "", -- Mutant ["I didn't until about a month ago."] = "Je ne savais pas jusqu'à il y a un mois", -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -922,6 +1027,7 @@ ["I feel something...a place! They will arrive near the circles!"] = "Je sens quelque chose... une localisation ! Ils vont arriver près des cercles !", ["If only I had a way..."] = "Si seulement j'avais un moyen...", ["If only I were given a chance to explain my being here..."] = "Si seulement vous me laissiez une chance d'expliquer ce que je fais ici...", +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 ["I forgot that she's the daughter of the chief, too..."] = "J'avais oublié qu'elle était aussi la fille du chef...", -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -929,11 +1035,16 @@ ["If you agree to provide the information we need, you will be spared!"] = "Si tu es d'accord pour nous donner les informations dont nous avons besoin, tu seras épargné !", -- ["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."] = "Si tu décides de nous aider, et bien, nous n'aurons plus besoin de chercher un nouveau gouverneur pour l'île.", +-- ["If you don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "Si vous êtes coincés, utilisez l'Aigle du Désert, ou recommencez la mission", -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 ["If you know what I mean..."] = "Si tu vois ce que je veux dire...", +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope ["If you say so..."] = "Si tu le dis...", -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -985,6 +1096,7 @@ ["I'm here to help you rescue her."] = "Je suis ici pour t'aider à la secourir.", -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen ["I'm not sure about that!"] = "Je n'en suis pas si sûr !", +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "Impressionnant...tu es aussi sec que le cadavre d'un faucon après une semaine dans le désert...", -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1018,6 +1130,7 @@ ["Interesting! Last time you said you killed a cannibal!"] = "Intéressant ! La dernière fois tu as dit que tu avais tué un cannibale !", -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1052,6 +1165,7 @@ ["It must be the aliens!"] = "Ce doit être les extraterrestres !", ["It must be the aliens' deed."] = "Ce doit être à cause des extraterrestres", ["It must be the cyborgs again!"] = "Ce doit encore etre les cyborgs !", +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope ["I told you, I just found them."] = "Je te l'ai dit, je les ai juste trouvés", -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "C'est une bonne chose que la MORT SUBITE soit dans 99 tours", @@ -1111,6 +1225,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "Le saut est désactivé", ["Just kidding, none of you have died!"] = "Je rigole, aucun d'entre vous n'est mort !", -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1139,6 +1254,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1153,6 +1269,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion ["Last Target!"] = "Dernière cible !", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leaderbot"] = "", ["Leader"] = "Chef", -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1160,6 +1277,7 @@ ["Leaks A Lot, depressed for killing his loved one, failed to save the village..."] = "Grosse Fuite, déprimé d'avoir tué l'élue de son coeur, échoua à sauver le village...", ["Leaks A Lot gave his life for his tribe! He should have survived!"] = "Grosse Fuite à donné sa vie pour sa tribu ! Il aurait dû survivre !", ["Leaks A Lot must survive!"] = "Grosse Fuite doit survivre !", +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- ["Lee"] = "", -- ["Left and right"] = "", -- WxW @@ -1167,12 +1285,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies ["Let me test your skills a little, will you?"] = "Laisse-moi te tester un peu, veux-tu ?", +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 ["Let's go home!"] = "Rentrons à la maison !", -- ["Let's go, %s!"] = "", -- WxW @@ -1187,12 +1308,16 @@ -- ["Lightbender"] = "", -- -- ["Light Çannfantry"] = "", -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 ["Listen up, maggot!!"] = "Écoutez, asticots", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings ["Little did they know that this hunt will mark them forever..."] = "Savait-il que cette chasse allait les marquer à jamais...", +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies ["Lonely Hog"] = "Hog tout seul", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 ["Look, I had no choice!"] = "Écoute, je n'avais pas le choix !", @@ -1201,6 +1326,7 @@ ["Looks like the whole world is falling apart!"] = "On dirait que le monde entier tombe en morceaux !", -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1242,11 +1368,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1254,6 +1384,7 @@ ["MISSION FAILED"] = "Mission échouée", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "Mission réussie", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1262,6 +1393,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1272,15 +1405,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"] = "Mouvement: [haut], [bas], [gauche], [droite]", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", ["Muscle Dissolver"] = "Monsieur Muscle", -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1323,6 +1459,7 @@ ["No...I wonder where they disappeared?!"] = "Non...Je me demande où ils ont disparu ?!", -- ["Nom-Nom"] = "", -- ["NomNom"] = "", +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 ["Nope. It was one fast mole, that's for sure."] = "Non. C'était une taupe rapide, ça c'est certain.", ["No! Please, help me!"] = "Non ! S'il te plaît, aide moi !", @@ -1333,11 +1470,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"] = "Pas assez de points de passage", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion ["Not now, Fiery Water!"] = "Pas maintenant, Fiery Water !", @@ -1352,12 +1492,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement ["No! What have I done?! What have YOU done?!"] = "Non ! Qu'ais-je fait ? Qu'est-ce que TU as fait ?!", ["No. Where did he come from?"] = "Non. D'où est-il venu ?", ["Now how do I get on the other side?!"] = "Maintenant, comment je me rends de l'autre coté ?", -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 ["No. You and the rest of the tribe are safer there!"] = "Non, toi et le reste de la tribu êtes plus en sécurité ici ! ", @@ -1365,6 +1508,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", +-- ["Obstacle"] = "", -- Basic_Training_-_Rope ["Obstacle course"] = "Course d'obstacles", -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1385,8 +1529,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 ["Oh, silly me! I forgot that I'm the shaman."] = "Oh suis-je bête ! J'ai oublié que j'étais le shaman.", -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1401,8 +1547,10 @@ ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "L'une des deux tribus était pacifique, passant son temps à chasser et à s'entraîner, appréciant les petits plaisirs de la vie", -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1410,6 +1558,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer ["Oops...I dropped them."] = "Oups ... Je les ai laissées tomber.", -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope ["Open that crate and we will continue!"] = "Ouvre cette caisse et nous pourrons continuer", ["Opposing Team: "] = "Équipe opposée", -- ["Orange"] = "", -- @@ -1420,25 +1570,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement ["Our tribe, our beautiful island!"] = "Notre tibu, notre belle ile !", -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- -- ["Pathetic Resistance"] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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!"] = "Parfait, maintenant essaies d'avoir la prochaine caisse sans te blesser !", ["Per-Hog Ammo"] = "Munitions par hérissons", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies ["Pfew! That was close!"] = "Ouf! C'est pas passé loin !", -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1471,6 +1628,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1490,6 +1648,7 @@ -- ["Please wait …"] = "", -- WxW -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion +-- ["--- Points Mode ---"] = "", -- Battalion ["points"] = "points", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle -- ["point(s)"] = "", -- TargetPractice, Mutant -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 @@ -1499,7 +1658,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "Astuce du Portail : l'un est la destination, l'autre est l'entrée ", +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1526,10 +1688,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "Protège toi ! |Astuce Grenade : Règle le compte à rebour avec [1-5], vise avec [haut]/[bas] et maintiens [Espace] pour la puissance", -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["RACER"] = "", -- ["Racer"] = "", -- Racer @@ -1547,6 +1712,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 ["Really?! You thought you could harm me with your little toys?"] = "Vraiment ? Tu pensais pouvoir me blesser avec tes petits jouets ?", @@ -1556,8 +1722,12 @@ -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- ["Reinforcements"] = "", +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 ["Remember this, pathetic animal: when the day comes, you will regret your blind loyalty!"] = "Souviens toi, pathétique animal : quand le jour viendra, tu regretteras ton aveugle loyauté !", -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor @@ -1567,14 +1737,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = "Ramenez le drapeau ennemi dans votre base pour marquer | -La première équipe à 3 captures gagne | - Vous marquez uniquement si votre drapeau est dans votre base | - Les hérissons vont lâcher le drapeau s'ils sont tués ou noyés | - Les drapeaux lâchés peuvent être ramenés ou recapturés | - Les hérissons réapparaissent quand ils sont tués", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["Righteous Beard"] = "Righteous Beard", +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1586,6 +1759,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- ["Rot Molester"] = "Rot Molester", -- ["Rotten"] = "", -- @@ -1596,6 +1770,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1610,6 +1786,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1633,22 +1810,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1666,9 +1847,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1677,15 +1867,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge ["... share your beauty with the world every morning, my princess!"] = "...partage ta beauté avec le monde chaque matin, ma princesse !", +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1716,9 +1910,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode -- ["Sinky"] = "", -- ["Sirius Lee"] = "", +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- ["Slippery"] = "Glissant", +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1733,6 +1934,7 @@ -- ["Smith 1.0"] = "", -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1741,6 +1943,7 @@ ["Sniper Training"] = "Entraînement au fusil de sniper", ["Sniperz"] = "Snipers", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos ["So humiliating..."] = "Si humiliant...", -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1750,6 +1953,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1773,6 +1977,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1794,6 +1999,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1828,7 +2034,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1877,12 +2086,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united ["Swing, Leaks A Lot, on the wings of the wind!"] = "Balance toi Grosse Fuite, sur les ailes du vent", +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies -- ["Switched to "] = "", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1899,10 +2115,12 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- ["Team %d: "] = "Équipe %d : ", +-- ["Team %d"] = "", -- SimpleMission -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor -- ["Team of Hearts"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove @@ -1917,8 +2135,11 @@ -- ["Teleportation Node: Allows teleportation| between other nodes."] = "", -- 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 hint: just use the mouse to select the destination!"] = "Téléporte : utilise la souris pour sélectionner la destination !", +-- ["Teleport unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil ["Thanks!"] = "Merci !", @@ -1946,6 +2167,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode ["The answer is...entertaintment. You'll see what I mean."] = "La réponse est... divertissement. Tu comprendras ce que je veux dire", -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1964,11 +2186,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "L'ennemi se cache là-bas sur le canard !", ["The Enemy Of My Enemy"] = "Les ennemis de mes ennemis", -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka ["The First Blood"] = "Le premier sang", ["The First Encounter"] = "La première rencontre", -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1998,17 +2224,23 @@ ["The Leap of Faith"] = "Le saut de la foi", -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos ["The Moonwalk"] = "La Marche Lunaire", +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant ["The Nameless One"] = "Le sans nom", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka ["Then how do they keep appearing?"] = "Alors, comment continuent-il à apparaître ?", -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "L'autre était une tribu de cannibales, ils passaient leur temps à manger les organes d'autres hérissons...", -- ["The Police"] = "", -- @@ -2022,16 +2254,21 @@ ["There's nothing more satisfying for me than seeing you share your beauty with the world every morning, my princess!"] = "Il n'y a rien de plus satisfaisant pour moi que de te voir partager ta beauté avec le monde chaque matin, ma princesse !", ["There's nothing more satisfying to us than seeing you share your beauty..."] = "Il n'y a rien de plus satisfaisant pour moi que de te voir partager ta beauté...", -- ["There's nothing more satisfying to us than seeing you share your beauty with the world every morning, my princess!"] = "", +-- ["The respawner respawns %s"] = "", -- Construction_Mode ["The Rising"] = "L'ascension", -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 ["The Savior"] = "Le sauveur", +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement ["These primitive people are so funny!"] = "Ces primitis sont si amusants !", ["The Shadow Falls"] = "La chute des ombres", ["The Showdown"] = "La confrontation", ["The Slaughter"] = "Le massacre", -- ["The Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion -- ["THE SPECIALISTS"] = "", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "Les esprits des ancêtres sont sûrement ravis, Grosse Fuite.", +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 ["The Torment"] = "Le supplice", @@ -2048,6 +2285,7 @@ ["The weapon in that last crate was bestowed upon us by the ancients!"] = "L'arme dans cette dernière caisse nous a été conférée par les anciens", -- ["The what?!"] = "", ["The wind whispers that you are ready to become familiar with tools, now..."] = "Le vent me murmure que tu es maintenant prêt à te familiariser avec les outils ...", +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission ["They are all waiting back in the village, haha."] = "Ils attendent tous au village, haha.", -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2064,17 +2302,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement ["This is it! It's time to make Fell From Heaven fall for me..."] = "Ça y est ! il est temps d'impressionner Tombée de l'Enfer ", ["This island is the only place left on Earth with grass on it!"] = "Cette île est le dernier endroit sur terre avec de l'herbe dessus !", -- ["This is seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 ["This is typical!"] = "C'est typique !", ["This must be some kind of sorcery!"] = "Ce doit être une sorte de sorcellerie", ["This must be the caves!"] = "Ce doit être les cavernes !", @@ -2082,6 +2325,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Cette pluie, c'est vraiment quelque chose !", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge ["This will be fun!"] = "Ce sera amusant !", -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2090,14 +2334,19 @@ ["Those aliens are destroying the island!"] = "Ces aliens sont en train de détruire l'ile !", -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2105,10 +2354,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2140,6 +2397,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil ["Traitors"] = "Traîtres", +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2149,14 +2407,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "Essaie de protéger le chef ! Tu ne perdras pas s'il meurt, mais il serait avisé qu'il survive", +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope -- ["T_T"] = "", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2173,6 +2436,7 @@ -- ["unC0Rr"] = "", -- ["Under Construction"] = "En construction", -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2188,8 +2452,10 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- -- ["Unit 835"] = "", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- ["United We Stand"] = "Nous restons unis", +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree ["Unlimited Attacks"] = "Attaques illimitées", -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2197,10 +2463,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge ["Use it wisely!"] = "à utiliser intelligemment", ["Use it with precaution!"] = "À utiliser avec précaution", -- ["User Challenge"] = "", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2211,8 +2479,10 @@ ["Use the portal gun to get to the next crate, then use the new gun to get to the final destination!|"] = "Utilisez le fusil à portail pour atteindre la prochaine caisse, puis utilisez le nouveau fusil pour atteindre la destination finale", -- ["Use the RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope ["Use the rope to get on the head of the mole, young one!"] = "Utilise le grappin pour atteindre la tête de la taupe, le bleu !", -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2224,6 +2494,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Utilisez votre Grappin pour aller du début à la fin aussi vite que vous pouvez !", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2246,6 +2517,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2255,8 +2529,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2291,6 +2568,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission ["We have no time to waste..."] = "Nous n'avons pas de temps à perdre...", ["We have nowhere else to live!"] = "Nous n'avons nul part autre où vivre !", -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2299,6 +2577,7 @@ ["We have to protect the village!"] = "Nous devons protéger le village !", ["We have to unite and defeat those cylergs!"] = "Nous devons nous unir et battre ces cyborgs !", -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome ["Welcome, Leaks A Lot!"] = "Bienvenue, Grosse Fuite !", -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2307,11 +2586,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos -- ["Well done."] = "", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope ["We'll give you a problem then!"] = "Nous allons vous donner des problèmes alors !", -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 ["We'll spare your life for now!"] = "Nous t'épargnons la vie pour le moment !", -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil ["Well, that was a waste of time."] = "Bien, c'était une perte de temps.", -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos ["Well, well! Isn't that the cutest thing you've ever seen?"] = "Bien, Bien ! N'est pas la chose la plus mignonne que tu aies jamais vu ? ", @@ -2362,10 +2644,12 @@ ["What is this place?"] = "Quel est cet endroit ? ", -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen ["What shall we do with the traitor?"] = "Que devons nous faire avec le traître ? ", +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen ["WHAT?! You're the ones attacking us!"] = "Quoi ?! C'est vous qui nous attaquez !", ["When I find it..."] = "Quand je vais le trouver...", ["When?"] = "Quand ?", +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope ["Where are all these crates coming from?!"] = "D'où viennent toutes ces caisses ?!", ["Where are they?!"] = "Où sont-ils ?!", ["Where did that alien run?"] = "Où est parti cet alien ?", @@ -2395,15 +2679,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen ["Why would they do this?"] = "Pourquoi feraient-ils ça ?", +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies -- ["Will this ever end?"] = "", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer ["Wise Oak"] = "Faucon Sage", ["With Dense Cloud on the land of shadows, I'm the village's only hope..."] = "Avec Nuage Dense dans le territoire des ombres, je suis le seul espoir du village...", +-- ["With low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- A_Classic_Fairytale:dragon ["Worry not, for it is a peaceful animal! There is no reason to be afraid..."] = "Pas d'inquiétude, c'est un animal pacifique ! Il n'y a pas de raison d'avoir peur...", ["Wow, what a dream!"] = "Wow, quel rêve !", @@ -2439,18 +2726,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2478,14 +2769,20 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 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..."] = "Tu as 7 tours avant la prochaine vague. |Assures toi que les prochains arrivant soient bien accueillis ! |Si le hérisson meurt, la cause est perdue. | Conseil : Tu pourrais vouloir utiliser des mines ...", -- ["You have acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome ["You have been giving us out to the enemy, haven't you!"] = "Tu nous as vendu aux ennemis, n'est ce pas ?!", ["You have chosen the perfect moment to leave."] = "Tu as choisis le moment parfait pour partir.", -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2538,6 +2835,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2557,6 +2855,7 @@ ["You just appeared out of thin air!"] = "Tu es apparu comme par magie ! ", -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen ["You just committed suicide..."] = "Tu viens de signer ton arrêt de mort...", +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement ["You killed my father, you monster!"] = "Tu as tué mon père, monstre !", ["You know...taking a stroll."] = "Vous savez... promenade.", ["You know what? I don't even regret anything!"] = "Tu sais quoi ? Je ne regrette rien !", @@ -2584,11 +2883,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen ["Young one, you are telling us that they can instantly change location without a shaman?"] = "Disciple, tu es en train de nous dire qu'ils peuvent changer de place sans shaman ?", -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer ["You probably know what to do next..."] = "Tu sais probablement ce que tu dois faire ensuite....", -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy ["Your death will not be in vain, Dense Cloud!"] = "Tu ne seras pas mort en vain, Nuage Dense !", @@ -2600,6 +2901,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen ["You're pathetic! You are not worthy of my attention..."] = "Tu es pathétique ! Tu n'es pas digne de mon attention... ", ["You're probably wondering why I bought you back..."] = "Tu te demandes probablement pourquoi je t'ai ramené...", +-- ["You're probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2609,6 +2911,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome ["Your hogs must survive!"] = "Vos hérissons doivent survivre !", @@ -2618,6 +2921,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/fr.txt --- a/share/hedgewars/Data/Locale/fr.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/fr.txt Sun Jun 10 19:12:26 2018 +0200 @@ -63,7 +63,7 @@ 01:02=%1 gagne ! 01:03=Volume %1% 01:04=Pause -01:05=Quitter? (Y/Esc) (Cliquer pour reprendre) +01:05=Quitter? (%1/%2) (Cliquer pour reprendre) 01:06=Mort subite ! 01:07=%1 Restantes 01:08=Carburant diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/gd.txt --- a/share/hedgewars/Data/Locale/gd.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/gd.txt Sun Jun 10 19:12:26 2018 +0200 @@ -66,7 +66,7 @@ 01:02=bhuannaich %1! 01:03=Fuaim %1% 01:04=’Na stad -01:05=Fàgail dha-rìribh? (Y/Esc) (Briog gus leantainn air adhart) +01:05=Fàgail dha-rìribh? (%1/%2) (Briog gus leantainn air adhart) 01:06=Bàs obann! 01:07=%1 air fhàgail 01:08=Connadh diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/gl.txt --- a/share/hedgewars/Data/Locale/gl.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/gl.txt Sun Jun 10 19:12:26 2018 +0200 @@ -47,7 +47,7 @@ 01:02=%1 gaña! 01:03=Volume %1% 01:04=En pausa -01:05=Saír (Y/Esc)? +01:05=Saír (%1/%2)? 01:06=Morte súbita! 01:07=%1 restante 01:08=Combustible diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_ar.ts --- a/share/hedgewars/Data/Locale/hedgewars_ar.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_ar.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,29 +87,6 @@ - AmmoSchemeModel - - new - جديد - - - New - جديد - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -245,6 +222,29 @@ + GameSchemeModel + + new + جديد + + + New + جديد + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -574,14 +574,14 @@ لم اتمكن من حفظ ملف اللعب %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -872,17 +872,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -933,16 +922,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1137,6 +1144,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1920,6 +1931,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2032,10 +2047,6 @@ - uploading - - - Date: %1 @@ -2043,6 +2054,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2146,14 +2167,6 @@ - Save account name and password - - - - Video is private - - - Record audio @@ -2517,30 +2530,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Description @@ -2641,6 +2630,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2660,6 +2653,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2683,20 +2680,6 @@ - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Error while sending metadata to youtube.com: - - - - Teams - Are you sure? @@ -2737,10 +2720,6 @@ Unable to start the server: %1. - Video upload - Error - - - Netgame - Error @@ -2801,10 +2780,6 @@ - Do you really want to cancel uploading %1? - - - File error @@ -2817,10 +2792,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2903,6 +2874,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -2986,14 +2971,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Restore default coding parameters @@ -3029,10 +3006,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3338,7 +3311,7 @@ pause - pause + pause confirmation @@ -3409,6 +3382,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3834,74 +3819,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -3930,46 +3847,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -4002,26 +3883,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4030,23 +3895,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_bg.ts --- a/share/hedgewars/Data/Locale/hedgewars_bg.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_bg.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - Нов - - - copy of - копие на - - - New - Ново - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -248,6 +221,33 @@ + GameSchemeModel + + new + Нов + + + copy of + копие на + + + New + Ново + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -581,14 +581,14 @@ Не може да се отвори демо файл %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -879,17 +879,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -940,16 +929,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1144,6 +1151,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1927,6 +1938,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2039,10 +2054,6 @@ - uploading - - - Date: %1 @@ -2050,6 +2061,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2153,14 +2174,6 @@ - Save account name and password - - - - Video is private - - - Record audio @@ -2544,30 +2557,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Description @@ -2668,6 +2657,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2687,6 +2680,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2710,20 +2707,6 @@ Файловата асоциация се провали. - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Error while sending metadata to youtube.com: - - - - Teams - Are you sure? @@ -2764,10 +2747,6 @@ Грешка при стартиране на сървъра: %1. - Video upload - Error - - - Netgame - Error @@ -2829,10 +2808,6 @@ - Do you really want to cancel uploading %1? - - - File error @@ -2845,10 +2820,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2931,6 +2902,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3014,14 +2999,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Restore default coding parameters @@ -3057,10 +3034,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3374,7 +3347,7 @@ pause - Пауза + Пауза slot 9 @@ -3441,6 +3414,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3866,74 +3851,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -3962,46 +3879,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -4034,26 +3915,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4062,23 +3927,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_cs.ts --- a/share/hedgewars/Data/Locale/hedgewars_cs.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_cs.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - nový - - - copy of - kopie - - - New - - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -249,6 +222,33 @@ + GameSchemeModel + + new + nový + + + copy of + kopie + + + New + + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -587,14 +587,14 @@ Nemohu otevřít soubor s ukázkou %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -885,17 +885,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -946,16 +935,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1151,6 +1158,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1975,6 +1986,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2088,10 +2103,6 @@ - uploading - - - Date: %1 @@ -2099,6 +2110,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2202,14 +2223,6 @@ - Save account name and password - - - - Video is private - - - Record audio @@ -2593,30 +2606,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Description @@ -2717,6 +2706,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2736,6 +2729,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2759,20 +2756,6 @@ Asociace souborů selhala. - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Error while sending metadata to youtube.com: - - - - Teams - Are you sure? @@ -2813,10 +2796,6 @@ Nemohu spustit server: %1. - Video upload - Error - - - Netgame - Error @@ -2879,10 +2858,6 @@ - Do you really want to cancel uploading %1? - - - File error @@ -2895,10 +2870,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2981,6 +2952,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3064,14 +3049,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Restore default coding parameters @@ -3107,10 +3084,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3420,7 +3393,7 @@ pause - pauza + pauza confirmation @@ -3491,6 +3464,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3916,74 +3901,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -4012,46 +3929,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -4084,26 +3965,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4112,23 +3977,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_da.ts --- a/share/hedgewars/Data/Locale/hedgewars_da.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_da.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - ny - - - copy of - kopi af - - - New - Ny - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -252,6 +225,33 @@ + GameSchemeModel + + new + ny + + + copy of + kopi af + + + New + Ny + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -585,14 +585,14 @@ Kan ikke åbne demofil %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -883,17 +883,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -944,16 +933,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1148,6 +1155,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1961,6 +1972,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2073,10 +2088,6 @@ - uploading - - - Date: %1 @@ -2084,6 +2095,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2187,14 +2208,6 @@ - Save account name and password - - - - Video is private - - - Record audio @@ -2586,30 +2599,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Description @@ -2710,6 +2699,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2729,6 +2722,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2792,24 +2789,6 @@ Ude af stand til at starte serveren: %1. - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Video upload - Error - - - - Error while sending metadata to youtube.com: - - - - Netgame - Error @@ -2871,10 +2850,6 @@ - Do you really want to cancel uploading %1? - - - File error Fejl i fil @@ -2887,10 +2862,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2973,6 +2944,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3072,14 +3057,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Reset @@ -3099,10 +3076,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3412,7 +3385,7 @@ pause - pause + pause confirmation @@ -3483,6 +3456,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3908,74 +3893,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -4004,46 +3921,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -4076,26 +3957,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4104,23 +3969,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_de.ts --- a/share/hedgewars/Data/Locale/hedgewars_de.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_de.ts Sun Jun 10 19:12:26 2018 +0200 @@ -99,37 +99,6 @@ - AmmoSchemeModel - - new - Neu - - - copy of - Kopie von - - - copy of %1 - Kopie von %1 - - - New - Neu - - - Copy of %1 - Kopie von %1 - - - New (%1) - Neu (%1) - - - Copy of %1 (%2) - Kopie von %1 (%2) - - - BanDialog IP @@ -288,6 +257,37 @@ + GameSchemeModel + + new + Neu + + + copy of + Kopie von + + + copy of %1 + Kopie von %1 + + + New + Neu + + + Copy of %1 + Kopie von %1 + + + New (%1) + Neu (%1) + + + Copy of %1 (%2) + Kopie von %1 (%2) + + + GameUIConfig Guest @@ -512,7 +512,7 @@ No nickname supplied. - Kein Spitznahme angegeben. + Kein Spitzname angegeben. Someone already uses your nickname %1 on the server. @@ -646,7 +646,7 @@ Last two engine messages: %2 - Ein kritischer FEHLER ist aufgetreten! Die Spiel-Engine musste angehalten werden. + Ein kritischer FEHLER ist aufgetreten! Die Spiel-Engine musste angehalten werden. Diese Unannehmlichkeit tut uns fürchterlich Leid. :( @@ -655,6 +655,24 @@ Die letzten beiden Meldungen der Engine lauten: %2 + + A fatal ERROR occured! The game engine had to stop. + +We are very sorry for the inconvenience. :-( + +If this keeps happening, please click the 'Feedback' button in the main menu! + +Last engine message: +%1 + Ein kritischer FEHLER ist aufgetreten! Die Spiel-Engine musste angehalten werden. + +Diese Unannehmlichkeit tut uns fürchterlich Leid. :-( + +Falls das öfters passiert, klicke auf den Knopf »Feedback« im Hauptmenü! + +Die letzte Meldung der Engine lautet: +%1 + HWHostPortDialog @@ -765,7 +783,7 @@ Randomize the theme - Zufällige Szenierie auswählen + Zufällige Szenerie auswählen Choose a theme @@ -955,11 +973,11 @@ HWUploadVideoDialog Upload video - Video hochladen + Video hochladen Upload - Hochladen + Hochladen @@ -1031,7 +1049,7 @@ Video: %1x%2 - Video: %1x%2 + Video: %1×%2 %1 fps @@ -1044,7 +1062,33 @@ %1 FPS - %1 FPS + %1 FPS + + + Player: %1 + Spieler: %1 + + + Theme: %1 + Szenerie: %1 + + + Map: %1 + Karte: %1 + + + Record: %1 + Aufzeichnung: %1 + + + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + Video: %1×%2, %3 FPS, %4 + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + Video: %1×%2, %3 @@ -1280,6 +1324,10 @@ Optimize Optimieren + + Brush size + Pinselgröße + PageEditTeam @@ -1482,7 +1530,7 @@ Play a game on a single computer - Auf einen einzelnen Computer spielen + Auf einem einzelnen Computer spielen Play a game across a network @@ -1490,7 +1538,7 @@ Read about who is behind the Hedgewars Project - Lies wer hinter dem Hedgewars-Projekt steckt + Lies, wer hinter dem Hedgewars-Projekt steckt Leave a feedback here reporting issues, suggesting features or just saying how you like Hedgewars @@ -1514,11 +1562,11 @@ Play a game across a local area network - ein Spiel über ein lokales Netzwerk (LAN) spielen + Ein Spiel über ein lokales Netzwerk (LAN) spielen Play a game on an official server - ein Spiel auf einem offiziellen Server spielen + Ein Spiel auf einem offiziellen Server spielen Feedback @@ -1595,7 +1643,7 @@ Insert your address here - Gib deine Adress hier ein + Gib deine Adresse hier ein @@ -1774,7 +1822,7 @@ Can't delete last team - Kann letztes Team nicht löchen + Kann letztes Team nicht löschen You can't delete the last team! @@ -1899,7 +1947,7 @@ Your hogs are unable to move, put your artillery skills to the test - Deine Igel können sich nicht bewegen, gib Dein Bestes im Fernkampf + Deine Igel können sich nicht bewegen, gib dein Bestes im Fernkampf Random @@ -1927,7 +1975,7 @@ Assisted aiming with laser sight - Zielfhilfe durch Laservisier + Zielhilfe durch Laservisier All hogs have a personal forcefield @@ -2059,7 +2107,7 @@ Likelihood of a mine being a dud. Does not affect mines placed by hedgehogs. - Wahrscheinlichkeit, dass eine Mine ein Blindgänger ist. Minen, die von Igeln platziert wurden, sind daavon nicht betroffen. + Wahrscheinlichkeit, dass eine Mine ein Blindgänger ist. Minen, die von Igeln platziert wurden, sind davon nicht betroffen. Average number of barrels to be placed a medium-sized island map. This number will be scaled for other maps. @@ -2097,6 +2145,10 @@ Sea (Edges connect to sea) Ozean (Grenzen sind mit dem Wasser verbunden) + + Select a hedgehog at the beginning of a turn + Wähle am Zugbeginn einen Igel aus + PageSelectWeapon @@ -2137,7 +2189,7 @@ Watch recorded demos - Aufgezeichnete Widerholungen ansehen + Aufgezeichnete Wiederholungen ansehen Load a previously saved game @@ -2214,7 +2266,7 @@ uploading - hochladen + hochladen Date: %1 @@ -2234,6 +2286,21 @@ Size: %1 Größe: %1 + + %1% + Video encoding progress. %1 = number + %1% + + + %1 (%2%) - %3) + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + %1 (%2%) – %3 + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + %1 (%2%) – %3 + QAction @@ -2338,11 +2405,11 @@ Save account name and password - Kontoname und Passwort speichern + Kontoname und Passwort speichern Video is private - Video ist privat + Video ist privat Record audio @@ -2755,27 +2822,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Bitte gib entwerder deinen YouTube-Kontonamen oder die entsprechende eMail-Adresse des Google-Kontos an. + Bitte gib entweder deinen YouTube-Kontonamen oder die entsprechende E-Mail-Adresse des Google-Kontos an. Account name (or email): - Kontoname (oder E-Mail): + Kontoname (oder E-Mail): Password: - Passwort: + Passwort: Video title: - Videotitel: + Videotitel: Video description: - Videobeschreibung: + Videobeschreibung: Tags (comma separated): - Tags (durch Kommas getrennt): + Tags (durch Kommas getrennt): Description @@ -2874,6 +2941,10 @@ “Kibit/s” is the symbol for 1024 bits per second Bitrate (Kibit/s) + + Loading<br>CAPTCHA ... + CAPTCHA<br>laden … + QLineEdit @@ -2893,6 +2964,10 @@ unnamed (%1) unbenannt (%1) + + Hedgehog %1 + Igel %1 + QMainWindow @@ -2918,17 +2993,17 @@ Error while authenticating at google.com: - Fehler während Authentifizierung auf google.com: + Fehler während Authentifizierung auf google.com: Login or password is incorrect - Login oder Passwort inkorrekt + Login oder Passwort inkorrekt Error while sending metadata to youtube.com: - Fehler bei Senden von Meta-Daten zu youtube.com: + Fehler bei Senden von Meta-Daten zu youtube.com: @@ -2999,7 +3074,7 @@ Video upload - Error - Video hochladen - Fehler + Video hochladen - Fehler Netgame - Error @@ -3076,7 +3151,7 @@ Do you really want to cancel uploading %1? - Willst du das Hochladen von %1 wirklich abbrechen? + Willst du das Hochladen von %1 wirklich abbrechen? File error @@ -3092,7 +3167,7 @@ Cannot use the ammo '%1'! - Munition »%1« kann nicht benutzt werden! + Munition »%1« kann nicht benutzt werden! Weapons - Warning @@ -3149,7 +3224,7 @@ Are you sure you want to start this game? Not all players are ready. - Bist du sicher, dass du diesees Spiel starten willst? + Bist du sicher, dass du dieses Spiel starten willst? Es sind nicht alle Spieler bereit. @@ -3180,6 +3255,22 @@ The team name '%1' is already taken, so your team has been renamed to '%2'. Der Teamname »%1« ist bereits belegt, daher wurde der Name deines Teams auf »%2« geändert. + + Welcome to Hedgewars + Willkommen bei Hedgewars + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + Willkommen bei Hedgewars! + +Du scheinst hier neu zu sein. Möchtest zuerst ein paar Übungsmissionen spielen, um die Grundlagen von Hedgewars zu lernen? + + + Cannot use the weapon scheme '%1'! + Arsenal »%1« kann nicht benutzt werden! + QObject @@ -3264,11 +3355,11 @@ Upload to YouTube - Auf YouTube hochladen + Auf YouTube hochladen Cancel uploading - Hochladen abbrechen + Hochladen abbrechen Restore default coding parameters @@ -3316,7 +3407,7 @@ Upload this video to your YouTube account - Dieses Video zu deinem YouTube-Benutzerkonto hochladen + Dieses Video zu deinem YouTube-Benutzerkonto hochladen @@ -3634,7 +3725,7 @@ pause - Pause + Pause volume down @@ -3721,6 +3812,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen Teamleisten umschalten + + team chat + Teamchat + + + pause / auto skip + Pause / Automatisches Überspringen + + + toggle hedgehog tags + Igelschilder umschalten + binds (categories) @@ -3749,7 +3852,7 @@ Fire your selected weapon or trigger an utility item: - Deine gewählte Waffe feuern oder dein Werkzeug benutzen: + Deine gewählte Waffe feuern oder dein Werkzeug benutzen: Pick a weapon or a target location under the cursor: @@ -3821,7 +3924,7 @@ Heads-up display: - Heads-up display: + Heads-Up-Display: @@ -3840,7 +3943,7 @@ Hat - Cooliehat + Hat (Left) @@ -4028,11 +4131,11 @@ Right shift - Rechte Umschalttaste + Umschalt rechts Left shift - Linke Umschalttaste + Umschalt links Right ctrl @@ -4167,11 +4270,11 @@ Your vote counted - Deine Stimme zählte + Deine Stimme zählte Pause toggled - Pause umgeschaltet + Pause umgeschaltet new seed @@ -4179,51 +4282,51 @@ number of hedgehogs in team - Anzahl der Igel im Team + Anzahl der Igel im Team Empty config entry - Leerer Konfigurations-Eintrag + Leerer Konfigurations-Eintrag Corrupted hedgehogs info - Kaputte Igel-Info + Kaputte Igel-Info too many teams - zu viele Teams + zu viele Teams too many hedgehogs - zu viele Igel + zu viele Igel There's already a team with same name in the list - Es gibt bereits ein Team mit dem selben Namen in der Liste + Es gibt bereits ein Team mit dem selben Namen in der Liste round in progress - laufende Runde + laufende Runde restricted - eingeschränkt + eingeschränkt REMOVE_TEAM: no such team - REMOVE_TEAM: kein solches Team + REMOVE_TEAM: kein solches Team Not team owner! - Nicht Team-Besitzer*In! + Nicht Team-Besitzer*In! Less than two clans! - Weniger als zwei Klans! + Weniger als zwei Klans! Room with such name already exists - ein Raum mit einem solchen Namen existiert bereits + ein Raum mit einem solchen Namen existiert bereits /maxteams: specify number from 2 to 8 @@ -4235,59 +4338,59 @@ callvote kick: specify nickname - callvote kick: Spitznamen festlegen + callvote kick: Spitznamen festlegen callvote kick: no such user - callvote kick: Benutzer existiert nicht + callvote kick: Benutzer existiert nicht callvote map: no such map - callvote map: Karte existiert nicht + callvote map: Karte existiert nicht callvote pause: no game in progress - callvote pause: es läuft kein Spiel + callvote pause: es läuft kein Spiel callvote hedgehogs: specify number from 1 to 8 - callvote hedgehogs: Zahl zwischen 1 und 8 wählen + callvote hedgehogs: Zahl zwischen 1 und 8 wählen Illegal room name - Verbotener Raumname + Verbotener Raumname No such room - Ein solcher Raum existiert nicht + Ein solcher Raum existiert nicht Joining restricted - Zutritt verboten + Zutritt verboten Registered users only - Nur für registrierte Benutzer + Nur für registrierte Benutzer You are banned in this room - Du wurdest aus diesem Raum verbannt + Du wurdest aus diesem Raum verbannt Nickname already chosen - Spitzname bereits gewählt + Spitzname bereits gewählt Illegal nickname - Verbotener Spitzname + Verbotener Spitzname Protocol already known - Protokoll bereits bekannt + Protokoll bereits bekannt Bad number - Schlechte Zahl + Schlechte Zahl Nickname is already in use @@ -4295,11 +4398,11 @@ Restricted - Eingeschränkt + Eingeschränkt Not room master - Nicht Gastgeber + Nicht Gastgeber No checker rights @@ -4307,15 +4410,15 @@ Room version incompatible to your hedgewars version - Die Raumversion ist inkompatibel zu deiner Hedgewars-Version + Die Raumversion ist inkompatibel zu deiner Hedgewars-Version You already have voted - Du hast bereits deine Stimme abgegeben + Du hast bereits deine Stimme abgegeben Voting closed - Abstimmung abgeschlossen + Abstimmung abgeschlossen New voting started @@ -4323,7 +4426,7 @@ Voting expired - Abstimmung abgelaufen + Abstimmung abgelaufen kick @@ -4366,7 +4469,151 @@ There's no voting going on - Zur Zeit findet keine Abstimmung statt + Zur Zeit findet keine Abstimmung statt + + + The game can't be started with less than two clans! + Das Spiel kann nicht mit weniger als zwei Klans gestartet werden! + + + Empty config entry. + Leerer Konfigurationseintrag. + + + Access denied. + Zutritt verweigert. + + + You're not the room master! + Du bist nicht der Leiter des Raums! + + + Corrupted hedgehogs info! + Kaputte Igel-Info! + + + Too many teams! + Zu viele Teams! + + + Too many hedgehogs! + Zu viele Igel! + + + There's already a team with same name in the list. + Es gibt bereits ein Team mit dem gleichen Namen in der Liste. + + + Joining not possible: Round is in progress. + Beitreten nicht möglich: Spielrunde ist aktiv. + + + This room currently does not allow adding new teams. + Dieser Raum gestattet derzeit nicht das Hinzufügen neuer Teams. + + + Error: The team you tried to remove does not exist. + Fehler: Das Team, das du hinzufügen wolltest, existiert nicht. + + + You can't remove a team you don't own. + Du kannst ein Team, das dir nicht gehört, nicht entfernen. + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + Verbotener Raumname! Der Raumname muss zwischen 1-40 Zeichen lang sein, darf kein Leerzeichen am Anfang oder Ende haben und darf keines der folgenden Zeichen enthalten: $()*+?[]^{|} + + + A room with the same name already exists. + Ein Raum mit dem gleichen Namen existiert bereits. + + + /callvote kick: You need to specify a nickname. + /callvote kick: Du musst einen Spitznamen festlegen. + + + /callvote kick: No such user! + /callvote kick: Benutzer existiert nicht! + + + /callvote map: No such map! + /callvote map: Karte existiert nicht! + + + /callvote pause: No game in progress! + /callvote pause: Es läuft kein Spiel! + + + /callvote hedgehogs: Specify number from 1 to 8. + /callvote hedgehogs: Bitte Zahl zwischen 1 bis 8 angeben. + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + Verbotener Raumname! Ein Raumname muss zwischen 1-40 Zeichen lang sein, darf kein Leerzeichen am Anfang oder Ende haben und darf keines der folgenden Zeichen enthalten: $()*+?[]^{|} + + + No such room. + Ein solcher Raum existiert nicht. + + + Room version incompatible to your Hedgewars version! + Die Raumversion ist inkompatibel zu deiner Hedgewars-Version. + + + Access denied. This room currently doesn't allow joining. + Zutritt verweigert. Im Moment gestattet dieser Raum kein Beitreten. + + + Access denied. This room is for registered users only. + Zutritt verweigert. Dieser Raum ist nur für registrierte Benutzer. + + + You are banned from this room. + Du wurdest aus diesem Raum verbannt. + + + Nickname already provided. + Spitzname bereits angegeben. + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + Verbotener Spitzname! Spitznamen müssen zwischen 1-40 Zeichen lang sein, dürfen kein Leerzeichen am Anfang oder Ende haben und dürfen keines der folgenden Zeichen enthalten: $()*+?[]^{|} + + + Protocol already known. + Protokoll bereits bekannt. + + + Bad number. + Schlechte Zahl. + + + There's no voting going on. + Zur Zeit findet keine Abstimmung statt. + + + You already have voted. + Du hast deine Stimme bereits abgegeben. + + + Your vote has been counted. + Deine Stimme wurde gezählt. + + + Voting closed. + Abstimmung abgeschlossen. + + + Pause toggled. + Pause umgeschaltet. + + + Voting expired. + Abstimmung abgelaufen. + + + hedgehogs per team: + Igel pro Team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_el.ts --- a/share/hedgewars/Data/Locale/hedgewars_el.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_el.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,29 +87,6 @@ - AmmoSchemeModel - - new - Νέο - - - New - Νέο - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -244,6 +221,29 @@ + GameSchemeModel + + new + Νέο + + + New + Νέο + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -579,14 +579,14 @@ - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -877,17 +877,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -938,16 +927,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1142,6 +1149,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1955,6 +1966,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2067,10 +2082,6 @@ - uploading - - - Date: %1 @@ -2078,6 +2089,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2181,14 +2202,6 @@ - Save account name and password - - - - Video is private - - - Record audio @@ -2556,30 +2569,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Description @@ -2692,6 +2681,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2711,6 +2704,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2774,24 +2771,6 @@ Δεν είναι δυνατόν να ξεκινήσει ο εξυπηρετητής : %1. - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Video upload - Error - - - - Error while sending metadata to youtube.com: - - - - Netgame - Error @@ -2853,10 +2832,6 @@ - Do you really want to cancel uploading %1? - - - File error @@ -2869,10 +2844,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2955,6 +2926,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3054,14 +3039,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Reset @@ -3081,10 +3058,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3390,7 +3363,7 @@ pause - παύση + παύση confirmation @@ -3461,6 +3434,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3886,74 +3871,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -3982,46 +3899,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -4054,26 +3935,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4082,23 +3947,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_en.ts --- a/share/hedgewars/Data/Locale/hedgewars_en.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_en.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,29 +87,6 @@ - AmmoSchemeModel - - new - new - - - New - New - - - Copy of %1 - Copy of %1 - - - New (%1) - New (%1) - - - Copy of %1 (%2) - Copy of %1 (%2) - - - BanDialog IP @@ -252,6 +229,29 @@ + GameSchemeModel + + new + new + + + New + New + + + Copy of %1 + Copy of %1 + + + New (%1) + New (%1) + + + Copy of %1 (%2) + Copy of %1 (%2) + + + GameUIConfig Guest @@ -623,7 +623,7 @@ Last two engine messages: %2 - A Fatal ERROR occured! - The game engine had to stop. + A Fatal ERROR occured! - The game engine had to stop. We are very sorry for the inconvenience :( @@ -632,6 +632,24 @@ Last two engine messages: %2 + + A fatal ERROR occured! The game engine had to stop. + +We are very sorry for the inconvenience. :-( + +If this keeps happening, please click the 'Feedback' button in the main menu! + +Last engine message: +%1 + A fatal ERROR occured! The game engine had to stop. + +We are very sorry for the inconvenience. :-( + +If this keeps happening, please click the ‘Feedback’ button in the main menu! + +Last engine message: +%1 + HWHostPortDialog @@ -926,11 +944,11 @@ HWUploadVideoDialog Upload video - Upload video + Upload video Upload - Upload + Upload @@ -985,7 +1003,7 @@ Video: %1x%2 - Video: %1×%2 + Video: %1×%2 Duration: %1min %2s @@ -994,7 +1012,33 @@ %1 FPS - %1 FPS + %1 FPS + + + Player: %1 + Player: %1 + + + Theme: %1 + Theme: %1 + + + Map: %1 + Map: %1 + + + Record: %1 + Record: %1 + + + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + Video: %1×%2, %3 FPS, %4 + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + Video: %1×%2, %3 @@ -1196,6 +1240,10 @@ Optimize Optimize + + Brush size + Brush size + PageEditTeam @@ -1989,6 +2037,10 @@ Name of this scheme Name of this scheme + + Select a hedgehog at the beginning of a turn + Select a hedgehog at the beginning of a turn + PageSelectWeapon @@ -2102,7 +2154,7 @@ uploading - uploading + uploading Date: %1 @@ -2112,6 +2164,21 @@ Size: %1 Size: %1 + + %1% + Video encoding progress. %1 = number + %1% + + + %1 (%2%) - %3) + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + %1 (%2%) - %3 + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + %1 (%2%)—%3 + QAction @@ -2216,11 +2283,11 @@ Save account name and password - Save account name and password + Save account name and password Video is private - Video is private + Video is private Record audio @@ -2589,27 +2656,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Please provide either the YouTube account name or the email address associated with the Google Account. + Please provide either the YouTube account name or the email address associated with the Google Account. Account name (or email): - Account name (or email): + Account name (or email): Password: - Password: + Password: Video title: - Video title: + Video title: Video description: - Video description: + Video description: Tags (comma separated): - Tags (comma separated): + Tags (comma separated): Description @@ -2712,6 +2779,10 @@ “Kibit/s” is the symbol for 1024 bits per second Bitrate (Kibit/s) + + Loading<br>CAPTCHA ... + Loading<br>CAPTCHA … + QLineEdit @@ -2731,6 +2802,10 @@ unnamed (%1) unnamed (%1) + + Hedgehog %1 + Hedgehog %1 + QMainWindow @@ -2756,17 +2831,17 @@ Error while authenticating at google.com: - Error while authenticating at google.com: + Error while authenticating at google.com: Login or password is incorrect - Login or password is incorrect + Login or password is incorrect Error while sending metadata to youtube.com: - Error while sending metadata to youtube.com: + Error while sending metadata to youtube.com: @@ -2811,7 +2886,7 @@ Video upload - Error - Video upload—Error + Video upload—Error Netgame - Error @@ -2888,7 +2963,7 @@ Do you really want to cancel uploading %1? - Do you really want to cancel uploading %1? + Do you really want to cancel uploading %1? File error @@ -2904,7 +2979,7 @@ Cannot use the ammo '%1'! - Cannot use the ammo ‘%1’! + Cannot use the ammo ‘%1’! Weapons - Warning @@ -2992,6 +3067,22 @@ The team name '%1' is already taken, so your team has been renamed to '%2'. The team name ‘%1’ is already taken, so your team has been renamed to ‘%2’. + + Welcome to Hedgewars + Welcome to Hedgewars + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + Cannot use the weapon scheme '%1'! + Cannot use the weapon scheme ‘%1’! + QObject @@ -3076,11 +3167,11 @@ Upload to YouTube - Upload to YouTube + Upload to YouTube Cancel uploading - Cancel uploading + Cancel uploading Restore default coding parameters @@ -3124,7 +3215,7 @@ Upload this video to your YouTube account - Upload this video to your YouTube account + Upload this video to your YouTube account @@ -3437,7 +3528,7 @@ pause - pause + pause confirmation @@ -3512,6 +3603,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen toggle team bars + + team chat + team chat + + + pause / auto skip + pause / auto skip + + + toggle hedgehog tags + toggle hedgehog tags + binds (categories) @@ -3938,71 +4041,71 @@ server Restricted - Restricted + Restricted Not room master - Not room master + Not room master Corrupted hedgehogs info - Corrupted hedgehogs info + Corrupted hedgehogs info too many teams - too many teams + too many teams too many hedgehogs - too many hedgehogs + too many hedgehogs There's already a team with same name in the list - There’s already a team with same name in the list + There’s already a team with same name in the list round in progress - round in progress + round in progress restricted - restricted + restricted REMOVE_TEAM: no such team - REMOVE_TEAM: no such team + REMOVE_TEAM: no such team Not team owner! - Not team owner! + Not team owner! Less than two clans! - Less than two clans! + Less than two clans! Illegal room name - Illegal room name + Illegal room name Room with such name already exists - Room with such name already exists + Room with such name already exists Nickname already chosen - Nickname already chosen + Nickname already chosen Illegal nickname - Illegal nickname + Illegal nickname Protocol already known - Protocol already known + Protocol already known Bad number - Bad number + Bad number Nickname is already in use @@ -4034,35 +4137,35 @@ No such room - No such room + No such room Room version incompatible to your hedgewars version - Room version incompatible to your hedgewars version + Room version incompatible to your hedgewars version Joining restricted - Joining restricted + Joining restricted Registered users only - Registered users only + Registered users only You are banned in this room - You are banned in this room + You are banned in this room Empty config entry - Empty config entry + Empty config entry You already have voted - You already have voted + You already have voted Voting closed - Voting closed + Voting closed New voting started @@ -4070,7 +4173,7 @@ Voting expired - Voting expired + Voting expired kick @@ -4106,15 +4209,15 @@ There's no voting going on - There’s no voting going on + There’s no voting going on Your vote counted - Your vote counted + Your vote counted Pause toggled - Pause toggled + Pause toggled new seed @@ -4122,7 +4225,7 @@ number of hedgehogs in team - number of hedgehogs in team + number of hedgehogs in team /maxteams: specify number from 2 to 8 @@ -4134,23 +4237,167 @@ callvote kick: specify nickname - callvote kick: specify nickname + callvote kick: specify nickname callvote kick: no such user - callvote kick: no such user + callvote kick: no such user callvote map: no such map - callvote map: no such map + callvote map: no such map callvote pause: no game in progress - callvote pause: no game in progress + callvote pause: no game in progress callvote hedgehogs: specify number from 1 to 8 - callvote hedgehogs: specify number from 1 to 8 + callvote hedgehogs: specify number from 1 to 8 + + + The game can't be started with less than two clans! + The game can’t be started with less than two clans! + + + Empty config entry. + Empty config entry. + + + Access denied. + Access denied. + + + You're not the room master! + You’re not the room master! + + + Corrupted hedgehogs info! + Corrupted hedgehogs info! + + + Too many teams! + Too many teams! + + + Too many hedgehogs! + Too many hedgehogs! + + + There's already a team with same name in the list. + There’s already a team with same name in the list. + + + Joining not possible: Round is in progress. + Joining not possible: Round is in progress. + + + This room currently does not allow adding new teams. + This room currently does not allow adding new teams. + + + Error: The team you tried to remove does not exist. + Error: The team you tried to remove does not exist. + + + You can't remove a team you don't own. + You can’t remove a team you don’t own. + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + A room with the same name already exists. + A room with the same name already exists. + + + /callvote kick: You need to specify a nickname. + /callvote kick: You need to specify a nickname. + + + /callvote kick: No such user! + /callvote kick: No such user! + + + /callvote map: No such map! + /callvote map: No such map! + + + /callvote pause: No game in progress! + /callvote pause: No game in progress! + + + /callvote hedgehogs: Specify number from 1 to 8. + /callvote hedgehogs: Specify number from 1 to 8. + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + No such room. + No such room. + + + Room version incompatible to your Hedgewars version! + Room version incompatible to your Hedgewars version! + + + Access denied. This room currently doesn't allow joining. + Access denied. This room currently doesn’t allow joining. + + + Access denied. This room is for registered users only. + Access denied. This room is for registered users only. + + + You are banned from this room. + You are banned from this room. + + + Nickname already provided. + Nickname already provided. + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + Protocol already known. + Protocol already known. + + + Bad number. + Bad number. + + + There's no voting going on. + There’s no voting going on. + + + You already have voted. + You already have voted. + + + Your vote has been counted. + Your vote has been counted. + + + Voting closed. + Voting closed. + + + Pause toggled. + Pause toggled. + + + Voting expired. + Voting expired. + + + hedgehogs per team: + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_es.ts --- a/share/hedgewars/Data/Locale/hedgewars_es.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_es.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - Nuevo - - - copy of - Copia de - - - New - Nuevo - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -252,6 +225,33 @@ + GameSchemeModel + + new + Nuevo + + + copy of + Copia de + + + New + Nuevo + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -585,14 +585,14 @@ No se pudo abrir la demo %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -883,17 +883,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -944,16 +933,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1148,6 +1155,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1961,6 +1972,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2073,10 +2088,6 @@ - uploading - - - Date: %1 @@ -2084,6 +2095,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2187,14 +2208,6 @@ - Save account name and password - - - - Video is private - - - Record audio @@ -2582,30 +2595,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Description @@ -2706,6 +2695,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2725,6 +2718,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2748,20 +2745,6 @@ No se pudieron asociar los tipos de fichero. - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Error while sending metadata to youtube.com: - - - - Teams - Are you sure? @@ -2802,10 +2785,6 @@ No se pudo iniciar el servidor: %1. - Video upload - Error - - - Netgame - Error @@ -2867,10 +2846,6 @@ - Do you really want to cancel uploading %1? - - - File error Error de fichero @@ -2883,10 +2858,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2969,6 +2940,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3052,14 +3037,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Restore default coding parameters @@ -3095,10 +3072,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3396,7 +3369,7 @@ pause - pausa + pausa volume down @@ -3479,6 +3452,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3904,74 +3889,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -4000,46 +3917,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -4072,26 +3953,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4100,23 +3965,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_fi.ts --- a/share/hedgewars/Data/Locale/hedgewars_fi.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_fi.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,25 +87,6 @@ - AmmoSchemeModel - - New - Uusi - - - Copy of %1 - %1 kopio - - - New (%1) - Uusi (%1) - - - Copy of %1 (%2) - %1 kopio (%2) - - - BanDialog IP @@ -248,6 +229,25 @@ + GameSchemeModel + + New + Uusi + + + Copy of %1 + %1 kopio + + + New (%1) + Uusi (%1) + + + Copy of %1 (%2) + %1 kopio (%2) + + + GameUIConfig Guest @@ -607,7 +607,7 @@ Last two engine messages: %2 - Vakava virhe tapahtui, ja pelimoottori kaatui! + Vakava virhe tapahtui, ja pelimoottori kaatui! Olemme pahoillamme, että näin pääsi käymään :( @@ -616,6 +616,17 @@ Kaksi viimeistä pelimoottorin viestiä: %2 + + A fatal ERROR occured! The game engine had to stop. + +We are very sorry for the inconvenience. :-( + +If this keeps happening, please click the 'Feedback' button in the main menu! + +Last engine message: +%1 + + HWHostPortDialog @@ -906,11 +917,11 @@ HWUploadVideoDialog Upload video - Julkaise video + Julkaise video Upload - Julkaise + Julkaise @@ -962,7 +973,7 @@ Video: %1x%2 - Video: %1x%2 + Video: %1x%2 %1 fps @@ -974,7 +985,29 @@ - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + Teema: %1 + + + Map: %1 + + + + Record: %1 @@ -1173,6 +1206,10 @@ Optimize Optimoi + + Brush size + + PageEditTeam @@ -1938,6 +1975,10 @@ Name of this scheme Sääntöjen nimi + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2051,7 +2092,7 @@ uploading - lähetetään + lähetetään Date: %1 @@ -2061,6 +2102,16 @@ Size: %1 Koko: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2165,11 +2216,11 @@ Save account name and password - Tallenna tunnus ja salasana + Tallenna tunnus ja salasana Video is private - Video on yksityinen + Video on yksityinen Record audio @@ -2526,27 +2577,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Anna joko YouTube-tunnuksesi tai siihen liitetty Google Account -sähköpostiosoite. + Anna joko YouTube-tunnuksesi tai siihen liitetty Google Account -sähköpostiosoite. Account name (or email): - Tunnus (tai sähköposti): + Tunnus (tai sähköposti): Password: - Salasana: + Salasana: Video title: - Videon otsikko: + Videon otsikko: Video description: - Videon kuvaus: + Videon kuvaus: Tags (comma separated): - Hakusanat (pilkulla eroteltuna): + Hakusanat (pilkulla eroteltuna): Description @@ -2661,6 +2712,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2680,6 +2735,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2705,17 +2764,17 @@ Error while authenticating at google.com: - Virhe kirjautuessa google.comiin: + Virhe kirjautuessa google.comiin: Login or password is incorrect - Tunnus tai salasana ovat virheellisiä + Tunnus tai salasana ovat virheellisiä Error while sending metadata to youtube.com: - Virhe lähetettäessä oheistietoja youtube.comiin: + Virhe lähetettäessä oheistietoja youtube.comiin: @@ -2752,7 +2811,7 @@ Video upload - Error - Videon lähetys - Virhe + Videon lähetys - Virhe Netgame - Error @@ -2829,7 +2888,7 @@ Do you really want to cancel uploading %1? - Haluatko varmasti peruuttaa %1 lähetyksen? + Haluatko varmasti peruuttaa %1 lähetyksen? File error @@ -2845,7 +2904,7 @@ Cannot use the ammo '%1'! - Ei voi käyttää ammusta '%1'! + Ei voi käyttää ammusta '%1'! Weapons - Warning @@ -2931,6 +2990,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3011,11 +3084,11 @@ Upload to YouTube - Julkaise YouTubessa + Julkaise YouTubessa Cancel uploading - Peruuta lähetys + Peruuta lähetys Restore default coding parameters @@ -3057,10 +3130,6 @@ Start private server Käynnistä oma palvelin - - Upload this video to your YouTube account - - QSpinBox @@ -3364,7 +3433,7 @@ pause - tauko + tauko confirmation @@ -3439,6 +3508,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3861,71 +3942,71 @@ server Restricted - Rajoitettu + Rajoitettu Not room master - Ei huoneen omistaja + Ei huoneen omistaja Corrupted hedgehogs info - Rapistuneen siilin tiedot + Rapistuneen siilin tiedot too many teams - liikaa joukkueita + liikaa joukkueita too many hedgehogs - liikaa siiliä + liikaa siiliä There's already a team with same name in the list - Listalla on jo samanniminen joukkue + Listalla on jo samanniminen joukkue round in progress - peli on käynnissä + peli on käynnissä restricted - rajoitettu + rajoitettu REMOVE_TEAM: no such team - POISTA_JOUKKUE: joukkuetta ei löydy + POISTA_JOUKKUE: joukkuetta ei löydy Not team owner! - Et ole joukkueen omistaja! + Et ole joukkueen omistaja! Less than two clans! - Alle kaksi klaania! + Alle kaksi klaania! Illegal room name - Virheellinen huoneen nimi + Virheellinen huoneen nimi Room with such name already exists - Samanniminen huone on jo olemassa + Samanniminen huone on jo olemassa Nickname already chosen - Nimimerkki on jo käytössä + Nimimerkki on jo käytössä Illegal nickname - Virheellinen nimimerkki + Virheellinen nimimerkki Protocol already known - Protokolla jo tiedossa + Protokolla jo tiedossa Bad number - Virheellinen numero + Virheellinen numero Nickname is already in use @@ -3957,35 +4038,35 @@ No such room - Ei moista huonetta + Ei moista huonetta Room version incompatible to your hedgewars version - Huoneen versio ei ole yhteensopiva pelin versioosi + Huoneen versio ei ole yhteensopiva pelin versioosi Joining restricted - Liittyminen estetty + Liittyminen estetty Registered users only - Vain rekisteröityneille + Vain rekisteröityneille You are banned in this room - Sinulla on porttikielto huoneeseen + Sinulla on porttikielto huoneeseen Empty config entry - Tyhjä asetus + Tyhjä asetus You already have voted - Olet jo äänestänyt + Olet jo äänestänyt Voting closed - Äänestys päättyi + Äänestys päättyi New voting started @@ -3993,7 +4074,7 @@ Voting expired - Äänestysaika loppui + Äänestysaika loppui kick @@ -4029,15 +4110,15 @@ There's no voting going on - Äänestyksiä ei ole meneillään + Äänestyksiä ei ole meneillään Your vote counted - Sinun äänesi ratkaisi + Sinun äänesi ratkaisi Pause toggled - Tauko + Tauko new seed @@ -4045,7 +4126,7 @@ number of hedgehogs in team - siilien määrä pelissä + siilien määrä pelissä /maxteams: specify number from 2 to 8 @@ -4057,23 +4138,167 @@ callvote kick: specify nickname - callvote kick: anna nimimerkki + callvote kick: anna nimimerkki callvote kick: no such user - callvote kick: moista käyttäjää ei löydy + callvote kick: moista käyttäjää ei löydy callvote map: no such map - callvote map: moista karttaa ei löydy + callvote map: moista karttaa ei löydy callvote pause: no game in progress - callvote pause: peli ei ole käynnissä + callvote pause: peli ei ole käynnissä callvote hedgehogs: specify number from 1 to 8 - callvote hedgehogs: anna luku väliltä 1-8 + callvote hedgehogs: anna luku väliltä 1-8 + + + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_fr.ts --- a/share/hedgewars/Data/Locale/hedgewars_fr.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_fr.ts Sun Jun 10 19:12:26 2018 +0200 @@ -10,73 +10,73 @@ Hedgewars %1 %1 contains Hedgewars' version number - Hedgewars %1 + Hedgewars %1 Revision %1 (%2) - + Revision %1 (%2) Visit our homepage: %1 - + Visitez notre site : %1 This program is distributed under the %1. - Ce programme est distribué par %1. + Ce programme est distribué sous %1. GNU GPL v2 Short for “GNU General Public License version 2” - + Licence publique générale GNU version 2 Dependency versions: For the version numbers of Hedgewars' software dependencies - + Versions des dépendances : <a href="https://gcc.gnu.org">GCC</a>: %1 - + <a href="https://www.libsdl.org/">SDL2</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_mixer</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_net</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_image</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_ttf</a>: %1.%2.%3 - + <a href="https://www.qt.io/developers/">Qt</a>: %1 - + <a href="https://libav.org">libavcodec</a>: %1.%2.%3 - + <a href="https://libav.org">libavformat</a>: %1.%2.%3 - + <a href="https://libav.org">libavutil</a>: %1.%2.%3 - + <a href="https://icculus.org/physfs/">PhysFS</a>: %1.%2.%3 - + @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - Nouveau - - - copy of - Copier à partir de ... - - - New - Nouveau - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -145,7 +118,7 @@ you know why - Tu sait très bien pourquoi + Tu sais très bien pourquoi Warning @@ -165,15 +138,15 @@ Ban player - + Bannir le joueur Please specify an IP address. - + Veuillez entrer une adresse IP. Please specify a nickname. - + Veuillez entrer un pseudo. @@ -219,7 +192,7 @@ If you found a bug, you can see if it's already been reported here: - Si vous trouvez un bug, sachez s'il a été reporté ici: + Si vous trouvez un bug, sachez s'il a été reporté ici : Your email address is optional, but necessary if you want us to get back at you. @@ -227,7 +200,7 @@ Feedback - Contact + Contact @@ -268,10 +241,37 @@ + GameSchemeModel + + new + Nouveau + + + copy of + Copier à partir de ... + + + New + Nouveau + + + Copy of %1 + Copie de %1 + + + New (%1) + Nouveau (%1) + + + Copy of %1 (%2) + Copie de %1 (%2) + + + GameUIConfig Guest - + Invité @@ -313,7 +313,7 @@ Scheme '%1' not supported - Règle incomprise + Règle %1 incomprise Cannot create directory %1 @@ -332,52 +332,52 @@ Usage command-line - + Utilisation OPTION command-line - + OPTION CONNECTSTRING command-line - + LIENDECONNEXION Options command-line - + Options Display this help command-line - + Afficher cette aide Custom path for configuration data and user data command-line - + Chemin personnalisé pour les données de configuration et les données utilisateur Custom path to the game data folder command-line - + Chemin personnalisé du dossier des données de jeu Hedgewars can use a %1 (e.g. "%2") to connect on start. command-line - + Hedgewars peut utiliser un %1 (ex: "%2") pour se connecter au démarrage. Malformed option argument: %1 command-line - + Argument mal formé : %1 Unknown option argument: %1 command-line - + Argument inconnu : %1 @@ -443,15 +443,15 @@ Chat log - + Historique des messages Enter chat messages here and send them with [Enter] - + Entrez les messages ici et appuyez sur [Entrer] pour les envoyer List of players - + Liste des joueurs @@ -542,11 +542,11 @@ Hedgewars - Wrong password - Hedgewars - Mauvais mot de passe + Hedgewars - Mot de passe incorrect You entered a wrong password. - Le mot de passe que vous avez entré est incorrect + Le mot de passe que vous avez entré est incorrect. Try Again @@ -568,42 +568,43 @@ Guest - + Invité Room password - + Mot de passe de la partie The room is protected with password. Please, enter the password: - + Cette partie est protégée par un mot de passe +Veuillez entrer le mot de passe : Team 1 - + Équipe 1 Team %1 Default team name - + Équipe %1 Computer %1 Default computer team name - + Ordinateur %1 Unknown network error (possibly missing SSL library). - + Erreur de connexion inconnue (bibliothèque SSL manquante possible). This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + Cette fonctionnalité nécessite une connexion à Internet, cependant il semblerait que vous soyez hors-ligne (code d'erreur : %1). Internal error: Reply object is invalid. - + Erreur interne : L'objet de réponse est invalide. @@ -618,22 +619,29 @@ Erreur lors de l'ouverture du fichier de démo %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( + +If this keeps happening, please click the 'Feedback' button in the main menu! -If this keeps happening, please click the '%1' button in the main menu! +Last engine message: +%1 + Une erreur critique s'est produite ! Le moteur de jeu a dû s'arrêter. -Last two engine messages: -%2 - +Nous sommes vraiment désolés pour le désagrément. :-( + +Si cela continue de se produire, veuillez cliquer sur le bouton "Contact" dans le menu principal ! + +Dernier message du moteur : +%1 HWHostPortDialog Connect to server - + Connexion au serveur @@ -768,59 +776,59 @@ Random perlin - + Perlin aléatoires Style: - + Style: Forts - + Forts View and edit the seed, the source of randomness in the game - + Voir et éditer la graine, la source de hasard dans le jeu Randomize the theme - + Choisir un thème aléatoire Choose a theme - + Choisir un thème Randomize the map, theme and seed - + Choisir une carte, un thème et une graine aléatoires Randomize the theme and seed - + Choisir un thème et une graine aléatoires Randomize the seed - + Choisir une graine aléatoire Click to randomize the map, theme and seed - + Cliquez pour choisir une carte, un thème et une graine aléatoires Click to randomize the theme and seed - + Cliquez pour choisir un thème et une graine aléatoires Adjust the complexity of the generated map - + Ajuste la complexité de la carte générée Adjust the distance between forts - + Ajuste la distance entre les forts Click to edit - + Cliquez pour éditer @@ -890,7 +898,7 @@ Server authentication error - + Erreur d'authentification au serveur @@ -919,18 +927,18 @@ New Account - + Nouveau compte HWUploadVideoDialog Upload video - Importer une vidéo + Importer une vidéo Upload - Importer + Importer @@ -956,7 +964,7 @@ Choose a hat - + Choisir un chapeau @@ -997,17 +1005,35 @@ inconnu - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - - - - %1 FPS - + Durée: %1min %2s + + + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + Vidéo : %1x%2, %3FPS, %4 + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + Vidéo : %1x%2, %3 + + + Player: %1 + Joueur : %1 + + + Theme: %1 + Thème: %1 + + + Map: %1 + Carte : %1 + + + Record: %1 + Enregistrement : %1 @@ -1021,13 +1047,13 @@ MinesTimeSpinBox Random - Aléatoire + Aléatoire %1 seconds - - - + + %1 seconde + %1 secondes @@ -1067,7 +1093,7 @@ Bans - Banniseements + Bannissements IP/Nick @@ -1083,7 +1109,7 @@ Refresh - Rafrâichir + Rafraichir Add @@ -1098,19 +1124,19 @@ PageCampaign Team - + Équipe Campaign - + Campagne Mission - + Mission Start fighting - Commencer le combat + Commencer le combat @@ -1132,23 +1158,23 @@ Open packages directory - + Ouvrir le dossier des paquets Load the start page - + Charger la page d'accueil Unknown network error (possibly missing SSL library). - + Erreur de connexion inconnue (bibliothèque SSL manquante possible) This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + Cette fonctionnalité nécessite un accès à Internet, cependant vous semblez être hors-ligne (code d'erreur : %1) Internal error: Reply object is invalid. - + Erreur interne : La réponse de l'objet est invalide. @@ -1191,19 +1217,23 @@ Polyline - + Chaîne polygonale Rectangle - + Rectangle Ellipse - + Ellipse Optimize - + Optimiser + + + Brush size + Taille du pinceau @@ -1226,7 +1256,7 @@ Custom Controls - Préferences de commandes + Préférences de commandes Hat @@ -1250,44 +1280,44 @@ Play a random example of this voice - + Jouer un exemple aléatoire de cette voix Random Hats - + Chapeaux aléatoires Random Names - + Noms aléatoires Randomize the team name - + Choisir un nom d'équipe aléatoire Randomize the grave - + Choisir une tombe aléatoire Randomize the flag - + Choisir un drapeau aléatoire Randomize the voice - + Choisir une voix aléatoire Randomize the fort - + Choisir un fort aléatoire CPU %1 Name of a flag for computer-controlled enemies. %1 is replaced with the computer level - + %1 (%2) - + @@ -1306,9 +1336,9 @@ The best shot award was won by <b>%1</b> with <b>%2</b> pts. - + + Le prix du meilleur tir a été décerné à <b>%1</b> avec <b>%2</b> point. Le prix du meilleur tir a été décerné à <b>%1</b> avec <b>%2</b> points. - @@ -1351,7 +1381,7 @@ <b>%1</b> was scared and skipped turn <b>%2</b> times. <b>%1</b> a eu peur et a passé son tour <b>%2</b> fois. - + <b>%1</b> a eu peur et a passé son tour <b>%2</b> fois. @@ -1360,28 +1390,28 @@ Save - Enregistrer + Enregistrer (%1 %2) For custom number of points in the stats screen, written after the team name. %1 is the number, %2 is the word. Example: “4 points” - + <b>%1</b> thought it's good to shoot their own hedgehogs for <b>%2</b> pts. - - - + + <b>%1</b> pense que c'est bien de tirer sur ses propres hérissons pour <b>%2</b> point. + <b>%1</b> pense que c'est bien de tirer sur ses propres hérissons pour <b>%2</b> points. <b>%1</b> killed <b>%2</b> of their own hedgehogs. - - - + + <b>%1</b> a tué <b>%2</b> de ses propres hérissons. + <b>%1</b> a tué <b>%2</b> de ses propres hérissons. @@ -1470,7 +1500,7 @@ Start fighting (requires at least 2 teams) - + Commencer le combat (requière au moins 2 équipes) @@ -1497,19 +1527,19 @@ Room name - + Nom de la salle Update the room name - + Mettre à jour le nom de la salle Turn on the lightbulb to show the other players when you're ready to fight - + Allumez l'ampoule pour montrer aux autres joueurs quand vous êtes prêt à combattre Start fighting (requires at least 2 teams) - + Commencer le combat (requière au moins 2 équipes) @@ -1555,7 +1585,7 @@ New weapon set - Nouvel set d'armes + Nouveau set d'armes Edit weapon set @@ -1595,7 +1625,7 @@ Socks5 proxy - + Proxy Socks5 HTTP proxy @@ -1603,7 +1633,7 @@ System proxy settings - + Réglages de proxy du système Select an action to change what key controls it @@ -1696,23 +1726,23 @@ x Multiplication sign, to be used between two numbers. Note the “x” is only a dummy character, we recommend to use “×” if your language permits it - + × MISSING LANGUAGE NAME [%1] - + NOM DE LANGAGE MANQUANT Check now - + Vérifier maintenant Can't delete last team - + Impossible de supprimer la dernière équipe You can't delete the last team! - + Vous ne pouvez pas supprimer la dernière équipe @@ -1727,15 +1757,15 @@ Play demo - Jouer la démo + Jouer la démo Play the selected demo - + Jouer la démo sélectionnée Load the selected game - + Charger le jeu sélectionné @@ -1929,99 +1959,103 @@ None (Default) - + Aucun (Défaut) Wrap (World wraps) - + Bords (bords de la carte) Bounce (Edges reflect) - + Rebond (renvoi des bords) Sea (Edges connect to sea) - + Mer (bords connectés à la mer) Each clan starts in its own part of the terrain. - + Chaque clan démarre dans sa propre partie du terrain. Overall damage and knockback in percent - + Dégâts généraux et coût en pourcent Turn time in seconds - + Temps de tour en secondes Initial health of hedgehogs - + Santé de départ des hérissons How many rounds have to be played before Sudden Death begins - + Combien de tours doivent être joués avant que la Mort Subite commence How much the water rises per turn while in Sudden Death. Set to 0 along with Sudden Death Health Decrease to disable Sudden Death. - + Combien d'eau doit monter par tour pendant la Mort Subite. Définir à 0 avec la Diminution de Vie de la Mort Subite pour désactiver la Mort Subite. How much health hedgehogs lose per turn while in Sudden Death, down to 1 health. Set to 0 along with Sudden Death Water Rise to disable Sudden Death. - + Combien de vie les hérissons perdent chaque tour pendant la Mort Subite, jusqu'à 1 point de vie. Définir à 0 avec la Montée de l'Eau de la Mort Subite pour désactiver la Mort Subite. Maximum rope length in percent - + Longueur maximum du grappin en pourcent Likelihood of a dropped crate being a health crate. All other crates will be weapon or utility crates. - + Probabilité qu'une caisse tombée soit une caisse de vie. Toutes les autres caisses seront des armes ou des outils. Likelihood of a crate dropping before a turn - + Probabilité qu'une caisse tombe avant un tour Health bonus for collecting a health crate - + Bonus de vie pour avoir récupéré une caisse de vie Detonation timer of mines. The random timer lies between 0 and 5 seconds. The timer of air mines will be a quarter of the mines timer. - + Temps avant la détonation des mines. Le temps aléatoire tend entre 0 et 5 secondes. Le compte à rebours des mines aériennes sera le quart de celui des mines. Average number of mines to be placed a medium-sized island map. This number will be scaled for other maps. - + Nombre moyen de mines placée sur une carte d'île de taille moyenne. Ce nombre sera adapté pour les autres cartes. Likelihood of a mine being a dud. Does not affect mines placed by hedgehogs. - + Probabilité qu'une mine ne fonctionne pas. N'affecte pas les mines placées par les hérissons. Average number of barrels to be placed a medium-sized island map. This number will be scaled for other maps. - + Nombre moyen de tonneaux à placer sur une carte d'île de taille moyenne. Ce nombre sera adapté pour les autres cartes. Average number of air mines to be placed a medium-sized island map. This number will be scaled for other maps. - + Nombre moyen de mines aérienne à placer dans une carte d'île de taille moyenne. Ce nombre sera adapté pour les autres cartes. Affects the left and right boundaries of the map - + Affecte les bords latéraux de la carte Time you get after an attack - + Temps dont vous disposez après une attaque Additional parameter to configure game styles. The meaning depends on the used style, refer to the documentation. When in doubt, leave it empty. - + Paramètre additionel pour configurer les styles de jeu. La signification dépend du style utilisé, referez-vous à la documentation. En cas de doute, laissez vide. Name of this scheme - + Nom de cette règle + + + Select a hedgehog at the beginning of a turn + Choisissez un hérisson au départ du tour @@ -2090,27 +2124,27 @@ Pick the training to play - + Choisis l'entrainement à jouer Pick the challenge to play - + Choisis le défi à jouer Pick the scenario to play - + Choisis le scénario à jouer Trainings - + Entrainements Challenges - + Défis Scenarios - + Scénarios @@ -2140,7 +2174,7 @@ uploading - importation + importation Date: %1 @@ -2154,11 +2188,21 @@ Date: %1 - Date: %1 {1?} + Date: %1 {1?} Size: %1 - Taille: %1 {1?} + Taille: %1 {1?} + + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + @@ -2221,15 +2265,15 @@ Show password protected - + Parties protégées Show join restricted - + Parties protégées rejointes Delegate room control - + Déléguer le contrôle de la salle @@ -2256,7 +2300,7 @@ Show ammo menu tooltips - Montrer les astuces du menu des armes. + Montrer les astuces du menu des armes Save password @@ -2264,11 +2308,11 @@ Save account name and password - Enregistrer le nom de compte et le mot de passe + Enregistrer le nom de compte et le mot de passe Video is private - Vidéo privée + Vidéo privée Record audio @@ -2308,43 +2352,43 @@ Team - + Équipe Enable team tags by default - + Activer les étiquettes d'équipe par défaut Hog - + Hérisson Enable hedgehog tags by default - + Activer les étiquettes d'hérisson par défaut Health - + Vie Enable health tags by default - + Activer les étiquettes de vie par défaut Translucent - + Transparent Enable translucent tags by default - + Activer les étiquettes transparentes par défaut Enable visual effects such as animated menu transitions and falling stars - + Activer les effets visuels comme les transitions animées des menus et les étoiles filantes If enabled, Hedgewars adds the date and time in the form "YYYY-MM-DD_hh-mm" for automatically created demos. - + Si activé, Hedgewars ajoute la date et l'heure de la forme "AAAA-MM-DD_hh-mm" pour les démos créées automatiquement. @@ -2439,31 +2483,31 @@ Computer (Level %1) - + Ordinateur (Level %1) Stereoscopy creates an illusion of depth when you wear 3D glasses. - + La stéréoscopie créée une illusion de profondeur quand vous utilisez des lunettes 3D. 24 FPS - + 25 FPS - + 30 FPS - + 50 FPS - + 60 FPS - + @@ -2661,27 +2705,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Veuillez indiquer votre email et votre mot de passe de conexion à Youtube. + Veuillez indiquer votre email et votre mot de passe de conexion à Youtube. Account name (or email): - Email du compte: + Email du compte: Password: - Mot de passe: + Mot de passe: Video title: - Titre de la video: + Titre de la video: Video description: - Description de la vidéo: + Description de la vidéo: Tags (comma separated): - Tags (séparer avec une virgule): + Tags (séparer avec une virgule): Description @@ -2757,44 +2801,48 @@ Tip: %1 - + Astuce : %1 Displayed tags above hogs and translucent tags - + Étiquettes affichées au dessus des hérissons et étiquettes transparentes World Edge - + Bords de la carte Script parameter - + Paramètre de script Air Mines - + Mines aériennes Player - + Joueur Barrels - + Tonneaux % Retreat Time - + % temps de repli Stereoscopy - + Stéréoscopie Bitrate (Kibit/s) “Kibit/s” is the symbol for 1024 bits per second - + Bitrate (Kibit/s) + + + Loading<br>CAPTCHA ... + Chargement<br>CAPTCHA … @@ -2813,7 +2861,11 @@ unnamed (%1) - + sans nom (%1) + + + Hedgehog %1 + Hérisson %1 @@ -2844,17 +2896,17 @@ Error while authenticating at google.com: - Erreur lors de l'authentification à google.com: + Erreur lors de l'authentification à google.com: Login or password is incorrect - Identifiant ou mot de passe incorrect + Identifiant ou mot de passe incorrect Error while sending metadata to youtube.com: - Erreur lors de l'envoi des metadata à youtube.com: + Erreur lors de l'envoi des metadata à youtube.com: @@ -2899,7 +2951,7 @@ Video upload - Error - Importation de vidéo - Erreur + Importation de vidéo - Erreur Netgame - Error @@ -2976,7 +3028,7 @@ Do you really want to cancel uploading %1? - Êtes-vous sûr de vouloir arrêter l'importation de %1? + Êtes-vous sûr de vouloir arrêter l'importation de %1? File error @@ -2992,7 +3044,7 @@ Cannot use the ammo '%1'! - Impossible d'utiliser cette arme : "%1"! + Impossible d'utiliser cette arme : "%1"! Weapons - Warning @@ -3056,34 +3108,52 @@ Sorry, Hedgewars can't be played with more than 48 hedgehogs. Please try again with fewer hedgehogs. Current number of hedgehogs: %1 - + Désolé, Hedgewars ne peut pas jouer avec plus de 48 hérissons. Veuillez réessayer avec moins d'hérissons. + +Nombre d'hérissons actuel : %1 Teams - Name already taken - + Équipe - Nom déjà utilisé The team name '%1' is already taken, so your team has been renamed to '%2'. - + Le nom d'équipe '%1' est déjà utilisé, donc votre équipe a été renommée en '%2'. Please select a file from the list. - + Veuillez sélectionner un fichier dans la liste. Cannot rename file to %1. - + Impossible de renommer le fichier en %1. Cannot delete file %1. - + Impossible de supprimer le fichier %1. + + + Welcome to Hedgewars + Bienvenue dans Hedgewars + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + Bienvenue dans Hedgewars ! + +Vous semblez être nouveau par ici. Voudriez vous jouer quelques missions d'entrainement pour commencer, pour à apprendre les basiques d'Hedgewars ? + + + Cannot use the weapon scheme '%1'! + Impossible d'utiliser la règle d'armes '%1' ! QObject No description available - Aucune description disponible + Aucune description disponible @@ -3162,11 +3232,11 @@ Upload to YouTube - Importer vers Youtube + Importer vers Youtube Cancel uploading - Annuler l'importation + Annuler l'importation Restore default coding parameters @@ -3208,16 +3278,12 @@ Start private server Démarrer un serveur privé - - Upload this video to your YouTube account - - QSpinBox Specify the bitrate of recorded videos as a multiple of 1024 bits per second - + Renseignez le bitrate des vidéos enregistrées dans un multiple de 1024 bits par seconde @@ -3236,7 +3302,7 @@ set password - + Définissez le mot de passe @@ -3289,15 +3355,15 @@ Script - + Script Random Perlin - + Perlin aléatoire Forts - + Forts @@ -3320,7 +3386,7 @@ Seed - Graine + Graine @@ -3351,19 +3417,19 @@ New - Nouveau + Nouveau New (%1) - + Nouveau (%1) Copy of %1 - + Copie de %1 Copy of %1 (%2) - + Copie de %1 (%2) @@ -3385,7 +3451,12 @@ We are very sorry for the inconvenience :( If this keeps happening, please click the '%2' button in the main menu! - + Le moteur du jeu a quitté inopinément ! +(code d'erreur %1) + +Nous sommes vraiment désolé pour le désagrément :( + +Si cela continue de se produire, veuillez cliquer sur le bouton '%2' dans le menu principal ! @@ -3418,7 +3489,7 @@ Choose a theme - + Choisir un thème @@ -3533,7 +3604,7 @@ pause - pause + pause slot 9 @@ -3594,16 +3665,28 @@ autocam / find hedgehog - + Caméra automatique / Trouver l'hérisson speed up replay - + Accélérer la lecture toggle team bars This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen - + Basculer les barres d'équipe + + + team chat + Messages à l'équipe + + + pause / auto skip + Pause / passage automatique + + + toggle hedgehog tags + Basculer les étiquettes des hérissons @@ -3697,15 +3780,15 @@ Toggle automatic camera / refocus on active hedgehog: - + Basculer la caméra automatique / recentrage sur le hérisson actif : Demo replay: - + Rejouer la démo : Heads-up display: - + Affichage tête-haute : @@ -4031,219 +4114,363 @@ server Authentication failed - Echec d'authentification + Échec d'authentification 60 seconds cooldown after kick - Bannis pour 60 sec après un kick + Bannis pour 60 sec après un kick kicked - Exclus (kick) + Exclus (kick) Ping timeout - Met trop de temps à répondre + Met trop de temps à répondre bye - Aurevoir + Au revoir Empty config entry - Configuration vide + Configuration vide Not room master - Vous n'êtes pas le propriétaire de la room + Vous n'êtes pas le propriétaire de la room Corrupted hedgehogs info - Info hérisson corrompu + Info hérisson corrompu too many teams - trop d'équipes + trop d'équipes too many hedgehogs - trop de hérissons + trop de hérissons There's already a team with same name in the list - Il y a déja une équipe avec le même nom dans la liste + Il y a déja une équipe avec le même nom dans la liste round in progress - La partie est en cours + La partie est en cours restricted - Ajout interdit + Ajout interdit REMOVE_TEAM: no such team - REMOVE_TEAM: aucune équipe de ce nom + REMOVE_TEAM: aucune équipe de ce nom Not team owner! - Vous n'êtes pas le propriétaire de cette équipe! + Vous n'êtes pas le propriétaire de cette équipe! Less than two clans! - Il faut 2 clans minimum! + Il faut 2 clans minimum! Room with such name already exists - Ce nom de room existe déjà + Ce nom de room existe déjà Illegal room name - Nom de room invalide + Nom de room invalide No such room - Cette room n'existe pas + Cette room n'existe pas Joining restricted - Accès interdit + Accès interdit Registered users only - Accès réservé aux utilisateurs enregistrés + Accès réservé aux utilisateurs enregistrés You are banned in this room - Vous avez été banni de cette room + Vous avez été banni de cette room Nickname already chosen - Pseudo déjà choisi + Pseudo déjà choisi Illegal nickname - Pseudo invalide + Pseudo invalide Protocol already known - Protocole déjà connu + Protocole déjà connu Bad number - Mauvais numéro + Mauvais numéro Nickname is already in use - Ce pseudo est actuellement utilisé sur le serveur + Ce pseudo est actuellement déjà utilisé sur le serveur Restricted - Limité + Limité No checker rights - + Pas de vérification de droits Room version incompatible to your hedgewars version - La version de la room est incompatible avec votre version du jeu + La version de la room est incompatible avec votre version du jeu You already have voted - Vous avez déjà voté + Vous avez déjà voté Voting closed - Vote terminé + Vote terminé New voting started - Nouveau vote ouvert + Nouveau vote ouvert Voting expired - Vote expiré + Vote expiré kick - Expulsé + Expulsé map - Carte + Carte pause - Pause + Pause Reconnected too fast - Reconnecté trop vite + Reconnecté trop vite Warning! Chat flood protection activated - Attention! La protection anti-flood du chat est activé + Attention! La protection anti-flood du chat est activé Excess flood - Trop de spam + Trop de spam Game messages flood detected - 1 - Spam des messages du jeu détecté + Spam des messages du jeu détecté Warning! Joins flood protection activated - + Attention ! Protection contre le flood de connexion activé There's no voting going on - Il n'y a pas de vote en ce moment + Il n'y a pas de vote en ce moment Your vote counted - Votre vote est enregistré + Votre vote est enregistré Pause toggled - En pause + En pause new seed - + Nouvelle graine number of hedgehogs in team - Nombre de hedgehogs dans la team + Nombre de hedgehogs dans la team /maxteams: specify number from 2 to 8 - + /maxteams: Entrez un nombre entre 2 et 8 Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs - + Commandes de vote disponible : kick <pseudo>, map <nom>, pause, newseed, hedgehogs callvote kick: specify nickname - Vote d'expulsion: spécifié le pseudo + Vote d'expulsion: spécifié le pseudo callvote kick: no such user - Vote d'expulsion: pas d'autres utilisateurs + Vote d'expulsion: pas d'autres utilisateurs callvote map: no such map - Vote de carte: pas d'autres cartes + Vote de carte: pas d'autres cartes callvote pause: no game in progress - Vote de pause: pas de partie en cours + Vote de pause: pas de partie en cours callvote hedgehogs: specify number from 1 to 8 - Vote d'hedgehogs: spécifié un chiffre entre 1 et 8 + Vote d'hedgehogs: spécifié un chiffre entre 1 et 8 + + + The game can't be started with less than two clans! + Le jeu ne peut pas être démarré avec moins de 2 équipes ! + + + Empty config entry. + Entrée de configuration vide + + + Access denied. + Accès refusé. + + + You're not the room master! + Vous n'êtes pas l'administrateur de la salle ! + + + Corrupted hedgehogs info! + Infos de hérissons corrompues ! + + + Too many teams! + Trop d'équipes ! + + + Too many hedgehogs! + Trop d'hérissons ! + + + There's already a team with same name in the list. + Il y a déjà une équipe avec le même nom dans la liste. + + + Joining not possible: Round is in progress. + Impossible de rejoindre : Partie en cours. + + + This room currently does not allow adding new teams. + Cette salle n'autorise pas actuellement de nouvelles équipes. + + + Error: The team you tried to remove does not exist. + Erreur : L'équipe que vous avez essayé de retirer n'existe pas. + + + You can't remove a team you don't own. + Vous ne pouvez pas retirer une équipe qui ne vous appartient pas. + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + Nom de salle illégal ! Le nom de la salle doit être d'une longueur comprise entre 1 et 40 caractères, ne doit pas avoir d'espaces au début et à la fin et ne doit pas avoir les caractères suivants : $()*+?[]^{|} + + + A room with the same name already exists. + Une salle avec le même nom existe déjà. + + + /callvote kick: You need to specify a nickname. + /callvote kick : Vous devez entrer un pseudo. + + + /callvote kick: No such user! + /callvote kick : Pseudo inconnu ! + + + /callvote map: No such map! + /callvote map : Carte inconnue ! + + + /callvote pause: No game in progress! + /callvote pause : Pas de jeu en cours ! + + + /callvote hedgehogs: Specify number from 1 to 8. + /callvote hedgehogs : Entrez un nombre entre 1 et 8. + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + Nom de salle illégal ! Le nom d'une salle doit avoir une longueur comprise entre 1 et 40 caractères, ne pas avoir d'espaces au début et à la fin, et ne doit pas avoir les caractères suivants : $()*+?[]^{|} + + + No such room. + Salle inconnue. + + + Room version incompatible to your Hedgewars version! + Version de salle incompatible avec votre version d'Hedgewars ! + + + Access denied. This room currently doesn't allow joining. + Accès refusé. Cette salle n'autorise pas actuellement de la rejoindre. + + + Access denied. This room is for registered users only. + Accès refusé. Cette salle est restreinte aux utilisateurs enregistrés. + + + You are banned from this room. + Vous êtes banni de cette salle. + + + Nickname already provided. + Pseudo déjà fourni. + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + Pseudo illégal ! Les pseudos doivent avoir une longueur comprise entre 1 et 40 caractères, ne pas avoir d'espaces au début et à la fin, et ne pas avoir les caractères suivants : $()*+?[]^{|} + + + Protocol already known. + Protocole déjà connu. + + + Bad number. + Mauvais nombre. + + + There's no voting going on. + Il n'y a pas de vote en cours. + + + You already have voted. + Vous avez déjà voté. + + + Your vote has been counted. + Votre vote a été comptabilisé. + + + Voting closed. + Vote clos. + + + Pause toggled. + Pause basculée. + + + Voting expired. + Le vote a expiré. + + + hedgehogs per team: + hérissons par équipe : diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_gd.ts --- a/share/hedgewars/Data/Locale/hedgewars_gd.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_gd.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,25 +87,6 @@ - AmmoSchemeModel - - New - Ùr - - - Copy of %1 - Lethbhreac dhe %1 - - - New (%1) - Ùr (%1) - - - Copy of %1 (%2) - Lethbhreac dhe %1 (%2) - - - BanDialog IP @@ -250,6 +231,25 @@ + GameSchemeModel + + New + Ùr + + + Copy of %1 + Lethbhreac dhe %1 + + + New (%1) + Ùr (%1) + + + Copy of %1 (%2) + Lethbhreac dhe %1 (%2) + + + GameUIConfig Guest @@ -619,7 +619,7 @@ Last two engine messages: %2 - Thachair MEARACHD mharbhtach! – Thug seo stad air inneal a’ gheama. + Thachair MEARACHD mharbhtach! – Thug seo stad air inneal a’ gheama. Tha sinn glè dhuilich mun trioblaid seo :( @@ -628,6 +628,17 @@ An dà theachdaireachd mu dheireadh aig an inneal: %2 + + A fatal ERROR occured! The game engine had to stop. + +We are very sorry for the inconvenience. :-( + +If this keeps happening, please click the 'Feedback' button in the main menu! + +Last engine message: +%1 + + HWHostPortDialog @@ -918,11 +929,11 @@ HWUploadVideoDialog Upload video - Luchdaidh suas video + Luchdaidh suas video Upload - Luchdadh suas + Luchdadh suas @@ -974,7 +985,7 @@ Video: %1x%2 - Video: %1x%2 + Video: %1x%2 %1 fps @@ -986,7 +997,29 @@ - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + Ùrlar: %1 + + + Map: %1 + + + + Record: %1 @@ -1187,6 +1220,10 @@ Optimize Pisich + + Brush size + + PageEditTeam @@ -1978,6 +2015,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2097,7 +2138,7 @@ uploading - ’ga luchdadh suas + ’ga luchdadh suas Date: %1 @@ -2107,6 +2148,16 @@ Size: %1 Meud: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2207,11 +2258,11 @@ Save account name and password - Sàbhail ainm a’ chunntais ’s am facal-faire + Sàbhail ainm a’ chunntais ’s am facal-faire Video is private - Tha a’ video prìobhaideach + Tha a’ video prìobhaideach Record audio @@ -2568,27 +2619,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Cuir a-steach ainm a’ chunntais agad air YouTube no an seòladh puist-d a tha co-cheangailte ris a’ chunntas Google agad. + Cuir a-steach ainm a’ chunntais agad air YouTube no an seòladh puist-d a tha co-cheangailte ris a’ chunntas Google agad. Account name (or email): - Ainm a’ chunntais (no post-d): + Ainm a’ chunntais (no post-d): Password: - Facal-faire: + Facal-faire: Video title: - Tiotal a’ video: + Tiotal a’ video: Video description: - Tuairisgeul a’ video: + Tuairisgeul a’ video: Tags (comma separated): - Tagaichean (sgaraichte le cromagan): + Tagaichean (sgaraichte le cromagan): Description @@ -2703,6 +2754,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2722,6 +2777,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2747,17 +2806,17 @@ Error while authenticating at google.com: - Mearachd le dearbhadh le google.com: + Mearachd le dearbhadh le google.com: Login or password is incorrect - Chan eil an t-ainm-clàraidh no facal-faire mar bu chòir + Chan eil an t-ainm-clàraidh no facal-faire mar bu chòir Error while sending metadata to youtube.com: - Mearachd a’ cur meata-dàta gu youtube.com: + Mearachd a’ cur meata-dàta gu youtube.com: @@ -2794,7 +2853,7 @@ Video upload - Error - Luchdadh suas video – Mearachd + Luchdadh suas video – Mearachd Netgame - Error @@ -2873,7 +2932,7 @@ Do you really want to cancel uploading %1? - A bheil thu airson sgur de luchdadh suas %1? + A bheil thu airson sgur de luchdadh suas %1? File error @@ -2889,7 +2948,7 @@ Cannot use the ammo '%1'! - Cha ghabh an connadh “%1” cleachdadh! + Cha ghabh an connadh “%1” cleachdadh! Weapons - Warning @@ -2975,6 +3034,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3059,11 +3132,11 @@ Upload to YouTube - Luchdaich suas gu YouTube + Luchdaich suas gu YouTube Cancel uploading - Sguir dhen luchdadh suas + Sguir dhen luchdadh suas Restore default coding parameters @@ -3105,10 +3178,6 @@ Start private server Tòisich frithealaiche prìobhaideach - - Upload this video to your YouTube account - - QSpinBox @@ -3412,7 +3481,7 @@ pause - cuir ’na stad + cuir ’na stad confirmation @@ -3487,6 +3556,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3909,71 +3990,71 @@ server Restricted - Cuingichte + Cuingichte Not room master - Cha tusa ceannard an t-seòmair + Cha tusa ceannard an t-seòmair Corrupted hedgehogs info - Fiosrachadh hedgehogs coirbte + Fiosrachadh hedgehogs coirbte too many teams - cus sgiobaidhean + cus sgiobaidhean too many hedgehogs - cus gràineagan + cus gràineagan There's already a team with same name in the list - Tha sgioba air a bheil an t-aon ainm air an liosta mar-thà + Tha sgioba air a bheil an t-aon ainm air an liosta mar-thà round in progress - tha cuairt a’ dol + tha cuairt a’ dol restricted - cuingichte + cuingichte REMOVE_TEAM: no such team - REMOVE_TEAM: chan eil an sgioba seo ann + REMOVE_TEAM: chan eil an sgioba seo ann Not team owner! - Chan ann leatsa a tha an sgioba seo! + Chan ann leatsa a tha an sgioba seo! Less than two clans! - Tha nas lugha na dà chinneadh ann! + Tha nas lugha na dà chinneadh ann! Illegal room name - Ainm an t-seòmair mì-dhligheach + Ainm an t-seòmair mì-dhligheach Room with such name already exists - Cha seòmair air a bheil an t-ainm seo ann mar-thà + Cha seòmair air a bheil an t-ainm seo ann mar-thà Nickname already chosen - Chaidh am far-ainm seo a thaghadh mar-thà + Chaidh am far-ainm seo a thaghadh mar-thà Illegal nickname - Far-ainm mì-dhligheach + Far-ainm mì-dhligheach Protocol already known - Tha am pròtacail aithnichte mar-thà + Tha am pròtacail aithnichte mar-thà Bad number - Droch àireamh + Droch àireamh Nickname is already in use @@ -4005,35 +4086,35 @@ No such room - Chan eil an seòmar seo ann + Chan eil an seòmar seo ann Room version incompatible to your hedgewars version - Tha tionndadh dhen t-seòmar mì-chòrdail ris an tionndadh de hedgewars agad + Tha tionndadh dhen t-seòmar mì-chòrdail ris an tionndadh de hedgewars agad Joining restricted - Tha tighinn a-steach cuingichte + Tha tighinn a-steach cuingichte Registered users only - Buill clàraichte a-mhàin + Buill clàraichte a-mhàin You are banned in this room - Chaidh do thoirmeasg on t-seòmar seo + Chaidh do thoirmeasg on t-seòmar seo Empty config entry - Innteart rèiteachaidh falamh + Innteart rèiteachaidh falamh You already have voted - Rinn thu bhòtadh mar-thà + Rinn thu bhòtadh mar-thà Voting closed - Chaidh bhòtadh a dhùnadh + Chaidh bhòtadh a dhùnadh New voting started @@ -4041,7 +4122,7 @@ Voting expired - Dh’fhalbh an ùine air a’ bhòtadh + Dh’fhalbh an ùine air a’ bhòtadh kick @@ -4077,15 +4158,15 @@ There's no voting going on - Chan eil bhòtadh a’ tachairt + Chan eil bhòtadh a’ tachairt Your vote counted - Chaidh do bhòt a chunntadh + Chaidh do bhòt a chunntadh Pause toggled - Chaidh cur ’na stad a thoglachadh + Chaidh cur ’na stad a thoglachadh new seed @@ -4093,7 +4174,7 @@ number of hedgehogs in team - uiread a ghràineagan san sgioba + uiread a ghràineagan san sgioba /maxteams: specify number from 2 to 8 @@ -4105,23 +4186,167 @@ callvote kick: specify nickname - callvote kick: sònraich far-ainm + callvote kick: sònraich far-ainm callvote kick: no such user - callvote kick: chan eil an cleachdaiche seo ann + callvote kick: chan eil an cleachdaiche seo ann callvote map: no such map - callvote map: chan eil am mapa seo ann + callvote map: chan eil am mapa seo ann callvote pause: no game in progress - callvote pause: chan eil geama ’ga chluich + callvote pause: chan eil geama ’ga chluich callvote hedgehogs: specify number from 1 to 8 - callvote hedgehogs: sònraich àireamh eadar 1 is 8 + callvote hedgehogs: sònraich àireamh eadar 1 is 8 + + + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_gl.ts --- a/share/hedgewars/Data/Locale/hedgewars_gl.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_gl.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,29 +87,6 @@ - AmmoSchemeModel - - new - novo - - - New - Novo - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -244,6 +221,29 @@ + GameSchemeModel + + new + novo + + + New + Novo + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -573,14 +573,14 @@ Non se pode abrir a demostración %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -871,17 +871,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -932,16 +921,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1136,6 +1143,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1923,6 +1934,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2035,10 +2050,6 @@ - uploading - - - Date: %1 @@ -2046,6 +2057,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2145,14 +2166,6 @@ - Save account name and password - - - - Video is private - - - Show ammo menu tooltips @@ -2456,30 +2469,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Name @@ -2636,6 +2625,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2655,6 +2648,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2718,24 +2715,6 @@ Non se puido iniciar o servidor: %1. - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Video upload - Error - - - - Error while sending metadata to youtube.com: - - - - Netgame - Error @@ -2796,10 +2775,6 @@ - Do you really want to cancel uploading %1? - - - File error @@ -2812,10 +2787,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2898,6 +2869,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -2997,14 +2982,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Reset @@ -3024,10 +3001,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3333,7 +3306,7 @@ pause - pausa + pausa confirmation @@ -3404,6 +3377,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3829,74 +3814,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -3925,46 +3842,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -3997,26 +3878,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4025,23 +3890,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_hu.ts --- a/share/hedgewars/Data/Locale/hedgewars_hu.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_hu.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,29 +87,6 @@ - AmmoSchemeModel - - new - új - - - New - Új - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -243,6 +220,29 @@ + GameSchemeModel + + new + új + + + New + Új + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -567,14 +567,14 @@ Nem sikerült megnyitni a %1 demót - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -865,17 +865,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -926,16 +915,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1129,6 +1136,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1907,6 +1918,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2018,10 +2033,6 @@ - uploading - - - Date: %1 @@ -2029,6 +2040,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2132,14 +2153,6 @@ - Save account name and password - - - - Video is private - - - Record audio @@ -2503,30 +2516,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Description @@ -2627,6 +2616,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2646,6 +2639,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2669,20 +2666,6 @@ - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Error while sending metadata to youtube.com: - - - - Teams - Are you sure? @@ -2723,10 +2706,6 @@ Nem sikerült a szerverhez csatlakozni: %1. - Video upload - Error - - - Netgame - Error @@ -2786,10 +2765,6 @@ - Do you really want to cancel uploading %1? - - - File error @@ -2802,10 +2777,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2888,6 +2859,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -2971,14 +2956,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Restore default coding parameters @@ -3014,10 +2991,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3323,7 +3296,7 @@ pause - szünet + szünet confirmation @@ -3394,6 +3367,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3819,74 +3804,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -3915,46 +3832,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -3987,26 +3868,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4015,23 +3880,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_it.ts --- a/share/hedgewars/Data/Locale/hedgewars_it.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_it.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - nuovo - - - copy of %1 - copia di %1 - - - New - Nuovo - - - Copy of %1 - Copia di %1 - - - New (%1) - Nuovo (%1) - - - Copy of %1 (%2) - Copia di %1 (%2) - - - BanDialog IP @@ -256,6 +229,33 @@ + GameSchemeModel + + new + nuovo + + + copy of %1 + copia di %1 + + + New + Nuovo + + + Copy of %1 + Copia di %1 + + + New (%1) + Nuovo (%1) + + + Copy of %1 (%2) + Copia di %1 (%2) + + + GameUIConfig Guest @@ -615,7 +615,7 @@ Last two engine messages: %2 - ERRORE non recuperabile! Il motore di gioco si è dovuto arrestare. + ERRORE non recuperabile! Il motore di gioco si è dovuto arrestare. Ci dispiace molto per l'inconveniente :( @@ -624,6 +624,17 @@ Ultimi due messaggi del motore: %2 + + A fatal ERROR occured! The game engine had to stop. + +We are very sorry for the inconvenience. :-( + +If this keeps happening, please click the 'Feedback' button in the main menu! + +Last engine message: +%1 + + HWHostPortDialog @@ -914,11 +925,11 @@ HWUploadVideoDialog Upload video - Carica video + Carica video Upload - Carica + Carica @@ -970,7 +981,7 @@ Video: %1x%2 - Video: %1x%2 + Video: %1x%2 %1 fps @@ -982,7 +993,29 @@ - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + Tema: %1 + + + Map: %1 + + + + Record: %1 @@ -1181,6 +1214,10 @@ Optimize Ottimizza + + Brush size + + PageEditTeam @@ -1962,6 +1999,10 @@ Name of this scheme Nome dello schema + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2079,7 +2120,7 @@ uploading - caricamento + caricamento Date: %1 @@ -2089,6 +2130,16 @@ Size: %1 Dimensione: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2189,11 +2240,11 @@ Save account name and password - Salva nome utente e password + Salva nome utente e password Video is private - Il video è privato + Il video è privato Record audio @@ -2566,27 +2617,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Inserire il nome utente YouTube o l'indirizzo e-mail associato all'account Google. + Inserire il nome utente YouTube o l'indirizzo e-mail associato all'account Google. Account name (or email): - Nome utente (o e-mail): + Nome utente (o e-mail): Password: - Password: + Password: Video title: - Titolo del video: + Titolo del video: Video description: - Descrizione del video: + Descrizione del video: Tags (comma separated): - Tag (separate da una virgola): + Tag (separate da una virgola): Description @@ -2701,6 +2752,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2720,6 +2775,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2745,16 +2804,16 @@ Error while authenticating at google.com: - Errore durante l'autenticazione su google.com: + Errore durante l'autenticazione su google.com: Login or password is incorrect - Nome utente e password non riconosciuti + Nome utente e password non riconosciuti Error while sending metadata to youtube.com: - Errore nell'invio dei dati a youtube.com: + Errore nell'invio dei dati a youtube.com: Teams - Are you sure? @@ -2790,7 +2849,7 @@ Video upload - Error - Caricamento video - Errore + Caricamento video - Errore Netgame - Error @@ -2867,7 +2926,7 @@ Do you really want to cancel uploading %1? - Vuoi davvero terminare di caricare %1? + Vuoi davvero terminare di caricare %1? File error @@ -2883,7 +2942,7 @@ Cannot use the ammo '%1'! - Non posso usare le munizioni '%1'! + Non posso usare le munizioni '%1'! Weapons - Warning @@ -2969,6 +3028,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3053,11 +3126,11 @@ Upload to YouTube - Carica su YouTube + Carica su YouTube Cancel uploading - Sospendi caricamento + Sospendi caricamento Restore default coding parameters @@ -3099,10 +3172,6 @@ Start private server Avvia un server privato - - Upload this video to your YouTube account - - QSpinBox @@ -3402,7 +3471,7 @@ pause - pausa + pausa volume down @@ -3489,6 +3558,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3911,63 +3992,63 @@ server Not room master - Non proprietario della stanza + Non proprietario della stanza Corrupted hedgehogs info - Informazioni ricci corrotte + Informazioni ricci corrotte too many teams - troppe squadre + troppe squadre too many hedgehogs - troppi ricci + troppi ricci There's already a team with same name in the list - C'è già una quadra con lo stesso nome nella lista + C'è già una quadra con lo stesso nome nella lista round in progress - turno in corso + turno in corso restricted - proibito + proibito REMOVE_TEAM: no such team - CANCELLA_SQUADRA: squadra non presente + CANCELLA_SQUADRA: squadra non presente Not team owner! - Non proprietario della squadra! + Non proprietario della squadra! Less than two clans! - Meno di due clan! + Meno di due clan! Room with such name already exists - Esiste già una stanza con questo nome + Esiste già una stanza con questo nome Nickname already chosen - Nickname già in uso + Nickname già in uso Illegal nickname - Nickname non valido + Nickname non valido Protocol already known - Protocollo già conosciuto + Protocollo già conosciuto Bad number - Numero non valido + Numero non valido Nickname is already in use @@ -3995,31 +4076,31 @@ Illegal room name - Nome stanza non valido + Nome stanza non valido No such room - Stanza non esistente + Stanza non esistente Joining restricted - Ingresso riservato + Ingresso riservato Registered users only - Solo utenti registrati + Solo utenti registrati You are banned in this room - Sei stato espulso dalla stanza + Sei stato espulso dalla stanza Empty config entry - Configurazione vuota + Configurazione vuota Restricted - Riservato + Riservato No checker rights @@ -4027,15 +4108,15 @@ Room version incompatible to your hedgewars version - Stanza non compatibile con la tua versione di hedgewars + Stanza non compatibile con la tua versione di hedgewars You already have voted - Hai già votato + Hai già votato Voting closed - Votazioni chiuse + Votazioni chiuse New voting started @@ -4043,7 +4124,7 @@ Voting expired - Votazione scaduta + Votazione scaduta kick @@ -4083,15 +4164,15 @@ There's no voting going on - Non ci sono votazioni in questo momento + Non ci sono votazioni in questo momento Your vote counted - Voto conteggiato + Voto conteggiato Pause toggled - Pausa attivata + Pausa attivata new seed @@ -4099,7 +4180,7 @@ number of hedgehogs in team - Numero di hedgehogs nella squadra + Numero di hedgehogs nella squadra /maxteams: specify number from 2 to 8 @@ -4111,23 +4192,167 @@ callvote kick: specify nickname - callvote kick: specifica nickname + callvote kick: specifica nickname callvote kick: no such user - callvote kick: nessun utente + callvote kick: nessun utente callvote map: no such map - callvote map: nessuna mappa + callvote map: nessuna mappa callvote pause: no game in progress - callvote pause: nessun gioco in corso + callvote pause: nessun gioco in corso callvote hedgehogs: specify number from 1 to 8 - callvote hedgehogs: specifica numero da 2 a 8 + callvote hedgehogs: specifica numero da 2 a 8 + + + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_ja.ts --- a/share/hedgewars/Data/Locale/hedgewars_ja.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_ja.ts Sun Jun 10 19:12:26 2018 +0200 @@ -5,34 +5,34 @@ About Unknown Compiler - + 未知のコンパイラ Hedgewars %1 %1 contains Hedgewars' version number - Hedgewars %1 + ヘッジウォーズ%1 Revision %1 (%2) - + リビジョン%1(%2) Visit our homepage: %1 - + ホームページを確認する:%1 This program is distributed under the %1. - + このプログラムは%1の条件上で頒布されています。 GNU GPL v2 Short for “GNU General Public License version 2” - + GNU GPL バージョン2 Dependency versions: For the version numbers of Hedgewars' software dependencies - + 依存ヴァージョン: <a href="https://gcc.gnu.org">GCC</a>: %1 @@ -83,41 +83,14 @@ AbstractPage Go back - - - - - AmmoSchemeModel - - new - 作成 - - - copy of - 模写 - - - New - - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - + 戻る BanDialog IP - ホスト名/IP + IPアドレス Nick @@ -125,19 +98,19 @@ IP/Nick - IP/ニックネーム + IPアドレス / ニックネーム Reason - + 理由 Duration - + 期間 Ok - オッケー + OK Cancel @@ -145,45 +118,41 @@ you know why - + すでにお分りでしょう Warning - 警報メッセージ - - - nickname - ニックネーム + 警報 permanent - + 無期限 Ban player - + プレーヤーをロックアウトする Please specify an IP address. - + IPアドレスを指定してください。 Please specify a nickname. - + ニックネームを指定してください。 DataManager Use Default - + デフォルトを使用する FeedbackDialog View - + 見る Cancel @@ -191,41 +160,39 @@ Send Feedback - + フィードバックを送る We are always happy about suggestions, ideas, or bug reports. - + 提案やアイデア、バグ報告などはいつも大歓迎です。 Send us feedback! - + フィードバックを送ってきてください! If you found a bug, you can see if it's already been reported here: - + バグ発見の際、以前の報告の有無を確認してください: Your email address is optional, but necessary if you want us to get back at you. - + メールアドレスは、返事をもらいたい時のみに必要です。 Feedback - + フィードバック FreqSpinBox Never - ない - - + なし + + Every %1 turn - - %1番ごとに - - + %1ターンごとに + GameCFGWidget @@ -235,74 +202,86 @@ Edit schemes - しくみを編集 + ゲームスキーム編集 Game scheme will auto-select a weapon - + ゲームスキームは自動的に武器を選択します Map - 地図 + マップ Game options - + ゲーム設定 + + + + GameSchemeModel + + New + 新規 + + + Copy of %1 + %1のコピー + + + New (%1) + 新規(%1) + + + Copy of %1 (%2) + %1(%2)のコピー GameUIConfig Guest - + ゲスト HWApplication - + %1 minutes - - %1分 - - - + %1分 + + %1 hour - - %1時 - - - + %1時間 + + %1 hours - - %1時 - - - + %1時間 + + %1 day - - %1日 - - - + %1日 + + %1 days - - %1日 - + %1日 Scheme '%1' not supported - + スキーム「%1」はサポートされていません Cannot create directory %1 - フォルダー%1作成拒否 + ディレクトリ「%1」を作成できません Failed to open data directory: %1 Please check your installation! - + データディレクトリを開くことに失敗しました: +%1 + +インストールをチェックしてください Usage @@ -359,103 +338,103 @@ HWAskQuitDialog Do you really want to quit? - + ゲームを終了します。よろしいですか? HWChatWidget %1 has been removed from your ignore list - + %1は無視リストから排除されました %1 has been added to your ignore list - + %1は無視リストに追加されました %1 has been removed from your friends list - + %1はお友達リストから排除されました %1 has been added to your friends list - + %1はお友達リストに追加されました Stylesheet imported from %1 - + スタイルシートは「%1」から輸入されました Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset! - + 現在のスタイルシートをこのまま使用するには%1を、通常に戻すには%2を入力してください! Couldn't read %1 - + %1を読み込めませんでした StyleSheet discarded - + スタイルシートは破棄されました StyleSheet saved to %1 - + スタイルシートは「%1」にセーブされました Failed to save StyleSheet to %1 - + スタイルシートを「%1」にセーブできませんでした %1 has joined - + %1が加わりました %1 has left - + %1が去りました %1 has left (%2) - + %1が去りました(%2) Chat log - + チャットログ Enter chat messages here and send them with [Enter] - + チャットメッセージをここに入力して「Enter」で送る List of players - + プレイヤーリスト HWForm Cannot save record to file %1 - ファイル%1に保存することができません + 記録を「%1」にセーブできませんでした Hedgewars Demo File File Types - + ヘッジウォーズのデモファイル Hedgewars Save File File Types - + ヘッジウォーズのセーブファイル Demo name - + デモ名 Demo name: - + デモ名: Game aborted - + ゲームは中断されました Nickname @@ -463,12 +442,13 @@ No nickname supplied. - + ニックネームが指定されていません。 Someone already uses your nickname %1 on the server. Please pick another nickname: - + 指定されたニックネーム(%1)はもうこのサーバーで使用中です。 +違うニックネームを指定してください: %1's Team @@ -476,7 +456,72 @@ Hedgewars - Nick registered - + ヘッジウォーズ - ニックネーム登録 + + + Your nickname is not registered. +To prevent someone else from using it, +please register it at www.hedgewars.org + 指定されたニックネームは登録されていません。 +他のプレーヤーからの使用を防ぐためには, +「www.hedgewars.org」をアクセスして登録してください + + + + +Your password wasn't saved either. + + +パスワードも保存されませんでした。 + + + Hedgewars - Empty nickname + ヘッジウォーズ - 空のニックネーム + + + Hedgewars - Wrong password + ヘッジウォーズ - パスワードに誤り + + + You entered a wrong password. + パスワードに誤りがあります。 + + + Try Again + やり直す + + + Hedgewars - Connection error + ヘッジウォーズ - 接続エラー + + + You reconnected too fast. +Please wait a few seconds and try again. + 再接続は速すぎました。 +数秒待ってからまた再試行してください。 + + + Guest + ゲスト + + + Room password + ルームパスワード + + + The room is protected with password. +Please, enter the password: + そのルームはパスワードで守られています。 +パスワードを入力してください: + + + Team 1 + チーム1 + + + Team %1 + Default team name + チーム%1 This nick is registered, and you haven't specified a password. @@ -484,83 +529,28 @@ If this nick isn't yours, please register your own nick at www.hedgewars.org Password: - - - - Your nickname is not registered. -To prevent someone else from using it, -please register it at www.hedgewars.org - - - - + 指定されたニックネームはすでに登録されていますが、パスワードが指定されていません。 -Your password wasn't saved either. - - - - Hedgewars - Empty nickname - - - - Hedgewars - Wrong password - - - - You entered a wrong password. - - - - Try Again - - - - Hedgewars - Connection error - - - - You reconnected too fast. -Please wait a few seconds and try again. - - - - Guest - - - - Room password - - - - The room is protected with password. -Please, enter the password: - - - - Team 1 - - - - Team %1 - Default team name - +ご自分のニックネームではなければ「www.hedgewars.org」をアクセスして違うニックネームを登録してください + +パスワード: Computer %1 Default computer team name - + COM%1 Unknown network error (possibly missing SSL library). - + 未知のネットワークエラー(SSLライブラリーが欠けている可能性があります)。 This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + この機能はインターネット接続が必要です(エラー%1)。 Internal error: Reply object is invalid. - + 内部エラー:返事オブジェクトは無効です。 @@ -572,25 +562,32 @@ Cannot open demofile %1 - デモファイル%1を開くことが出来なかった - - - A Fatal ERROR occured! - The game engine had to stop. + デモファイル「%1」を開くことができませんでした + + + A fatal ERROR occured! The game engine had to stop. + +We are very sorry for the inconvenience. :-( + +If this keeps happening, please click the 'Feedback' button in the main menu! -We are very sorry for the inconvenience :( - -If this keeps happening, please click the '%1' button in the main menu! +Last engine message: +%1 + 致命的なエラーが発生しました! - ゲームエンジンは中断することが必要でした。 -Last two engine messages: -%2 - +大変申し訳ありませんでした (´;ω;`) + +この状況はまた発生する際に、メインメニュー画面からフィードバックボタンを押してください! + +最後のエンジンメッセージ: +%1 HWHostPortDialog Connect to server - + サーバーに接続する @@ -617,7 +614,7 @@ Wacky - むちゃくちゃ + 変わった形 Small tunnels @@ -629,151 +626,151 @@ Seed - 乱数シード + シード Map type: - + マップ種類: Image map - + 画像マップ Mission map - + 任務マップ Hand-drawn - + 手書き Randomly generated - + ランダム Random maze - + ランダム迷路 Random - + ランダム Map preview: - + マッププレビュー: Load map drawing - + マップ画像ロード Edit map drawing - + マップ画像編集 Small islands - + 小島 Medium islands - + 中島 Large islands - + 大島 Map size: - + マップサイズ: Maze style: - + 迷路様式: Mission: - + 任務: Map: - + マップ: Load drawn map - + 手書きマップロード Drawn Maps - + 手書きマップ All files - + 全てのファイル Large tunnels - + 大トンネル Theme: %1 - + テーマ:%1 Random perlin - + ランダム(パーリンノイズ) Style: - + 様式: Forts - + 要塞 View and edit the seed, the source of randomness in the game - + シードと言うランダム性源の確認と編集 Randomize the theme - + テーマランダム化 Choose a theme - + テーマ選択 Randomize the map, theme and seed - + マップ、テーマ、シードのランダム化 Randomize the theme and seed - + テーマとシードのランダム化 Randomize the seed - + シードランダム化 Click to randomize the map, theme and seed - + マップ、テーマ、シードの全てをランダム化する Click to randomize the theme and seed - + テーマとシードをランダム化する Adjust the complexity of the generated map - + マップの複雑さを調整する Adjust the distance between forts - + 要塞の間の距離を調整する Click to edit - + 編集 @@ -784,18 +781,18 @@ IP - ホスト名/IP + IPアドレス Port - ポート番号 + ポート HWNewNet The host was not found. Please check the host name and port settings. - ホストが見つかりませんでした。ホスト名とポート番号を確認して下さい。 + ホストが見つかりませんでした。ホスト名とポート設定を確認してください。 Connection refused @@ -803,47 +800,43 @@ Room destroyed - ルームが崩壊しました + ルーム削除 Quit reason: - 退出の理由: + 去る理由: You got kicked - けとばされました + キックされました %1 *** %2 has joined the room - %1 *** %2 さんはルームに参加しています - - - %1 *** %2 has joined - %1 *** %2 さんは参加 + %1 *** %2がルームに加わりました %1 *** %2 has left (%3) - %1 *** %2 さんは退室(%3) + %1 *** %2が去りました(%3) %1 *** %2 has left - %1 *** %2 さんは退室 + %1 *** %2が去りました User quit - + ユーザーは去りました Remote host has closed connection - + 遠隔ホストはコネクションを中断しました The server is too old. Disconnecting now. - + サーバーのバージョンは古すぎますため、コネクションを中断します。 Server authentication error - + サーバー認証エラー @@ -857,37 +850,29 @@ If you don't have an account on www.hedgewars.org, just enter your nickname. - + サーバーに接続するために、ログインしてください。 + +「www.hedgewars.org」アカウントをお持ちでない場合,ニックネームだけを入力してください。 + Nickname: - + ニックネーム: Password: - + パスワード: New Account - - - - - HWUploadVideoDialog - - Upload video - - - - Upload - アップロード + 新規アカウント HatButton Change hat (%1) - + 帽子を変更する(%1) @@ -898,104 +883,113 @@ Use selected hat - + 選択された帽子を使う Search for a hat: - + 帽子を探す: Choose a hat - - - - - KB - - SDL_ttf returned error while rendering text, most propably it is related to the bug in freetype2. It's recommended to update your freetype lib. - SDL_ttf returned error while rendering text, most propably it is related to the bug in freetype2. It's recommended to update your freetype lib. + 帽子を選ぶ KeyBinder Category - + カテゴリー LibavInteraction Audio: - + オーディオ: unknown - - - - Video: %1x%2 - + 不明 Duration: %1min %2s Duration in minutes and seconds (SI units) - - - - %1 FPS - + 期間:%1分%2秒 + + + Player: %1 + プレーヤー:%1 + + + Theme: %1 + テーマ:%1 + + + Map: %1 + マップ:%1 + + + Record: %1 + 記録:%1 + + + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + 動画:%1×%2、%3 FPS、%4 + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + 動画:%1x%2、%3 MapModel No description available. - + 説明文がありません。 MinesTimeSpinBox Random - - - + ランダム + + %1 seconds - - - + %1秒 PageAdmin Clear Accounts Cache - + アカウントキャッシュの消去 Fetch data - + データを受信する Server message for latest version: - + 最新バージョンのサーバーメッセージ: Server message for previous versions: - + 以前のバージョンのサーバーメッセージ: Latest version protocol number: - + 最新プロトコル番号: MOTD preview: - + 本日のメッセージプレビュー: Set data - + データをセットする General @@ -1003,95 +997,95 @@ Bans - + アクセス禁止 IP/Nick - IP/ニックネーム + IP/ニックネーム Expiration - + 期間 Reason - + 理由 Refresh - + 更新 Add - + 追加 Remove - + 削除 PageCampaign Team - + チーム Campaign - + キャンペーン Mission - + 任務 Start fighting - + 戦いを始める PageConnecting Connecting... - + 接続中。。。 PageDataDownload Loading, please wait. - - + ロード中、少々お待ちください。 + Open packages directory - + パッケージディレクトリを開く Load the start page - - + スタートページをロードする + Unknown network error (possibly missing SSL library). - + 未知のネットワークエラー(SSLライブラリーが欠けている可能性があります)。 This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + この機能はインターネット接続が必要です(エラー%1)。 Internal error: Reply object is invalid. - + 内部エラー:返事オブジェクトは無効です。 PageDrawMap Undo - + 取り消し Clear - + 消去 Load @@ -1103,39 +1097,43 @@ Load drawn map - + 手書きマップをロードする Save drawn map - + 手書きマップをセーブする Drawn Maps - + 手書きマップ All files - + 全てのファイル Eraser - + 消しゴム Polyline - + 折れ線 Rectangle - + 長方形 Ellipse - + 楕円 Optimize - + 最適化 + + + Brush size + 筆サイズ @@ -1146,226 +1144,211 @@ Select an action to choose a custom key bind for this team - + アクションを選んで、このチームの専用のキーを指定してください Use my default - + 自分のデフォルトを使う Reset all binds - + キー割り当てを初期設定に戻す Custom Controls - + カスタム操作 Hat - + 帽子 Name - + This hedgehog's name - + 針鼠名 Randomize this hedgehog's name - + 針鼠名をランダム化する Random Team - + ランダムチーム Play a random example of this voice - + 音声サンプルを再生する Random Hats - + ランダム帽子 Random Names - + ランダム名 Randomize the team name - + チーム名をランダム化する Randomize the grave - + 墓をランダム化する Randomize the flag - + 旗をランダム化する Randomize the voice - + 声をランダム化する Randomize the fort - + 要塞をランダム化する CPU %1 Name of a flag for computer-controlled enemies. %1 is replaced with the computer level - + COM%1 %1 (%2) - + %1(%2) PageGameStats Details - + 詳細 Health graph - + HPグラフ Ranking - - - + ランキング + + The best shot award was won by <b>%1</b> with <b>%2</b> pts. - - - - - + 最高射撃賞は<b>%2</b>ダメージを与えた<b>%1</b>が受賞します。 + + The best killer is <b>%1</b> with <b>%2</b> kills in a turn. - - - - - + 一ターンに針鼠<b>%2</b>匹を倒した<b>%1</b>が最強です。 + + A total of <b>%1</b> hedgehog(s) were killed during this round. - - + 針鼠はラウンド中に、<b>%1</b>匹亡くなりました。 - + (%1 kill) Number of kills in stats screen, written after the team name - - - - - + (倒した針鼠数:%1匹) + + <b>%1</b> was scared and skipped turn <b>%2</b> times. - - - + <b>%1</b>は、怖くて自分のターンを<b>%2</b>回もスキップしました。 Play again - + もう一回プレイする Save - セーブ - - + セーブ + + (%1 %2) For custom number of points in the stats screen, written after the team name. %1 is the number, %2 is the word. Example: “4 points” - - - - - + (%1 %2) + + <b>%1</b> thought it's good to shoot their own hedgehogs for <b>%2</b> pts. - - - - - + <b>%1</b>は自分の針鼠に<b>%2</b>ダメージを与えてもいいと思いました。 + + <b>%1</b> killed <b>%2</b> of their own hedgehogs. - - - + <b>%1</b>は自分の針鼠を<b>%2</b>匹犠牲にしました。 PageInGame In game... - + ゲーム中。。。 PageInfo Open the snapshot folder - + スクリーンショットフォルダを開く PageMain Downloadable Content - + 追加コンテンツ Play a game on a single computer - + 一台のパソコンで遊ぶ Play a game across a network - + ネットで遊ぶ Read about who is behind the Hedgewars Project - + ヘッジウォーズプロジェクトは誰によって開発されているのかについて読む Leave a feedback here reporting issues, suggesting features or just saying how you like Hedgewars - + 不具合報告や提案、感想などを送る Access the user created content downloadable from our website - + ヘッジウォーズのウェッブサイトから、ユーザー制追加コンテンツをダウンロードする Exit game - + ゲーム終了 Manage videos recorded from game - + ゲーム中録画さてた動画を管理する Edit game preferences - + ゲーム設定を調整する Play a game across a local area network - + ローカルネットで遊ぶ Play a game on an official server - + 公式サーバーで遊ぶ Feedback - + フィードバック Play local network game - + ローカルゲームをプレイする Play official network game - + 公式のネットゲームをプレイする @@ -1376,22 +1359,18 @@ Edit game preferences - + ゲーム設定を調整する Start fighting (requires at least 2 teams) - + 戦いを始める(最低二チームが必要) PageNetGame - Control - コントロール - - Edit game preferences - + ゲーム設定の編集 Start @@ -1403,41 +1382,41 @@ Room controls - + ルーム設定 Room name - + ルーム名 Update the room name - + ルーム名を更新する Turn on the lightbulb to show the other players when you're ready to fight - + 準備が出来ていることをしめす電球をつける Start fighting (requires at least 2 teams) - + 戦いを始める(最低二チームが必要) PageNetServer Click here for details - + 詳細を見るため、ここを押してください Insert your address here - + IPアドレスを入力してください PageOptions New team - チーム作成 + 新規チーム Edit team @@ -1445,87 +1424,88 @@ Delete team - + チーム削除 You can't edit teams from team selection. Go back to main menu to add, edit or delete teams. - + + チーム選択からチームを編集することはできません。チームの追加、編集、削除をするために、メインメニューに戻ってください。 New scheme - + 新規スキーム Edit scheme - + スキーム編集 Delete scheme - + スキーム削除 New weapon set - + 新規武器セット Edit weapon set - + 武器セット編集 Delete weapon set - + 武器セット削除 Advanced - 高級 + 上級設定 Reset to default colors - + 色を初期設定に戻す Proxy host - + プロクシのホスト Proxy port - + プロクシのポート Proxy login - + プロクシのユーザー名 Proxy password - + プロクシのパスワード No proxy - + プロクシなし Socks5 proxy - + Socks5プロクシ HTTP proxy - + HTTPプロクシ System proxy settings - + システムプロクシ設定 Select an action to change what key controls it - + アクションを選択して、発動キーを指定する Reset to default - + 初期設定に戻す Reset all binds - + 全てのキー割り当てを初期設定に戻す Game @@ -1533,374 +1513,364 @@ Graphics - + グラフィック Audio - + オーディオ Controls - + 操作 Video Recording - + 録画 Network - + ネットワーク Teams - チーム + チーム Schemes - + スキーム Weapons - 武器 + 武器 Frontend - + フロントエンド Custom colors - + カスタム色 Game audio - + ゲームオーディオ Frontend audio - + フロントエンドオーディオ Account - + アカウント Proxy settings - + プロクシ設定 Miscellaneous - + その他 Updates - + 更新 Check for updates - + 更新を確認する Video recording options - + 録画設定 + + + MISSING LANGUAGE NAME [%1] + 「%1」言語は欠けています + + + Can't delete last team + 最後のチームを削除できません x Multiplication sign, to be used between two numbers. Note the “x” is only a dummy character, we recommend to use “×” if your language permits it - - - - MISSING LANGUAGE NAME [%1] - + × Check now - - - - Can't delete last team - + 確認する You can't delete the last team! - + 最後のチームを削除できません! PagePlayDemo Rename dialog - Rename dialog + 改名 Enter new file name: - 新しいファイル名: + 新規ファイル名: Play demo - デモを再生 + デモ再生 Play the selected demo - + 選択されたデモを再生する Load the selected game - + 選択されたゲームをロードする PageRoomsList - Create - 作成 - - - Join - 接続 - - Admin features - アドミン機能 - - - Room Name: - ルーム名: - - + 管理機能 + + %1 players online - - - + オンラインプレーヤー:%1名 Search for a room: - + ルームを探す: Create room - + ルームを作成する Join room - + ルームに参加する Room state - + ルーム状態 Open server administration page - + サーバー管理人ページを開く PageScheme Land can not be destroyed! - + 地を破壊できません Lower gravity - + 重力を下げます Assisted aiming with laser sight - + レーザーサイトで狙いを援助します All hogs have a personal forcefield - + 針鼠はみんな個人の力場を持っています Gain 80% of the damage you do back in health - + 与えたダメージの80%をHPとして修得します Share your opponents pain, share their damage - + 相手と痛みを分け合って、ダメージの一部を分けてもらいます Your hogs are unable to move, put your artillery skills to the test - + 針鼠は動くことができません。 New - + 新規 Delete - 削除 + 削除 Order of play is random instead of in room order. - + ターン準をランダム化します。 Play with a King. If he dies, your side dies. - + 王様とプレイする。王様が倒された場合、負けになります。 Take turns placing your hedgehogs before the start of play. - + ゲームを始める前に、針鼠を配置します。 Ammo is shared between all teams that share a colour. - + 同じ色のチームは弾薬を共有します。 Disable girders when generating random maps. - + ランダムマップを生成する時、桁を配置しません。 Disable land objects when generating random maps. - + ランダムマップを生成する時、地の物体を配置しません。 AI respawns on death. - + COMが死亡した時に、再発生します。 All (living) hedgehogs are fully restored at the end of turn - + 生きている針鼠はターン開始時に、完全に回復します Attacking does not end your turn. - + 攻撃することでターンが終わりません。 Weapons are reset to starting values each turn. - + 武器はターン開始時に、初期状態に戻ります。 Each hedgehog has its own ammo. It does not share with the team. - + 針鼠はチーㇺと弾薬を共有していません You will not have to worry about wind anymore. - + 風をもう心配しなくても済みます。 Wind will affect almost everything. - + 風はほぼ全てに影響を与えます。 Copy - + コピー Teams in each clan take successive turns sharing their turn time. - + 各クランのチームはターン時間を共有する。 Add an indestructible border around the terrain - + 地形の回りに不滅の縁を追加します Add an indestructible border along the bottom - + マップ底に不滅の縁を追加します None (Default) - + なし(デフォルト) Wrap (World wraps) - + 繰り返し Bounce (Edges reflect) - + ミラー化 Sea (Edges connect to sea) - + Each clan starts in its own part of the terrain. - + 各クランは自分の地域からゲームを始めます Overall damage and knockback in percent - + 総体的なダメージとノックバックの百分率 Turn time in seconds - + ターンの秒数 Initial health of hedgehogs - + 針鼠の初期HP How many rounds have to be played before Sudden Death begins - + サドンデスまでのターン数 How much the water rises per turn while in Sudden Death. Set to 0 along with Sudden Death Health Decrease to disable Sudden Death. - + サドンデス時に、毎ターンの水上昇程度。サドンデスを無効にするには、HP減少と共に0にセットしてください。 How much health hedgehogs lose per turn while in Sudden Death, down to 1 health. Set to 0 along with Sudden Death Water Rise to disable Sudden Death. - + サドンデス時に、毎ターンのHP減少程度。サドンデスを無効にするには、水上昇と共に0にセットしてください。 Maximum rope length in percent - + 最大のロープの長さ(%) Likelihood of a dropped crate being a health crate. All other crates will be weapon or utility crates. - + 降下した箱が救急箱である確率。救急箱でない箱の全ては武器か道具を含みます。 Likelihood of a crate dropping before a turn - + ターン開始前の箱降下確率 Health bonus for collecting a health crate - + 救急箱の中のHP Detonation timer of mines. The random timer lies between 0 and 5 seconds. The timer of air mines will be a quarter of the mines timer. - + 地雷の爆発タイマー。ランダムタイマーは5秒以内になります。空中地雷のタイマーは地雷のタイマーの4分の1になります。 Average number of mines to be placed a medium-sized island map. This number will be scaled for other maps. - + 中サイズの島マップに配置される地雷の大体の数。この数はマップサイズに応じて拡大や縮小されます。 Likelihood of a mine being a dud. Does not affect mines placed by hedgehogs. - + 配置された地雷が不発になる確率。針鼠が置いた地雷には影響を与えません。 Average number of barrels to be placed a medium-sized island map. This number will be scaled for other maps. - + 中サイズの島マップに配置される樽の大体の数。この数はマップサイズに応じて拡大や縮小されます。 Average number of air mines to be placed a medium-sized island map. This number will be scaled for other maps. - + 中サイズの島マップに配置される空中地雷の大体の数。この数はマップサイズに応じて拡大や縮小されます。 Affects the left and right boundaries of the map - + マップの左と右の端に影響を与えます Time you get after an attack - + 攻撃後の後退時間 Additional parameter to configure game styles. The meaning depends on the used style, refer to the documentation. When in doubt, leave it empty. - + ゲームスタイル調整の追加パラメータ。その意味はスタイルによって異なりますので、ドキュメントを参照してください。疑問を感じた場合、空にしてください。 Name of this scheme - + スキーム名 + + + Select a hedgehog at the beginning of a turn + ターン開始に針鼠を選択できます PageSelectWeapon Default - デフォールト + デフォルト Delete @@ -1908,114 +1878,118 @@ New - + 作成 Copy - + コピー PageSinglePlayer Play a quick game against the computer with random settings - + ランダム設定の対COMゲームをプレイする Play a hotseat game against your friends, or AI teams - + 一台のパソコンで、友達やCOMチーㇺとプレイする Campaign Mode - + ストーリーモード Practice your skills in a range of training missions - + トレーニング任務の数々で技を磨く Watch recorded demos - + 記録されたデモを見る Load a previously saved game - + セーブから続ける PageTraining No description available - + 説明文がありません Select a mission! - + 任務選択! Start fighting - + 戦いを始める Pick the training to play - + プレイするトレーニング任務を選ぶ Pick the challenge to play - + プレイするチャレンジを選ぶ Pick the scenario to play - + プレイするシナリオを選ぶ Trainings - + トレーニング Challenges - + チャレンジ Scenarios - + シナリオ PageVideos Name - + Size - - - + サイズ + + %1 bytes - - - + %1バイト (in progress...) - + (進行中。。。) encoding - - - - uploading - - + エンコーディング + Date: %1 - + 日付:%1 Size: %1 - + サイズ:%1 + + + %1% + Video encoding progress. %1 = number + %1% + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + %1(%2%)- %3 @@ -2030,70 +2004,66 @@ Restrict Joins - Restrict Joins + 参加制限 Restrict Team Additions - Restrict Team Additions + チーム参加制限 Ban - + アクセス禁止 Follow - + フォロー Ignore - + 無視する Add friend - + お友達追加 Unignore - + 無視排除 Remove friend - - - - Update - 更新 + お友達排除 Restrict Unregistered Players Join - + 非登録プレーヤーの参加制限 Show games in lobby - + ロビーのゲーム表示 Show games in-progress - + 進行中のゲーム表示 Show password protected - + パスワード使用ルーム表示 Show join restricted - + 参加制限ルーム表示 Delegate room control - + ルーム管理代理人指定 QCheckBox Check for updates at startup - + 起動時に更新を確認する Fullscreen @@ -2101,107 +2071,99 @@ Show FPS - FPSを示す + FPS表示 Alternative damage show - 択一的損傷を示す + 代替のダメージ表示 Append date and time to record file name - ファイル名に年月日を追加する + デモファイル名に日時を追加する Show ammo menu tooltips - + 武器メニューの説明表示 Save password - - - - Save account name and password - - - - Video is private - + パスワード保存 Record audio - + オーディオを録音する Use game resolution - + ゲームの解像度を使用する Visual effects - + 視覚効果 Sound - + 音響 In-game sound effects - + ゲーム中の効果音 Music - + 音楽 In-game music - + ゲーム中の音楽 Frontend sound effects - + フロントエンド効果音 Frontend music - + フロントエンド音楽 Team - + チーム Enable team tags by default - + 通常にチームタグを表示する Hog - + 針鼠 Enable hedgehog tags by default - + 通常に針鼠タグを表示する Health - + HP Enable health tags by default - + 通常にHPタグを表示する Translucent - + 透明 Enable translucent tags by default - + 通常に透明なタグを表示する Enable visual effects such as animated menu transitions and falling stars - + 流れ星やメニュー遷移のような資格効果を使用する If enabled, Hedgewars adds the date and time in the form "YYYY-MM-DD_hh-mm" for automatically created demos. - + 自動的作成されたデモファイル名には、「YYYY-MM-DD_hh-mm」形式の日時を追加する。 @@ -2211,28 +2173,24 @@ 人間 - Level - レベル - - (System default) - + (システムデフォルト) Community - + コミュニティ Disabled - + オフ Red/Cyan - 赤/水 + 赤/藍色 Cyan/Red - 水/赤 + 藍色/赤 Red/Blue @@ -2252,74 +2210,74 @@ Side-by-side - + サイド・バイ・サイド方式 Top-Bottom - + トップ・アンド・ボトム方式 Red/Cyan grayscale - + 赤/藍色のグレースケール Cyan/Red grayscale - + 藍色/赤のグレースケール Red/Blue grayscale - + 赤/青のグレースケール Blue/Red grayscale - + 青/赤のグレースケール Red/Green grayscale - + 赤/緑のグレースケール Green/Red grayscale - + 緑/赤のグレースケール Computer (Level %1) - + COM(レベル%1) Stereoscopy creates an illusion of depth when you wear 3D glasses. - + 3D映像は3D眼鏡の使用時に、映像を立体的に見えるようにします。 24 FPS - + 24 FPS 25 FPS - + 25 FPS 30 FPS - + 30 FPS 50 FPS - + 50 FPS 60 FPS - + 60 FPS QGroupBox Team Members - チーム メンバーズ + チーㇺメンバー Fort - 台場 + 要塞 Net game @@ -2327,42 +2285,38 @@ Playing teams - 参加 チーム + プレイするチーム Game Modifiers - + ゲーム変更 Basic Settings - + 基本設定 Team Settings - + チーム設定 Videos - + 動画 Description - + 説明文 QLabel Mines Time - + 地雷タイマー Mines - - - - Version - バーション + 地雷数 Weapons @@ -2370,145 +2324,121 @@ Host: - Host: + ホスト: Port: - Port: + ポート: Resolution - Resolution + 解像度 FPS limit - FPS 限界 + フレームレート制限 Server name: - サーバー名: + サーバー名: Server port: - サーバー port: + サーバーポート: Initial sound volume - + 初期音量 Damage Modifier - + ダメージ変更 Turn Time - + ターンの秒数 Initial Health - + 初期HP Sudden Death Timeout - + サドンデスの時間切れ Scheme Name: - + スキーム名: Crate Drops - + 箱の降下 % Dud Mines - + 地雷不発率(%) Name - + Grave - + Flag - + Voice - + Locale - + ロカール Quality - + 画像性質 % Health Crates - + 救急箱の確率(%) Health in Crates - + 救急箱内にHP量 Sudden Death Water Rise - + サドンデス時に水上昇 Sudden Death Health Decrease - + サドンデス時にHP減少 % Rope Length - + ロープの長さ(%) Style - + スタイル Scheme - + スキーム There are videos that are currently being processed. Exiting now will abort them. Do you really want to quit? - - - - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - + ゲームを終了すると、現在処理中の動画を中断することになります。本当によろしいですか? + Description - + 説明文 Nickname @@ -2516,129 +2446,137 @@ Format - + 形式 Audio codec - + オーディオコーデック Video codec - + ヴィデオコーデック Framerate - + フレームレート This development build is 'work in progress' and may not be compatible with other versions of the game, while some features might be broken or incomplete! - + この開発中のビルドは、他のバージョンとの間に非互換、または不完全な機能が存在する可能性があります。 Fullscreen - フルスクリーン + フルスクリーン Fullscreen Resolution - + フルスクリーン解像度 Windowed Resolution - + ウィンドウ解像度 Your Email - + メールアドレス Summary - + 概要 Send system information - + システム情報を送る Type the security code: - + セキュリティ番号を入力してください: This setting will be effective at next restart. - + この設定は次の再起動から有効になります Tip: %1 - + コツ:%1 Displayed tags above hogs and translucent tags - + 針鼠の上のタぐと透明タグの表示 World Edge - + 世界の端 Script parameter - + スクリプトのパラメータ Air Mines - + 空中地雷 Player - + プレーヤー Barrels - + % Retreat Time - + 後退時間(%) Stereoscopy - + 3D映像 Bitrate (Kibit/s) “Kibit/s” is the symbol for 1024 bits per second - + ビットレート(Kibit/s) + + + Loading<br>CAPTCHA ... + CAPTCHA<br>ロード中。。。 QLineEdit unnamed - 無名 + 名無し hedgehog %1 - + 針鼠 %1 anonymous - + 匿名 unnamed (%1) - + 名無し (%1) + + + Hedgehog %1 + 針鼠 %1 QMainWindow Hedgewars %1 - Hedgewars %1 + ヘッジウォーズ %1 QMessageBox Connection to server is lost - サーバーの接続は切断された + サーバーコネクションは中断しました Error @@ -2646,245 +2584,223 @@ File association failed. - - - - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Error while sending metadata to youtube.com: - - - + ファイルの関連付けに失敗しました。 + Teams - Are you sure? - + チーム - よろしいですか? Do you really want to delete the team '%1'? - + チーム「%1」を本当に削除しますか? Cannot delete default scheme '%1'! - + 「%1」のデフォルトスキームを削除できません! Please select a record from the list - + リストから記録を選択してください Unable to start server - + サーバーを起動できませんでした Hedgewars - Error - + ヘッジウォーズ - エラー Hedgewars - Success - + ヘッジウォーズ - 成功 All file associations have been set - - - - Cannot create directory %1 - フォルダー%1作成拒否 - - - Unable to start the server: %1. - サーバー%1の起動は出来なかった - - - Video upload - Error - + 全てのファイル関連付けをセットしました Netgame - Error - + ネットゲーム - エラー Please select a server from the list - + リストからサーバーを選んでください Please enter room name - ルーム名を入力してください - - - Please select record from the list - 録画を選択下さい + ルーム名を入力してください Room Name - Error - + ルーム名 - エラー Please select room from the list - + リストからルームを選んでください Room Name - Are you sure? - + ルーム名 - よろしいですか? The game you are trying to join has started. Do you still want to join the room? - + 参加しようとしているゲームはもう始まりました。それでも参加しますか? Schemes - Warning - + スキーム - 警報 Schemes - Are you sure? - + スキーム - よろしいですか? Do you really want to delete the game scheme '%1'? - + ゲームスキーム「%1」を削除します。よろしいですか? Videos - Are you sure? - + 動画 - よろしいですか? Do you really want to delete the video '%1'? - - - + 「%1」の動画を削除します。よろしいですか? + + Do you really want to remove %1 file(s)? - - - - - - Do you really want to cancel uploading %1? - - + %1ファイルを削除します。よろしいですか? + File error - + ファイルエラー Cannot open '%1' for writing - + ファイル「%1」を書き込みモードで開けませんでした Cannot open '%1' for reading - - - - Cannot use the ammo '%1'! - - + ファイル「%1」を読み込みモードで開けませんでした + Weapons - Warning - + 武器 - 忠告 Cannot overwrite default weapon set '%1'! - + デフォルトの武器セット「%1」を上書できません! Cannot delete default weapon set '%1'! - + デフォルトの武器セット「%1」を削除できません! Weapons - Are you sure? - + 武器 - よろしいですか? Do you really want to delete the weapon set '%1'? - + 武器セット「%1」を削除します。よろしいですか? Hedgewars - Nick not registered - + ヘッジウォーズ - ニックネーム非登録 System Information Preview - + システム情報プレビュー Failed to generate captcha - + CAPTCHAを生成できませんでした Failed to download captcha - + CAPTCHAをダウンロードできませんでした Please fill out all fields. Email is optional. - + メールアドレス以外の全てのフィールドに記入してください。 Hedgewars - Warning - + ヘッジウォーズ - 警報 Hedgewars - Information - + ヘッジウォーズ - 情報 Not all players are ready - + 準備が出来ていないプレーヤーがあります。 Are you sure you want to start this game? Not all players are ready. - + 準備が出来ていないプレーヤーがあります。それでもゲームを始めてもよろしいですか? Sorry, Hedgewars can't be played with more than 48 hedgehogs. Please try again with fewer hedgehogs. Current number of hedgehogs: %1 - + ヘッジウォーズは針鼠48匹以内のみでプレイ可能です。針鼠の数を減らしてから、やり直してください。 + +現在の針鼠の数:%1 + + + Please select a file from the list. + リストからファイルを選んでください。 + + + Cannot rename file to %1. + ファイルを「%1」に改名できませんでした。 + + + Cannot delete file %1. + ファイル「%1」を削除できません。 Teams - Name already taken - + チーム - チーム名はもう使用されています The team name '%1' is already taken, so your team has been renamed to '%2'. - - - - Please select a file from the list. - - - - Cannot rename file to %1. - - - - Cannot delete file %1. - + チーㇺ名「%1」がすでに使用中なため、チームを「%2」に改名します。 + + + Welcome to Hedgewars + ヘッジウォーズえようこそ + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + ヘッジウォーズえようこそ! + +ヘッジウォーズをプレイするのは初めてのようですね。始めにトレーニング任務をプレイして基本を学ぶのはいかがでしょうか? + + + Cannot use the weapon scheme '%1'! + 武器スキーム「%1」を使用できません! QObject No description available - + 説明文がありません QPushButton default - デフォールト + デフォルト OK - オケ + OK Cancel @@ -2892,7 +2808,7 @@ Start server - サーバー スタート + サーバー起動 Connect @@ -2904,23 +2820,20 @@ Specify - Specify + 指定 Start スタート - - Go! - GO! - + Play demo - デモを再生 + デモ再生 Rename - 名前を編集 + 改名 Delete @@ -2932,85 +2845,73 @@ Associate file extensions - + ファイルの関連付けを指定する More info - + 追加情報 Set default options - + デフォルト設定をセットする Open videos directory - + 動画ディレクトリを開く Play - - - - Upload to YouTube - - - - Cancel uploading - - + 再生 + Restore default coding parameters - + エンコーダー設定を初期に戻す Open the video directory in your system - + システム動画ディレクトリを開く Play this video - + 動画を再生する Delete this video - - + 動画を削除する + Reset - + 初期設定 Set the default server port for Hedgewars - + デフォルトのサーバーポートを指定する Invite your friends to your server in just 1 click! - + 一押しでお友達を自分のサーバーに招待する! Click to copy your unique server URL to your clipboard. Send this link to your friends and they will be able to join you. - + ユニークなサーバーURLをクリップボードに保存するためには、ここを押してください。このURLを使用すれば、お友達は簡単にサーバーに参加することができます。 Start private server - - - - Upload this video to your YouTube account - - + 私用のサーバーを起動する + QSpinBox Specify the bitrate of recorded videos as a multiple of 1024 bits per second - + 1024ビットの倍数で、動画のビットレートを指定する RoomNamePrompt Enter a name for your room. - + ルーム名を入力してください。 Cancel @@ -3018,79 +2919,79 @@ Create room - + ルーム作成 set password - + パスワード指定 RoomsListModel In progress - + 進行 Room Name - + ルーム名 C Caption of the column for the number of connected clients in the list of rooms - + 人数 T Caption of the column for the number of teams in the list of rooms - + チーム Owner - + 所有者 Map - 地図 + マップ Rules - + ルール Weapons - 武器 + 武器 Random Map - + ランダムマップ Random Maze - + ランダム迷路 Hand-drawn - + 手書き Script - + スクリプト Random Perlin - + ランダム(パーリンノイズ) Forts - + 要塞 SeedPrompt The map seed is the basis for all random values generated by the game. - + マップシードはゲーム中に生成される全てのランダム値の源です。 Cancel @@ -3098,70 +2999,63 @@ Set seed - + シードをセットする Close - + 閉じる Seed - 乱数シード + シード SelWeaponWidget Weapon set - + 武器セット Probabilities - + 可能性 Ammo in boxes - + 箱の中の弾薬数量 Delays - - - - new - 作成 - - - copy of - 模写 + 延期 New - + 新規 New (%1) - + 新規(%1) Copy of %1 - + %1のコピー Copy of %1 (%2) - + %1(%2)のコピー TCPBase Unable to start server at %1. - + %1でサーバーを起動できませんでした。 Unable to run engine at %1 Error code: %2 - + %1でエンジンを起動できませんでした +エラーコード:%2 The game engine died unexpectedly! @@ -3170,14 +3064,18 @@ We are very sorry for the inconvenience :( If this keeps happening, please click the '%2' button in the main menu! - + ゲームエンジンは不意に中断になりました!(終了コード%1) + +大変申し訳ありませんでした (´;ω;`) + +この状況がまた発生する際に、メインメニュー画面から「%2」ボタンを押してください! TeamSelWidget At least two teams are required to play! - + ゲームを始めるには、二つ以上のチームが必要です! @@ -3188,15 +3086,15 @@ Search for a theme: - + テーマを探す: Use selected theme - + 選択されたテーマを使用する Choose a theme - + テーマ選択 @@ -3223,79 +3121,75 @@ precise aim - 精密な狙い + 正確な狙い put - プット + 置く switch - スイッチ - - - find hedgehog - 針鼠を見つける + 切り替える ammo menu - 武器メニュー + 武器選択メニュー slot 1 - スロット1 + 第一スロット slot 2 - スロット2 + 第二スロット slot 3 - スロット3 + 第三スロット slot 4 - スロット4 + 第四スロット slot 5 - スロット5 + 第五スロット slot 6 - スロット6 + 第六スロット slot 7 - スロット7 + 第七スロット slot 8 - スロット8 + 第八スロット slot 9 - スロット9 + 第九スロット timer 1 sec - タイマー1秒 + 1秒タイマー timer 2 sec - タイマー2秒 + 2秒タイマー timer 3 sec - タイマー3秒 + 3秒タイマー timer 4 sec - タイマー4秒 + 4秒タイマー timer 5 sec - タイマー5秒 + 5秒タイマー chat @@ -3303,712 +3197,724 @@ chat history - チャットの歴史 - - - pause - ポーズ - + チャット歴史 + confirmation 確認 volume down - 音量下 + 音量を下げる volume up - 音量上 + 音量を上げる change mode - モードを変更 + モードを変える capture - 録画 + 取る quit - 退出 + やめる zoom in - 画面を拡大する + ズームイン zoom out - 画面を縮小する + ズームアウト reset zoom - 画面をリセット + 初期ズーム long jump - 幅跳び + 遠いジャンプ high jump - 高跳び + 高いジャンプ slot 10 - スロットX + 第十スロット mute audio - + 無音 record - - + 録画 + autocam / find hedgehog - + 自動カメラ/針鼠を見つける speed up replay - + 再生加速 toggle team bars This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen - + チーム情報バーの切り替え + + + team chat + チームチャット + + + pause / auto skip + ポーズ/自動スキップ + + + toggle hedgehog tags + 針鼠タグの切り替え binds (categories) Movement - + 移動 Weapons - 武器 + 武器 Camera - + キャメラ Miscellaneous - + その他 binds (descriptions) Traverse gaps and obstacles by jumping: - 穴と障害を跳んで超える: + 隙間や障害物を飛び越える: Fire your selected weapon or trigger an utility item: - 武器を撃つかアイテムを使う: + 装備中の武器や道具を使用する: Pick a weapon or a target location under the cursor: - 武器やターゲットを選択: + カーソルの下で標的を置く: Switch your currently active hog (if possible): - + アクティブ針鼠を切り替える(可能の時に限って): Pick a weapon or utility item: - + 武器または道具を選ぶ: Set the timer on bombs and timed weapons: - - + 爆弾や他の時限式武器のタイマーを調整する: + Move the cursor or camera without using the mouse: - + キャメラやカーソルをマウスを使わずに移動する: Modify the camera's zoom level: - + カメラズームを調整する: Talk to your team or all participants: - + 自分のチームか全てのプレーヤーと会話する: Pause, continue or leave your game: - + ポーズする、続ける、またはゲーム終了する: Modify the game's volume while playing: - + プレイ中に音量を調整する: Toggle fullscreen mode: - + フルスクリーン切り替え: Take a screenshot: - - + スクリーンショットを撮る: + Record video: - + 動画を録画する: Hedgehog movement - + 針鼠移動 Toggle automatic camera / refocus on active hedgehog: - + 自動キャメラの切り替え/アクティブ針鼠に焦点を戻す: Demo replay: - + デモ再生: Heads-up display: - + ヘッドアップディスプレイ: binds (keys) Axis - + (Up) - + (上) (Down) - + (下) Hat - + 帽子 (Left) - + (左) (Right) - + (右) Button - + ボタン Keyboard - + キーボード Delete - 削除 + Delete Mouse: Left button - + マウスの左ボタン Mouse: Middle button - + マウスの中央ボタン Mouse: Right button - + マウスの右ボタン Mouse: Wheel up - + マウスのホイール上 Mouse: Wheel down - + マウスのホイール下 Backspace - + Backspace Tab - + Tab Clear - + Clear Return - + Return Pause - + Pause Escape - + Escape Space - + Space Numpad 0 - + 0(数値パッド) Numpad 1 - + 1(数値パッド) Numpad 2 - + 2(数値パッド) Numpad 3 - + 3(数値パッド) Numpad 4 - + 4(数値パッド) Numpad 5 - + 5(数値パッド) Numpad 6 - + 6(数値パッド) Numpad 7 - + 7(数値パッド) Numpad 8 - + 8(数値パッド) Numpad 9 - + 9(数値パッド) Numpad . - + 。(数値パッド) Numpad / - + /(数値パッド) Numpad * - + *(数値パッド) Numpad - - + -(数値パッド) Numpad + - + +(数値パッド) Enter - + Enter Equals - + イコール Up - + Down - + Right - + Left - + Insert - + Insert Home - + Home End - + End Page up - + Page Up Page down - + Page Down Num lock - + NumLock Caps lock - + CapsLock Scroll lock - + ScrollLock Right shift - + 右Shift Left shift - + 左Shift Right ctrl - + 右Ctrl Left ctrl - + 左Ctrl Right alt - + 右Alt Left alt - + 左Alt Right meta - + 右メタ Left meta - + 左メタ A button - + Aボタン B button - + Bボタン X button - + Xボタン Y button - + Yボタン LB button - + LBボタン RB button - + RBボタン Back button - + バックボタン Start button - + スタートボタン Left stick - + 左スティック Right stick - + 右スティック Left stick (Right) - + 左スティック(右) Left stick (Left) - + 左スティック(左) Left stick (Down) - + 左スティック(下) Left stick (Up) - + 左スティック(上) Left trigger - + LTボタン Right trigger - + RTボタン Right stick (Down) - + 右スティック(下) Right stick (Up) - + 右スティック(上) Right stick (Right) - + 右スティック(右) Right stick (Left) - + 右スティック(左) DPad - + 十字ボタン server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use - + ニックネームはすでに使用中です No checker rights - + 権利を持っていません Authentication failed - + 認証失敗 60 seconds cooldown after kick - + キック後からの60秒のクールダウン kicked - + キックされました Ping timeout - + ピングタイムアウト bye - - - - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - + バイバイでござる + New voting started - - - - Voting expired - - + 新しい投票が始まりました + kick - + キック map - + マップ pause - ポーズ + ポーズ Reconnected too fast - + 再接続は速すぎました Warning! Chat flood protection activated - + 警報!チャット洪水防護が作動中 Excess flood - + 洪水過剰 Game messages flood detected - 1 - + ゲームメッセージ洪水探知(1) Warning! Joins flood protection activated - - - - There's no voting going on - - - - Your vote counted - - - - Pause toggled - + 警報!参加洪水防護が作動中 new seed - - - - number of hedgehogs in team - - + 新しいシード + /maxteams: specify number from 2 to 8 - + /maxteams: 2から8までの数値を指定してください Available callvote commands: kick <nickname>, map <name>, pause, newseed, hedgehogs - - - - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 - + 使用可能なcallvote指令:kick <ニックネーム>, map <マップ名>, pause, newseed, hedgehogs + + + The game can't be started with less than two clans! + ゲームを始めるには、二つ以上のクランが必要です! + + + Empty config entry. + 空のコンフィグエントリー。 + + + Access denied. + アクセス禁止。 + + + You're not the room master! + ルームマスターではありません! + + + Corrupted hedgehogs info! + 針鼠の情報が破損しました! + + + Too many teams! + チーム数が多すぎます! + + + Too many hedgehogs! + 針鼠数が多すぎます! + + + There's already a team with same name in the list. + 同名のチームがすでにリストに載ってます + + + Joining not possible: Round is in progress. + 参加不可能:現在ゲーム中です。 + + + This room currently does not allow adding new teams. + このルームは現在、チーム追加が制限されています。 + + + Error: The team you tried to remove does not exist. + エラー:排除しようとしているチームが存在しません。 + + + You can't remove a team you don't own. + 所有していないチームを排除することができません。 + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + 違法なルーム名!ルーム名は1から40までの半角文字から成り立つ必要があります。または先頭のスペースと末尾のスペース、「$()*+?[]^{|}」の内の文字を使用してはなりません。 + + + A room with the same name already exists. + 同名のルームがすでに存在します。 + + + /callvote kick: You need to specify a nickname. + /callvote kick:ニックネームを指定する必要があります。 + + + /callvote kick: No such user! + /callvote kick:ユーザーが見つかりません! + + + /callvote map: No such map! + /callvote map:マップが見つかりません! + + + /callvote pause: No game in progress! + /callvote pause:現在、ゲーム中ではありません! + + + /callvote hedgehogs: Specify number from 1 to 8. + /callvote hedgehogs:1から8までの数値を指定してください。 + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + 違法なルーム名!ルーム名は1から40までの半角文字から成り立つ必要があります。または先頭のスペースと末尾のスペース、「$()*+?[]^{|}」の内の文字を使用してはなりません。 + + + No such room. + 指定された部屋が存在しません。 + + + Room version incompatible to your Hedgewars version! + ルームバージョンとヘッジウォーズヴァージョンの間には非互換があります。 + + + Access denied. This room currently doesn't allow joining. + アクセス禁止:このルームは現在参加を認めていません。。 + + + Access denied. This room is for registered users only. + アクセス禁止:このルームは登録ユーザー専用です。 + + + You are banned from this room. + このルームへのアクセスは禁止されています。 + + + Nickname already provided. + ニックネームはすでに指定済みです。 + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + 違法なニックネーム!ニックネームは1から40までの半角文字から成り立つ必要があります。または先頭のスペースと末尾のスペース、「$()*+?[]^{|}」の内の文字を使用してはなりません。 + + + Protocol already known. + プロトコル番号はもう指定済みです。 + + + Bad number. + 不正な数値。 + + + There's no voting going on. + 現在は投票中ではありません。 + + + You already have voted. + すでに投票済みです + + + Your vote has been counted. + 投票を受け取りました。 + + + Voting closed. + 投票が終了しました。 + + + Pause toggled. + ポーズが切り替えられました。 + + + Voting expired. + 投票失効です。 + + + hedgehogs per team: + チーム内の針鼠数: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_ko.ts --- a/share/hedgewars/Data/Locale/hedgewars_ko.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_ko.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,25 +87,6 @@ - AmmoSchemeModel - - New - - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -239,6 +220,25 @@ + GameSchemeModel + + New + + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -563,14 +563,14 @@ - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -857,17 +857,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -911,16 +900,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1114,6 +1121,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1856,6 +1867,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -1967,10 +1982,6 @@ - uploading - - - Date: %1 @@ -1978,6 +1989,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2077,14 +2098,6 @@ - Save account name and password - - - - Video is private - - - Record audio @@ -2432,30 +2445,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Description @@ -2556,6 +2545,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2575,6 +2568,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2598,20 +2595,6 @@ - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Error while sending metadata to youtube.com: - - - - Teams - Are you sure? @@ -2644,10 +2627,6 @@ - Video upload - Error - - - Netgame - Error @@ -2703,10 +2682,6 @@ - Do you really want to cancel uploading %1? - - - File error @@ -2719,10 +2694,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2805,6 +2776,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -2884,14 +2869,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Restore default coding parameters @@ -2927,10 +2904,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3227,10 +3200,6 @@ - pause - - - confirmation @@ -3299,6 +3268,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3716,74 +3697,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -3812,46 +3725,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -3884,26 +3761,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -3912,23 +3773,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_lt.ts --- a/share/hedgewars/Data/Locale/hedgewars_lt.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_lt.ts Sun Jun 10 19:12:26 2018 +0200 @@ -4,95 +4,95 @@ About - + Hedgewars %1 %1 contains Hedgewars' version number - + Revision %1 (%2) - + Visit our homepage: %1 - + This program is distributed under the %1. - + GNU GPL v2 Short for “GNU General Public License version 2” - + Dependency versions: For the version numbers of Hedgewars' software dependencies - + <a href="https://gcc.gnu.org">GCC</a>: %1 - + Unknown Compiler - + <a href="https://www.libsdl.org/">SDL2</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_mixer</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_net</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_image</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_ttf</a>: %1.%2.%3 - + <a href="https://www.qt.io/developers/">Qt</a>: %1 - + <a href="https://libav.org">libavcodec</a>: %1.%2.%3 - + <a href="https://libav.org">libavformat</a>: %1.%2.%3 - + <a href="https://libav.org">libavutil</a>: %1.%2.%3 - + <a href="https://icculus.org/physfs/">PhysFS</a>: %1.%2.%3 @@ -106,29 +106,6 @@ - AmmoSchemeModel - - - New - - - - - New (%1) - - - - - Copy of %1 - - - - - Copy of %1 (%2) - - - - BanDialog @@ -277,22 +254,45 @@ - + Edit schemes - + Edit weapons - + Game scheme will auto-select a weapon + GameSchemeModel + + + New + + + + + New (%1) + + + + + Copy of %1 + + + + + Copy of %1 (%2) + + + + GameUIConfig @@ -358,73 +358,73 @@ - + Cannot create directory %1 - - Usage - command-line - - - - - OPTION - command-line - - - - - - CONNECTSTRING - command-line - - - - - Options - command-line - - - - - Display this help - command-line - - - - - Custom path for configuration data and user data - command-line - - - - - Custom path to the game data folder - command-line - - - + Usage + command-line + + + + + OPTION + command-line + + + + + + CONNECTSTRING + command-line + + + + + Options + command-line + + + + + Display this help + command-line + + + + + Custom path for configuration data and user data + command-line + + + + + Custom path to the game data folder + command-line + + + + Hedgewars can use a %1 (e.g. "%2") to connect on start. command-line - + Malformed option argument: %1 command-line - + Unknown option argument: %1 command-line - + Failed to open data directory: %1 @@ -443,82 +443,82 @@ HWChatWidget - + Chat log - + Enter chat messages here and send them with [Enter] - + List of players - + %1 has joined - + %1 has left - + %1 has left (%2) - + %1 has been removed from your ignore list - + %1 has been added to your ignore list - + %1 has been removed from your friends list - + %1 has been added to your friends list - - Stylesheet imported from %1 - - - + Stylesheet imported from %1 + + + + Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset! - + Couldn't read %1 - + StyleSheet discarded - + StyleSheet saved to %1 - + Failed to save StyleSheet to %1 @@ -526,64 +526,64 @@ HWForm - + Game aborted - + Nickname - - + + No nickname supplied. - + Someone already uses your nickname %1 on the server. Please pick another nickname: - - - + + + Guest - + Team 1 - + %1's Team - + Team %1 Default team name - + Computer %1 Default computer team name - + Hedgewars - Nick registered - + This nick is registered, and you haven't specified a password. If this nick isn't yours, please register your own nick at www.hedgewars.org @@ -592,102 +592,102 @@ - + Your nickname is not registered. To prevent someone else from using it, please register it at www.hedgewars.org - + Your password wasn't saved either. - - + + Hedgewars - Empty nickname - + Hedgewars - Wrong password - + You entered a wrong password. - + Room password - + The room is protected with password. Please, enter the password: - + Try Again - + Hedgewars - Connection error - + You reconnected too fast. Please wait a few seconds and try again. - - + + Cannot save record to file %1 - + Hedgewars Demo File File Types - + Hedgewars Save File File Types - + Demo name - + Demo name: - + Unknown network error (possibly missing SSL library). - + This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + Internal error: Reply object is invalid. @@ -696,18 +696,18 @@ HWGame - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 - - - - +Last engine message: +%1 + + + + en.txt IMPORTANT: This text has a special meaning, do not translate it directly. This is the file name of translation files for the game engine, found in Data/Locale/. Usually, you replace “en” with the ISO-639-1 language code of your language. @@ -730,228 +730,228 @@ HWMapContainer - + Map type: - + Image map - + Mission map - + Hand-drawn - + Randomly generated - + Random maze - + Random perlin - + Forts - + Random - + View and edit the seed, the source of randomness in the game - + Map preview: - + Load map drawing - + Edit map drawing - + All - + Small - + Medium - + Large - + Cavern - + Wacky - + Large tunnels - + Small islands - + Medium islands - + Large islands - + Randomize the theme - + Choose a theme - + Randomize the map, theme and seed - + Randomize the theme and seed - + Randomize the seed - + Click to randomize the map, theme and seed - + Click to randomize the theme and seed - + Adjust the complexity of the generated map - + Adjust the distance between forts - + Click to edit - + Map size: - + Maze style: - + Style: - + Mission: - + Map: - + Theme: %1 - + Load drawn map - + Drawn Maps - + All files - + Small tunnels - + Medium tunnels - + Seed @@ -1033,7 +1033,7 @@ - + Quit reason: @@ -1070,19 +1070,6 @@ - HWUploadVideoDialog - - - Upload video - - - - - Upload - - - - HatButton @@ -1124,28 +1111,50 @@ LibavInteraction - - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - - %1 FPS - - - - - Audio: + + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + + Player: %1 + + + + + Theme: %1 + + + + + Map: %1 + + + + + Record: %1 + + + + + Audio: + + + + unknown @@ -1153,7 +1162,7 @@ MapModel - + No description available. @@ -1288,32 +1297,32 @@ PageDataDownload - + Load the start page - + Open packages directory - + Loading, please wait. - + Unknown network error (possibly missing SSL library). - + This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + Internal error: Reply object is invalid. @@ -1321,69 +1330,74 @@ PageDrawMap - + Eraser - + Undo - - Polyline - - - - Rectangle + Polyline + Rectangle + + + + Ellipse - - Clear - - - - - Optimize - - - + Brush size + + + + + Clear + + + + + Optimize + + + + Load - + Save - + Load drawn map - - + + Drawn Maps - - + + All files - + Save drawn map @@ -1451,43 +1465,43 @@ - + Randomize the team name - + Randomize the grave - + Randomize the flag - + Play a random example of this voice - + Randomize the voice - + Randomize the fort - + CPU %1 Name of a flag for computer-controlled enemies. %1 is replaced with the computer level - + %1 (%2) @@ -1500,28 +1514,28 @@ - + Health graph - + Ranking - + Play again - + Save - + The best shot award was won by <b>%1</b> with <b>%2</b> pts. @@ -1530,7 +1544,7 @@ - + The best killer is <b>%1</b> with <b>%2</b> kills in a turn. @@ -1539,7 +1553,7 @@ - + A total of <b>%1</b> hedgehog(s) were killed during this round. @@ -1548,7 +1562,7 @@ - + (%1 kill) Number of kills in stats screen, written after the team name @@ -1558,7 +1572,7 @@ - + (%1 %2) For custom number of points in the stats screen, written after the team name. %1 is the number, %2 is the word. Example: “4 points” @@ -1568,7 +1582,7 @@ - + <b>%1</b> thought it's good to shoot their own hedgehogs for <b>%2</b> pts. @@ -1577,7 +1591,7 @@ - + <b>%1</b> killed <b>%2</b> of their own hedgehogs. @@ -1586,7 +1600,7 @@ - + <b>%1</b> was scared and skipped turn <b>%2</b> times. @@ -1777,7 +1791,7 @@ - + Game @@ -1817,184 +1831,184 @@ - + New team - + Edit team - + Delete team - + You can't edit teams from team selection. Go back to main menu to add, edit or delete teams. - + Schemes - + New scheme - + Edit scheme - + Delete scheme - + Weapons - + New weapon set - + Edit weapon set - + Delete weapon set - - + + x Multiplication sign, to be used between two numbers. Note the “x” is only a dummy character, we recommend to use “×” if your language permits it - + Frontend - + Custom colors - + Reset to default colors - + Game audio - + Frontend audio - + Account - + Proxy settings - - Proxy host - - - - - Proxy port - - - - - Proxy login - - - + Proxy host + + + + + Proxy port + + + + + Proxy login + + + + Proxy password - - No proxy - - - - - System proxy settings - - - - - Socks5 proxy - - - + No proxy + + + + + System proxy settings + + + + + Socks5 proxy + + + + HTTP proxy - + Miscellaneous - + MISSING LANGUAGE NAME [%1] - + Updates - + Check for updates - + Check now - + Video recording options - + Can't delete last team - + You can't delete the last team! @@ -2030,37 +2044,37 @@ PageRoomsList - + Search for a room: - + Create room - + Join room - + Room state - + Admin features - + Open server administration page - + %1 players online @@ -2072,7 +2086,7 @@ PageScheme - + Land can not be destroyed! @@ -2082,57 +2096,57 @@ - + Lower gravity - + Assisted aiming with laser sight - + All hogs have a personal forcefield - + All (living) hedgehogs are fully restored at the end of turn - - Gain 80% of the damage you do back in health - - - + Gain 80% of the damage you do back in health + + + + Share your opponents pain, share their damage - + Your hogs are unable to move, put your artillery skills to the test - - Order of play is random instead of in room order. - - - - - Play with a King. If he dies, your side dies. - - - + Order of play is random instead of in room order. + + + + + Play with a King. If he dies, your side dies. + + + + Take turns placing your hedgehogs before the start of play. - + Ammo is shared between all teams that share a colour. @@ -2147,37 +2161,37 @@ - + AI respawns on death. + + Attacking does not end your turn. + + + - Attacking does not end your turn. - - - - Weapons are reset to starting values each turn. - + Each hedgehog has its own ammo. It does not share with the team. - - You will not have to worry about wind anymore. - - - + You will not have to worry about wind anymore. + + + + Wind will affect almost everything. - + Teams in each clan take successive turns sharing their turn time. @@ -2187,137 +2201,142 @@ - + + Select a hedgehog at the beginning of a turn + + + + Each clan starts in its own part of the terrain. - - Overall damage and knockback in percent - - - - - Turn time in seconds - - - - - Initial health of hedgehogs - - - - - How many rounds have to be played before Sudden Death begins - - - - How much the water rises per turn while in Sudden Death. Set to 0 along with Sudden Death Health Decrease to disable Sudden Death. + Overall damage and knockback in percent - How much health hedgehogs lose per turn while in Sudden Death, down to 1 health. Set to 0 along with Sudden Death Water Rise to disable Sudden Death. + Turn time in seconds - Maximum rope length in percent + Initial health of hedgehogs - Likelihood of a dropped crate being a health crate. All other crates will be weapon or utility crates. + How many rounds have to be played before Sudden Death begins - Likelihood of a crate dropping before a turn + How much the water rises per turn while in Sudden Death. Set to 0 along with Sudden Death Health Decrease to disable Sudden Death. - Health bonus for collecting a health crate + How much health hedgehogs lose per turn while in Sudden Death, down to 1 health. Set to 0 along with Sudden Death Water Rise to disable Sudden Death. - Detonation timer of mines. The random timer lies between 0 and 5 seconds. The timer of air mines will be a quarter of the mines timer. + Maximum rope length in percent - Average number of mines to be placed a medium-sized island map. This number will be scaled for other maps. + Likelihood of a dropped crate being a health crate. All other crates will be weapon or utility crates. - Likelihood of a mine being a dud. Does not affect mines placed by hedgehogs. + Likelihood of a crate dropping before a turn - Average number of barrels to be placed a medium-sized island map. This number will be scaled for other maps. + Health bonus for collecting a health crate - Average number of air mines to be placed a medium-sized island map. This number will be scaled for other maps. + Detonation timer of mines. The random timer lies between 0 and 5 seconds. The timer of air mines will be a quarter of the mines timer. - Affects the left and right boundaries of the map + Average number of mines to be placed a medium-sized island map. This number will be scaled for other maps. - Time you get after an attack + Likelihood of a mine being a dud. Does not affect mines placed by hedgehogs. + Average number of barrels to be placed a medium-sized island map. This number will be scaled for other maps. + + + + + Average number of air mines to be placed a medium-sized island map. This number will be scaled for other maps. + + + + + Affects the left and right boundaries of the map + + + + + Time you get after an attack + + + + Additional parameter to configure game styles. The meaning depends on the used style, refer to the documentation. When in doubt, leave it empty. - + None (Default) - + Wrap (World wraps) - + Bounce (Edges reflect) - + Sea (Edges connect to sea) - + Name of this scheme - + Copy - + New - + Delete @@ -2325,22 +2344,22 @@ PageSelectWeapon - + Default - + New - - Copy - - - + Copy + + + + Delete @@ -2381,48 +2400,48 @@ PageTraining - + Pick the training to play - + Pick the challenge to play - + Pick the scenario to play - - Trainings - - - - Challenges + Trainings + Challenges + + + + Scenarios - - + + Start fighting - + No description available - + Select a mission! @@ -2430,17 +2449,17 @@ PageVideos - + Name - + Size - + %1 bytes @@ -2449,77 +2468,84 @@ - + + %1% + Video encoding progress. %1 = number + + + + (in progress...) - + Date: %1 - + Size: %1 - + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + + + encoding - - - uploading - - QAction - + Info - + Kick - + Ban - + Delegate room control - + Follow - - + + Ignore - - + + Add friend - + Unignore - + Remove friend @@ -2539,22 +2565,22 @@ - + Show games in lobby - + Show games in-progress - + Show password protected - + Show join restricted @@ -2562,145 +2588,135 @@ QCheckBox - + Show ammo menu tooltips - + Alternative damage show - + Team - - Enable team tags by default - - - + Enable team tags by default + + + + Hog - - Enable hedgehog tags by default - - - + Enable hedgehog tags by default + + + + Health - - Enable health tags by default - - - + Enable health tags by default + + + + Translucent - + Enable translucent tags by default - + Visual effects - + Enable visual effects such as animated menu transitions and falling stars - - + + Sound - + In-game sound effects - - + + Music - + In-game music - + Frontend sound effects - + Frontend music - + Append date and time to record file name - + If enabled, Hedgewars adds the date and time in the form "YYYY-MM-DD_hh-mm" for automatically created demos. - + Check for updates at startup - + Fullscreen - + Show FPS - + Save password - - Save account name and password - - - - - Video is private - - - - + Record audio - + Use game resolution @@ -2708,127 +2724,127 @@ QComboBox - + Human - + Computer (Level %1) - + Community - + (System default) - + Disabled - - Stereoscopy creates an illusion of depth when you wear 3D glasses. - - - - Red/Cyan - - - - - Cyan/Red - - - - - Red/Blue + Stereoscopy creates an illusion of depth when you wear 3D glasses. - Blue/Red + Red/Cyan - Red/Green + Cyan/Red + Red/Blue + + + + + Blue/Red + + + + + Red/Green + + + + Green/Red + + Side-by-side + + + + + Top-Bottom + + + + + 24 FPS + + + + + 25 FPS + + + + + 30 FPS + + + + + 50 FPS + + + + + 60 FPS + + + + + Red/Cyan grayscale + + + + + Cyan/Red grayscale + + + + + Red/Blue grayscale + + + - Side-by-side + Blue/Red grayscale - Top-Bottom - - - - - 24 FPS - - - - - 25 FPS - - - - - 30 FPS - - - - - 50 FPS - - - - - 60 FPS - - - - - Red/Cyan grayscale - - - - - Cyan/Red grayscale - - - - - Red/Blue grayscale - - - - - Blue/Red grayscale - - - - Red/Green grayscale - + Green/Red grayscale @@ -2846,7 +2862,7 @@ - + Fort @@ -2866,17 +2882,17 @@ - + Playing teams - + Videos - + Description @@ -2889,12 +2905,12 @@ - + Scheme - + Weapons @@ -2955,163 +2971,163 @@ - + Locale - + Nickname - + Stereoscopy - + This setting will be effective at next restart. - + Resolution - + Bitrate (Kibit/s) “Kibit/s” is the symbol for 1024 bits per second - + Quality - + Fullscreen - + Fullscreen Resolution - + Windowed Resolution - + Displayed tags above hogs and translucent tags - + Initial sound volume - + FPS limit - + Damage Modifier - + Turn Time - + Initial Health - + Sudden Death Timeout - + Sudden Death Water Rise - + Sudden Death Health Decrease - + % Rope Length - + Crate Drops - + % Health Crates - + Health in Crates - + Mines Time - + Mines - + % Dud Mines - + Barrels - + % Retreat Time - + Air Mines - + World Edge - + Script parameter - + Scheme Name: @@ -3123,36 +3139,6 @@ - - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - - Account name (or email): - - - - - Password: - - - - - Video title: - - - - - Video description: - - - - - Tags (comma separated): - - - Your Email @@ -3173,27 +3159,32 @@ + + Loading<br>CAPTCHA ... + + + Type the security code: - + Format - + Audio codec - + Video codec - + Framerate @@ -3201,24 +3192,28 @@ QLineEdit - + unnamed - + unnamed (%1) + + hedgehog %1 + + + + + anonymous + + + - - hedgehog %1 - - - - - anonymous + Hedgehog %1 @@ -3233,65 +3228,65 @@ QMessageBox - + Teams - Are you sure? - + Do you really want to delete the team '%1'? - - Teams - Name already taken - - - + Teams - Name already taken + + + + The team name '%1' is already taken, so your team has been renamed to '%2'. - - + + Cannot delete default scheme '%1'! - + Please select a record from the list - + Hedgewars - Nick not registered - + Unable to start server - + Connection to server is lost - + Sorry, Hedgewars can't be played with more than 48 hedgehogs. Please try again with fewer hedgehogs. Current number of hedgehogs: %1 - + Not all players are ready - + Are you sure you want to start this game? Not all players are ready. @@ -3324,18 +3319,18 @@ - + Hedgewars - Success - + All file associations have been set - + File association failed. @@ -3344,7 +3339,7 @@ - + Error @@ -3365,34 +3360,6 @@ - - Cannot use the ammo '%1'! - - - - - Error while authenticating at google.com: - - - - - - Login or password is incorrect - - - - - - Video upload - Error - - - - - Error while sending metadata to youtube.com: - - - - Netgame - Error @@ -3409,55 +3376,54 @@ - + Room Name - Error - + Please select room from the list - - Room Name - Are you sure? - - - + Room Name - Are you sure? + + + + The game you are trying to join has started. Do you still want to join the room? - + Schemes - Warning - + Schemes - Are you sure? - + Do you really want to delete the game scheme '%1'? - - - + + Videos - Are you sure? - + Do you really want to delete the video '%1'? - + Do you really want to remove %1 file(s)? @@ -3466,51 +3432,46 @@ - - Do you really want to cancel uploading %1? - - - - - - + + + File error - + Cannot open '%1' for writing - - + + Cannot open '%1' for reading - - + + Weapons - Warning - + Cannot overwrite default weapon set '%1'! - + Cannot delete default weapon set '%1'! - + Weapons - Are you sure? - + Do you really want to delete the weapon set '%1'? @@ -3524,12 +3485,29 @@ Hedgewars - Information + + + Welcome to Hedgewars + + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + + Cannot use the weapon scheme '%1'! + + QObject - - + + No description available @@ -3548,7 +3526,7 @@ - + Cancel @@ -3595,7 +3573,7 @@ - + Start @@ -3605,7 +3583,7 @@ - + Associate file extensions @@ -3621,8 +3599,8 @@ - - + + Delete @@ -3637,62 +3615,45 @@ - + Set default options - + Restore default coding parameters - + Open videos directory - + Open the video directory in your system - + Play - + Play this video - + Delete this video - - - - - Upload to YouTube - - - - - Upload this video to your YouTube account - - - - - Cancel uploading - - QSpinBox - + Specify the bitrate of recorded videos as a multiple of 1024 bits per second @@ -3705,18 +3666,18 @@ - + set password - + Cancel - + Create room @@ -3827,42 +3788,42 @@ SelWeaponWidget - + Weapon set - + Probabilities - + Ammo in boxes - + Delays - + New - + New (%1) - + Copy of %1 - + Copy of %1 (%2) @@ -3875,13 +3836,13 @@ - + Unable to run engine at %1 Error code: %2 - + The game engine died unexpectedly! (exit code %1) @@ -3894,7 +3855,7 @@ TeamSelWidget - + At least two teams are required to play! @@ -3907,17 +3868,17 @@ - + Search for a theme: - + Cancel - + Use selected theme @@ -4085,62 +4046,72 @@ - chat history + team chat - pause + chat history - quit + pause / auto skip - confirmation + quit - volume down + confirmation - volume up + volume down - mute audio + volume up - change mode + mute audio - capture + change mode + capture + + + + speed up replay - + toggle team bars This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + toggle hedgehog tags + + + + record @@ -4226,37 +4197,37 @@ - + Pause, continue or leave your game: - + Modify the game's volume while playing: - - Toggle fullscreen mode: - - - - Take a screenshot: + Toggle fullscreen mode: + Take a screenshot: + + + + Demo replay: - + Heads-up display: - + Record video: @@ -4664,123 +4635,28 @@ server - - Restricted - - - - - Not room master - - - - - Corrupted hedgehogs info - - - - - too many teams - - - - - too many hedgehogs - - - - - There's already a team with same name in the list - - - - - round in progress - - - - - restricted - - - - - REMOVE_TEAM: no such team - - - - - Not team owner! - - - - - Less than two clans! - - - - - You already have voted - - - - - Your vote counted - - - - - Voting closed - - - - - Pause toggled - - - - + New voting started - - Voting expired - - - - - kick - - - - map + kick - pause + map - new seed + pause - number of hedgehogs in team - - - - - Illegal room name - - - - - Room with such name already exists + new seed @@ -4794,52 +4670,7 @@ - - callvote kick: specify nickname - - - - - callvote kick: no such user - - - - - callvote map: no such map - - - - - callvote pause: no game in progress - - - - - callvote hedgehogs: specify number from 1 to 8 - - - - - Nickname already chosen - - - - - Illegal nickname - - - - - Protocol already known - - - - - Bad number - - - - + Nickname is already in use @@ -4879,28 +4710,183 @@ + + The game can't be started with less than two clans! + + + + + Empty config entry. + + + + + Access denied. + + + + + You're not the room master! + + + + + Corrupted hedgehogs info! + + + + + Too many teams! + + + + + Too many hedgehogs! + + + + + There's already a team with same name in the list. + + + + + Joining not possible: Round is in progress. + + + + + This room currently does not allow adding new teams. + + + + + Error: The team you tried to remove does not exist. + + + + + You can't remove a team you don't own. + + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + + A room with the same name already exists. + + + + + /callvote kick: You need to specify a nickname. + + + + + /callvote kick: No such user! + + + + + /callvote map: No such map! + + + + + /callvote pause: No game in progress! + + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + - No such room + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} - Room version incompatible to your hedgewars version + No such room. - Joining restricted + Room version incompatible to your Hedgewars version! - Registered users only + Access denied. This room currently doesn't allow joining. - You are banned in this room + Access denied. This room is for registered users only. + + + + + You are banned from this room. + + + + + Nickname already provided. + + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + + Protocol already known. + + + + + Bad number. + + + + + There's no voting going on. + + + + + You already have voted. + + + + + Your vote has been counted. + + + + + Voting closed. + + + + + Pause toggled. + + + + + Voting expired. + + + + + hedgehogs per team: @@ -4923,15 +4909,5 @@ Warning! Joins flood protection activated - - - There's no voting going on - - - - - Empty config entry - - diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_ms.ts --- a/share/hedgewars/Data/Locale/hedgewars_ms.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_ms.ts Sun Jun 10 19:12:26 2018 +0200 @@ -4,95 +4,95 @@ About - + Hedgewars %1 %1 contains Hedgewars' version number - + Revision %1 (%2) - + Visit our homepage: %1 - + This program is distributed under the %1. - + GNU GPL v2 Short for “GNU General Public License version 2” - + Dependency versions: For the version numbers of Hedgewars' software dependencies - + <a href="https://gcc.gnu.org">GCC</a>: %1 - + Unknown Compiler - + <a href="https://www.libsdl.org/">SDL2</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_mixer</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_net</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_image</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_ttf</a>: %1.%2.%3 - + <a href="https://www.qt.io/developers/">Qt</a>: %1 - + <a href="https://libav.org">libavcodec</a>: %1.%2.%3 - + <a href="https://libav.org">libavformat</a>: %1.%2.%3 - + <a href="https://libav.org">libavutil</a>: %1.%2.%3 - + <a href="https://icculus.org/physfs/">PhysFS</a>: %1.%2.%3 @@ -106,29 +106,6 @@ - AmmoSchemeModel - - - New - - - - - New (%1) - - - - - Copy of %1 - - - - - Copy of %1 (%2) - - - - BanDialog @@ -275,22 +252,45 @@ - + Edit schemes - + Edit weapons - + Game scheme will auto-select a weapon + GameSchemeModel + + + New + + + + + New (%1) + + + + + Copy of %1 + + + + + Copy of %1 (%2) + + + + GameUIConfig @@ -346,73 +346,73 @@ - + Cannot create directory %1 - - Usage - command-line - - - - - OPTION - command-line - - - - - - CONNECTSTRING - command-line - - - - - Options - command-line - - - - - Display this help - command-line - - - - - Custom path for configuration data and user data - command-line - - - - - Custom path to the game data folder - command-line - - - + Usage + command-line + + + + + OPTION + command-line + + + + + + CONNECTSTRING + command-line + + + + + Options + command-line + + + + + Display this help + command-line + + + + + Custom path for configuration data and user data + command-line + + + + + Custom path to the game data folder + command-line + + + + Hedgewars can use a %1 (e.g. "%2") to connect on start. command-line - + Malformed option argument: %1 command-line - + Unknown option argument: %1 command-line - + Failed to open data directory: %1 @@ -431,82 +431,82 @@ HWChatWidget - + Chat log - + Enter chat messages here and send them with [Enter] - + List of players - + %1 has joined - + %1 has left - + %1 has left (%2) - + %1 has been removed from your ignore list - + %1 has been added to your ignore list - + %1 has been removed from your friends list - + %1 has been added to your friends list - - Stylesheet imported from %1 - - - + Stylesheet imported from %1 + + + + Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset! - + Couldn't read %1 - + StyleSheet discarded - + StyleSheet saved to %1 - + Failed to save StyleSheet to %1 @@ -515,46 +515,46 @@ HWForm - - - + + + Guest - + Team 1 - + %1's Team - + Team %1 Default team name - + Computer %1 Default computer team name - + Game aborted - + Hedgewars - Nick registered - + This nick is registered, and you haven't specified a password. If this nick isn't yours, please register your own nick at www.hedgewars.org @@ -563,119 +563,119 @@ - + Your nickname is not registered. To prevent someone else from using it, please register it at www.hedgewars.org - + Your password wasn't saved either. - + Nickname - + Someone already uses your nickname %1 on the server. Please pick another nickname: - - + + No nickname supplied. - - + + Hedgewars - Empty nickname - + Hedgewars - Wrong password - + You entered a wrong password. - + Room password - + The room is protected with password. Please, enter the password: - + Try Again - + Hedgewars - Connection error - + You reconnected too fast. Please wait a few seconds and try again. - - + + Cannot save record to file %1 - + Hedgewars Demo File File Types - + Hedgewars Save File File Types - + Demo name - + Demo name: - + Unknown network error (possibly missing SSL library). - + This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + Internal error: Reply object is invalid. @@ -684,18 +684,18 @@ HWGame - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 - - - - +Last engine message: +%1 + + + + en.txt IMPORTANT: This text has a special meaning, do not translate it directly. This is the file name of translation files for the game engine, found in Data/Locale/. Usually, you replace “en” with the ISO-639-1 language code of your language. @@ -718,228 +718,228 @@ HWMapContainer - + Map type: - + Image map - + Mission map - + Hand-drawn - + Randomly generated - + Random maze - + Random perlin - + Forts - + Random - + View and edit the seed, the source of randomness in the game - + Map preview: - + Load map drawing - + Edit map drawing - + All - + Small - + Medium - + Large - + Cavern - + Wacky - + Large tunnels - + Small islands - + Medium islands - + Large islands - + Randomize the theme - + Choose a theme - + Randomize the map, theme and seed - + Randomize the theme and seed - + Randomize the seed - + Click to randomize the map, theme and seed - + Click to randomize the theme and seed - + Adjust the complexity of the generated map - + Adjust the distance between forts - + Click to edit - + Map size: - + Maze style: - + Style: - + Mission: - + Map: - + Theme: %1 - + Load drawn map - + Drawn Maps - + All files - + Small tunnels - + Medium tunnels - + Seed @@ -965,7 +965,7 @@ HWNewNet - + Quit reason: @@ -1058,19 +1058,6 @@ - HWUploadVideoDialog - - - Upload video - - - - - Upload - - - - HatButton @@ -1112,28 +1099,50 @@ LibavInteraction - - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - - %1 FPS - - - - - Audio: + + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + + Player: %1 + + + + + Theme: %1 + + + + + Map: %1 + + + + + Record: %1 + + + + + Audio: + + + + unknown @@ -1141,7 +1150,7 @@ MapModel - + No description available. @@ -1274,32 +1283,32 @@ PageDataDownload - + Load the start page - + Open packages directory - + Loading, please wait. - + Unknown network error (possibly missing SSL library). - + This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + Internal error: Reply object is invalid. @@ -1307,69 +1316,74 @@ PageDrawMap - + Eraser - + Undo - - Polyline - - - - Rectangle + Polyline + Rectangle + + + + Ellipse - - Clear - - - - - Optimize - - - + Brush size + + + + + Clear + + + + + Optimize + + + + Load - + Save - + Load drawn map - - + + Drawn Maps - - + + All files - + Save drawn map @@ -1437,43 +1451,43 @@ - + Randomize the team name - + Randomize the grave - + Randomize the flag - + Play a random example of this voice - + Randomize the voice - + Randomize the fort - + CPU %1 Name of a flag for computer-controlled enemies. %1 is replaced with the computer level - + %1 (%2) @@ -1486,49 +1500,49 @@ - + Health graph - + Ranking - + Play again - + Save - + The best shot award was won by <b>%1</b> with <b>%2</b> pts. - + The best killer is <b>%1</b> with <b>%2</b> kills in a turn. - + A total of <b>%1</b> hedgehog(s) were killed during this round. - + (%1 kill) Number of kills in stats screen, written after the team name @@ -1536,7 +1550,7 @@ - + (%1 %2) For custom number of points in the stats screen, written after the team name. %1 is the number, %2 is the word. Example: “4 points” @@ -1544,21 +1558,21 @@ - + <b>%1</b> thought it's good to shoot their own hedgehogs for <b>%2</b> pts. - + <b>%1</b> killed <b>%2</b> of their own hedgehogs. - + <b>%1</b> was scared and skipped turn <b>%2</b> times. @@ -1747,7 +1761,7 @@ - + Game @@ -1787,184 +1801,184 @@ - + New team - + Edit team - + Delete team - + You can't edit teams from team selection. Go back to main menu to add, edit or delete teams. - + Schemes - + New scheme - + Edit scheme - + Delete scheme - + Weapons - + New weapon set - + Edit weapon set - + Delete weapon set - - + + x Multiplication sign, to be used between two numbers. Note the “x” is only a dummy character, we recommend to use “×” if your language permits it - + Frontend - + Custom colors - + Reset to default colors - + Game audio - + Frontend audio - + Account - + Proxy settings - - Proxy host - - - - - Proxy port - - - - - Proxy login - - - + Proxy host + + + + + Proxy port + + + + + Proxy login + + + + Proxy password - - No proxy - - - - - System proxy settings - - - - - Socks5 proxy - - - + No proxy + + + + + System proxy settings + + + + + Socks5 proxy + + + + HTTP proxy - + Miscellaneous - + MISSING LANGUAGE NAME [%1] - + Updates - + Check for updates - + Check now - + Video recording options - + Can't delete last team - + You can't delete the last team! @@ -2000,37 +2014,37 @@ PageRoomsList - + Search for a room: - + Create room - + Join room - + Room state - + Admin features - + Open server administration page - + %1 players online @@ -2040,7 +2054,7 @@ PageScheme - + Land can not be destroyed! @@ -2050,57 +2064,57 @@ - + Lower gravity - + Assisted aiming with laser sight - + All hogs have a personal forcefield - + All (living) hedgehogs are fully restored at the end of turn - - Gain 80% of the damage you do back in health - - - + Gain 80% of the damage you do back in health + + + + Share your opponents pain, share their damage - + Your hogs are unable to move, put your artillery skills to the test - - Order of play is random instead of in room order. - - - - - Play with a King. If he dies, your side dies. - - - + Order of play is random instead of in room order. + + + + + Play with a King. If he dies, your side dies. + + + + Take turns placing your hedgehogs before the start of play. - + Ammo is shared between all teams that share a colour. @@ -2115,37 +2129,37 @@ - + AI respawns on death. + + Attacking does not end your turn. + + + - Attacking does not end your turn. - - - - Weapons are reset to starting values each turn. - + Each hedgehog has its own ammo. It does not share with the team. - - You will not have to worry about wind anymore. - - - + You will not have to worry about wind anymore. + + + + Wind will affect almost everything. - + Teams in each clan take successive turns sharing their turn time. @@ -2155,137 +2169,142 @@ - + + Select a hedgehog at the beginning of a turn + + + + Each clan starts in its own part of the terrain. - - Overall damage and knockback in percent - - - - - Turn time in seconds - - - - - Initial health of hedgehogs - - - - - How many rounds have to be played before Sudden Death begins - - - - How much the water rises per turn while in Sudden Death. Set to 0 along with Sudden Death Health Decrease to disable Sudden Death. + Overall damage and knockback in percent - How much health hedgehogs lose per turn while in Sudden Death, down to 1 health. Set to 0 along with Sudden Death Water Rise to disable Sudden Death. + Turn time in seconds - Maximum rope length in percent + Initial health of hedgehogs - Likelihood of a dropped crate being a health crate. All other crates will be weapon or utility crates. + How many rounds have to be played before Sudden Death begins - Likelihood of a crate dropping before a turn + How much the water rises per turn while in Sudden Death. Set to 0 along with Sudden Death Health Decrease to disable Sudden Death. - Health bonus for collecting a health crate + How much health hedgehogs lose per turn while in Sudden Death, down to 1 health. Set to 0 along with Sudden Death Water Rise to disable Sudden Death. - Detonation timer of mines. The random timer lies between 0 and 5 seconds. The timer of air mines will be a quarter of the mines timer. + Maximum rope length in percent - Average number of mines to be placed a medium-sized island map. This number will be scaled for other maps. + Likelihood of a dropped crate being a health crate. All other crates will be weapon or utility crates. - Likelihood of a mine being a dud. Does not affect mines placed by hedgehogs. + Likelihood of a crate dropping before a turn - Average number of barrels to be placed a medium-sized island map. This number will be scaled for other maps. + Health bonus for collecting a health crate - Average number of air mines to be placed a medium-sized island map. This number will be scaled for other maps. + Detonation timer of mines. The random timer lies between 0 and 5 seconds. The timer of air mines will be a quarter of the mines timer. - Affects the left and right boundaries of the map + Average number of mines to be placed a medium-sized island map. This number will be scaled for other maps. - Time you get after an attack + Likelihood of a mine being a dud. Does not affect mines placed by hedgehogs. + Average number of barrels to be placed a medium-sized island map. This number will be scaled for other maps. + + + + + Average number of air mines to be placed a medium-sized island map. This number will be scaled for other maps. + + + + + Affects the left and right boundaries of the map + + + + + Time you get after an attack + + + + Additional parameter to configure game styles. The meaning depends on the used style, refer to the documentation. When in doubt, leave it empty. - + None (Default) - + Wrap (World wraps) - + Bounce (Edges reflect) - + Sea (Edges connect to sea) - + Name of this scheme - + Copy - + New - + Delete @@ -2293,22 +2312,22 @@ PageSelectWeapon - + New - + Default - - Copy - - - + Copy + + + + Delete @@ -2349,48 +2368,48 @@ PageTraining - + Pick the training to play - + Pick the challenge to play - + Pick the scenario to play - - Trainings - - - - Challenges + Trainings + Challenges + + + + Scenarios - - + + Start fighting - + No description available - + Select a mission! @@ -2398,47 +2417,54 @@ PageVideos - + Name - + Size - + %1 bytes - + + %1% + Video encoding progress. %1 = number + + + + (in progress...) - + Date: %1 - + Size: %1 - + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + + + encoding - - - uploading - - QAction @@ -2458,69 +2484,69 @@ - + Info - + Kick - + Ban - + Delegate room control - + Follow - - + + Ignore - - + + Add friend - + Unignore - + Remove friend - + Show games in lobby - + Show games in-progress - + Show password protected - + Show join restricted @@ -2529,144 +2555,134 @@ QCheckBox - + Save password - - Save account name and password - - - - - Video is private - - - - + Check for updates at startup - + Fullscreen - + Alternative damage show - + Show FPS - + Show ammo menu tooltips - + Team - - Enable team tags by default - - - + Enable team tags by default + + + + Hog - - Enable hedgehog tags by default - - - + Enable hedgehog tags by default + + + + Health - - Enable health tags by default - - - + Enable health tags by default + + + + Translucent - + Enable translucent tags by default - + Visual effects - + Enable visual effects such as animated menu transitions and falling stars - - + + Sound - + In-game sound effects - - + + Music - + In-game music - + Frontend sound effects - + Frontend music - + Append date and time to record file name - + If enabled, Hedgewars adds the date and time in the form "YYYY-MM-DD_hh-mm" for automatically created demos. - + Record audio - + Use game resolution @@ -2674,127 +2690,127 @@ QComboBox - + Human - + Computer (Level %1) - + Community - + (System default) - + Disabled - - Stereoscopy creates an illusion of depth when you wear 3D glasses. - - - - Red/Cyan - - - - - Cyan/Red - - - - - Red/Blue + Stereoscopy creates an illusion of depth when you wear 3D glasses. - Blue/Red + Red/Cyan - Red/Green + Cyan/Red + Red/Blue + + + + + Blue/Red + + + + + Red/Green + + + + Green/Red + + Side-by-side + + + + + Top-Bottom + + + + + 24 FPS + + + + + 25 FPS + + + + + 30 FPS + + + + + 50 FPS + + + + + 60 FPS + + + + + Red/Cyan grayscale + + + + + Cyan/Red grayscale + + + + + Red/Blue grayscale + + + - Side-by-side + Blue/Red grayscale - Top-Bottom - - - - - 24 FPS - - - - - 25 FPS - - - - - 30 FPS - - - - - 50 FPS - - - - - 60 FPS - - - - - Red/Cyan grayscale - - - - - Cyan/Red grayscale - - - - - Red/Blue grayscale - - - - - Blue/Red grayscale - - - - Red/Green grayscale - + Green/Red grayscale @@ -2812,7 +2828,7 @@ - + Fort @@ -2832,17 +2848,17 @@ - + Videos - + Description - + Playing teams @@ -2867,36 +2883,6 @@ - - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - - Account name (or email): - - - - - Password: - - - - - Video title: - - - - - Video description: - - - - - Tags (comma separated): - - - Name @@ -2942,6 +2928,11 @@ + + Loading<br>CAPTCHA ... + + + Type the security code: @@ -2968,188 +2959,188 @@ - + Weapons - + Locale - + Nickname - + Stereoscopy - + This setting will be effective at next restart. - + Resolution - + Bitrate (Kibit/s) “Kibit/s” is the symbol for 1024 bits per second - + Quality - + Fullscreen - + Fullscreen Resolution - + Windowed Resolution - + Displayed tags above hogs and translucent tags - + Initial sound volume - + FPS limit - + Damage Modifier - + Turn Time - + Initial Health - + Sudden Death Timeout - + Sudden Death Water Rise - + Sudden Death Health Decrease - + % Rope Length - + Crate Drops - + % Health Crates - + Health in Crates - + Mines Time - + Mines - + % Dud Mines - + Barrels - + % Retreat Time - + Air Mines - + World Edge - + Script parameter - + Scheme Name: - + Format - + Audio codec - + Video codec - + Framerate @@ -3159,7 +3150,7 @@ - + Scheme @@ -3167,24 +3158,28 @@ QLineEdit - + unnamed - + unnamed (%1) + + hedgehog %1 + + + + + anonymous + + + - - hedgehog %1 - - - - - anonymous + Hedgehog %1 @@ -3199,65 +3194,65 @@ QMessageBox - + Teams - Are you sure? - + Do you really want to delete the team '%1'? - - Teams - Name already taken - - - + Teams - Name already taken + + + + The team name '%1' is already taken, so your team has been renamed to '%2'. - - + + Cannot delete default scheme '%1'! - + Please select a record from the list - + Hedgewars - Nick not registered - + Unable to start server - + Connection to server is lost - + Sorry, Hedgewars can't be played with more than 48 hedgehogs. Please try again with fewer hedgehogs. Current number of hedgehogs: %1 - + Not all players are ready - + Are you sure you want to start this game? Not all players are ready. @@ -3290,45 +3285,22 @@ - + Hedgewars - Success - + All file associations have been set - + File association failed. - - Error while authenticating at google.com: - - - - - - Login or password is incorrect - - - - - - Video upload - Error - - - - - Error while sending metadata to youtube.com: - - - - Netgame - Error @@ -3345,80 +3317,74 @@ - + Room Name - Error - + Please select room from the list - - Room Name - Are you sure? - - - + Room Name - Are you sure? + + + + The game you are trying to join has started. Do you still want to join the room? - + Schemes - Warning - + Schemes - Are you sure? - + Do you really want to delete the game scheme '%1'? - - - + + Videos - Are you sure? - + Do you really want to delete the video '%1'? - + Do you really want to remove %1 file(s)? - - Do you really want to cancel uploading %1? - - - - - - + + + File error - + Cannot open '%1' for writing - - + + Cannot open '%1' for reading @@ -3427,7 +3393,7 @@ - + Error @@ -3448,33 +3414,28 @@ - - Cannot use the ammo '%1'! - - - - - + + Weapons - Warning - + Cannot overwrite default weapon set '%1'! - + Cannot delete default weapon set '%1'! - + Weapons - Are you sure? - + Do you really want to delete the weapon set '%1'? @@ -3488,12 +3449,29 @@ Hedgewars - Information + + + Welcome to Hedgewars + + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + + Cannot use the weapon scheme '%1'! + + QObject - - + + No description available @@ -3517,7 +3495,7 @@ - + Cancel @@ -3564,7 +3542,7 @@ - + Start @@ -3574,7 +3552,7 @@ - + Associate file extensions @@ -3590,8 +3568,8 @@ - - + + Delete @@ -3601,62 +3579,45 @@ - + Set default options - + Restore default coding parameters - + Open videos directory - + Open the video directory in your system - + Play - + Play this video - + Delete this video - - - - - Upload to YouTube - - - - - Upload this video to your YouTube account - - - - - Cancel uploading - - QSpinBox - + Specify the bitrate of recorded videos as a multiple of 1024 bits per second @@ -3669,18 +3630,18 @@ - + set password - + Cancel - + Create room @@ -3791,42 +3752,42 @@ SelWeaponWidget - + Weapon set - + Probabilities - + Ammo in boxes - + Delays - + New - + New (%1) - + Copy of %1 - + Copy of %1 (%2) @@ -3839,13 +3800,13 @@ - + Unable to run engine at %1 Error code: %2 - + The game engine died unexpectedly! (exit code %1) @@ -3858,7 +3819,7 @@ TeamSelWidget - + At least two teams are required to play! @@ -3871,17 +3832,17 @@ - + Search for a theme: - + Cancel - + Use selected theme @@ -4049,62 +4010,72 @@ - chat history + team chat - pause + chat history - quit + pause / auto skip - confirmation + quit - volume down + confirmation - volume up + volume down - mute audio + volume up - change mode + mute audio - capture + change mode + capture + + + + speed up replay - + toggle team bars This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + toggle hedgehog tags + + + + record @@ -4190,37 +4161,37 @@ - + Pause, continue or leave your game: - + Modify the game's volume while playing: - - Toggle fullscreen mode: - - - - Take a screenshot: + Toggle fullscreen mode: + Take a screenshot: + + + + Demo replay: - + Heads-up display: - + Record video: @@ -4628,123 +4599,28 @@ server - - Restricted - - - - - Not room master - - - - - Corrupted hedgehogs info - - - - - too many teams - - - - - too many hedgehogs - - - - - There's already a team with same name in the list - - - - - round in progress - - - - - restricted - - - - - REMOVE_TEAM: no such team - - - - - Not team owner! - - - - - Less than two clans! - - - - - You already have voted - - - - - Your vote counted - - - - - Voting closed - - - - - Pause toggled - - - - + New voting started - - Voting expired - - - - - kick - - - - map + kick - pause + map - new seed + pause - number of hedgehogs in team - - - - - Illegal room name - - - - - Room with such name already exists + new seed @@ -4758,52 +4634,7 @@ - - callvote kick: specify nickname - - - - - callvote kick: no such user - - - - - callvote map: no such map - - - - - callvote pause: no game in progress - - - - - callvote hedgehogs: specify number from 1 to 8 - - - - - Nickname already chosen - - - - - Illegal nickname - - - - - Protocol already known - - - - - Bad number - - - - + Nickname is already in use @@ -4843,28 +4674,183 @@ + + The game can't be started with less than two clans! + + + + + Empty config entry. + + + + + Access denied. + + + + + You're not the room master! + + + + + Corrupted hedgehogs info! + + + + + Too many teams! + + + + + Too many hedgehogs! + + + + + There's already a team with same name in the list. + + + + + Joining not possible: Round is in progress. + + + + + This room currently does not allow adding new teams. + + + + + Error: The team you tried to remove does not exist. + + + + + You can't remove a team you don't own. + + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + + A room with the same name already exists. + + + + + /callvote kick: You need to specify a nickname. + + + + + /callvote kick: No such user! + + + + + /callvote map: No such map! + + + + + /callvote pause: No game in progress! + + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + - No such room + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} - Room version incompatible to your hedgewars version + No such room. - Joining restricted + Room version incompatible to your Hedgewars version! - Registered users only + Access denied. This room currently doesn't allow joining. - You are banned in this room + Access denied. This room is for registered users only. + + + + + You are banned from this room. + + + + + Nickname already provided. + + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + + Protocol already known. + + + + + Bad number. + + + + + There's no voting going on. + + + + + You already have voted. + + + + + Your vote has been counted. + + + + + Voting closed. + + + + + Pause toggled. + + + + + Voting expired. + + + + + hedgehogs per team: @@ -4887,15 +4873,5 @@ Warning! Joins flood protection activated - - - There's no voting going on - - - - - Empty config entry - - diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_nl.ts --- a/share/hedgewars/Data/Locale/hedgewars_nl.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_nl.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,25 +87,6 @@ - AmmoSchemeModel - - New - - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -240,6 +221,25 @@ + GameSchemeModel + + New + + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -569,14 +569,14 @@ - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -863,17 +863,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -917,16 +906,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1121,6 +1128,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1872,6 +1883,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -1984,10 +1999,6 @@ - uploading - - - Date: %1 @@ -1995,6 +2006,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2094,14 +2115,6 @@ - Save account name and password - - - - Video is private - - - Record audio @@ -2449,30 +2462,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Description @@ -2573,6 +2562,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2592,6 +2585,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2615,20 +2612,6 @@ - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Error while sending metadata to youtube.com: - - - - Teams - Are you sure? @@ -2661,10 +2644,6 @@ - Video upload - Error - - - Netgame - Error @@ -2721,10 +2700,6 @@ - Do you really want to cancel uploading %1? - - - File error @@ -2737,10 +2712,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2823,6 +2794,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -2902,14 +2887,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Restore default coding parameters @@ -2945,10 +2922,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3245,10 +3218,6 @@ - pause - - - confirmation @@ -3317,6 +3286,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3734,74 +3715,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -3830,46 +3743,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -3902,26 +3779,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -3930,23 +3791,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_pl.ts --- a/share/hedgewars/Data/Locale/hedgewars_pl.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_pl.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,37 +87,6 @@ - AmmoSchemeModel - - new - nowy - - - copy of - kopia - - - copy of %1 - kopia %1 - - - New - Nowy - - - Copy of %1 - Kopia %1 - - - New (%1) - Nowy (%1) - - - Copy of %1 (%2) - Kopia %1 (%2) - - - BanDialog IP @@ -265,6 +234,37 @@ + GameSchemeModel + + new + nowy + + + copy of + kopia + + + copy of %1 + kopia %1 + + + New + Nowy + + + Copy of %1 + Kopia %1 + + + New (%1) + Nowy (%1) + + + Copy of %1 (%2) + Kopia %1 (%2) + + + GameUIConfig Guest @@ -663,7 +663,7 @@ Last two engine messages: %2 - Wystąpił fatalny BŁĄD! - Silnik gry musiał się zatrzymać. + Wystąpił fatalny BŁĄD! - Silnik gry musiał się zatrzymać. Bardzo nam przykro z powodu niedogodności :( @@ -672,6 +672,17 @@ Dwie ostatnie wiadomości silnika: %2 + + A fatal ERROR occured! The game engine had to stop. + +We are very sorry for the inconvenience. :-( + +If this keeps happening, please click the 'Feedback' button in the main menu! + +Last engine message: +%1 + + HWHostPortDialog @@ -974,11 +985,11 @@ HWUploadVideoDialog Upload video - Prześłij wideo + Prześłij wideo Upload - Prześlij + Prześlij @@ -1051,7 +1062,7 @@ Video: %1x%2 - Wideo: %1x%2 + Wideo: %1x%2 Duration: %1min %2s @@ -1060,7 +1071,33 @@ %1 FPS - %1 FPS + %1 FPS + + + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + Motyw: %1 + + + Map: %1 + + + + Record: %1 + @@ -1259,6 +1296,10 @@ Optimize Optymalizuj + + Brush size + + PageEditTeam @@ -2079,6 +2120,10 @@ Name of this scheme Nazwa tego schematu + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2197,7 +2242,7 @@ uploading - wysyłanie + wysyłanie Date: %1 @@ -2219,6 +2264,16 @@ Size: %1 Rozmiar: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2323,11 +2378,11 @@ Save account name and password - Zapisz nazwę użytkownika i hasło + Zapisz nazwę użytkownika i hasło Video is private - Film jest prywatny + Film jest prywatny Record audio @@ -2724,27 +2779,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Wprowadź nazwę użytkownika YouTube lub adres mailowy powiązany z Kontem Google. + Wprowadź nazwę użytkownika YouTube lub adres mailowy powiązany z Kontem Google. Account name (or email): - Nazwa konta (lub email): + Nazwa konta (lub email): Password: - Hasło: + Hasło: Video title: - Nazwa filmu: + Nazwa filmu: Video description: - Opis filmu: + Opis filmu: Tags (comma separated): - Tagi (oddzielone przecinkami): + Tagi (oddzielone przecinkami): Description @@ -2859,6 +2914,10 @@ “Kibit/s” is the symbol for 1024 bits per second Bitrate (Kibit/s) + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2878,6 +2937,10 @@ unnamed (%1) nienazwany (%1) + + Hedgehog %1 + + QMainWindow @@ -2907,17 +2970,17 @@ Error while authenticating at google.com: - Błąd uwierzytelniania na google.com: + Błąd uwierzytelniania na google.com: Login or password is incorrect - Login lub hasło są niepoprawne + Login lub hasło są niepoprawne Error while sending metadata to youtube.com: - Błąd w trakcie wysyłania danych do Youtube: + Błąd w trakcie wysyłania danych do Youtube: @@ -2986,7 +3049,7 @@ Video upload - Error - Wysyłanei filmu - Błąd + Wysyłanei filmu - Błąd Netgame - Error @@ -3064,7 +3127,7 @@ Do you really want to cancel uploading %1? - Na pewno chcesz anulować wysyłanie '%1'? + Na pewno chcesz anulować wysyłanie '%1'? File error @@ -3080,7 +3143,7 @@ Cannot use the ammo '%1'! - Nie możn aużyć aminucji '%1'! + Nie możn aużyć aminucji '%1'! Weapons - Warning @@ -3174,6 +3237,20 @@ Aktualna liczba jeży: %1 + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3258,11 +3335,11 @@ Upload to YouTube - Wyślij do YouTube + Wyślij do YouTube Cancel uploading - Anuluj wysyłanie + Anuluj wysyłanie Restore default coding parameters @@ -3306,7 +3383,7 @@ Upload this video to your YouTube account - Prześlij to wideo na swoje konto YouTube + Prześlij to wideo na swoje konto YouTube @@ -3628,7 +3705,7 @@ pause - pauza + pauza volume down @@ -3715,6 +3792,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen przełącz paski drużyn + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -4141,71 +4230,71 @@ server Restricted - Zabronione + Zabronione Not room master - Nie jesteś mistrzem pokoju + Nie jesteś mistrzem pokoju Corrupted hedgehogs info - Uszkodzone informacje o jeżach + Uszkodzone informacje o jeżach too many teams - zbyt wiele drużyn + zbyt wiele drużyn too many hedgehogs - zbyt wiele jeży + zbyt wiele jeży There's already a team with same name in the list - Na liście jest już drużyna z tą nazwą + Na liście jest już drużyna z tą nazwą round in progress - w trakcie rundy + w trakcie rundy restricted - zabronione + zabronione REMOVE_TEAM: no such team - USUWANIE_DRUŻYNY: nie ma takiej drużyny + USUWANIE_DRUŻYNY: nie ma takiej drużyny Not team owner! - Nie jesteś właścicielem drużyny! + Nie jesteś właścicielem drużyny! Less than two clans! - Mniej niż dwa klany! + Mniej niż dwa klany! Illegal room name - Niepoprawna nazwa pokoju + Niepoprawna nazwa pokoju Room with such name already exists - Pokój z taką nazwą już istnieje + Pokój z taką nazwą już istnieje Nickname already chosen - Nick już wybrany + Nick już wybrany Illegal nickname - Niepoprawny nick + Niepoprawny nick Protocol already known - Protokół już znany + Protokół już znany Bad number - Zły numer + Zły numer Nickname is already in use @@ -4237,35 +4326,35 @@ No such room - Nie ma takiego pokoju + Nie ma takiego pokoju Room version incompatible to your hedgewars version - Wersja pokoju niekompatybilna z twoją wersją Hedgewars + Wersja pokoju niekompatybilna z twoją wersją Hedgewars Joining restricted - Dołączanie zabronione + Dołączanie zabronione Registered users only - Tylko zarejestrowani gracze + Tylko zarejestrowani gracze You are banned in this room - Jesteś zbanowany w tym pokoju + Jesteś zbanowany w tym pokoju Empty config entry - Pusty wpis konfiguracjy + Pusty wpis konfiguracjy You already have voted - Już głosowałeś + Już głosowałeś Voting closed - Głosowanie zamknięte + Głosowanie zamknięte New voting started @@ -4273,7 +4362,7 @@ Voting expired - Głosowanie przedawnione + Głosowanie przedawnione kick @@ -4309,15 +4398,15 @@ There's no voting going on - Nie ma żadnego głosowania w trakcie + Nie ma żadnego głosowania w trakcie Your vote counted - Twój głos został policzony + Twój głos został policzony Pause toggled - Pauza przełączona + Pauza przełączona new seed @@ -4325,7 +4414,7 @@ number of hedgehogs in team - liczba jeży w drużynie + liczba jeży w drużynie /maxteams: specify number from 2 to 8 @@ -4337,23 +4426,167 @@ callvote kick: specify nickname - callvote kick: podaj nick + callvote kick: podaj nick callvote kick: no such user - callvote kick: nie ma takiego użytkownika + callvote kick: nie ma takiego użytkownika callvote map: no such map - callvote map: nie ma takiej mapy + callvote map: nie ma takiej mapy callvote pause: no game in progress - callvote pause: nie trwa żaden mecz + callvote pause: nie trwa żaden mecz callvote hedgehogs: specify number from 1 to 8 - callvote hedgehogs: podaj liczbę od 1 do 8 + callvote hedgehogs: podaj liczbę od 1 do 8 + + + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_pt_BR.ts --- a/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_pt_BR.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - novo - - - copy of - cópia de - - - New - Novo - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -256,6 +229,33 @@ + GameSchemeModel + + new + novo + + + copy of + cópia de + + + New + Novo + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -606,14 +606,14 @@ Falha ao abrir o arquivo de demonstração %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -911,11 +911,11 @@ HWUploadVideoDialog Upload video - Enviar vídeo + Enviar vídeo Upload - Enviar + Enviar @@ -982,16 +982,34 @@ desconhecido - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + Tema: %1 + + + Map: %1 + + + + Record: %1 @@ -1190,6 +1208,10 @@ Optimize + + Brush size + + PageEditTeam @@ -2007,6 +2029,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2124,7 +2150,7 @@ uploading - enviando + enviando Date: %1 @@ -2144,6 +2170,16 @@ Size: %1 Tamanho: %1 {1?} + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2248,11 +2284,11 @@ Save account name and password - Salvar o nome e a senha da conta + Salvar o nome e a senha da conta Video is private - O vídeo é particular + O vídeo é particular Record audio @@ -2645,27 +2681,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Forneça ou um nome de conta do YouTube ou o endereço de e-mail associado à Conta Google. + Forneça ou um nome de conta do YouTube ou o endereço de e-mail associado à Conta Google. Account name (or email): - Nome da conta (ou e-mail): + Nome da conta (ou e-mail): Password: - Senha: + Senha: Video title: - Título do vídeo: + Título do vídeo: Video description: - Descrição do vídeo: + Descrição do vídeo: Tags (comma separated): - Etiquetas (separadas por vírgula): + Etiquetas (separadas por vírgula): Description @@ -2780,6 +2816,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2799,6 +2839,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2828,16 +2872,16 @@ Error while authenticating at google.com: - Erro ao se autenticar com google.com: + Erro ao se autenticar com google.com: Login or password is incorrect - Usuário ou senha incorretos + Usuário ou senha incorretos Error while sending metadata to youtube.com: - Erro ao enviar metadados a youtube.com: + Erro ao enviar metadados a youtube.com: Teams - Are you sure? @@ -2881,7 +2925,7 @@ Video upload - Error - Envio de vídeo - Erro + Envio de vídeo - Erro Netgame - Error @@ -2958,7 +3002,7 @@ Do you really want to cancel uploading %1? - Você deseja mesmo cancelar o envio de %1? + Você deseja mesmo cancelar o envio de %1? File error @@ -2974,7 +3018,7 @@ Cannot use the ammo '%1'! - Não é possível usar a arma "%1"! + Não é possível usar a arma "%1"! Weapons - Warning @@ -3060,6 +3104,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3144,11 +3202,11 @@ Upload to YouTube - Enviar para o YouTube + Enviar para o YouTube Cancel uploading - Cancelar envio + Cancelar envio Restore default coding parameters @@ -3190,10 +3248,6 @@ Start private server Iniciar servidor privado - - Upload this video to your YouTube account - - QSpinBox @@ -3499,7 +3553,7 @@ pause - pausa + pausa volume down @@ -3586,6 +3640,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -4013,74 +4079,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -4109,46 +4107,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -4181,26 +4143,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4209,23 +4155,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_pt_PT.ts --- a/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_pt_PT.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - novo - - - copy of - cópia de - - - New - Novo - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -260,6 +233,33 @@ + GameSchemeModel + + new + novo + + + copy of + cópia de + + + New + Novo + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -610,14 +610,14 @@ Não foi possível abrir o ficheiro %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -918,11 +918,11 @@ HWUploadVideoDialog Upload video - Upload vídeo + Upload vídeo Upload - Upload + Upload @@ -990,16 +990,34 @@ desconhecido - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + Tema: %1 + + + Map: %1 + + + + Record: %1 @@ -1198,6 +1216,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1991,6 +2013,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2108,7 +2134,7 @@ uploading - a enviar + a enviar Date: %1 @@ -2132,6 +2158,16 @@ Tamanho: %1 {1?} + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2232,11 +2268,11 @@ Save account name and password - Guardar o nome da conta e palavra-passe + Guardar o nome da conta e palavra-passe Video is private - O vídeo é privado + O vídeo é privado Record audio @@ -2617,27 +2653,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Por favor forneça o nome da conta do YouTube ou o endereço de email associado com a conta do Google. + Por favor forneça o nome da conta do YouTube ou o endereço de email associado com a conta do Google. Account name (or email): - Nome de conta (ou email): + Nome de conta (ou email): Password: - Palavra-passe: + Palavra-passe: Video title: - Título do vídeo: + Título do vídeo: Video description: - Descrição do vídeo: + Descrição do vídeo: Tags (comma separated): - Tags\Etiquetas (separados por virgula): + Tags\Etiquetas (separados por virgula): Description @@ -2752,6 +2788,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2771,6 +2811,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2800,17 +2844,17 @@ Error while authenticating at google.com: - Erro ao autenticar em google.com: + Erro ao autenticar em google.com: Login or password is incorrect - Login ou palavra-passe incorretos + Login ou palavra-passe incorretos Error while sending metadata to youtube.com: - Erro durante o envio de metadata para youtube.com: + Erro durante o envio de metadata para youtube.com: @@ -2881,7 +2925,7 @@ Video upload - Error - Upload do vídeo - Erro + Upload do vídeo - Erro Netgame - Error @@ -2958,7 +3002,7 @@ Do you really want to cancel uploading %1? - Desejas mesmo cancelar o upload de %1? + Desejas mesmo cancelar o upload de %1? File error @@ -2974,7 +3018,7 @@ Cannot use the ammo '%1'! - Impossível utilizar as munições '%1'! + Impossível utilizar as munições '%1'! Weapons - Warning @@ -3064,6 +3108,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3148,11 +3206,11 @@ Upload to YouTube - Enviar para o Youtube + Enviar para o Youtube Cancel uploading - Cancelar o upload + Cancelar o upload Restore default coding parameters @@ -3194,10 +3252,6 @@ Start private server Iniciar o servidor privado - - Upload this video to your YouTube account - - QSpinBox @@ -3515,7 +3569,7 @@ pause - pausa + pausa confirmation @@ -3590,6 +3644,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -4016,63 +4082,63 @@ server Not room master - Não és o anfitrião da sala + Não és o anfitrião da sala Corrupted hedgehogs info - Informação dos ouriços corrompida + Informação dos ouriços corrompida too many teams - demasiadas equipas + demasiadas equipas too many hedgehogs - demasiados ouriços + demasiados ouriços There's already a team with same name in the list - Já existe uma equipa com o mesmo nome na lista + Já existe uma equipa com o mesmo nome na lista round in progress - partida em progresso + partida em progresso restricted - limitada + limitada REMOVE_TEAM: no such team - REMOVE_TEAM: equipa inexistente + REMOVE_TEAM: equipa inexistente Not team owner! - A equipa não te pertence! + A equipa não te pertence! Less than two clans! - Menos de 2 clãs! + Menos de 2 clãs! Room with such name already exists - Já existe uma sala com esse nome + Já existe uma sala com esse nome Nickname already chosen - Utilizador já em uso + Utilizador já em uso Illegal nickname - Nome de utilizador ilegal + Nome de utilizador ilegal Protocol already known - Protocolo já conhecido + Protocolo já conhecido Bad number - Número inválido + Número inválido Nickname is already in use @@ -4104,53 +4170,33 @@ Illegal room name - Nome da sala ilegal + Nome da sala ilegal No such room - Sala inexistente + Sala inexistente Joining restricted - Entrada restrita + Entrada restrita Registered users only - Apenas utilizadores registados + Apenas utilizadores registados You are banned in this room - Estás banido desta sala + Estás banido desta sala Empty config entry - Campo vazio na configuração - - - Restricted - - - - Room version incompatible to your hedgewars version - - - - You already have voted - - - - Voting closed - + Campo vazio na configuração New voting started - Voting expired - - - kick @@ -4183,26 +4229,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4211,23 +4241,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_ro.ts --- a/share/hedgewars/Data/Locale/hedgewars_ro.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_ro.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,29 +87,6 @@ - AmmoSchemeModel - - new - new - - - New - New - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -245,6 +222,29 @@ + GameSchemeModel + + new + new + + + New + New + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -583,14 +583,14 @@ Cannot open demofile %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -881,17 +881,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -942,16 +931,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1147,6 +1154,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1939,6 +1950,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2052,10 +2067,6 @@ - uploading - - - Date: %1 @@ -2063,6 +2074,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2166,14 +2187,6 @@ - Save account name and password - - - - Video is private - - - Record audio @@ -2537,30 +2550,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Description @@ -2661,6 +2650,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2680,6 +2673,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2743,24 +2740,6 @@ Unable to start the server: %1. - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Video upload - Error - - - - Error while sending metadata to youtube.com: - - - - Netgame - Error @@ -2823,10 +2802,6 @@ - Do you really want to cancel uploading %1? - - - File error @@ -2839,10 +2814,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2925,6 +2896,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3024,14 +3009,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Reset @@ -3051,10 +3028,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3360,7 +3333,7 @@ pause - pause + pause confirmation @@ -3431,6 +3404,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3856,74 +3841,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -3952,46 +3869,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -4024,26 +3905,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4052,23 +3917,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_ru.ts --- a/share/hedgewars/Data/Locale/hedgewars_ru.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_ru.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,37 +87,6 @@ - AmmoSchemeModel - - new - новый - - - copy of - копия - - - copy of %1 - копия %1 - - - New - Новая - - - Copy of %1 - Копия %1 - - - New (%1) - Новая (%1) - - - Copy of %1 (%2) - Копия %1 (%2) - - - BanDialog IP @@ -149,7 +118,7 @@ you know why - + вы знаете почему Warning @@ -169,7 +138,7 @@ Ban player - + Забанить игрока Please specify an IP address. @@ -265,6 +234,37 @@ + GameSchemeModel + + new + новый + + + copy of + копия + + + copy of %1 + копия %1 + + + New + Новая + + + Copy of %1 + Копия %1 + + + New (%1) + Новая (%1) + + + Copy of %1 (%2) + Копия %1 (%2) + + + GameUIConfig Guest @@ -627,7 +627,7 @@ Last two engine messages: %2 - Произошла фатальная ошибка! - Движку игры пришлось остановить работу . + Произошла фатальная ошибка! - Движку игры пришлось остановить работу . Мы очень сожалеем о произошедем :( @@ -636,6 +636,17 @@ Последние два сообщения от движка: %2 + + A fatal ERROR occured! The game engine had to stop. + +We are very sorry for the inconvenience. :-( + +If this keeps happening, please click the 'Feedback' button in the main menu! + +Last engine message: +%1 + + HWHostPortDialog @@ -788,7 +799,7 @@ Randomize the theme - + Рандомизировать тему Choose a theme @@ -796,31 +807,31 @@ Randomize the map, theme and seed - + Рандомизировать карту, тему и зерно Randomize the theme and seed - + Рандомизировать тему и зерно Randomize the seed - + Случайное начальное заполнение Click to randomize the map, theme and seed - + Нажмите, чтобы рандомизировать карту, тему и зерно Click to randomize the theme and seed - + Нажмите, чтобы рандомизировать тему и зерно Adjust the complexity of the generated map - + Отрегулировать сложность созданной карты Adjust the distance between forts - + Отрегулировать расстояние между фортами Click to edit @@ -930,11 +941,11 @@ HWUploadVideoDialog Upload video - Залить видео + Залить видео Upload - Залить + Залить @@ -1006,7 +1017,7 @@ Video: %1x%2 - Видео: %1x%2 + Видео: %1x%2 %1 fps @@ -1019,7 +1030,33 @@ %1 FPS - %1 кадров/сек + %1 кадров/сек + + + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + Тема: %1 + + + Map: %1 + + + + Record: %1 + @@ -1218,6 +1255,10 @@ Optimize Оптимизировать + + Brush size + + PageEditTeam @@ -1259,11 +1300,11 @@ Random Team - Случайная команда + Случайная команда Play a random example of this voice - + Проиграть случайный пример этого голоса Random Hats @@ -1528,7 +1569,7 @@ Turn on the lightbulb to show the other players when you're ready to fight - + Включите лампочку, чтобы показать другим игрокам, что вы готовы к бою Start fighting (requires at least 2 teams) @@ -1539,11 +1580,11 @@ PageNetServer Click here for details - + Нажмите сюда для деталей Insert your address here - + Введите ваш адрес здесь @@ -1630,7 +1671,7 @@ Select an action to change what key controls it - + Выберите действие, для которого изменить управление Reset to default @@ -1678,7 +1719,7 @@ Frontend - + Меню Custom colors @@ -1690,7 +1731,7 @@ Frontend audio - + Звук в меню Account @@ -1968,7 +2009,7 @@ Each clan starts in its own part of the terrain. - + Каждый клан стартует в своей части карты. Overall damage and knockback in percent @@ -1980,19 +2021,19 @@ Initial health of hedgehogs - + Начальное здоровье ежей How many rounds have to be played before Sudden Death begins - + Как много раундов будет до начала Внезапной Смерти How much the water rises per turn while in Sudden Death. Set to 0 along with Sudden Death Health Decrease to disable Sudden Death. - + Как сильно будет подниматься вода во время Внезапной Смерти. Установите 0 для воды и для здоровья, чтобы отключить Внезапную Смерть. How much health hedgehogs lose per turn while in Sudden Death, down to 1 health. Set to 0 along with Sudden Death Water Rise to disable Sudden Death. - + Сколько здоровья будут терять ежи каждый ход во время Внезапной смерти вплоть до 1. Установите 0 для здоровья и воды, чтобы отключить Внезапную Смерть. Maximum rope length in percent @@ -2044,6 +2085,10 @@ Name of this scheme + Название этой схемы + + + Select a hedgehog at the beginning of a turn @@ -2164,7 +2209,7 @@ uploading - отправка + отправка Date: %1 @@ -2184,6 +2229,16 @@ Size: %1 Размер: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2288,11 +2343,11 @@ Save account name and password - Сохранить псевдоним и пароль + Сохранить псевдоним и пароль Video is private - Частное видео + Частное видео Record audio @@ -2324,11 +2379,11 @@ Frontend sound effects - + Звуки в меню Frontend music - + Музыка в меню Team @@ -2364,11 +2419,11 @@ Enable visual effects such as animated menu transitions and falling stars - + Включить визуальные эффекты, такие как анимированные переходы меню и падающие звездочки If enabled, Hedgewars adds the date and time in the form "YYYY-MM-DD_hh-mm" for automatically created demos. - + Если включено, Hedgewars добавляет дату и время в формате "YYYY-MM-DD_hh-mm" для автоматически созданных демок. @@ -2688,28 +2743,8 @@ Всё равно выйти? - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - Password: - Пароль: - - - Video title: - - - - Video description: - - - - Tags (comma separated): - + Пароль: Description @@ -2812,6 +2847,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2831,6 +2870,10 @@ unnamed (%1) безымянный (%1) + + Hedgehog %1 + + QMainWindow @@ -2854,18 +2897,8 @@ Сопоставление не удалось. - Error while authenticating at google.com: - - - - Login or password is incorrect - Некорректное имя пользователя или пароль - - - Error while sending metadata to youtube.com: - - + Некорректное имя пользователя или пароль Teams - Are you sure? @@ -2908,10 +2941,6 @@ Ошибка запуска сервера: %1. - Video upload - Error - - - Netgame - Error @@ -2978,10 +3007,6 @@ - Do you really want to cancel uploading %1? - - - File error Ошибка при работе с файлом @@ -2994,10 +3019,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -3081,6 +3102,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3165,11 +3200,11 @@ Upload to YouTube - Отправить на YouTube + Отправить на YouTube Cancel uploading - Отменить отправку + Отменить отправку Restore default coding parameters @@ -3201,11 +3236,11 @@ Invite your friends to your server in just 1 click! - + Пригласите ваших друзей на сервер всего 1 кликом! Click to copy your unique server URL to your clipboard. Send this link to your friends and they will be able to join you. - + Нажмите чтобы скопировать ссылку на сервер в буфер обмена. Отправьте эту ссылку вашим друзьям и они смогут присоединиться к вам. Start private server @@ -3213,7 +3248,7 @@ Upload this video to your YouTube account - Отправить на YouTube + Отправить на YouTube @@ -3545,7 +3580,7 @@ pause - пауза + пауза slot 9 @@ -3616,6 +3651,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3708,7 +3755,7 @@ Toggle automatic camera / refocus on active hedgehog: - + Включить автоматическую камеру / перенести фокус на активного ежа Demo replay: @@ -4041,68 +4088,20 @@ server - Not room master - - - - Corrupted hedgehogs info - - - too many teams - слишком много команд + слишком много команд too many hedgehogs - слишком много ежей + слишком много ежей There's already a team with same name in the list - В списке уже есть команда с таким названием - - - round in progress - + В списке уже есть команда с таким названием restricted - ограничено - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - + ограничено Nickname is already in use @@ -4134,49 +4133,25 @@ No such room - Нет такой комнаты + Нет такой комнаты Joining restricted - Вход ограничен + Вход ограничен Registered users only - Только для зарегистрированных игроков - - - You are banned in this room - - - - Empty config entry - + Только для зарегистрированных игроков Restricted - Ограничено - - - Room version incompatible to your hedgewars version - - - - You already have voted - - - - Voting closed - + Ограничено New voting started - Voting expired - - - kick выкинуть @@ -4194,11 +4169,11 @@ Warning! Chat flood protection activated - + Внимание! В чате включена защита от флуда Excess flood - + Избыток флуда Game messages flood detected - 1 @@ -4209,26 +4184,14 @@ - There's no voting going on - - - Your vote counted - Ваш голос учтён - - - Pause toggled - + Ваш голос учтён new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4237,23 +4200,147 @@ - callvote kick: specify nickname + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. - callvote kick: no such user + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! - callvote map: no such map + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} - callvote pause: no game in progress + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. - callvote hedgehogs: specify number from 1 to 8 + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_sk.ts --- a/share/hedgewars/Data/Locale/hedgewars_sk.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_sk.ts Sun Jun 10 19:12:26 2018 +0200 @@ -5,78 +5,78 @@ About Unknown Compiler - + Neznámy kompilátor Hedgewars %1 %1 contains Hedgewars' version number - Hedgewars %1 + Hedgewars %1 Revision %1 (%2) - + Revízia %1 (%2) Visit our homepage: %1 - + Navštívte našu stránku: %1 This program is distributed under the %1. - + Tento program je šírený pod %1. GNU GPL v2 Short for “GNU General Public License version 2” - + GNU GPL v2 Dependency versions: For the version numbers of Hedgewars' software dependencies - + Závislosti vo verziách: <a href="https://gcc.gnu.org">GCC</a>: %1 - + <a href="https://gcc.gnu.org">GCC</a>: %1 <a href="https://www.libsdl.org/">SDL2</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2</a>: %1.%2.%3 <a href="https://www.libsdl.org/">SDL2_mixer</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_mixer</a>: %1.%2.%3 <a href="https://www.libsdl.org/">SDL2_net</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_net</a>: %1.%2.%3 <a href="https://www.libsdl.org/">SDL2_image</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_image</a>: %1.%2.%3 <a href="https://www.libsdl.org/">SDL2_ttf</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_ttf</a>: %1.%2.%3 <a href="https://www.qt.io/developers/">Qt</a>: %1 - + <a href="https://www.qt.io/developers/">Qt</a>: %1 <a href="https://libav.org">libavcodec</a>: %1.%2.%3 - + <a href="https://libav.org">libavcodec</a>: %1.%2.%3 <a href="https://libav.org">libavformat</a>: %1.%2.%3 - + <a href="https://libav.org">libavformat</a>: %1.%2.%3 <a href="https://libav.org">libavutil</a>: %1.%2.%3 - + <a href="https://libav.org">libavutil</a>: %1.%2.%3 <a href="https://icculus.org/physfs/">PhysFS</a>: %1.%2.%3 - + <a href="https://icculus.org/physfs/">PhysFS</a>: %1.%2.%3 @@ -87,127 +87,100 @@ - AmmoSchemeModel - - new - nový - - - copy of - kópia z - - - New - Nová - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP - IP + IP Nick - + Prezývka IP/Nick - + IP/Prezývka Reason - + Dôvod Duration - + Trvanie Ok - + Ok Cancel - Zrušiť + Zrušiť you know why - + ty vieš prečo Warning - + Varovanie permanent - + permanentný Ban player - + Zakázať hráča Please specify an IP address. - + Prosím zadajte IP adresu. Please specify a nickname. - + Prosím zadajte prezývku. DataManager Use Default - + Použi východzie nastavenia FeedbackDialog View - + Zobraziť Cancel - Zrušiť + Zrušiť Send Feedback - + Pošli odozvu We are always happy about suggestions, ideas, or bug reports. - + Vždy sa potešíme novým návrhom, nápadom alebo hláseniam o chybách. Send us feedback! - + Pošli nám odozvu! If you found a bug, you can see if it's already been reported here: - + Ak ste našli chybu, skúste najprv pozrieť, či ju už niekto nenahlásil tu: Your email address is optional, but necessary if you want us to get back at you. - + Váš email je nepovinný, ale potrebný ak chcete, aby sme vám odpísali. Feedback - + Odozva @@ -241,80 +214,107 @@ Game scheme will auto-select a weapon - + Schéma hry automaticky vyberie zbran Map - Mapa + Mapa Game options - + Voľby hry + + + + GameSchemeModel + + new + nový + + + copy of + kópia z + + + New + Nová + + + Copy of %1 + Kópia z %1 + + + New (%1) + Nový (%1) + + + Copy of %1 (%2) + Kópia z %1 (%2) GameUIConfig Guest - + Hosť HWApplication %1 minutes - - - - + + %1 minúta + %1 minúty + %1 minút %1 hour - - - - + + %1 hodina + %1 hodiny + %1 hodín %1 hours - - - - + + %1 hodiny + %1 hodiny + %1 hodín %1 day - - - - + + %1 deň + %1 dni + %1 dní %1 days - - - - + + %1 dni + %1 dni + %1 dní Scheme '%1' not supported - + Schéma '%1' nie je podporovaná Cannot create directory %1 - Nepodarilo sa vytvoriť adresár %1 + Nepodarilo sa vytvoriť adresár %1 Failed to open data directory: %1 Please check your installation! - Chyba pri otváraní adresára s dátami: + Chyba pri otváraní adresára s dátami: %1 Skontrolujte, prosím, inštaláciu! @@ -322,37 +322,37 @@ Usage command-line - + Syntax OPTION command-line - + VOĽBA CONNECTSTRING command-line - + PRIPOJOVACI_RETAZEC Options command-line - + Voľby Display this help command-line - + Zobraziť túto nápovedu Custom path for configuration data and user data command-line - + Vlastná cesta pre údaje konfigurácie a užívateľa Custom path to the game data folder command-line - + Vlastná cesta k priečinku s údajmi hry Hedgewars can use a %1 (e.g. "%2") to connect on start. @@ -362,12 +362,12 @@ Malformed option argument: %1 command-line - + Neplatný argument voľby %1 Unknown option argument: %1 command-line - + Neznámy argument voľby %1 @@ -421,27 +421,27 @@ %1 has joined - + %1 sa pripojil(a) %1 has left - + %1 odišiel %1 has left (%2) - + %1 odišiel (%2) Chat log - + Záznam chatu Enter chat messages here and send them with [Enter] - + Sem zadaj text, ktorý chceš poslať a stlač [Enter] List of players - + Zoznam hráčov @@ -491,11 +491,11 @@ %1's Team - + Team %1 Hedgewars - Nick registered - + Hedgewars - Prezývka zaregistrovaná This nick is registered, and you haven't specified a password. @@ -503,7 +503,11 @@ If this nick isn't yours, please register your own nick at www.hedgewars.org Password: - + Táto prezývka už je registrovaná a nezadali ste heslo. + +Ak táto prezývka nepatrí vám, zaregistrujte si svoju vlastnú na www.hedgewars.org. + +Heslo: Your nickname is not registered. @@ -519,23 +523,23 @@ Hedgewars - Empty nickname - + Hedgewars - Prázdna prezývka Hedgewars - Wrong password - + Hedgewars - Nesprávne heslo You entered a wrong password. - + Zadali ste nesprávne heslo. Try Again - + Skúsiť znova Hedgewars - Connection error - + Hedgewars - Chyba pripojenia You reconnected too fast. @@ -544,42 +548,43 @@ Guest - + Hosť Room password - + Heslo miestnosti The room is protected with password. Please, enter the password: - + Miestnosť je chránená heslom. +Prosím, zadajte heslo: Team 1 - + Team 1 Team %1 Default team name - + Team %1 Computer %1 Default computer team name - + Počítač %1 Unknown network error (possibly missing SSL library). - + Neznáma chyba siete (možno vám chýba knižnica SSL). This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + Táto funkcia vyžaduje pripojenie k Internetu, ale nevyzeráte byť online (kód chyby: %1). Internal error: Reply object is invalid. - + Interná chyba: Objekt odpovede nie je platný. @@ -594,14 +599,14 @@ Nie je možné otvoriť demosúbor %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -609,7 +614,7 @@ HWHostPortDialog Connect to server - + Pripojiť sa na server @@ -652,91 +657,91 @@ Map type: - + Typ mapy: Image map - + Obrázková mapa Mission map - + Mapa misie Hand-drawn - Ručne kreslená + Ručne kreslená Randomly generated - + Náhodne generovaná Random maze - + Náhodné bludisko Random - Náhodné + Náhodná Map preview: - + Náhľad mapy: Load map drawing - + Nahrať kreslenú mapu Edit map drawing - + Upraviť kreslenú mapu Small islands - + Malé ostrovčeky Medium islands - + Stredne veľké ostrovčeky Large islands - + Veľké ostrovy Map size: - + Veľkosť mapy: Maze style: - + Štýl bludiska: Mission: - + Misia: Map: - + Mapa: Load drawn map - Načítať nakreslenú mapu + Načítať nakreslenú mapu Drawn Maps - Kreslené mapy + Kreslené mapy All files - Všetky súbory + Všetky súbory Large tunnels - + Veľké tunely Theme: %1 - + Téma: %1 Random perlin @@ -744,11 +749,11 @@ Style: - + Štýl: Forts - + Pevnosti View and edit the seed, the source of randomness in the game @@ -760,7 +765,7 @@ Choose a theme - + Vybrať tému Randomize the map, theme and seed @@ -792,7 +797,7 @@ Click to edit - + Kliknite pre úpravy @@ -862,14 +867,14 @@ Server authentication error - + Server pri overovaní vrátil chybu HWPasswordDialog Login - + Login To connect to the server, please log in. @@ -880,7 +885,7 @@ Nickname: - + Prezývka: Password: @@ -895,11 +900,11 @@ HWUploadVideoDialog Upload video - Upload videa + Upload videa Upload - Upload + Upload @@ -966,16 +971,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + Téma: %1 + + + Map: %1 + + + + Record: %1 @@ -1041,7 +1064,7 @@ IP/Nick - + IP/Prezývka Expiration @@ -1049,7 +1072,7 @@ Reason - + Dôvod Refresh @@ -1106,15 +1129,15 @@ Unknown network error (possibly missing SSL library). - + Neznáma chyba siete (možno vám chýba knižnica SSL). This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + Táto funkcia vyžaduje pripojenie k Internetu, ale nevyzeráte byť online (kód chyby: %1). Internal error: Reply object is invalid. - + Interná chyba: Objekt odpovede nie je platný. @@ -1171,6 +1194,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1423,7 +1450,7 @@ Feedback - + Odozva Play local network game @@ -1995,6 +2022,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2113,7 +2144,7 @@ uploading - uploadujem + uploadujem Date: %1 @@ -2123,6 +2154,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2227,11 +2268,11 @@ Save account name and password - Uložiť meno účtu a heslo + Uložiť meno účtu a heslo Video is private - Video je súkromné + Video je súkromné Record audio @@ -2626,27 +2667,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Prosím zadajte buď názov YouTube účtu alebo e-mailovú adresu prepojenú s Google účtom. + Prosím zadajte buď názov YouTube účtu alebo e-mailovú adresu prepojenú s Google účtom. Account name (or email): - Názov účtu (alebo e-mail): + Názov účtu (alebo e-mail): Password: - Heslo: + Heslo: Video title: - Názov videa: + Názov videa: Video description: - Popis videa: + Popis videa: Tags (comma separated): - Značky (oddelené čiarkou): + Značky (oddelené čiarkou): Description @@ -2753,6 +2794,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2772,6 +2817,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2797,16 +2846,16 @@ Error while authenticating at google.com: - Chyba pri autentizácii voči google.com: + Chyba pri autentizácii voči google.com: Login or password is incorrect - Prihlasovacie meno alebo heslo je nesprávne + Prihlasovacie meno alebo heslo je nesprávne Error while sending metadata to youtube.com: - Chyba pri posielaní metadát na youtube.com: + Chyba pri posielaní metadát na youtube.com: Teams - Are you sure? @@ -2876,7 +2925,7 @@ Video upload - Error - Upload videa - Chyba + Upload videa - Chyba Netgame - Error @@ -2954,7 +3003,7 @@ Do you really want to cancel uploading %1? - Naozaj chcete zrušiť uploadovanie %1? + Naozaj chcete zrušiť uploadovanie %1? File error @@ -2970,7 +3019,7 @@ Cannot use the ammo '%1'! - Nemôžem použiť muníciu '%1'! + Nemôžem použiť muníciu '%1'! Weapons - Warning @@ -3055,6 +3104,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3139,11 +3202,11 @@ Upload to YouTube - Uploadovať na YouTube + Uploadovať na YouTube Cancel uploading - Zrušiť upload + Zrušiť upload Restore default coding parameters @@ -3185,10 +3248,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3274,7 +3333,7 @@ Forts - + Pevnosti @@ -3332,15 +3391,15 @@ New (%1) - + Nový (%1) Copy of %1 - + Kópia z %1 Copy of %1 (%2) - + Kópia z %1 (%2) @@ -3387,7 +3446,7 @@ Choose a theme - + Vybrať tému @@ -3486,7 +3545,7 @@ pause - pauza + pauza volume down @@ -3569,6 +3628,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3994,74 +4065,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -4090,46 +4093,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -4162,26 +4129,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4190,23 +4141,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_sv.ts --- a/share/hedgewars/Data/Locale/hedgewars_sv.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_sv.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - ny - - - copy of - kopia av - - - New - Ny - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -252,6 +225,33 @@ + GameSchemeModel + + new + ny + + + copy of + kopia av + + + New + Ny + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -585,14 +585,14 @@ Kan inte öppna demofil %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -883,17 +883,6 @@ - HWUploadVideoDialog - - Upload video - - - - Upload - - - - HatButton Change hat (%1) @@ -944,16 +933,34 @@ - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1148,6 +1155,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1961,6 +1972,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2073,10 +2088,6 @@ - uploading - - - Date: %1 @@ -2084,6 +2095,16 @@ Size: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2187,14 +2208,6 @@ - Save account name and password - - - - Video is private - - - Record audio @@ -2582,30 +2595,6 @@ - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - Account name (or email): - - - - Password: - - - - Video title: - - - - Video description: - - - - Tags (comma separated): - - - Description @@ -2706,6 +2695,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2725,6 +2718,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2748,20 +2745,6 @@ Filassociationer har misslyckats. - Error while authenticating at google.com: - - - - - Login or password is incorrect - - - - Error while sending metadata to youtube.com: - - - - Teams - Are you sure? @@ -2802,10 +2785,6 @@ Kunde inte starta servern: %1. - Video upload - Error - - - Netgame - Error @@ -2867,10 +2846,6 @@ - Do you really want to cancel uploading %1? - - - File error Fel på fil @@ -2883,10 +2858,6 @@ - Cannot use the ammo '%1'! - - - Weapons - Warning @@ -2969,6 +2940,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3052,14 +3037,6 @@ - Upload to YouTube - - - - Cancel uploading - - - Restore default coding parameters @@ -3095,10 +3072,6 @@ Start private server - - Upload this video to your YouTube account - - QSpinBox @@ -3396,7 +3369,7 @@ pause - pausa + pausa volume down @@ -3479,6 +3452,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3904,74 +3889,6 @@ server - Restricted - - - - Not room master - - - - Corrupted hedgehogs info - - - - too many teams - - - - too many hedgehogs - - - - There's already a team with same name in the list - - - - round in progress - - - - restricted - - - - REMOVE_TEAM: no such team - - - - Not team owner! - - - - Less than two clans! - - - - Illegal room name - - - - Room with such name already exists - - - - Nickname already chosen - - - - Illegal nickname - - - - Protocol already known - - - - Bad number - - - Nickname is already in use @@ -4000,46 +3917,10 @@ - No such room - - - - Room version incompatible to your hedgewars version - - - - Joining restricted - - - - Registered users only - - - - You are banned in this room - - - - Empty config entry - - - - You already have voted - - - - Voting closed - - - New voting started - Voting expired - - - kick @@ -4072,26 +3953,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4100,23 +3965,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_tr_TR.ts --- a/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_tr_TR.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - yeni - - - copy of - kopya - - - New - Yeni - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -267,6 +240,33 @@ + GameSchemeModel + + new + yeni + + + copy of + kopya + + + New + Yeni + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -611,14 +611,14 @@ Gösteri dosyası açılamadı %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -919,11 +919,11 @@ HWUploadVideoDialog Upload video - Video yükle + Video yükle Upload - Yükle + Yükle @@ -991,16 +991,34 @@ bilinmiyor - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + + + + Map: %1 + + + + Record: %1 @@ -1194,6 +1212,10 @@ Optimize + + Brush size + + PageEditTeam @@ -1988,6 +2010,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2104,7 +2130,7 @@ uploading - yükleniyor + yükleniyor Date: %1 @@ -2128,6 +2154,16 @@ Boyut: %1 {1?} + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2232,11 +2268,11 @@ Save account name and password - Hesap adı ve parolasını kaydet + Hesap adı ve parolasını kaydet Video is private - Video özel + Video özel Record audio @@ -2621,27 +2657,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Lütfen YouTube hesap adını veya Google Hesabınız ile ilişkilendirmiş e-posta adresini gir. + Lütfen YouTube hesap adını veya Google Hesabınız ile ilişkilendirmiş e-posta adresini gir. Account name (or email): - Hesap adı (veya e-posta): + Hesap adı (veya e-posta): Password: - Parola: + Parola: Video title: - Video başlığı: + Video başlığı: Video description: - Video açıklaması: + Video açıklaması: Tags (comma separated): - Etiketler (virgülle ayrılmış): + Etiketler (virgülle ayrılmış): Description @@ -2756,6 +2792,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2775,6 +2815,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2804,16 +2848,16 @@ Error while authenticating at google.com: - Google.com ile kimlik açma başarısız + Google.com ile kimlik açma başarısız Login or password is incorrect - Kullanıcı adı veya parolası yanlış + Kullanıcı adı veya parolası yanlış Error while sending metadata to youtube.com: - Youtube.com üst verisi gönderilirken hata + Youtube.com üst verisi gönderilirken hata Teams - Are you sure? @@ -2879,7 +2923,7 @@ Video upload - Error - Video yükleme - Hata + Video yükleme - Hata Netgame - Error @@ -2955,7 +2999,7 @@ Do you really want to cancel uploading %1? - Gerçekten %1 yüklemesini iptal etmek istiyor musunuz? + Gerçekten %1 yüklemesini iptal etmek istiyor musunuz? File error @@ -2971,7 +3015,7 @@ Cannot use the ammo '%1'! - '%1' cephanesi kullanılamıyor! + '%1' cephanesi kullanılamıyor! Weapons - Warning @@ -3061,6 +3105,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3145,11 +3203,11 @@ Upload to YouTube - YouTube'a Yükle + YouTube'a Yükle Cancel uploading - Yüklemeyi iptal et + Yüklemeyi iptal et Restore default coding parameters @@ -3195,10 +3253,6 @@ Click to copy your unique server URL to your clipboard. Send this link to your friends and they will be able to join you. - - Upload this video to your YouTube account - - QSpinBox @@ -3516,7 +3570,7 @@ pause - duraklat + duraklat confirmation @@ -3591,6 +3645,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -4017,63 +4083,63 @@ server Not room master - Oda uzmanı değil + Oda uzmanı değil Corrupted hedgehogs info - Bozuk kirpi bilgisi + Bozuk kirpi bilgisi too many teams - çok fazla takım + çok fazla takım too many hedgehogs - çok fazla kirpi + çok fazla kirpi There's already a team with same name in the list - Listede aynı isimde başka bir takım var + Listede aynı isimde başka bir takım var round in progress - tur sürüyor + tur sürüyor restricted - kısıtlı + kısıtlı REMOVE_TEAM: no such team - REMOVE_TEAM: böyle bir takım yok + REMOVE_TEAM: böyle bir takım yok Not team owner! - Takım sahibi değil! + Takım sahibi değil! Less than two clans! - İki klandan daha az! + İki klandan daha az! Room with such name already exists - Oda adı zaten mevcut + Oda adı zaten mevcut Nickname already chosen - Takma ad zaten seçilmiş + Takma ad zaten seçilmiş Illegal nickname - Geçersiz takma ad + Geçersiz takma ad Protocol already known - Protokol zaten biliniyor + Protokol zaten biliniyor Bad number - Hatalı sayı + Hatalı sayı Nickname is already in use @@ -4105,45 +4171,33 @@ Illegal room name - Geçersiz oda adı + Geçersiz oda adı No such room - Böyle bir oda yok + Böyle bir oda yok Joining restricted - Katılma kısıtlı + Katılma kısıtlı Registered users only - Sadece kayıtlı kullanıcılar + Sadece kayıtlı kullanıcılar You are banned in this room - Bu odadan engellendiniz + Bu odadan engellendiniz Empty config entry - Boş yapılandırma girdisi - - - You already have voted - - - - Voting closed - + Boş yapılandırma girdisi New voting started - Voting expired - - - kick @@ -4156,18 +4210,10 @@ duraklat - Restricted - - - Reconnected too fast - Room version incompatible to your hedgewars version - - - Warning! Chat flood protection activated @@ -4184,26 +4230,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4212,23 +4242,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_uk.ts --- a/share/hedgewars/Data/Locale/hedgewars_uk.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_uk.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - нова - - - copy of - копія - - - New - Нова - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -261,6 +234,33 @@ + GameSchemeModel + + new + нова + + + copy of + копія + + + New + Нова + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -617,14 +617,14 @@ Не можу відкрити демо %1 - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 +Last engine message: +%1 @@ -921,11 +921,11 @@ HWUploadVideoDialog Upload video - Надіслати відео + Надіслати відео Upload - Надсилання + Надсилання @@ -984,7 +984,7 @@ Video: %1x%2 - Відео: %1x%2 + Відео: %1x%2 %1 fps @@ -996,7 +996,29 @@ - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + Тема: %1 + + + Map: %1 + + + + Record: %1 @@ -1196,6 +1218,10 @@ Optimize + + Brush size + + PageEditTeam @@ -2020,6 +2046,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2138,7 +2168,7 @@ uploading - надсилання + надсилання Date: %1 @@ -2148,6 +2178,16 @@ Size: %1 Розмір: %1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2252,11 +2292,11 @@ Save account name and password - Зберегти ім'я і пароль + Зберегти ім'я і пароль Video is private - Відео є приватним + Відео є приватним Record audio @@ -2649,27 +2689,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - Вкажіть ім'я акаунта на YouTube або електронну адресу акаунта на Google. + Вкажіть ім'я акаунта на YouTube або електронну адресу акаунта на Google. Account name (or email): - Ім'я акаунта (або е-мейл): + Ім'я акаунта (або е-мейл): Password: - Пароль: + Пароль: Video title: - Заголовок відео: + Заголовок відео: Video description: - Опис відео: + Опис відео: Tags (comma separated): - Теги (через кому): + Теги (через кому): Description @@ -2784,6 +2824,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2803,6 +2847,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2828,17 +2876,17 @@ Error while authenticating at google.com: - Помилка авторизації на google.com: + Помилка авторизації на google.com: Login or password is incorrect - Логін або пароль невірні + Логін або пароль невірні Error while sending metadata to youtube.com: - Помилка відсилання метаданих на youtube.com: + Помилка відсилання метаданих на youtube.com: @@ -2883,7 +2931,7 @@ Video upload - Error - Надсилання відео - Помилка + Надсилання відео - Помилка Netgame - Error @@ -2961,7 +3009,7 @@ Do you really want to cancel uploading %1? - Ви дійсно хочете скасувати відсилання %1? + Ви дійсно хочете скасувати відсилання %1? File error @@ -2977,7 +3025,7 @@ Cannot use the ammo '%1'! - Не можу використати боєприпаси '%1'! + Не можу використати боєприпаси '%1'! Weapons - Warning @@ -3063,6 +3111,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3147,11 +3209,11 @@ Upload to YouTube - Надіслати на YouTube + Надіслати на YouTube Cancel uploading - Скасувати надсилання + Скасувати надсилання Restore default coding parameters @@ -3193,10 +3255,6 @@ Start private server Запутити приватний сервер - - Upload this video to your YouTube account - - QSpinBox @@ -3507,7 +3565,7 @@ pause - пауза + пауза confirmation @@ -3582,6 +3640,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -4008,71 +4078,71 @@ server Restricted - Обмежено + Обмежено Not room master - Не власник кімнати + Не власник кімнати Corrupted hedgehogs info - Пошкоджені дані їжака + Пошкоджені дані їжака too many teams - забагато команд + забагато команд too many hedgehogs - забагато їжаків + забагато їжаків There's already a team with same name in the list - Команда з такою назвою вже є у списку + Команда з такою назвою вже є у списку round in progress - раунд триває + раунд триває restricted - обмежено + обмежено REMOVE_TEAM: no such team - REMOVE_TEAM: немає такої команди + REMOVE_TEAM: немає такої команди Not team owner! - Не власник команди! + Не власник команди! Less than two clans! - Менше двох кланів! + Менше двох кланів! Illegal room name - неприпустима назва кімнати + неприпустима назва кімнати Room with such name already exists - Кімната з такою назвою вже існує + Кімната з такою назвою вже існує Nickname already chosen - Нікнейм вже вибрано + Нікнейм вже вибрано Illegal nickname - недопустимий нікнейм + недопустимий нікнейм Protocol already known - Протокол вже відомий + Протокол вже відомий Bad number - Погане число + Погане число Nickname is already in use @@ -4104,45 +4174,33 @@ No such room - Немає такої кімнати + Немає такої кімнати Room version incompatible to your hedgewars version - Версія кімнати несумісна з версією вашої гри + Версія кімнати несумісна з версією вашої гри Joining restricted - Вхід обмежено + Вхід обмежено Registered users only - Лише для зареєстрованих користувачів + Лише для зареєстрованих користувачів You are banned in this room - Ви заблоковані в цій кімнаті + Ви заблоковані в цій кімнаті Empty config entry - Порожній конфігураційний запис - - - You already have voted - - - - Voting closed - + Порожній конфігураційний запис New voting started - Voting expired - - - kick @@ -4175,26 +4233,10 @@ - There's no voting going on - - - - Your vote counted - - - - Pause toggled - - - new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4203,23 +4245,147 @@ - callvote kick: specify nickname - - - - callvote kick: no such user - - - - callvote map: no such map - - - - callvote pause: no game in progress - - - - callvote hedgehogs: specify number from 1 to 8 + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. + + + + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. + + + + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_zh_CN.ts --- a/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_zh_CN.ts Sun Jun 10 19:12:26 2018 +0200 @@ -4,95 +4,95 @@ About - + Hedgewars %1 %1 contains Hedgewars' version number 刺猬大作战 %1 - + Revision %1 (%2) - + Visit our homepage: %1 - + This program is distributed under the %1. - + GNU GPL v2 Short for “GNU General Public License version 2” - + Dependency versions: For the version numbers of Hedgewars' software dependencies - + <a href="https://gcc.gnu.org">GCC</a>: %1 - + Unknown Compiler - + <a href="https://www.libsdl.org/">SDL2</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_mixer</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_net</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_image</a>: %1.%2.%3 - + <a href="https://www.libsdl.org/">SDL2_ttf</a>: %1.%2.%3 - + <a href="https://www.qt.io/developers/">Qt</a>: %1 - + <a href="https://libav.org">libavcodec</a>: %1.%2.%3 - + <a href="https://libav.org">libavformat</a>: %1.%2.%3 - + <a href="https://libav.org">libavutil</a>: %1.%2.%3 - + <a href="https://icculus.org/physfs/">PhysFS</a>: %1.%2.%3 @@ -106,33 +106,6 @@ - AmmoSchemeModel - - new - - - - - New - 新游戏 - - - - New (%1) - - - - - Copy of %1 - - - - - Copy of %1 (%2) - - - - BanDialog @@ -279,22 +252,49 @@ - + Edit weapons - + Game scheme will auto-select a weapon - + Edit schemes 修改游戏设置 + GameSchemeModel + + new + + + + + New + 新游戏 + + + + New (%1) + + + + + Copy of %1 + + + + + Copy of %1 (%2) + + + + GameUIConfig @@ -350,73 +350,73 @@ - + Cannot create directory %1 - - Usage - command-line - - - - - OPTION - command-line - - - - - - CONNECTSTRING - command-line - - - - - Options - command-line - - - - - Display this help - command-line - - - - - Custom path for configuration data and user data - command-line - - - - - Custom path to the game data folder - command-line - - - + Usage + command-line + + + + + OPTION + command-line + + + + + + CONNECTSTRING + command-line + + + + + Options + command-line + + + + + Display this help + command-line + + + + + Custom path for configuration data and user data + command-line + + + + + Custom path to the game data folder + command-line + + + + Hedgewars can use a %1 (e.g. "%2") to connect on start. command-line - + Malformed option argument: %1 command-line - + Unknown option argument: %1 command-line - + Failed to open data directory: %1 @@ -435,82 +435,82 @@ HWChatWidget - + Chat log - + Enter chat messages here and send them with [Enter] - + List of players - + %1 has joined - + %1 has left - + %1 has left (%2) - + %1 has been removed from your ignore list - + %1 has been added to your ignore list - + %1 has been removed from your friends list - + %1 has been added to your friends list - - Stylesheet imported from %1 - - - + Stylesheet imported from %1 + + + + Enter %1 if you want to use the current StyleSheet in future, enter %2 to reset! - + Couldn't read %1 - + StyleSheet discarded - + StyleSheet saved to %1 - + Failed to save StyleSheet to %1 @@ -519,46 +519,46 @@ HWForm - - - + + + Guest - + Team 1 - + %1's Team - + Team %1 Default team name - + Computer %1 Default computer team name - + Game aborted - + Hedgewars - Nick registered - + This nick is registered, and you haven't specified a password. If this nick isn't yours, please register your own nick at www.hedgewars.org @@ -567,119 +567,119 @@ - + Your nickname is not registered. To prevent someone else from using it, please register it at www.hedgewars.org - + Your password wasn't saved either. - + Nickname - + Someone already uses your nickname %1 on the server. Please pick another nickname: - - + + No nickname supplied. - - + + Hedgewars - Empty nickname - + Hedgewars - Wrong password - + You entered a wrong password. - + Room password - + The room is protected with password. Please, enter the password: - + Try Again - + Hedgewars - Connection error - + You reconnected too fast. Please wait a few seconds and try again. - + Hedgewars Demo File File Types - + Hedgewars Save File File Types - + Demo name - + Demo name: - + Unknown network error (possibly missing SSL library). - + This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + Internal error: Reply object is invalid. - - + + Cannot save record to file %1 无法录入文件 %1 @@ -688,18 +688,18 @@ HWGame - A Fatal ERROR occured! - The game engine had to stop. + A fatal ERROR occured! The game engine had to stop. -We are very sorry for the inconvenience :( +We are very sorry for the inconvenience. :-( -If this keeps happening, please click the '%1' button in the main menu! +If this keeps happening, please click the 'Feedback' button in the main menu! -Last two engine messages: -%2 - - - - +Last engine message: +%1 + + + + en.txt IMPORTANT: This text has a special meaning, do not translate it directly. This is the file name of translation files for the game engine, found in Data/Locale/. Usually, you replace “en” with the ISO-639-1 language code of your language. @@ -722,228 +722,228 @@ HWMapContainer - + Small tunnels - + Medium tunnels - + Seed - + Map type: - + Image map - + Mission map - + Hand-drawn - + Randomly generated - + Random maze - + Random perlin - + Forts - + Random - + View and edit the seed, the source of randomness in the game - + Map preview: - + Load map drawing - + Edit map drawing - + All 全部 - + Small 小型 - + Medium 中型 - + Large 大型 - + Cavern 洞穴 - + Wacky 曲折 - + Large tunnels - + Small islands - + Medium islands - + Large islands - + Randomize the theme - + Choose a theme - + Randomize the map, theme and seed - + Randomize the theme and seed - + Randomize the seed - + Click to randomize the map, theme and seed - + Click to randomize the theme and seed - + Adjust the complexity of the generated map - + Adjust the distance between forts - + Click to edit - + Map size: - + Maze style: - + Style: - + Mission: - + Map: - + Theme: %1 - + Load drawn map - + Drawn Maps - + All files @@ -1015,7 +1015,7 @@ - + Quit reason: 退出原因: @@ -1062,19 +1062,6 @@ - HWUploadVideoDialog - - - Upload video - - - - - Upload - - - - HatButton @@ -1123,28 +1110,50 @@ LibavInteraction - - Video: %1x%2 - - - Duration: %1min %2s Duration in minutes and seconds (SI units) - - %1 FPS - - - - - Audio: + + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + + Player: %1 + + + + + Theme: %1 + + + + + Map: %1 + + + + + Record: %1 + + + + + Audio: + + + + unknown @@ -1152,7 +1161,7 @@ MapModel - + No description available. @@ -1285,32 +1294,32 @@ PageDataDownload - + Load the start page - + Open packages directory - + Loading, please wait. - + Unknown network error (possibly missing SSL library). - + This feature requires an Internet connection, but you don't appear to be online (error code: %1). - + Internal error: Reply object is invalid. @@ -1318,69 +1327,74 @@ PageDrawMap - + Eraser - + Undo - - Polyline - - - - Rectangle + Polyline + Rectangle + + + + Ellipse - - Clear - - - - - Optimize - - - + Brush size + + + + + Clear + + + + + Optimize + + + + Load 读取 - + Save 保存 - + Load drawn map - - + + Drawn Maps - - + + All files - + Save drawn map @@ -1448,43 +1462,43 @@ - + Randomize the team name - + Randomize the grave - + Randomize the flag - + Play a random example of this voice - + Randomize the voice - + Randomize the fort - + CPU %1 Name of a flag for computer-controlled enemies. %1 is replaced with the computer level - + %1 (%2) @@ -1497,49 +1511,49 @@ - + Health graph - + Ranking - + Play again - + Save 保存 - + The best shot award was won by <b>%1</b> with <b>%2</b> pts. - + The best killer is <b>%1</b> with <b>%2</b> kills in a turn. - + A total of <b>%1</b> hedgehog(s) were killed during this round. - + (%1 kill) Number of kills in stats screen, written after the team name @@ -1547,7 +1561,7 @@ - + (%1 %2) For custom number of points in the stats screen, written after the team name. %1 is the number, %2 is the word. Example: “4 points” @@ -1555,21 +1569,21 @@ - + <b>%1</b> thought it's good to shoot their own hedgehogs for <b>%2</b> pts. - + <b>%1</b> killed <b>%2</b> of their own hedgehogs. - + <b>%1</b> was scared and skipped turn <b>%2</b> times. @@ -1762,7 +1776,7 @@ - + Game @@ -1802,184 +1816,184 @@ 队伍 - + New team 新队伍 - + Edit team 修改队伍设定 - + Delete team - + You can't edit teams from team selection. Go back to main menu to add, edit or delete teams. - + Schemes - + New scheme - + Edit scheme - + Delete scheme - + Weapons 武器 - + New weapon set - + Edit weapon set - + Delete weapon set - - + + x Multiplication sign, to be used between two numbers. Note the “x” is only a dummy character, we recommend to use “×” if your language permits it - + Frontend - + Custom colors - + Reset to default colors - + Game audio - + Frontend audio - + Account - + Proxy settings - - Proxy host - - - - - Proxy port - - - - - Proxy login - - - + Proxy host + + + + + Proxy port + + + + + Proxy login + + + + Proxy password - - No proxy - - - - - System proxy settings - - - - - Socks5 proxy - - - + No proxy + + + + + System proxy settings + + + + + Socks5 proxy + + + + HTTP proxy - + Miscellaneous - + MISSING LANGUAGE NAME [%1] - + Updates - + Check for updates - + Check now - + Video recording options - + Can't delete last team - + You can't delete the last team! @@ -2015,27 +2029,27 @@ PageRoomsList - + Search for a room: - + Create room - + Join room - + Room state - + Open server administration page @@ -2048,14 +2062,14 @@ 加入 - + %1 players online - + Admin features 管理员功能 @@ -2063,7 +2077,7 @@ PageScheme - + Land can not be destroyed! @@ -2073,57 +2087,57 @@ - + Lower gravity - + Assisted aiming with laser sight - + All hogs have a personal forcefield - + All (living) hedgehogs are fully restored at the end of turn - - Gain 80% of the damage you do back in health - - - + Gain 80% of the damage you do back in health + + + + Share your opponents pain, share their damage - + Your hogs are unable to move, put your artillery skills to the test - - Order of play is random instead of in room order. - - - - - Play with a King. If he dies, your side dies. - - - + Order of play is random instead of in room order. + + + + + Play with a King. If he dies, your side dies. + + + + Take turns placing your hedgehogs before the start of play. - + Ammo is shared between all teams that share a colour. @@ -2138,37 +2152,37 @@ - + AI respawns on death. + + Attacking does not end your turn. + + + - Attacking does not end your turn. - - - - Weapons are reset to starting values each turn. - + Each hedgehog has its own ammo. It does not share with the team. - - You will not have to worry about wind anymore. - - - + You will not have to worry about wind anymore. + + + + Wind will affect almost everything. - + Teams in each clan take successive turns sharing their turn time. @@ -2178,137 +2192,142 @@ - + + Select a hedgehog at the beginning of a turn + + + + Each clan starts in its own part of the terrain. - - Overall damage and knockback in percent - - - - - Turn time in seconds - - - - - Initial health of hedgehogs - - - - - How many rounds have to be played before Sudden Death begins - - - - How much the water rises per turn while in Sudden Death. Set to 0 along with Sudden Death Health Decrease to disable Sudden Death. + Overall damage and knockback in percent - How much health hedgehogs lose per turn while in Sudden Death, down to 1 health. Set to 0 along with Sudden Death Water Rise to disable Sudden Death. + Turn time in seconds - Maximum rope length in percent + Initial health of hedgehogs - Likelihood of a dropped crate being a health crate. All other crates will be weapon or utility crates. + How many rounds have to be played before Sudden Death begins - Likelihood of a crate dropping before a turn + How much the water rises per turn while in Sudden Death. Set to 0 along with Sudden Death Health Decrease to disable Sudden Death. - Health bonus for collecting a health crate + How much health hedgehogs lose per turn while in Sudden Death, down to 1 health. Set to 0 along with Sudden Death Water Rise to disable Sudden Death. - Detonation timer of mines. The random timer lies between 0 and 5 seconds. The timer of air mines will be a quarter of the mines timer. + Maximum rope length in percent - Average number of mines to be placed a medium-sized island map. This number will be scaled for other maps. + Likelihood of a dropped crate being a health crate. All other crates will be weapon or utility crates. - Likelihood of a mine being a dud. Does not affect mines placed by hedgehogs. + Likelihood of a crate dropping before a turn - Average number of barrels to be placed a medium-sized island map. This number will be scaled for other maps. + Health bonus for collecting a health crate - Average number of air mines to be placed a medium-sized island map. This number will be scaled for other maps. + Detonation timer of mines. The random timer lies between 0 and 5 seconds. The timer of air mines will be a quarter of the mines timer. - Affects the left and right boundaries of the map + Average number of mines to be placed a medium-sized island map. This number will be scaled for other maps. - Time you get after an attack + Likelihood of a mine being a dud. Does not affect mines placed by hedgehogs. + Average number of barrels to be placed a medium-sized island map. This number will be scaled for other maps. + + + + + Average number of air mines to be placed a medium-sized island map. This number will be scaled for other maps. + + + + + Affects the left and right boundaries of the map + + + + + Time you get after an attack + + + + Additional parameter to configure game styles. The meaning depends on the used style, refer to the documentation. When in doubt, leave it empty. - + None (Default) - + Wrap (World wraps) - + Bounce (Edges reflect) - + Sea (Edges connect to sea) - + Name of this scheme - + Copy - + New 新游戏 - + Delete 删除 @@ -2316,22 +2335,22 @@ PageSelectWeapon - + New 新游戏 - + Default 默认 - - Copy - - - + Copy + + + + Delete 删除 @@ -2372,48 +2391,48 @@ PageTraining - + Pick the training to play - + Pick the challenge to play - + Pick the scenario to play - - Trainings - - - - Challenges + Trainings + Challenges + + + + Scenarios - - + + Start fighting - + No description available - + Select a mission! @@ -2421,52 +2440,59 @@ PageVideos - + Name - + Size - + %1 bytes - + + %1% + Video encoding progress. %1 = number + + + + (in progress...) - + Date: %1 - + Size: %1 - + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + + + encoding - - - uploading - - QAction - + Kick @@ -2490,64 +2516,64 @@ - + Info 信息 - + Ban 屏蔽 - + Delegate room control - + Follow - - + + Ignore - - + + Add friend - + Unignore - + Remove friend - + Show games in lobby - + Show games in-progress - + Show password protected - + Show join restricted @@ -2555,145 +2581,135 @@ QCheckBox - + Fullscreen 游戏全屏幕 - + Show FPS 显示帧率 (FPS) - + Alternative damage show 另一种伤害显示方式 - + Team - - Enable team tags by default - - - + Enable team tags by default + + + + Hog - - Enable hedgehog tags by default - - - + Enable hedgehog tags by default + + + + Health - - Enable health tags by default - - - + Enable health tags by default + + + + Translucent - + Enable translucent tags by default - + Visual effects - + Enable visual effects such as animated menu transitions and falling stars - - + + Sound - + In-game sound effects - - + + Music - + In-game music - + Frontend sound effects - + Frontend music - + If enabled, Hedgewars adds the date and time in the form "YYYY-MM-DD_hh-mm" for automatically created demos. - + Check for updates at startup - + Show ammo menu tooltips - + Append date and time to record file name 记录名称中包含具体时间日期 - + Save password - - Save account name and password - - - - - Video is private - - - - + Record audio - + Use game resolution @@ -2701,17 +2717,17 @@ QComboBox - + Human 玩家 - + Computer (Level %1) - + Community @@ -2720,112 +2736,112 @@ Lv 级别 - + (System default) - + Disabled - - Stereoscopy creates an illusion of depth when you wear 3D glasses. - - - - Red/Cyan - - - - - Cyan/Red - - - - - Red/Blue + Stereoscopy creates an illusion of depth when you wear 3D glasses. - Blue/Red + Red/Cyan - Red/Green + Cyan/Red + Red/Blue + + + + + Blue/Red + + + + + Red/Green + + + + Green/Red + + Side-by-side + + + + + Top-Bottom + + + + + 24 FPS + + + + + 25 FPS + + + + + 30 FPS + + + + + 50 FPS + + + + + 60 FPS + + + + + Red/Cyan grayscale + + + + + Cyan/Red grayscale + + + + + Red/Blue grayscale + + + - Side-by-side + Blue/Red grayscale - Top-Bottom - - - - - 24 FPS - - - - - 25 FPS - - - - - 30 FPS - - - - - 50 FPS - - - - - 60 FPS - - - - - Red/Cyan grayscale - - - - - Cyan/Red grayscale - - - - - Red/Blue grayscale - - - - - Blue/Red grayscale - - - - Red/Green grayscale - + Green/Red grayscale @@ -2843,12 +2859,12 @@ - + Fort 城堡模式 - + Playing teams 玩家队伍 @@ -2868,12 +2884,12 @@ 基本设置 - + Videos - + Description @@ -2881,63 +2897,63 @@ QLabel - + Locale - + Nickname - + Stereoscopy - + Displayed tags above hogs and translucent tags - + This setting will be effective at next restart. - + Resolution 分辨率 - + Bitrate (Kibit/s) “Kibit/s” is the symbol for 1024 bits per second - + Quality - + Fullscreen 游戏全屏幕 - + Fullscreen Resolution - + Windowed Resolution - + FPS limit FPS 上限 @@ -2962,7 +2978,7 @@ 端口: - + Weapons 武器 @@ -2971,102 +2987,102 @@ 版本 - + Initial sound volume 初始音量 - + Damage Modifier 伤害修改 - + Turn Time 回合时间 - + Initial Health 初始生命值 - + Sudden Death Timeout 死亡模式倒计时 - + Sudden Death Water Rise - + Sudden Death Health Decrease - + % Rope Length - + % Health Crates - + Health in Crates - + Mines Time - + Mines - + % Dud Mines - + Barrels - + % Retreat Time - + Air Mines - + World Edge - + Script parameter - + Scheme Name: 设置名称: - + Crate Drops 箱子降落 @@ -3078,36 +3094,6 @@ - - Please provide either the YouTube account name or the email address associated with the Google Account. - - - - - Account name (or email): - - - - - Password: - - - - - Video title: - - - - - Video description: - - - - - Tags (comma separated): - - - Name @@ -3153,6 +3139,11 @@ + + Loading<br>CAPTCHA ... + + + Type the security code: @@ -3169,22 +3160,22 @@ - + Format - + Audio codec - + Video codec - + Framerate @@ -3194,7 +3185,7 @@ - + Scheme @@ -3202,24 +3193,28 @@ QLineEdit - + unnamed 无名 - + unnamed (%1) + + hedgehog %1 + + + + + anonymous + + + - - hedgehog %1 - - - - - anonymous + Hedgehog %1 @@ -3238,7 +3233,7 @@ - + Error 错误 @@ -3259,70 +3254,65 @@ - - Cannot use the ammo '%1'! - - - - + Teams - Are you sure? - + Do you really want to delete the team '%1'? - - Teams - Name already taken - - - + Teams - Name already taken + + + + The team name '%1' is already taken, so your team has been renamed to '%2'. - - + + Cannot delete default scheme '%1'! - + Please select a record from the list - + Hedgewars - Nick not registered - + Unable to start server - + Connection to server is lost 服务器连接丢失 - + Sorry, Hedgewars can't be played with more than 48 hedgehogs. Please try again with fewer hedgehogs. Current number of hedgehogs: %1 - + Not all players are ready - + Are you sure you want to start this game? Not all players are ready. @@ -3355,45 +3345,22 @@ - + Hedgewars - Success - + All file associations have been set - + File association failed. - - Error while authenticating at google.com: - - - - - - Login or password is incorrect - - - - - - Video upload - Error - - - - - Error while sending metadata to youtube.com: - - - - Netgame - Error @@ -3410,106 +3377,100 @@ - + Room Name - Error - + Please select room from the list - - Room Name - Are you sure? - - - + Room Name - Are you sure? + + + + The game you are trying to join has started. Do you still want to join the room? - + Schemes - Warning - + Schemes - Are you sure? - + Do you really want to delete the game scheme '%1'? - - - + + Videos - Are you sure? - + Do you really want to delete the video '%1'? - + Do you really want to remove %1 file(s)? - - Do you really want to cancel uploading %1? - - - - - - + + + File error - + Cannot open '%1' for writing - - + + Cannot open '%1' for reading - - + + Weapons - Warning - + Cannot overwrite default weapon set '%1'! - + Cannot delete default weapon set '%1'! - + Weapons - Are you sure? - + Do you really want to delete the weapon set '%1'? @@ -3523,12 +3484,29 @@ Hedgewars - Information + + + Welcome to Hedgewars + + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + + Cannot use the weapon scheme '%1'! + + QObject - - + + No description available @@ -3572,7 +3550,7 @@ - + Start 开始 @@ -3618,14 +3596,14 @@ - + Cancel 取消 - - + + Delete 删除 @@ -3635,67 +3613,50 @@ - + Associate file extensions - + Set default options - + Restore default coding parameters - + Open videos directory - + Open the video directory in your system - + Play - + Play this video - + Delete this video - - - - - Upload to YouTube - - - - - Upload this video to your YouTube account - - - - - Cancel uploading - - QSpinBox - + Specify the bitrate of recorded videos as a multiple of 1024 bits per second @@ -3708,18 +3669,18 @@ - + set password - + Cancel 取消 - + Create room @@ -3830,42 +3791,42 @@ SelWeaponWidget - + Weapon set - + Probabilities - + Ammo in boxes - + Delays - + New 新游戏 - + New (%1) - + Copy of %1 - + Copy of %1 (%2) @@ -3882,13 +3843,13 @@ - + Unable to run engine at %1 Error code: %2 - + The game engine died unexpectedly! (exit code %1) @@ -3901,7 +3862,7 @@ TeamSelWidget - + At least two teams are required to play! @@ -3914,17 +3875,17 @@ - + Search for a theme: - + Cancel 取消 - + Use selected theme @@ -4061,33 +4022,48 @@ - + + team chat + + + + + pause / auto skip + + + + mute audio - - capture - 夺取 - - + capture + 夺取 + + + speed up replay - + toggle team bars This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + toggle hedgehog tags + + + + record - + quit 退出 @@ -4111,24 +4087,23 @@ - + volume down 降低音量 - + volume up 提高音量 - + change mode 改变模式 - pause - 暂停 + 暂停 @@ -4141,12 +4116,12 @@ 聊天 - + chat history 聊天记录 - + confirmation 确认 @@ -4237,37 +4212,37 @@ - + Pause, continue or leave your game: - + Modify the game's volume while playing: - - Toggle fullscreen mode: - - - - Take a screenshot: + Toggle fullscreen mode: + Take a screenshot: + + + + Demo replay: - + Heads-up display: - + Record video: @@ -4675,123 +4650,28 @@ server - - Restricted - - - - - Not room master - - - - - Corrupted hedgehogs info - - - - - too many teams - - - - - too many hedgehogs - - - - - There's already a team with same name in the list - - - - - round in progress - - - - - restricted - - - - - REMOVE_TEAM: no such team - - - - - Not team owner! - - - - - Less than two clans! - - - - - You already have voted - - - - - Your vote counted - - - - - Voting closed - - - - - Pause toggled - - - - + New voting started - - Voting expired - - - - - kick - - - - map + kick - pause - 暂停 + map + - new seed - + pause + 暂停 - number of hedgehogs in team - - - - - Illegal room name - - - - - Room with such name already exists + new seed @@ -4805,52 +4685,7 @@ - - callvote kick: specify nickname - - - - - callvote kick: no such user - - - - - callvote map: no such map - - - - - callvote pause: no game in progress - - - - - callvote hedgehogs: specify number from 1 to 8 - - - - - Nickname already chosen - - - - - Illegal nickname - - - - - Protocol already known - - - - - Bad number - - - - + Nickname is already in use @@ -4890,28 +4725,183 @@ + + The game can't be started with less than two clans! + + + + + Empty config entry. + + + + + Access denied. + + + + + You're not the room master! + + + + + Corrupted hedgehogs info! + + + + + Too many teams! + + + + + Too many hedgehogs! + + + + + There's already a team with same name in the list. + + + + + Joining not possible: Round is in progress. + + + + + This room currently does not allow adding new teams. + + + + + Error: The team you tried to remove does not exist. + + + + + You can't remove a team you don't own. + + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + + A room with the same name already exists. + + + + + /callvote kick: You need to specify a nickname. + + + + + /callvote kick: No such user! + + + + + /callvote map: No such map! + + + + + /callvote pause: No game in progress! + + + + + /callvote hedgehogs: Specify number from 1 to 8. + + + - No such room + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} - Room version incompatible to your hedgewars version + No such room. - Joining restricted + Room version incompatible to your Hedgewars version! - Registered users only + Access denied. This room currently doesn't allow joining. - You are banned in this room + Access denied. This room is for registered users only. + + + + + You are banned from this room. + + + + + Nickname already provided. + + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + + Protocol already known. + + + + + Bad number. + + + + + There's no voting going on. + + + + + You already have voted. + + + + + Your vote has been counted. + + + + + Voting closed. + + + + + Pause toggled. + + + + + Voting expired. + + + + + hedgehogs per team: @@ -4934,15 +4924,5 @@ Warning! Joins flood protection activated - - - There's no voting going on - - - - - Empty config entry - - diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hedgewars_zh_TW.ts --- a/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hedgewars_zh_TW.ts Sun Jun 10 19:12:26 2018 +0200 @@ -87,33 +87,6 @@ - AmmoSchemeModel - - new - - - - copy of %1 - %1的拷貝 - - - New - 新增 - - - Copy of %1 - - - - New (%1) - - - - Copy of %1 (%2) - - - - BanDialog IP @@ -255,6 +228,33 @@ + GameSchemeModel + + new + + + + copy of %1 + %1的拷貝 + + + New + 新增 + + + Copy of %1 + + + + New (%1) + + + + Copy of %1 (%2) + + + + GameUIConfig Guest @@ -603,12 +603,23 @@ Last two engine messages: %2 - 一個致命的錯誤! - 遊戲引擎不得不停止 + 一個致命的錯誤! - 遊戲引擎不得不停止 我們很抱歉給你帶來不便:( 如果這一情況持續發生,請點擊主菜單中的“%1”按鈕 上次兩款發動機的消息: %2 + + A fatal ERROR occured! The game engine had to stop. + +We are very sorry for the inconvenience. :-( + +If this keeps happening, please click the 'Feedback' button in the main menu! + +Last engine message: +%1 + + HWHostPortDialog @@ -903,11 +914,11 @@ HWUploadVideoDialog Upload video - 上傳視頻 + 上傳視頻 Upload - 上傳 + 上傳 @@ -966,7 +977,7 @@ Video: %1x%2 - 視頻:%1X%2 + 視頻:%1X%2 %1 fps @@ -978,7 +989,29 @@ - %1 FPS + Video: %1x%2, %3 FPS, %4 + Video metadata. %1 = video width, %2 = video height, %3 = frames per second = %4 = decoder name + + + + Video: %1x%2, %3 + Video metadata. %1 = video width, %2 = video height, %3 = decoder name + + + + Player: %1 + + + + Theme: %1 + 主題:%1 + + + Map: %1 + + + + Record: %1 @@ -1176,6 +1209,10 @@ Optimize 優化 + + Brush size + + PageEditTeam @@ -1966,6 +2003,10 @@ Name of this scheme + + Select a hedgehog at the beginning of a turn + + PageSelectWeapon @@ -2082,7 +2123,7 @@ uploading - 上傳 + 上傳 Date: %1 @@ -2092,6 +2133,16 @@ Size: %1 大小:%1 + + %1% + Video encoding progress. %1 = number + + + + %1 (%2%) - %3 + Video encoding list entry. %1 = file name, %2 = percent complete, %3 = video operation type (e.g. “encoding”) + + QAction @@ -2196,11 +2247,11 @@ Save account name and password - 保存帳戶名和密碼 + 保存帳戶名和密碼 Video is private - 視頻是私人 + 視頻是私人 Record audio @@ -2577,27 +2628,27 @@ Please provide either the YouTube account name or the email address associated with the Google Account. - 請提供YouTube帳戶名稱或與Google帳戶關聯的電子郵件地址。 + 請提供YouTube帳戶名稱或與Google帳戶關聯的電子郵件地址。 Account name (or email): - 賬戶名(或電子郵件): + 賬戶名(或電子郵件): Password: - 密碼: + 密碼: Video title: - 視頻標題: + 視頻標題: Video description: - 視頻說明: + 視頻說明: Tags (comma separated): - 標籤(以逗號分隔): + 標籤(以逗號分隔): Description @@ -2712,6 +2763,10 @@ “Kibit/s” is the symbol for 1024 bits per second + + Loading<br>CAPTCHA ... + + QLineEdit @@ -2731,6 +2786,10 @@ unnamed (%1) + + Hedgehog %1 + + QMainWindow @@ -2756,16 +2815,16 @@ Error while authenticating at google.com: - 在google.com認證時錯誤: + 在google.com認證時錯誤: Login or password is incorrect - 登錄或密碼不正確 + 登錄或密碼不正確 Error while sending metadata to youtube.com: - 傳送中繼資料給youtube.com時錯誤: + 傳送中繼資料給youtube.com時錯誤: Teams - Are you sure? @@ -2809,7 +2868,7 @@ Video upload - Error - 視頻上錯 - 錯誤 + 視頻上錯 - 錯誤 Netgame - Error @@ -2885,7 +2944,7 @@ Do you really want to cancel uploading %1? - 你確定要取消上傳%1嗎? + 你確定要取消上傳%1嗎? File error @@ -2901,7 +2960,7 @@ Cannot use the ammo '%1'! - 不能使用武器 '%1'! + 不能使用武器 '%1'! Weapons - Warning @@ -2987,6 +3046,20 @@ Cannot delete file %1. + + Welcome to Hedgewars + + + + Welcome to Hedgewars! + +You seem to be new around here. Would you like to play some training missions first to learn the basics of Hedgewars? + + + + Cannot use the weapon scheme '%1'! + + QObject @@ -3071,11 +3144,11 @@ Upload to YouTube - 上傳到YouTube + 上傳到YouTube Cancel uploading - 取消上傳 + 取消上傳 Restore default coding parameters @@ -3117,10 +3190,6 @@ Start private server 啟動私人伺服器 - - Upload this video to your YouTube account - - QSpinBox @@ -3440,7 +3509,7 @@ pause - 暫停 + 暫停 slot 9 @@ -3511,6 +3580,18 @@ This refers to the team info bars (name/flag/health) of all teams. These are shown at the bottom center of the screen + + team chat + + + + pause / auto skip + + + + toggle hedgehog tags + + binds (categories) @@ -3937,71 +4018,71 @@ server Restricted - 限制 + 限制 Not room master - 不是房間主人 + 不是房間主人 Corrupted hedgehogs info - 錯誤的刺蝟資訊 + 錯誤的刺蝟資訊 too many teams - 太多隊伍 + 太多隊伍 too many hedgehogs - 太多隻刺蝟 + 太多隻刺蝟 There's already a team with same name in the list - 已經有一個同樣名稱的隊伍在列表中 + 已經有一個同樣名稱的隊伍在列表中 round in progress - 遊戲正在進行 + 遊戲正在進行 restricted - 限制 + 限制 REMOVE_TEAM: no such team - 移除隊伍: 沒有這樣的隊伍 + 移除隊伍: 沒有這樣的隊伍 Not team owner! - 不是隊伍的擁有者! + 不是隊伍的擁有者! Less than two clans! - 少於兩個家族! + 少於兩個家族! Illegal room name - 不合法的房間名 + 不合法的房間名 Room with such name already exists - 這樣名稱的房間已經存在 + 這樣名稱的房間已經存在 Nickname already chosen - 暱稱已經選擇 + 暱稱已經選擇 Illegal nickname - 不合法的暱稱 + 不合法的暱稱 Protocol already known - 已知協議 + 已知協議 Bad number - 壞數字 + 壞數字 Nickname is already in use @@ -4033,35 +4114,35 @@ No such room - 沒有這樣的房間 + 沒有這樣的房間 Room version incompatible to your hedgewars version - 房間版本不兼容你的刺猬大作戰版本 + 房間版本不兼容你的刺猬大作戰版本 Joining restricted - 加入限制 + 加入限制 Registered users only - 僅已經註冊的使用者 + 僅已經註冊的使用者 You are banned in this room - 你被這個房間封鎖 + 你被這個房間封鎖 Empty config entry - 空的設定項目 + 空的設定項目 You already have voted - 你已經投過票了 + 你已經投過票了 Voting closed - 投票已經關閉 + 投票已經關閉 New voting started @@ -4069,7 +4150,7 @@ Voting expired - 投票已經過期 + 投票已經過期 kick @@ -4109,25 +4190,13 @@ There's no voting going on - 沒有正在進行的投票 - - - Your vote counted - - - - Pause toggled - + 沒有正在進行的投票 new seed - number of hedgehogs in team - - - /maxteams: specify number from 2 to 8 @@ -4136,23 +4205,147 @@ - callvote kick: specify nickname + The game can't be started with less than two clans! + + + + Empty config entry. + + + + Access denied. + + + + You're not the room master! + + + + Corrupted hedgehogs info! + + + + Too many teams! + + + + Too many hedgehogs! + + + + There's already a team with same name in the list. + + + + Joining not possible: Round is in progress. - callvote kick: no such user + This room currently does not allow adding new teams. + + + + Error: The team you tried to remove does not exist. + + + + You can't remove a team you don't own. + + + + Illegal room name! The room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + A room with the same name already exists. + + + + /callvote kick: You need to specify a nickname. + + + + /callvote kick: No such user! + + + + /callvote map: No such map! + + + + /callvote pause: No game in progress! - callvote map: no such map + /callvote hedgehogs: Specify number from 1 to 8. + + + + Illegal room name! A room name must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} + + + + No such room. + + + + Room version incompatible to your Hedgewars version! + + + + Access denied. This room currently doesn't allow joining. + + + + Access denied. This room is for registered users only. + + + + You are banned from this room. + + + + Nickname already provided. + + + + Illegal nickname! Nicknames must be between 1-40 characters long, must not have a trailing or leading space and must not have any of these characters: $()*+?[]^{|} - callvote pause: no game in progress + Protocol already known. + + + + Bad number. + + + + There's no voting going on. + + + + You already have voted. - callvote hedgehogs: specify number from 1 to 8 + Your vote has been counted. + + + + Voting closed. + + + + Pause toggled. + + + + Voting expired. + + + + hedgehogs per team: diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/hu.txt --- a/share/hedgewars/Data/Locale/hu.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/hu.txt Sun Jun 10 19:12:26 2018 +0200 @@ -48,7 +48,7 @@ 01:02=%1 nyert! 01:03=Hangerő %1% 01:04=Szünet -01:05=Valóban Kilépsz? (Y/Esc) +01:05=Valóban Kilépsz? (%1/%2) 01:06=Hirtelen halál! 01:07=%1 maradt 01:08=Töltet diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/it.lua --- a/share/hedgewars/Data/Locale/it.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/it.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,9 @@ ["..."] = "...", ["011101000"] = "011101000", ["011101001"] = "011101001", +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode +-- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer -- ["+1 Grenade"] = "", -- Basic_Training_-_Flying_Saucer @@ -24,6 +27,7 @@ ["Ace"] = "Asso", -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler ["A Classic Fairytale"] = "Una favola classica", +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission ["Actually, you aren't worthy of life! Take this..."] = "In realtà, non siete degni di vivere! Prendete questo...", ["A cy-what?"] = "Un cy-cosa?", -- ["Add %d"] = "", -- HedgeEditor @@ -35,6 +39,7 @@ ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "Dopo che Leaks A Lot ha tradito la sua tribù, si è unito ai cannibali..", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "Dopo lo shock causato dalla spia nemica, Leaks A Lot e Nuvola Densa andarono a caccia per rilassarsi.", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 ["Again with the 'cannibals' thing!"] = "Ancora colla storia dei 'cannibali'!", -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -42,8 +47,10 @@ ["a Hedgewars mini-game"] = "un mini-gioco di Hedgewars", -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope ["Aiming Practice"] = "Allena la tua mira", -- ["Aiming practice"] = "", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope ["Air Attack"] = "Attacco aereo", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -66,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen ["All walls touched!"] = "Tutti i muri toccati!", -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -74,6 +82,7 @@ ["Ammo is reset at the end of your turn."] = "Le munizioni si azzeranno alla fine del tuo turno", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement ["And how am I alive?!"] = "E com'è che sono vivo?!", -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -87,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen ["And where's all the weed?"] = "E dov'è tutta l'erba?", -- A_Classic_Fairytale:dragon ["And you believed me? Oh, god, that's cute!"] = "E mi credi? Oddio, che bello!", +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "Anno 1032: [L'esplosione genererà una forte spinta ~ Ad ampio raggio, non influenzerà i ricci vicino al bersaglio]", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission ["Antarctica"] = "Antartico", ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "Estate antartica: - Ti darà una trave/palla di fango e due pistole sinusoidali/portali ogni quattro turni", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -108,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW ["Asia"] = "Asia", +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 ["Assault Team"] = "Squadra d'assalto", @@ -117,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 ["As you can see, there is no way to get on the other side!"] = "Come puoi vedere, non c'è modo di andare dall'altra parte!", +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -124,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -132,10 +146,15 @@ ["Available points remaining: "] = "Punti disponibili rimasti: ", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil ["Back Breaker"] = "Back Breaker", -- A_Classic_Fairytale:backstab ["Back in the village, after telling the villagers about the threat..."] = "Tornati al villaggio, dopo aver detto agli abitanti della minaccia...", -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement ["Backstab"] = "Backstab", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -150,17 +169,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor ["Barrel Placement Mode"] = "Modalità di piazzamento barili", -- Construction_Mode +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope ["Baseballbat"] = "Mazza da baseball", -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Lancia delle palline ai tuoi nemici|e spingili in acqua!", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Manda (colpendoli) i tuoi nemici|in acqua attraverso i canestri laterali!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Addestramento sull'utilizzo del Bazooka", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -173,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Tempo migliore per squadra: ", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -210,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -231,6 +262,7 @@ ["Bullseye"] = "Bersaglio", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- ["But it proved to be no easy task!"] = "Ma si è dimostrato essere un compito difficile!", @@ -246,6 +278,8 @@ ["But you're cannibals. It's what you do."] = "Ma voi siete cannibali. E' quello che fate.", ["But you said you'd let her go!"] = "Avete detto che l'avreste lasciata andare!", -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -254,9 +288,11 @@ ["Cannibal Sentry"] = "Sentinella cannibale", ["Cannibals?! You're the cannibals!"] = "Cannibali? Voi siete i cannibali!", -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Careless"] = "Incauto", ["Carol"] = "Carol", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -266,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -310,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -318,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor ["Compete to use as few planes as possible!"] = "Usa meno aerei possibile per vincere!", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "Completa la pista più veloce che puoi!", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -331,6 +371,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -354,6 +395,8 @@ ["Corpsemonger"] = "Mangiacadaveri", -- A_Classic_Fairytale:shadow ["Corpse Thrower"] = "Lancia cadaveri", ["Cost"] = "Costo", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -370,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -387,11 +431,15 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 ["Deadweight"] = "Peso morto", -- ["Deer"] = "", -- -- ["Defeat all enemies!"] = "", -- portal -- ["Defeat Professor Hogevil!"] = "", -- A_Space_Adventure:death01 +-- ["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 cannibals!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "Sconfiggi i cannibali! | Suggerimento: imposta il timer con [1-5], mira con [Su] / [Giù] e tieni premuto [Spazio] per scegliere la potenza", -- A_Classic_Fairytale:shadow ["Defeat the cannibals!|"] = "Sconfiggi i cannibali!|", ["Defeat the cannibals"] = "Sconfiggi i cannibali", @@ -409,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "Distruggilo Leaks A Lot! E' responsabile della morte di molti di noi!", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air."] = "Distruggi gli obiettivi! Suggerimento: Seleziona il Pugno di Fuoco e premi [Spazio]|P.S. Puoi usarlo a mezz'aria.", -- A_Classic_Fairytale:first_blood ["Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot"] = "Distruggi gli obiettivi! Suggerimento: [Su] [Giù] per mirare, [Spazio] per sparare", -- A_Classic_Fairytale:first_blood -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -449,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen ["Double Kill!"] = "Doppia Uccisione!", -- ["Double kill!"] = "", -- Mutant @@ -475,6 +529,7 @@ ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "Lascia una bomba: [Rilascia un vento eroico che si trasforma una bomba all'impatto", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope ["Drowner"] = "Affogato", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -524,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge ["Elmo"] = "Elmo", -- ["Enabled"] = "", -- WxW @@ -550,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 ["Eye Chewer"] = "Mangia Occhi", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror ["Family Reunion"] = "Riunione familiare", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Giro migliore: ", ["Feeble Resistance"] = "Resistenza Finale", ["Fell From Grace"] = "Caduto in disgrazia", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen @@ -563,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 ["Filthy Blue"] = "Blu Sporco", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final ["Find your tribe!|Cross the lake!"] = "Trova la tua tribù!|Attraversa il lago!", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "Fine dell'allenamento | Suggerimento: puoi saltare le animazioni con il tasto [Mirino di Precisione].", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler ["First aid kits?!"] = "Kit di pronto soccorso?!", ["First Blood"] = "Primo sangue", +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant ["First Steps"] = "Primi passi", -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -592,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -634,12 +700,17 @@ -- ["Get past the flower."] = "", -- A_Classic_Fairytale:journey -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 ["Get that crate!"] = "Prendi la cassa!", -- A_Classic_Fairytale:first_blood +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey ["Get the crate on the other side of the island!|"] = "Prendi la cassa dall'altra parte dell'isola!|", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family ["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!"] = "Salva i tuoi compagni dalla prigione naturale e salva la principessa!|Suggerimento: Trapanare dei fori dovrebbe risolvere tutto.|Suggerimento: Può essere furbo posizionare una trave prima di iniziare a trapanare.|Suggerimento: Tutti i tuoi ricci devono essere al di sopra dell'altezza segnata!|Suggerimento: Leaks a Lot deve essere molto vicino alla principessa!", -- A_Classic_Fairytale:family -- ["Giggles"] = "", -- ["Gimme Bones"] = "Datemi Ossa", -- A_Classic_Fairytale:backstab @@ -653,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -666,11 +738,13 @@ ["Good idea, they'll never find us there!"] = "Buona idea, qui non ci troveranno mai", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 ["Good luck...or else!"] = "In bocca al lupo... o altro!", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "Buona fortuna!", ["Good so far!"] = "Molto bene finora!", ["Good to go!"] = "Vai!!", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement ["Go on top of the flower"] = "Vai in cima al fiore", -- A_Classic_Fairytale:first_blood ["Go, quick!"] = "Vai, veloce!", -- A_Classic_Fairytale:backstab ["Gorkij"] = "Gorkij", -- A_Classic_Fairytale:journey @@ -680,12 +754,14 @@ ["GOTCHA!"] = "COLPITO!!", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope ["Great choice, Steve! Mind if I call you that?"] = "Ottima scelta! Ricordi cosa ti ho detto?", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "Ottimo lavoro! Ora colpisci con la mazza da baseball! Suggerimento: Puoi cambiare arma con 'Tasto Destro'!", -- Basic_Training_-_Rope @@ -704,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade ["Grenade Training"] = "Allenamento granate", -- Basic_Training_-_Grenade ["Grenadiers"] = "Granatieri", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -736,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode ["Healing Station"] = "Stazione di cura", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor ["Health Crate Placement Mode"] = "Modalità posizionamento cassa della salute", -- Construction_Mode -- ["Health: %d"] = "", -- HedgeEditor @@ -743,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror ["Heavy Cannfantry"] = "Fanteria pesante", -- A_Classic_Fairytale:united ["Heavy"] = "Pesante", -- ["Heckles"] = "", -- @@ -780,11 +862,13 @@ ["Here...pick your weapon!"] = "Ecco... prendi la tua arma", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer ["Hero Team"] = "Team Eroi", -- User_Mission_-_The_Great_Escape ["He's so brave..."] = "E' così coraggioso...", -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 ["He won't be selling us out anymore!"] = "Ora non ci tradirà più!", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family ["Hey, guys!"] = "Ciao, ragazzi!", -- A_Classic_Fairytale:backstab ["Hey guys!"] = "Ciao ragazzi!", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -793,21 +877,38 @@ ["Hey! This is cheating!"] = "Ehi, questo è barare!", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka ["Hightime"] = "Tempo massimo", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement ["Hint: Double Jump - Press [Backspace] twice"] = "Suggerimento: Doppio salto - Premi due volte [Backspace]", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope +-- ["Hint: You might want to stay out of sight and take all the crates ..."] = "", -- A_Classic_Fairytale:journey ["Hint: you might want to stay out of sight and take all the crates...|"] = "Suggerimento: potresti voler rimanere nascosto e prendere tutte le casse...|", -- A_Classic_Fairytale:journey ["His arms are so strong!"] = "Le sue braccia sono così forti!", -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen ["Hmmm...actually...I didn't either."] = "Hmmm... in realtà... neanche io.", -- A_Classic_Fairytale:enemy -- ["Hmmm, I’ll have to find some way of moving him off this anti-portal surface."] = "", -- portal @@ -822,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -854,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant ["Homing Bee"] = "Ape a ricerca", -- Construction_Mode -- ["Honda"] = "", -- @@ -877,6 +981,7 @@ ["However, if you fail to do so, she dies a most violent death! Muahahaha!"] = "Tuttavia, se fallirai, morirà di una morte più violenta! Muahahaha!", -- A_Classic_Fairytale:journey ["However, my mates don't agree with me on letting you go..."] = "Tuttavia i miei compagni non vogliono lasciarti andare...", -- A_Classic_Fairytale:dragon -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Cacciatore", @@ -895,12 +1000,14 @@ ["I can't believe what I'm hearing!"] = "Non credo alle mie orecchie!", -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen ["I can't wait any more, I have to save myself!"] = "Non posso più aspettare, devo salvarmi!", +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 ["I could just teleport myself there..."] = "Potrei teletrasportarmi lì...", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor ["I'd better get going myself."] = "Mi piacerebbe lasciarmi andare.", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant ["I didn't until about a month ago."] = "Non l'ho fatto fino a circa un mese fa.", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -910,6 +1017,7 @@ ["I feel something...a place! They will arrive near the circles!"] = "Sento qualcosa... un posto! Arriveranno vicino ai cerchi!", -- A_Classic_Fairytale:backstab ["If only I had a way..."] = "Se solo avessi un modo...", -- A_Classic_Fairytale:backstab ["If only I were given a chance to explain my being here..."] = "Se solo avessi la possibilità di spiegare come mai sono qui...", -- A_Classic_Fairytale:first_blood +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 ["I forgot that she's the daughter of the chief, too..."] = "Ho dimenticato che è anche la figlia del capo...", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -917,11 +1025,16 @@ ["If you agree to provide the information we need, you will be spared!"] = "Se fornirai informazioni necessarie verrai risparmiato!", -- A_Classic_Fairytale:shadow ["If you can get that crate fast enough, your beloved \"princess\" may go free."] = "Se riesci a prendere la cassa abbastanza velocemente, la tua amata \"principessa\" potrà essere libera.", -- A_Classic_Fairytale:journey ["If you decide to help us, though, we will no longer need to find a new governor for the island."] = "Se decidi di aiutarci, però, non avremo più bisogno di trovare un nuovo governatore per l'isola", -- A_Classic_Fairytale:shadow +-- ["If you don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "Se sei bloccato, usa la Desert Eagle o riavvia la missione!|", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 ["If you know what I mean..."] = "Se sai cosa intendo...", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope ["If you say so..."] = "Se lo dici tu...", -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -971,6 +1084,7 @@ ["I'm here to help you rescue her."] = "Sono qui per aiutarti a salvarla.", -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen ["I'm not sure about that!"] = "Non ne sono così sicuro!", +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "Impressionante... sei ancora asciutto come il cadavere di un falco dopo una settimana nel deserto", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1004,6 +1118,7 @@ ["Interesting! Last time you said you killed a cannibal!"] = "Interessante! L'ultima volta hai detto di aver ucciso un cannibale!", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 ["In the meantime, take these and return to your \"friend\"!"] = "Nel frattempo, prendi questi e torna dal tuo \"amico\"!", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1038,6 +1153,7 @@ ["It must be the aliens' deed."] = "Dev'esser stata opera degli alieni.", -- A_Classic_Fairytale:backstab ["It must be the aliens!"] = "Devono essere gli alieni!", ["It must be the cyborgs again!"] = "Devono essere ancora i cyborg!", -- A_Classic_Fairytale:enemy +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope ["I told you, I just found them."] = "Te l'ho detto, le ho semplicemente trovate...", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Almeno il SUDDEN DEATH arriverà tra 99 turni...", @@ -1097,6 +1213,7 @@ -- ["Jones"] = "", -- ["Judas"] = "Giuda", -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "Il salto è disattivato", ["Just kidding, none of you have died!"] = "Scherzavo, nessuno di voi è morto!", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1125,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1139,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion ["Last Target!"] = "Ultimo Obiettivo!", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka ["Leaderbot"] = "Capobot", -- A_Classic_Fairytale:queen ["Leader"] = "Capo", -- A_Classic_Fairytale:enemy -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1146,6 +1265,7 @@ ["Leaks A Lot gave his life for his tribe! He should have survived!"] = "Leaks a Lot ha dato la sua vita per la sua tribù! Avrebbe dovuto sopravvivere!", -- A_Classic_Fairytale:first_blood ["Leaks A Lot"] = "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 must survive!"] = "Leaks A Lot deve sopravvivere!", -- A_Classic_Fairytale:journey +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement ["Led Heart"] = "Cuore Saggio", -- A_Classic_Fairytale:queen ["Lee"] = "Lee", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1153,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies ["Let me test your skills a little, will you?"] = "Fammi verificare le tue capacità un istante, ok?", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 ["Let's go home!"] = "Andiamo a casa!", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1172,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- ["Light Cannfantry"] = "Fanteria Leggera", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 ["Listen up, maggot!!"] = "Recluta, Attenzione!!", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings ["Little did they know that this hunt will mark them forever..."] = "Non sapevano ancora che questa caccia li avrebbe segnati per sempre...", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope ["Lively Lifeguard"] = "Bagnino Vivace", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies ["Lonely Hog"] = "Riccio solitario", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 ["Look, I had no choice!"] = "Scusa, non avevo scelta!", -- A_Classic_Fairytale:backstab @@ -1186,6 +1313,7 @@ ["Looks like the whole world is falling apart!"] = "Sembra che tutto il mondo si stia inabissando!", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1227,11 +1355,15 @@ -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor ["Mine Placement Mode"] = "Modalità posizionamento mine", -- Construction_Mode -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission ["Mine Strike"] = "Strike di mine", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1239,6 +1371,7 @@ ["MISSION FAILED"] = "MISSIONE FALLITA", -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "MISSIONE COMPLETATA CON SUCCESSO", -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1247,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- ["Molotov"] = "Molotov", @@ -1257,15 +1392,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"] = "Movimenti: [Su], [Giù], [Sinistra], [Destra]", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander ["Muriel"] = "Muriel ", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen ["Muscle Dissolver"] = "Dissolvi-muscoli", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- ["Mutant"] = "Mutante", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 ["Nade Boy"] = "Nud-uomo", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1308,6 +1446,7 @@ ["No...I wonder where they disappeared?!"] = "No... mi chiedo dove siano spariti?!", -- A_Classic_Fairytale:journey ["Nom-Nom"] = "Nom-Nom", -- A_Classic_Fairytale:journey ["NomNom"] = "NomNom", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 ["Nope. It was one fast mole, that's for sure."] = "No. Era una talpa veloce, sicuramente!", -- A_Classic_Fairytale:shadow ["No! Please, help me!"] = "No! Per favore, aiutami!", -- A_Classic_Fairytale:journey @@ -1317,12 +1456,15 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement ["NORMAL"] = "NORMALE", -- Continental_supplies -- ["Normal Rubber: [1]"] = "", -- HedgeEditor ["North America"] = "Nord America", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"] = "NON CI SONO ABBASTANZA PUNTI!", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion ["Not now, Fiery Water!"] = "Non ora, Acqua Ardente", -- A_Classic_Fairytale:backstab @@ -1337,12 +1479,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement ["No! What have I done?! What have YOU done?!"] = "No! Cosa ho fatto?! Cosa TU hai fatto?!", -- A_Classic_Fairytale:journey ["No. Where did he come from?"] = "No. Da dove è sbucato?", -- A_Classic_Fairytale:shadow ["Now how do I get on the other side?!"] = "E ora come arrivo dall'altra parte?!", -- A_Classic_Fairytale:dragon -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 ["No. You and the rest of the tribe are safer there!"] = "No. Tu e il resto della tribù sarete più al sicuro qui!", -- A_Classic_Fairytale:backstab @@ -1350,6 +1495,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode ["Obliterate them!|Hint: You might want to take cover..."] = "Toglieteli!|Suggerimento: potresti voler trovare copertura...", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope ["Obstacle course"] = "Corsa a ostacoli", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1370,8 +1516,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 ["Oh, silly me! I forgot that I'm the shaman."] = "Oh, stupido! Ho dimenticato di essere io lo sciamano!", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1386,8 +1534,10 @@ ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "Una tribù era pacifica, andava a caccia e si allenanava, godendo dei piccoli piaceri della vita...", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1395,6 +1545,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer ["Oops...I dropped them."] = "Oops... Mi sono cadute.", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope ["Open that crate and we will continue!"] = "Apri quella cassa e continuiamo!", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Squadra Nemica: ", -- ["Orange"] = "", -- @@ -1405,25 +1557,32 @@ ["Other kills don't give you points."] = "Le altre uccisioni non ti daranno punti.", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement ["Our tribe, our beautiful island!"] = "La nostra tribù, la nostra bella isola!", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos ["Parachute"] = "Paracadute", -- Continental_supplies -- ["Patches"] = "", -- ["Pathetic Resistance"] = "Resistenza Patetica", -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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!"] = "Ottimo! Ora prova a prendere la prossima cassa senza farti male!", -- A_Classic_Fairytale:first_blood ["Per-Hog Ammo"] = "Munizioni per Riccio", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 ["Per team weapons"] = "Armi per team", -- Continental_supplies ["Pfew! That was close!"] = "Pfff! Era vicino!", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor ["Piano Strike"] = "Strike con il piano", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1456,6 +1615,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag ["Planes Used:"] = "Aerei usati:", -- User_Mission_-_RCPlane_Challenge ["Planes Used"] = "Aerei usati", -- User_Mission_-_RCPlane_Challenge @@ -1475,6 +1635,7 @@ -- ["Please wait …"] = "", -- WxW -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion +-- ["--- Points Mode ---"] = "", -- Battalion ["points"] = "punti", -- ["point(s)"] = "", -- TargetPractice, Mutant -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 @@ -1484,7 +1645,10 @@ ["Population"] = "Popolazione", -- Continental_supplies -- ["Porkey"] = "", -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "Suggerimento portale: uno è la destinazione, uno è l'ingresso.|", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1511,10 +1675,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "Proteggiti! |Suggerimento della granata: imposta il timer con [1-5], punta con [Su]/[Giù] e tieni premuto [Spazio] per la potenza.", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["Racer"] = "", -- Racer ["RACER"] = "RACER", @@ -1532,6 +1699,7 @@ -- ["Razac"] = "", -- portal ["RC Plane"] = "Aereo RC", -- Construction_Mode -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 ["Really?! You thought you could harm me with your little toys?"] = "Veramente?! Pensavi avresti potuto danneggiarmi con i tuoi piccoli giocattoli?", -- A_Classic_Fairytale:shadow @@ -1540,9 +1708,13 @@ ["Reflector Shield"] = "Corazza Riflettente", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode ["Regurgitator"] = "Rigurgitatore", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 ["Reinforcements"] = "Rinforzi", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos ["Remember: The rope only bend around objects, |if it doesn't hit anything it's always stright!"] = "Ricorda: la corda si piega solo sugli oggetti, se non colpisce niente resta dritta!", -- Basic_Training_-_Rope +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow ["Remember this, pathetic animal: when the day comes, you will regret your blind loyalty!"] = "Ricorda, animale patetico: un giorno rimpiangerai la tua fedeltà cieca!", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor @@ -1552,14 +1724,17 @@ -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode ["Respawner"] = "Rinascita", -- Construction_Mode ["Resurrector"] = "Risurrettore", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = " - Riporta la bandiera nemica alla tua base per guadagnare un punto| - La prima squadra a catturarne 3 vince! | - Puoi guadagnare punti solo quando la tua bandiera si trova nella tua base! | - I ricci lasceranno cadere la bandiera se uccisi o caduti in acqua! | - Le bandiere cadute possono essere restituite o ricatturate! | - I ricci risorgono dalla morte!", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion ["Righteous Beard"] = "Barba saggia", -- 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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1571,6 +1746,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope ["Rope Training"] = "Allenamento corde", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- ["Rot Molester"] = "Molestatore Marcio", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1581,6 +1757,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1595,6 +1773,7 @@ -- ["Rusted Diego"] = "", -- ["Rusty Joe"] = "Joe arrugginito", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "Sabotaggio/fiamma: [Sabota tutti ricci nel cerchio e dà ~ 1 danno OPPURE Dà fuoco un cluster in aria]", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1618,22 +1797,26 @@ -- ["Scallywag"] = "", -- ["Scalp Muncher"] = "Tagliascalpo", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1651,9 +1834,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1662,15 +1854,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge ["... share your beauty with the world every morning, my princess!"] = "...condividi ogni mattina la tua bellezza con il mondo, principessa!", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1701,9 +1897,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode ["Sinky"] = "Affondato", ["Sirius Lee"] = "L'onesto Lee", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- ["Slippery"] = "Scivoloso", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy ["Slot keys save time! (F1-F10 by default)"] = "Tasti slot fanno risparmiare tempo! (F1-F10 predefiniti)", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1718,6 +1921,7 @@ ["Smith 1.0"] = "Smith 1.0", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1726,6 +1930,7 @@ ["Sniper Training"] = "Addestramento sull'utilizzo del Fucile di Precisione", ["Sniperz"] = "Cecchini", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos ["So humiliating..."] = "Così umiliante...", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1735,6 +1940,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1758,6 +1964,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1779,6 +1986,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1813,7 +2021,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 ["Steel Eye"] = "Occhio d'Accaio", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1862,12 +2073,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united ["Swing, Leaks A Lot, on the wings of the wind!"] = "Vai, Leaks a Lot, ondeggia sulle ali del vento!", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer ["Switched to "] = "Cambiato in", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement ["Switch Hog"] = "Scambia riccio", -- Construction_Mode ["switch"] = "scambio", -- Continental_supplies -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield ["Syntax Errol"] = "Ellole di Sintassi", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1884,9 +2102,11 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- +-- ["Team %d"] = "", -- SimpleMission ["Team %d: "] = "Squadra %d: ", -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor @@ -1901,9 +2121,12 @@ ["Teleportation Mode"] = "Modalità Teletrasporto", -- Construction_Mode -- ["Teleportation Node: Allows teleportation| between other nodes."] = "", -- Construction_Mode ["Teleportation Node"] = "Nodo Teletrasporto", -- Construction_Mode +-- ["Teleport hint: Just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon ["Teleport hint: just use the mouse to select the destination!"] = "Suggerimento teletrasporto: usa il mouse per impostare la destinazione!", -- A_Classic_Fairytale:dragon ["Teleport"] = "Teletrasporto", -- Construction_Mode, Frenzy +-- ["Teleport unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "Teletrasporto non riuscito. Teletrasportati all'interno di una sfera d'influenza di un teletrasporto del clan", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil ["Thanks!"] = "Grazie!", -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1931,6 +2154,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode ["The answer is...entertaintment. You'll see what I mean."] = "La risposta è... per divertimento. Vedrai cosa intendo.", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1949,11 +2173,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "Il nemico si sta nascondendo dietro a quella papera!", ["The Enemy Of My Enemy"] = "Il nemico del mio nemico", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka ["The First Blood"] = "Il primo sangue", -- A_Classic_Fairytale:first_blood ["The First Encounter"] = "Il primo incontro", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1984,16 +2212,22 @@ -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos ["The Moonwalk"] = "Camminata sulla luna", -- A_Classic_Fairytale:journey ["The Mutant has super-weapons and a lot of health."] = "Il Mutante ha super-armi e un sacco di vita.", -- Mutant +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "Il Mutante perde vita velocemente se non fa uccisioni.", -- Mutant ["The Nameless One"] = "Il Senzanome", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "Il prossimo è piuttosto difficile! |Suggerimento: devi fare più oscillazioni", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka ["Then how do they keep appearing?"] = "Allora perchè continuano ad apparire?", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "Gli altri erano tutti cannibali e passavano le giornate mangiando gli organi di altri ricci...", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2007,16 +2241,21 @@ ["There's nothing more satisfying for me than seeing you share your beauty with the world every morning, my princess!"] = "Niente mi soddisfa più che vederti condividere la tua bellezza con il mondo ogni mattina, mia principessa!", -- A_Classic_Fairytale:journey ["There's nothing more satisfying to us than seeing you share your beauty..."] = "Niente ci soddisfa più che vederti condividere la tua bellezza... ", -- A_Classic_Fairytale:journey ["There's nothing more satisfying to us than seeing you share your beauty with the world every morning, my princess!"] = "Niente ci soddisfa più che vederti condividere la tua bellezza con il mondo ogni mattina, principessa!", -- A_Classic_Fairytale:journey +-- ["The respawner respawns %s"] = "", -- Construction_Mode ["The Rising"] = "L'alba", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 ["The Savior"] = "Il salvatore", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement ["These primitive people are so funny!"] = "Questi primitivi sono così divertenti!", -- A_Classic_Fairytale:backstab ["The Shadow Falls"] = "Le Shadow Falls", -- A_Classic_Fairytale:shadow ["The Showdown"] = "La resa dei conti", -- A_Classic_Fairytale:shadow ["The Slaughter"] = "Il macello", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:first_blood -- ["The Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion ["THE SPECIALISTS"] = "GLI SPECIALISTI", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "Gli spiriti degli antenati sono sicuramente contenti, Leaks a Lot.", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 ["The Torment"] = "La tormenta", -- A_Classic_Fairytale:first_blood @@ -2033,6 +2272,7 @@ ["The weapon in that last crate was bestowed upon us by the ancients!"] = "L'arma nell'ultima cassa ci è stata conferita dagli antichi!", -- A_Classic_Fairytale:first_blood ["The what?!"] = "Il cosa?!", -- A_Classic_Fairytale:dragon ["The wind whispers that you are ready to become familiar with tools, now..."] = "Il vento mi sussurra che ora sei pronto ad usare le attrezzature...", -- A_Classic_Fairytale:first_blood +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission ["They are all waiting back in the village, haha."] = "Stanno tutti aspettando al villaggio, ahah.", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2048,17 +2288,22 @@ -- ["The Zoo"] = "", -- ["Thighlicker"] = "Lanciacoscia", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement ["This is it! It's time to make Fell From Heaven fall for me..."] = "Andiamo! E' giunto il momento di impressionare Scesa dal Cielo...", -- A_Classic_Fairytale:first_blood ["This island is the only place left on Earth with grass on it!"] = "Quest'isola è l'unico posto rimasto sulla Terra con dell'erba!", -- A_Classic_Fairytale:enemy -- ["This is seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 ["This is typical!"] = "Tipico!", -- A_Classic_Fairytale:dragon ["This must be some kind of sorcery!"] = "Dev'essere qualche tipo di stregoneria!", -- A_Classic_Fairytale:shadow ["This must be the caves!"] = "Queste devono essere le grotte!", -- A_Classic_Fairytale:backstab @@ -2066,6 +2311,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Questa pioggia ha qualcosa di strano...", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge ["This will be fun!"] = "Questo sarà divertente!", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2074,14 +2320,19 @@ ["Those aliens are destroying the island!"] = "Questi alieni stanno distruggendo l'isola!", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2089,10 +2340,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "Suggerimento: la fisica delle corde è diversa rispetto al mondo reale, usala a tuo vantaggio!", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2124,6 +2383,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil ["Traitors"] = "Traditori", +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2133,14 +2393,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "Cerca di proteggere il capo! Non perderai se muore, ma è meglio che sopravviva.", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope ["T_T"] = "T_T", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2157,6 +2422,7 @@ -- ["unC0Rr"] = "", -- ["Under Construction"] = "In costruzione", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos ["Unexpected Igor"] = "Igor l'inaspettato", -- A_Classic_Fairytale:dragon ["Unique new weapons"] = "Nuove armi uniche", -- Continental_supplies @@ -2171,9 +2437,11 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- ["Unit 835"] = "Unità 835", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- ["United We Stand"] = "Sempre Uniti", -- A_Classic_Fairytale:united ["Unit"] = "Unità", +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade ["Unlimited Attacks"] = "Attacchi illimitati", -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree ["Unlucky Sods"] = "Zolle Sfortunate", -- User_Mission_-_Rope_Knock_Challenge @@ -2181,10 +2449,12 @@ ["Unsuspecting Louts"] = "Zotici insospettabili", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge ["Use it wisely!"] = "Usala con saggezza.", -- A_Classic_Fairytale:dragon ["Use it with precaution!"] = "Usala con attenzione!", -- A_Classic_Fairytale:first_blood ["User Challenge"] = "Sfida Utente", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2195,8 +2465,10 @@ ["Use the portal gun to get to the next crate, then use the new gun to get to the final destination!|"] = "Usa la spara-portali per prendere la prossima cassa, poi usala di nuovo per raggiungere la destinazione finale!|", -- A_Classic_Fairytale:dragon -- ["Use the RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope ["Use the rope to get on the head of the mole, young one!"] = "Usa la corda per raggiungere la testa della talpa, ragazzo!", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope ["Use the rope to knock your enemies to their doom."] = "Usa la corda per mandare i tuoi nemici al loro destino.", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2208,6 +2480,7 @@ ["Use your ready time to think."] = "Usa il tempo di preparazione per pensare", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Usa la tua corda per raggiungere il traguardo il più velocemente possibile!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor ["Utility Crate Placement Mode"] = "Modalità piazzamento casse attrezzatura", -- Construction_Mode -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2230,6 +2503,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2239,8 +2515,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- ["Wannabe Flyboys"] = "Volatori speranzosi", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope ["Wannabe Shoppsta"] = "Shopper speranzosi", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2275,6 +2554,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission ["We have no time to waste..."] = "Non abbiamo tempo da perdere", -- A_Classic_Fairytale:journey ["We have nowhere else to live!"] = "Non abbiamo altro posto dove vivere!", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2283,6 +2563,7 @@ ["We have to protect the village!"] = "Dobbiamo proteggere il villaggio", -- A_Classic_Fairytale:united ["We have to unite and defeat those cylergs!"] = "Dobbiamo unirci e difendere questi cylergs", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome ["Welcome, Leaks A Lot!"] = "Benvenuto Leaks A Lot!", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2291,11 +2572,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos ["Well done."] = "Ben fatto.", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope ["We'll give you a problem then!"] = "Ti daremo dei problemi allora!", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 ["We'll spare your life for now!"] = "Ti risparmieremo la vita per ora!", -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil ["Well, that was a waste of time."] = "Beh, è stata una perdita di tempo.", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos ["Well, well! Isn't that the cutest thing you've ever seen?"] = "Bene, bene! Non è la cosa più tenera che abbiate mai visto?", -- A_Classic_Fairytale:journey @@ -2346,10 +2630,12 @@ ["What is this place?"] = "Cos'è questo posto?", -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen ["What shall we do with the traitor?"] = "Cosa dovremmo fare con il traditore?", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen ["WHAT?! You're the ones attacking us!"] = "COSA!? Voi siete quelli che ci stanno attaccando!", -- A_Classic_Fairytale:enemy ["When I find it..."] = "Quando lo trovo...", -- A_Classic_Fairytale:dragon ["When?"] = "Quando?", -- A_Classic_Fairytale:enemy +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope ["Where are all these crates coming from?!"] = "Da dove vengono tutte queste casse?!", -- A_Classic_Fairytale:shadow ["Where are they?!"] = "Dove sono loro?!", ["Where did that alien run?"] = "Dov'è corso quell'alieno?", @@ -2379,15 +2665,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen ["Why would they do this?"] = "Perchè dovrebbero farlo?", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies ["- Will Get 1-3 random weapons"] = "- Otterra 1-3 armi casuali", -- Continental_supplies ["- Will give you a parachute every second turn."] = "- Ti daremo un paracadute ogni secondo turno", -- Continental_supplies ["Will this ever end?"] = "Finirà mai?", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer ["Wise Oak"] = "Quercia saggia", -- 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..."] = "Con Nuvola Densa nella terra delle ombre, sono l'unica speranza del villaggio ...", -- A_Classic_Fairytale:journey +-- ["With low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- A_Classic_Fairytale:dragon ["Worry not, for it is a peaceful animal! There is no reason to be afraid..."] = "Non preoccuparti, è un animale pacifico! Non c'è ragione di avere paura...", -- A_Classic_Fairytale:first_blood ["Wow, what a dream!"] = "Wow, che sogno!", @@ -2423,18 +2712,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2461,14 +2754,20 @@ -- ["You had %.1fs remaining on the clock (+%d points)."] = "", -- TargetPractice -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 +-- ["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 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..."] = "Hai 7 turni all'ondata successiva.|Assicurati che i cannibali vengano salutati in modo appropriato!|Se il riccio muore, la causa è persa.|Suggerimento: potresti utilizzare alcune mine...", -- A_Classic_Fairytale:backstab -- ["You have acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome ["You have been giving us out to the enemy, haven't you!"] = "Tu ci hai consegnati al nemico, vero?!", -- A_Classic_Fairytale:backstab ["You have chosen the perfect moment to leave."] = "Hai scelto il momento perfetto per andartene...", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2521,6 +2820,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2540,6 +2840,7 @@ ["You just appeared out of thin air!"] = "Sei appena apparso fuori dalla nebbia!", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen ["You just committed suicide..."] = "Ti sei appena suicidato...", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement ["You killed my father, you monster!"] = "Hai ucciso mio padre, mostro!", -- A_Classic_Fairytale:backstab ["You know...taking a stroll."] = "Sai... fare una passeggiata.", -- A_Classic_Fairytale:backstab ["You know what? I don't even regret anything!"] = "Sai un cosa? Non rimpiango nulla!", -- A_Classic_Fairytale:backstab @@ -2567,11 +2868,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen ["Young one, you are telling us that they can instantly change location without a shaman?"] = "Ragazzo, ci stai dicendo che possono cambiare posizione istantaneamente senza uno sciamano?", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer ["You probably know what to do next..."] = "Probabilmente sai già cosa fare...", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy ["Your death will not be in vain, Dense Cloud!"] = "La tua morte non sarà invana, Nuvola Densa!", -- A_Classic_Fairytale:shadow @@ -2583,6 +2886,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen ["You're pathetic! You are not worthy of my attention..."] = "Sei patetico! Non meriti nemmeno la mia attenzione...", -- A_Classic_Fairytale:shadow ["You're probably wondering why I bought you back..."] = "Probabilmente stai chiedendo perché ti ho riportato indietro...", -- A_Classic_Fairytale:backstab +-- ["You're probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2592,6 +2896,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome ["Your hogs must survive!"] = "I vostri ricci devono sopravvivere!", @@ -2601,6 +2906,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/it.txt --- a/share/hedgewars/Data/Locale/it.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/it.txt Sun Jun 10 19:12:26 2018 +0200 @@ -64,7 +64,7 @@ 01:02=%1 vince! 01:03=Volume %1% 01:04=In pausa -01:05=Vuoi davvero uscire (Y/Esc)? +01:05=Vuoi davvero uscire (%1/%2)? 01:06=Morte improvvisa! 01:07=%1 rimanenti 01:08=Carburante diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/ja.txt --- a/share/hedgewars/Data/Locale/ja.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/ja.txt Sun Jun 10 19:12:26 2018 +0200 @@ -62,7 +62,7 @@ 01:02=%1 勝った! 01:03=音量 %1% 01:04=休憩 -01:05=本当にやめるの (Y/Esc)? +01:05=本当にやめるの (%1/%2)? 01:06=サドンデス! 01:07=%1 残る 01:08=燃料 diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/ko.lua --- a/share/hedgewars/Data/Locale/ko.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/ko.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ -- ["..."] = "", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler -- ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ -- ["a Hedgewars mini-game"] = "", -- Space_Invasion, The_Specialists -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope -- ["Aiming Practice"] = "", --Bazooka, Shotgun, SniperRifle -- ["Aiming practice"] = "", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ -- ["Ammo is reset at the end of your turn."] = "", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ -- ["Available points remaining: "] = "", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball -- ["Bat balls at your enemies and|push them into the sea!"] = "", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- -- ["Bat your opponents through the|baskets and out of the map!"] = "", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka -- ["Bazooka Training"] = "", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen -- ["Best laps per team: "] = "", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement -- ["Careless"] = "", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos -- ["Complete the track as fast as you can!"] = "", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -332,6 +371,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -355,6 +395,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 -- ["Deadweight"] = "", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen -- ["Double Kill!"] = "", -- ["Double kill!"] = "", -- Mutant @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope -- ["Drowner"] = "", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -551,8 +606,11 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family -- ["Fastest lap: "] = "", +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace -- ["Feeble Resistance"] = "", -- ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -636,11 +701,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey -- ["Good luck out there!"] = "", -- ["Good so far!"] = "", -- ["Good to go!"] = "", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ -- ["GOTCHA!"] = "", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -737,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -744,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy"] = "", -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united -- ["Heckles"] = "", -- @@ -781,11 +862,13 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer -- ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -794,21 +877,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["Hmmm..."] = "", -- ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy @@ -823,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -878,6 +981,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen -- ["Hunter"] = "", --Bazooka, Shotgun, SniperRifle @@ -896,12 +1000,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1039,6 +1153,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode -- ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "", @@ -1098,6 +1213,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement -- ["Jumping is disabled"] = "", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1140,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion -- ["Last Target!"] = "", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1154,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1173,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 -- ["Listen up, maggot!!"] = "", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1228,11 +1355,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ -- ["MISSION FAILED"] = "", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement -- ["MISSION SUCCESSFUL"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1258,15 +1392,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 -- ["Movement: [Up], [Down], [Left], [Right]"] = "", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1309,6 +1446,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1319,11 +1457,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen -- ["NOT ENOUGH WAYPOINTS"] = "", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1338,12 +1479,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1351,6 +1495,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1371,8 +1516,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1387,8 +1534,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1396,6 +1545,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood -- ["Opposing Team: "] = "", -- ["Orange"] = "", -- @@ -1406,25 +1557,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- -- ["Pathetic Resistance"] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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"] = "", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1457,6 +1615,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1477,6 +1636,7 @@ -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion -- ["points"] = "", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle +-- ["--- Points Mode ---"] = "", -- Battalion -- ["point(s)"] = "", -- TargetPractice, Mutant -- ["Poison"] = "", -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 @@ -1485,7 +1645,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1512,10 +1675,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["RACER"] = "", -- ["Racer"] = "", -- Racer @@ -1533,6 +1699,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1541,10 +1708,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1553,14 +1724,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag -- [" - 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"] = "", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1572,6 +1746,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1582,6 +1757,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1596,6 +1773,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1619,22 +1797,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1652,9 +1834,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1663,15 +1854,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1702,9 +1897,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode -- ["Sinky"] = "", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1719,6 +1921,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1727,6 +1930,7 @@ -- ["Sniper Training"] = "", -- ["Sniperz"] = "", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1736,6 +1940,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1759,6 +1964,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1780,6 +1986,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1814,7 +2021,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1863,12 +2073,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies -- ["Switched to "] = "", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1885,10 +2102,12 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- -- ["Team %d: "] = "", +-- ["Team %d"] = "", -- SimpleMission -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor -- ["Team of Hearts"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove @@ -1904,7 +2123,10 @@ -- ["Teleportation Node"] = "", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1932,6 +2154,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1950,11 +2173,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 -- ["The enemy is hiding out on yonder ducky!"] = "", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1984,17 +2211,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant -- ["The Nameless One"] = "", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2008,16 +2241,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion -- ["THE SPECIALISTS"] = "", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2034,6 +2272,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2049,17 +2288,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2067,6 +2311,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos -- ["This rain is really something..."] = "", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2075,14 +2320,19 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2090,10 +2340,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2125,6 +2383,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2134,14 +2393,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope -- ["T_T"] = "", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2158,6 +2422,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2173,8 +2438,10 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- -- ["Unit 835"] = "", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks"] = "", -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2182,10 +2449,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood -- ["User Challenge"] = "", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2196,8 +2465,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2209,6 +2480,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa -- ["Use your rope to get from start to finish as fast as you can!"] = "", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2231,6 +2503,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2240,8 +2515,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2276,6 +2554,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2284,6 +2563,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2292,11 +2572,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos -- ["Well done."] = "", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2347,10 +2630,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2380,15 +2665,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies -- ["Will this ever end?"] = "", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2424,18 +2712,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2463,13 +2755,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2522,6 +2820,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2541,6 +2840,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2568,11 +2868,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2584,6 +2886,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2593,6 +2896,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2602,6 +2906,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/ko.txt --- a/share/hedgewars/Data/Locale/ko.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/ko.txt Sun Jun 10 19:12:26 2018 +0200 @@ -56,7 +56,7 @@ 01:02=%1 승리! 01:03=음량 %1% 01:04=정지 -01:05=그만둘까요? (Y/Esc)? +01:05=그만둘까요? (%1/%2)? 01:06=단판 결승! 01:07=%1 발 남는다 01:08=연료 diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/lt.lua --- a/share/hedgewars/Data/Locale/lt.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/lt.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ ["..."] = "...", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler -- ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ -- ["A Hedgewars mini-game"] = "", -- Racer, Space_Invasion, TechRacer, Tumbler -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope ["Aiming Practice"] = "Taiklumo Treniruotë", --Bazooka, Shotgun, SniperRifle -- ["Aiming practice"] = "", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ -- ["Ammo is reset at the end of your turn."] = "", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ ["Available points remaining: "] = "Pajamumu taðku liko: ", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Dauþk is kamuoliu i savo prieðus|ir nustumk juos i jûra!", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Dauþk savo obonentus pro kaðes|ir ið þemëlapio!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Bazukos Treniruotë", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Geriausi ratai per komanda: ", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Careless"] = "Neatsargus", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "Apvaryk trasa taip greitai kaip gali!", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -332,6 +371,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -355,6 +395,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 ["Deadweight"] = "Dedveitas", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen -- ["Double Kill!"] = "", -- ["Double kill!"] = "", -- Mutant @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope ["Drowner"] = "Skendëjas", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -551,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Greièiausias Ratas: ", ["Feeble Resistance"] = "Silpnaus Atsparumo Tvirtovë", -- ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -636,11 +701,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "Sëkmës Tau Ten!", -- ["Good so far!"] = "", -- ["Good to go!"] = "", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ ["GOTCHA!"] = "Prigavau!", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -737,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -744,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united ["Heavy"] = "Sunku", -- ["Heckles"] = "", -- @@ -781,11 +862,13 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer -- ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -794,21 +877,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy ["Hmmm..."] = "Hmmm...", @@ -823,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -878,6 +981,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Medþiotojas", --Bazooka, Shotgun, SniperRifle @@ -896,12 +1000,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1039,6 +1153,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Geras dalykas kad MARAS dar po 99 eiliu...", @@ -1098,6 +1213,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "Ðokimas ira iðjungtas", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1140,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion -- ["Last Target!"] = "", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1154,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1173,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 ["Listen up, maggot!!"] = "Paklausyk eilini!!", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1228,11 +1355,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ ["MISSION FAILED"] = "Misija Nepavyko", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "Misija Buvo Ivykdita", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1258,15 +1392,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"] = "Judëjimas: [I Virðu, [I Apaèia], [I Kaire], [I Deðine]"], -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1309,6 +1446,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1319,11 +1457,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"] = "Neuþtenka Kelio Taðku", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1338,12 +1479,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1351,6 +1495,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1371,8 +1516,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1387,8 +1534,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1396,6 +1545,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Pasiprieðinanti Komanda: ", -- ["Orange"] = "", -- @@ -1406,25 +1557,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- -- ["Pathetic Resistance"] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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"] = "Kulkos Per-Eþy", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1457,6 +1615,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1476,6 +1635,7 @@ -- ["Please wait …"] = "", -- WxW -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion +-- ["--- Points Mode ---"] = "", -- Battalion ["points"] = "taðkai", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle -- ["point(s)"] = "", -- TargetPractice, Mutant ["Poison"] = "Nuodai", @@ -1485,7 +1645,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1512,10 +1675,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["RACER"] = "", -- ["Racer"] = "", -- Racer @@ -1533,6 +1699,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1541,10 +1708,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1553,14 +1724,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = " - Graþink prieðu vëliava i savo baze ir gausi taðku | - Pirma komanda su 3 vëliavom laimi | - Taðkus gausi tik tada kaip tavo vëliava bazëje | - Eþiai pames vëliava jeigu mirs, arba paskes | - Pamestos vëliavos gali buti graþintos arba pavogtos | - Eþiai atsikelia kaip nuþudyti", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1572,6 +1746,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1582,6 +1757,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1596,6 +1773,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1619,22 +1797,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1652,9 +1834,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1663,15 +1854,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1702,9 +1897,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode ["Sinky"] = "Paskenduolis", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1719,6 +1921,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1727,6 +1930,7 @@ ["Sniper Training"] = "Snaiperio Treniruotë", ["Sniperz"] = "Snaiperiai", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1736,6 +1940,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1759,6 +1964,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1780,6 +1986,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1814,7 +2021,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1863,12 +2073,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies ["Switched to "] = "Pakeistas i ", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1885,10 +2102,12 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- ["Team %d: "] = "Komanda %d: ", +-- ["Team %d"] = "", -- SimpleMission -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor -- ["Team of Hearts"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove @@ -1904,7 +2123,10 @@ -- ["Teleportation Node"] = "", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1932,6 +2154,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1950,11 +2173,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "Prieðas pasislëpes ant kitos anties!", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1984,17 +2211,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant ["The Nameless One"] = "Bevardis", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2008,16 +2241,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion ["THE SPECIALISTS"] = "Specialistai", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2034,6 +2272,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2049,17 +2288,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2067,6 +2311,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Ðis lietus tikrai kaþkas...", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2075,14 +2320,19 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2090,10 +2340,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2125,6 +2383,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2134,14 +2393,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope ["T_T"] = "T_T", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2158,6 +2422,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2173,8 +2438,10 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- -- ["Unit 835"] = "", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree ["Unlimited Attacks"] = "Nesibaigianèios Atakos", -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2182,10 +2449,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood ["User Challenge"] = "Vartotojo Iðukis", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2196,8 +2465,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2209,6 +2480,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Naudok virve kad nusigautum nuo starto iki finiðo taip greitai kaip gali!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2231,6 +2503,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2240,8 +2515,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2276,6 +2554,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2284,6 +2563,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2292,11 +2572,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos -- ["Well done."] = "", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2347,10 +2630,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2380,15 +2665,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies -- ["Will this ever end?"] = "", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2424,18 +2712,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2463,13 +2755,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2522,6 +2820,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2541,6 +2840,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2568,11 +2868,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2584,6 +2886,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2593,6 +2896,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2602,6 +2906,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/lt.txt --- a/share/hedgewars/Data/Locale/lt.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/lt.txt Sun Jun 10 19:12:26 2018 +0200 @@ -65,7 +65,7 @@ 01:02=%1 Laimėjo! 01:03=Garsas %1% 01:04=Sustabdyta -01:05=Tikrai išeiti (Y/Esc)? +01:05=Tikrai išeiti (%1/%2)? 01:06=Maras! 01:07=%1 Liko 01:08=Degalai diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/missions_de.txt --- a/share/hedgewars/Data/Locale/missions_de.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/missions_de.txt Sun Jun 10 19:12:26 2018 +0200 @@ -1,35 +1,38 @@ -Basic_Training_-_Bazooka.name=Grundlagentraining: Bazooka -Basic_Training_-_Bazooka.desc="Nutze den Wind zu deinem Vorteil aus!" +Basic_Training_-_Movement.name=Grundausbildung: Fortbewegung +Basic_Training_-_Movement.desc="Grünschnäbel fangen hier an! Lern, wie man sich auf unterschiedlichen Geländearten fortbewegt, und wie man Igel wechselt." -Basic_Training_-_Grenade.name=Grundlagentraining: Granate -Basic_Training_-_Grenade.desc="Vergiss nicht: Stift ziehen UND werfen!" +Basic_Training_-_Bazooka.name=Grundausbildung: Bazooka +Basic_Training_-_Bazooka.desc="Lern, wie man die Bazooka benutzt, lern über den Wind und zerstöre alle Ziele." + +Basic_Training_-_Grenade.name=Grundausbildung: Granate +Basic_Training_-_Grenade.desc="Lern alles, was du über Granaten wissen solltest und zerstöre alle Ziele. Vergiss nicht: Stift ziehen UND werfen!" Basic_Training_-_Sniper_Rifle.name=Zielübung: Scharfschützengewehr -Basic_Training_-_Sniper_Rifle.desc="Peng, Kopfschuss!" +Basic_Training_-_Sniper_Rifle.desc="Das ist der perfekte Schießstand für Scharfschützen! Zerstöre alle Ziele so schnell und treffsicher du kannst und werd zur Legende!" -Basic_Training_-_Rope.name=Grundlagentraining: Seil -Basic_Training_-_Rope.desc="Raus da und schwing!" +Basic_Training_-_Rope.name=Grundausbildung: Seil +Basic_Training_-_Rope.desc="Das Seil ist eines der vielseitigsten Werkzeuge, das du kriegen kannst, doch es erfordert viel Übung. Hier lernst du die Grundlagen des Seils kennen." -Basic_Training_-_Flying_Saucer.name=Grundlagentraining: Fliegende Untertasse -Basic_Training_-_Flying_Saucer.desc="Du willst also ausgerechnet Astronaut werden, wie? Dann lern erstmal fliegen!" +Basic_Training_-_Flying_Saucer.name=Grundausbildung: Fliegende Untertasse +Basic_Training_-_Flying_Saucer.desc="Mit einer fliegenden Untertasse erreicht man so ziemlich jeden Punkt, wenn man denn fliegen kann. Lern, wie man fliegt, wie man von einer fliegenden Untertasse aus angreift und probier ein paar coole Stunts aus." User_Mission_-_Dangerous_Ducklings.name=Gefährliche Entchen -User_Mission_-_Dangerous_Ducklings.desc="Nun gut, Rekrut! Es ist Zeit, dass du das im Grundlagentraining Gelernte in die Tag umsetzt!" +User_Mission_-_Dangerous_Ducklings.desc="Nun gut, Rekrut! Es ist Zeit, dass du das in der Grundausbildung Gelernte in die Tag umsetzt!" User_Mission_-_Diver.name=Taucher -User_Mission_-_Diver.desc="Diese amphibische Angriffstrategie ist schwieriger, als sie aussieht." +User_Mission_-_Diver.desc="Diese amphibische Angriffsstrategie ist schwieriger, als sie aussieht." User_Mission_-_Teamwork.name=Teamwork -User_Mission_-_Teamwork.desc="Ab und zu … tut Liebe weh." +User_Mission_-_Teamwork.desc="Ein defekter Cyborg hütet ein wertvolles Militärgeheimnis. Führe deine Spezialeinheit aus zwei Igeln, um den Gegner zu vernichten und das Geheimnis zu erhalten. Es ist absolut unerlässlich für unsere künftigen Operationen, dass beide Igel überleben." User_Mission_-_Teamwork_2.name=Teamwork 2 -User_Mission_-_Teamwork_2.desc="Benutze deine Teamfähigkeiten, um den kybernetischen Feind erneut zu besiegen!" +User_Mission_-_Teamwork_2.desc="Wir haben einen geheimen Außenposten des Kybernetischen Imperiums entdeckt und er wird lediglich von einem harmlosen Wachboter bewacht. Führe die Spezialeinheit, um ihn zu zerstören, damit wir die Basis unser eigen nennen können. Auch hier müssen beide Igel unbedingt überleben!" User_Mission_-_Spooky_Tree.name=Spukiger Baum User_Mission_-_Spooky_Tree.desc="Viele Kisten hier draußen. Ich hoffe jedenfalls, dass dieser Vogel hier nicht hungrig wird." User_Mission_-_Bamboo_Thicket.name=Bambusdickicht -User_Mission_-_Bamboo_Thicket.desc="Tod von oben." +User_Mission_-_Bamboo_Thicket.desc="Ein Cyborg terrorisiert das Bambusdickicht und greift jeden Igel in Sichtweite an, und das mit praktsch perfekter Treffsicherheit. Plane voraus, beweg dich zügig und vernichte den Feind möglichst schnell!" User_Mission_-_That_Sinking_Feeling.name=Land unter User_Mission_-_That_Sinking_Feeling.desc="Hier steht einen das Wasser ganz schön schnell bis zum Halse. Viele sind hieran gescheitert. Kannst du alle Igel retten?" @@ -38,16 +41,16 @@ User_Mission_-_Newton_and_the_Hammock.desc="Nicht vergessen, Igelinge: Die Geschwindigkeit eines Körpers bleibt konstant, es sei denn, es wirkt eine äußere Kraft auf ihn ein!" User_Mission_-_The_Great_Escape.name=Gesprengte Ketten -User_Mission_-_The_Great_Escape.desc="Glaubst du, dass du mich einsperren könnest?" +User_Mission_-_The_Great_Escape.desc="Brich aus deinem Gefängnis aus und räch dich!" User_Mission_-_Rope_Knock_Challenge.name=Seilschubsen -User_Mission_-_Rope_Knock_Challenge.desc="Sieh! Hinter dir!" +User_Mission_-_Rope_Knock_Challenge.desc="Benutze dein Seil, um alle Feinde in ihr Verderben zu schubsen!" User_Mission_-_Nobody_Laugh.name=Niemand darf lachen -User_Mission_-_Nobody_Laugh.desc="Das ist kein Witz!" +User_Mission_-_Nobody_Laugh.desc="Oh, diese Clowns halten sich wohl für besonders lustig! Sie mögen uns zahlenmäßig überlegen sein, aber wir haben viel Zugzeit. Eliminiere all diese Möchtegernspaßvögel, und zwar einen nach den anderen, bis es keinen mehr gibt, der noch lachen kann." User_Mission_-_RCPlane_Challenge.name=Funkflugzeugsherausforderung -User_Mission_-_RCPlane_Challenge.desc="Bist wohl ziemlich eingebildet, was, Flieger?" +User_Mission_-_RCPlane_Challenge.desc="Benutze Funkflugzeuge, um dir alle Kisten zu schnappen. Sei sparsam mit Funkflugzeugen für einen besseren Rang. Hast du das Zeug zum Elitepiloten der Spitzenklasse?" portal.name=Knifflige Portalherausforderung portal.desc="Benutze das Portalgerät, um dich schnell und weit zu bewegen; benutze es zum Töten; benutze es mit Vorsicht!" @@ -55,6 +58,12 @@ Big_Armory.name=Großes Arsenal Big_Armory.desc="Du bist alleine, hast ein volles Arsenal und musst 8 Igel besiegen, bevor die Zeit abläuft." +Bazooka_Battlefield.name=Bazookaschlachtfeld +Bazooka_Battlefield.desc="Deine treuen Ritter haben den Feind in einen Hinterhalt gelockt. Zerstöre sie nur mit Bazookas! Aber trödel nicht zu lange, denn das Wasser wird bald steigen." + +Tentacle_Terror.name=Tentakel-Terror +Tentacle_Terror.desc="Unter einem furchtbaren Monster versteckt sich dein Feind wie ein Feigling und wird dich mit Luftangriffen angreifen, sobald du aus der Deckung gehst. Zeig ihm, wer in der Hölle das Sagen hat! Aber du brauchst schon teuflisch gute Seilfähigkeiten, um überhaupt eine Chance zu haben." + Target_Practice_-_Bazooka_easy.name=Zielübung: Bazooka (einfach) Target_Practice_-_Bazooka_easy.desc="Nun gut, Soldat: Zerstör einfach die Zielscheiben so schnell, wie du kannst!" @@ -62,7 +71,7 @@ Target_Practice_-_Bazooka_hard.desc="Kannst du die Zielscheiben treffen, auch wenn sie sehr weit weg sind?" Target_Practice_-_Cluster_Bomb.name=Zielübung: Splittergranate -Target_Practice_-_Cluster_Bomb.desc="Jemand braucht eine heiße Dusche!" +Target_Practice_-_Cluster_Bomb.desc="Jemand braucht eine heiße Dusche! Mit Splittergranaten!" Target_Practice_-_Shotgun.name=Zielübung: Schrotflinte Target_Practice_-_Shotgun.desc="Erst schießen, dann fragen!" diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/missions_en.txt --- a/share/hedgewars/Data/Locale/missions_en.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/missions_en.txt Sun Jun 10 19:12:26 2018 +0200 @@ -1,32 +1,35 @@ +Basic_Training_-_Movement.name=Basic Movement Training +Basic_Training_-_Movement.desc="Greenhorns start here! Learn how to move on different forms of terrain and how to switch hedgehogs." + Basic_Training_-_Bazooka.name=Basic Bazooka Training -Basic_Training_-_Bazooka.desc="Using the wind to your advantage is key!" +Basic_Training_-_Bazooka.desc="Learn how to use the bazooka, learn about the wind and destroy all targets." Basic_Training_-_Grenade.name=Basic Grenade Training -Basic_Training_-_Grenade.desc="Remember, you pull the pin out AND throw!" +Basic_Training_-_Grenade.desc="Learn everything you need to know about grenades and destroy all targets. Remember: You pull the pin AND throw!" Basic_Training_-_Rope.name=Basic Rope Training -Basic_Training_-_Rope.desc="Get out there and swing!" +Basic_Training_-_Rope.desc="The rope is one of the most versatile utilities you can get, but it needs a lot of practice. Here you learn the basics of roping." Basic_Training_-_Flying_Saucer.name=Basic Flying Saucer Training -Basic_Training_-_Flying_Saucer.desc="So you really want to become an astronaut, eh? You should learn how to fly first!" +Basic_Training_-_Flying_Saucer.desc="With a flying saucer you can reach pretty much any point, if you know how to operate it. Learn how to fly, how to attack from a flying saucer and even learn how to perform some cool stunts." User_Mission_-_Dangerous_Ducklings.name=Dangerous Ducklings User_Mission_-_Dangerous_Ducklings.desc="Alright, rookie! Time to put what we learned in Basic Training into practice!" User_Mission_-_Diver.name=Diver -User_Mission_-_Diver.desc="This 'amphibious assault' thing is harder than it looks..." +User_Mission_-_Diver.desc="This 'amphibious assault' thing is harder than it looks." User_Mission_-_Teamwork.name=Teamwork -User_Mission_-_Teamwork.desc="Sometimes, love hurts." +User_Mission_-_Teamwork.desc="A malfunctioning cyborg is guarding a valuable military secret. You need to lead a special ops team of two hedgehogs with the task to destroy the enemy in order to obtain the secret! It is absolutely critical for our future operations that both your hedgehogs survive." User_Mission_-_Teamwork_2.name=Teamwork 2 -User_Mission_-_Teamwork_2.desc="Use your teamwork skills to defeat the cybernetic enemy once again!" +User_Mission_-_Teamwork_2.desc="We have located a secret outpost of the Cybernetic Empire and it is only guarded by a harmless watch bot. Lead your special ops team to destroy the watch bot so we can claim the base as ours. Like before, we need both hedgehogs to survive!" User_Mission_-_Spooky_Tree.name=Spooky Tree User_Mission_-_Spooky_Tree.desc="Lots of crates out here. I sure hope that bird ain't feeling hungry." User_Mission_-_Bamboo_Thicket.name=Bamboo Thicket -User_Mission_-_Bamboo_Thicket.desc="Death comes from above." +User_Mission_-_Bamboo_Thicket.desc="A cyborg is terrorizing the bamboo thicket and attacks anyone in sight with a practically perfect accuracy. Plan ahead, move fast and take out the enemy quickly!" User_Mission_-_That_Sinking_Feeling.name=That Sinking Feeling User_Mission_-_That_Sinking_Feeling.desc="The water is rising rapidly and time is limited. Many have tried and failed. Can you save them all?" @@ -35,20 +38,26 @@ User_Mission_-_Newton_and_the_Hammock.desc="Remember hoglets: The velocity of a body remains constant unless the body is acted upon by an external force!" User_Mission_-_The_Great_Escape.name=The Great Escape -User_Mission_-_The_Great_Escape.desc="You think you can cage me!?" +User_Mission_-_The_Great_Escape.desc="Escape your prison and take revenge!" User_Mission_-_Rope_Knock_Challenge.name=Rope Knocking -User_Mission_-_Rope_Knock_Challenge.desc="Look behind you!" +User_Mission_-_Rope_Knock_Challenge.desc="Use your rope to knock all your enemies to their doom." User_Mission_-_Nobody_Laugh.name=Nobody Laugh -User_Mission_-_Nobody_Laugh.desc="This ain't no joke." +User_Mission_-_Nobody_Laugh.desc="Oh, these clowns think they're so funny! They may have outnumbered us, but we have plenty of turn time. Take out all these wannabe comedians one by one until there's nobody left to laugh." User_Mission_-_RCPlane_Challenge.name=RC Plane Challenge -User_Mission_-_RCPlane_Challenge.desc="Feeling pretty confident, eh, flyboy?" +User_Mission_-_RCPlane_Challenge.desc="Use RC planes to get all crates. Try to use as few RC planes as possible to improve your rank. Do you have what it takes to become a top-class elite pilot?" Big_Armory.name=Big Armory Big_Armory.desc="You are alone, have a full armory and must defeat 8 hedgehogs before the time runs out." +Bazooka_Battlefield.name=Bazooka Battlefield +Bazooka_Battlefield.desc="Your loyal knights have ambushed the enemy. Destroy them only with bazookas! But don't take too long, the water will rise soon." + +Tentacle_Terror.name=Tentacle Terror +Tentacle_Terror.desc="Below a terrible monster, your enemy is hiding like a coward and will attack you with air strikes as soon you lose cover. Show him who's the real boss in Hell! But you need some devilish good roping skills to even stand a chance." + ClimbHome.name=Climb Home ClimbHome.desc="You are far away from home and the water is rising. Climb as high as you can!" @@ -62,13 +71,13 @@ Target_Practice_-_Bazooka_hard.desc="Can you hit the targets even when they are very far away?" Target_Practice_-_Cluster_Bomb.name=Target Practice: Cluster Bomb -Target_Practice_-_Cluster_Bomb.desc="Someone needs hot shower!" +Target_Practice_-_Cluster_Bomb.desc="Someone needs a hot shower! With cluster bombs!" Target_Practice_-_Shotgun.name=Target Practice: Shotgun Target_Practice_-_Shotgun.desc="Shoot first, ask questions later!" Basic_Training_-_Sniper_Rifle.name=Target Practice: Sniper Rifle -Basic_Training_-_Sniper_Rifle.desc="Boom, headshot!" +Basic_Training_-_Sniper_Rifle.desc="This is the perfect shooting range for snipers! Destroy all targets as fast and accurate you can and become a legend!" Target_Practice_-_Homing_Bee.name=Target Practice: Homing Bee Target_Practice_-_Homing_Bee.desc="Using the homing bee is trickier than it seems." diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/nl.txt --- a/share/hedgewars/Data/Locale/nl.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/nl.txt Sun Jun 10 19:12:26 2018 +0200 @@ -57,7 +57,7 @@ 01:02=%1 wins! 01:03=Volume %1% 01:04=Paused -01:05=Really quit (Y/Esc)? +01:05=Really quit (%1/%2)? 01:06=Sudden Death! 01:07=%1 remaining 01:08=Fuel diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/pl.lua --- a/share/hedgewars/Data/Locale/pl.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/pl.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ ["..."] = "...", ["011101000"] = "011101000", -- A_Classic_Fairytale:dragon ["011101001"] = "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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode ["+1 barrel!"] = "+1 beczka!", -- Tumbler ["%.1fs"] = "%.1fs", -- Racer, TechRacer ["%.1f seconds were remaining."] = "%.1f sekund pozostało.", -- Basic_Training_-_Bazooka @@ -25,6 +27,7 @@ ["Ace"] = "As", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge ["Achievement gotten: %s"] = "Osiągnięcie zdobyte: %s", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler ["A Classic Fairytale"] = "Klasyczna bajka", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission ["Actually, you aren't worthy of life! Take this..."] = "Właściwie, nie zasługujesz by żyć! Przyjmij to...", -- A_Classic_Fairytale:shadow ["A cy-what?"] = "Cy-co?", -- A_Classic_Fairytale:enemy ["Add %d"] = "Dodaj %d", -- HedgeEditor @@ -36,6 +39,7 @@ ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "Po tym, jak Spory Przeciek zdradził swoje plemię, dołączył do kanibali...", -- A_Classic_Fairytale:first_blood ["After that incident he went underground and started working on his plan to steal the device."] = "Po tym incydencie, zeszedł pod ziemię i zaczął pracować nad swoim planem, by ukraść urządzenie.", -- A_Space_Adventure:moon02 ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "Po szoku spowodowanym wrogim szpiegiem, Spory Przeciek i Gęsta Chmura poszli łowić, by się zrelaksować.", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "Po tym jak opuściłeś księżyc, moi lojalni poddani przyszli i ożywili mnie, żebym mógł ukończyć mój plan.", -- A_Space_Adventure:death01 ["Again with the 'cannibals' thing!"] = "Znowu z tymi \"kanibalami\"!", -- A_Classic_Fairytale:enemy ["A Hedgewars minigame"] = "Minigra Hedgewars", -- Capture_the_Flag @@ -43,8 +47,10 @@ ["a Hedgewars mini-game"] = "Minigra Hedgewars", -- Space_Invasion, The_Specialists ["A Hedgewars tag game"] = "Berek w Hedgewars", -- Mutant ["Ahhh, home, sweet home. Made it in %d seconds."] = "Ahhh, nie ma to jak w domu. Udało mi się w %d sekund.", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope ["Aiming Practice"] = "Ćwiczenie celności", ["Aiming practice"] = "Ćwiczenie celności", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope ["Air Attack"] = "Nalot", -- Construction_Mode ["Air General"] = "Powietrzny Generał", -- Battalion ["Air Mine Placement Mode"] = "Tryb Ustawiania Min Powietrznych", -- HedgeEditor @@ -67,6 +73,7 @@ ["All this to please our beloved “elders” … hick …"] = "Wszysyko to, by zadowolić naszych ukochanych \"starszych\" ... hyp ...", -- A_Classic_Fairytale:queen ["All walls touched!"] = "Wszystkie ściany dotknięte!", -- WxW ["All you do is take long walks when everyone else works."] = "Wszystko co robisz to bierzesz długie spacery, kiedy każdy inny pracuje.", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "Powinieneś również wiedzieć, że jedynym miejscem, w którym możesz latać, jest część tego obszaru najbardziej po lewej.", -- A_Space_Adventure:fruit01 ["Always being considered weak and fragile."] = "Zawsze uzażany za słabego i kruchego.", -- A_Classic_Fairytale:queen ["Amazing! I was never beaten in a race before!"] = "Niesamowite! Nigdy wcześniej nie zostałem pokonany w wyścigu!", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ ["Ammo is reset at the end of your turn."] = "Amunicja jest resetowana przy końcu tury.", ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "Limit amunicji: jeże nie mogą", -- Highlander ["Ammo Maniac! +5 points!"] = "Maniak amunicji! +5 punktów!", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement ["And how am I alive?!"] = "Jak to ja żyję?!", -- A_Classic_Fairytale:enemy ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "A ja właśnie zapomniałem punktu kontrolnego mojej misji. Świetnie, po prosti świetnie!", -- A_Space_Adventure:cosmos ["… and I think they are up to something. Something bad!"] = "... a ja myślę, że coś knują. Coś złego!", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ ["And what do they do in the meantime? Nothing!"] = "I co robią w międzyczasie? Nic!", -- A_Classic_Fairytale:queen ["And where's all the weed?"] = "I gdzie jest całe zioło?", -- A_Classic_Fairytale:dragon ["And you believed me? Oh, god, that's cute!"] = "A ty mi wierzyłeś? O boże, to słodkie!", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement ["An experimental (and buggy!) editing tool for missions and more"] = "Eksperymentalne (i zbugowane!) narzędzie do edycji misji i więcej", -- HedgeEditor ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "Anno 1032: [Eksplozja będzie miała silny odrzut ~ Szeroki zasięg, nie wpłynie na jeże blisko celu]", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission ["Antarctica"] = "Antarktyda", -- Continental_supplies ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "Antarktyczne lato: Zapewni ci jedną belkę/kulę błotną i dwie sinusoidalne giwery/portale co każde cztery tury.", -- Continental_supplies ["Anti-Gravity Device Part (+1)"] = "Część Urządzenia Antygrawitacyjnego (+1)", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ ["Ash"] = "Asz", -- ["A Shoppa minigame"] = "Minigra Shoppa", -- WxW ["Asia"] = "Azja", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope ["A smuggler! Prepare for battle"] = "Przemytnik! Przygotuj się na bitwę", -- A_Space_Adventure:desert01 ["A Space Adventure"] = "Kosmiczna przygoda", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 ["Assault Team"] = "Drużyna Szturmowa", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ ["As you are more experienced, I want you to lead them to battle."] = "Ponieważ jesteś bardziej doświadczony, chcę żebyś poprowadził ich na bitwę.", -- A_Space_Adventure:fruit01 ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "Jak widzisz, przeżyłem nasze ostatnie spotkanie i miałem czas, by uknuć mój genialny plan!", -- A_Space_Adventure:death01 ["As you can see, there is no way to get on the other side!"] = "Jak widzisz, nie ma sposobu, by dostać się na drugą stronę!", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "Jak widziałeś, upuszczony granat z grubsza spadł w kierunku twojego lotu.", -- Basic_Training_-_Flying_Saucer ["Athlete"] = "Atleta", -- Battalion ["Attack: Activate"] = "Atak: Aktywuj", -- Racer @@ -125,6 +137,7 @@ ["Attack From Rope: %s"] = "Atak z liny: %s", -- WxW ["Attack From Rope: You may only attack from a rope."] = "Atak z liny: Możesz atakować tylko z liny", -- WxW ["Attack rule: %s"] = "Zasada ataku: %s", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope ["Attack the assassins before they attack back"] = "Zaatakuj zabójców, zanim oni zaatakują", -- A_Space_Adventure:fruit02 ["Attack: Throw ball"] = "Atak: Rzuć kulę", -- Knockball ["At the end of the game your health was %d."] = "Na końcu gry, twoje zdrowie wynasiło %d.", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ ["Available points remaining: "] = "Pozostały następujące punkty: ", ["Average pilot"] = "Przeciętny pilot", -- User_Mission_-_RCPlane_Challenge ["Avoid bazookas, red and blue invaders."] = "Unikaj bazook, czerwonych i niebieskich najeźdźców.", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield ["Aye! Fellow! Let me exit this chamber of doom!"] = "Tak! Kolega! Daj mi wyjść z komnaty zagłady!", -- A_Classic_Fairytale:epil ["Back Breaker"] = "Łamacz Pleców", -- A_Classic_Fairytale:backstab ["Back in the village, after telling the villagers about the threat..."] = "Tymczasem w wiosce, po powiadomieniu mieszkańców o zagrożeniu...", -- A_Classic_Fairytale:united ["Back in the village, the two tribes finally started to live in harmony."] = "Tymczasem w wiosce, dwa plemienia w końcu zaczęły żyć w harmonii.", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement ["Backstab"] = "Zdrada", -- A_Classic_Fairytale:backstab ["Bacon"] = "Bekon", -- ["Bad Guy"] = "Zły Koleś", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ ["Barrel Launcher"] = "Wyrzutnia Beczek", ["Barrel Placement Mode"] = "Tryb Stawiania Beczek", -- Construction_Mode ["BARREL PLACEMENT MODE"] = "TRYB STAWIANIA BECZEK", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope ["Baseballbat"] = "Kij bejsbolwy", -- Continental_supplies ["Baseball Bat with Ball"] = "Kij bejsbolowy z piłką", -- Knockball ["Base damage has been modified to 12 per shot."] = "Podstawowe obrażenia zostały zmodyfikowane do 12 na strzał.", -- Battalion ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "Bazując na tym, co się nauczyłeś, zniszcz cel na belce i jak zawsze, wyląduj bezpiecznie!", -- Basic_Training_-_Flying_Saucer ["Basically this is a combination of diving and launching."] = "W zasadzie jest to połączenie nurkowania i wystrzeliwania.", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope ["Basketball"] = "Koszykówka", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Uderzaj piłkami w swoich przeciwników|i strącaj ich do wody!", ["Battalion"] = "Batalion", -- Battalion ["Battle Starts Now!"] = "Bitwa zaczyna się teraz!", -- A_Space_Adventure:fruit01 ["Batty"] = "Kijek", -- ["Bat your opponents through the|baskets and out of the map!"] = "Uderzaj swoich przeciwników|wyrzucając przez kosz, poza mapę!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Trening bazooki", ["Bearded Beast"] = "Brodata Bestia", -- ["Be careful, the future of Hogera is in your hands!"] = "Bądź ostrożny, przyszłość Jeżery leży w twoich rękach!", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ ["Besides, why would I choose certain death?"] = "Poza tym, czemu miałbym wybrać pewną śmierć?", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Najszybsze okrążenie drużyny: ", ["Best team times: "] = "Najlepsze czasy drużyny: ", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement ["Better luck next time!"] = "Więcej szczęścia następnym razem!", -- ClimbHome ["Beware, any damage taken will stay until you complete the moon's main mission"] = "Uważaj, jakiekolwiek otrzymane obrażenia zostaną, aż ukończysz księżycową misję", -- A_Space_Adventure:cosmos ["Beware of mines: They explode after 3 seconds."] = "Uważaj na miny: Wybuchają po 3 sekundach.", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ ["Both Barrels"] = "Obie Beczki", -- ["Both your hedgehogs must survive."] = "Oba twoje jeże muszą przeżyć.", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork ["Bottom Feeder"] = "Pasożyt", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka ["Bouncy Girder: [4]"] = "Odbijająca Belka: [4]", -- HedgeEditor ["Bouncy Land: [4]"] = "Odbijający Teren: [4]", -- HedgeEditor ["Bouncy Land"] = "Odbijający Teren", -- HedgeEditor @@ -232,6 +262,7 @@ ["Bullseye"] = "Oczko", -- A_Classic_Fairytale:dragon ["Bunny"] = "Zając", -- ["burp"] = "burp", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield ["Bushi"] = "Buszi", -- ["Buster"] = "Drań", -- ["But it proved to be no easy task!"] = "Ale okazało się to nie być łatwym zadaniem!", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ ["But you're cannibals. It's what you do."] = "Ale jesteście kanibalami. Tym się zajmujecie.", -- A_Classic_Fairytale:enemy ["But you said you'd let her go!"] = "Ale powiedziałeś, że ją wypuścisz!", -- A_Classic_Fairytale:journey ["But you saved me!"] = "Ale uratowałeś mnie!", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement ["C-1"] = "C-1", -- portal ["C-2"] = "C-2", -- portal ["Callahan"] = "Callahan", -- @@ -255,9 +288,11 @@ ["Cannibals"] = "Kanibale", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:first_blood ["Cannibals?! You're the cannibals!"] = "Kanibale?! To wy jesteście kanibalami!", -- A_Classic_Fairytale:enemy ["Can you do it?"] = "Możesz to zrobić?", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement ["Captain Lime"] = "Kapitan Limonka", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 ["Captain Lime offered his help if you assist him in battle."] = "Kapitan Limonka zaoferował swoją pomoc, jeśli wesprzesz go w walce.", -- A_Space_Adventure:fruit01 ["Capture The Flag"] = "Przejmij Flagę", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Careless"] = "Nieostrożny", ["Carol"] = "Karolina", -- A_Classic_Fairytale:family ["Challenge completed!"] = "Wyzwanie ukończone!", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -267,6 +302,7 @@ ["Challenge over!"] = "Wyzwanie skończone!", -- User_Mission_-_Rope_Knock_Challenge ["Challenge"] = "Wyzwanie", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome ["Change Content: [Left], [Right]"] = "Zmień zawartość: [Lewo], [Prawo]", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade ["Change Health Boost: [Left], [Right]"] = "Zmień wzrost zdrowia: [Lewo], [Prawo]", -- HedgeEditor ["Change Health: [Left], [Right]"] = "Zmień zdrowie: [Lewo], [Prawo]", -- HedgeEditor ["Change modification mode: [Left], [Right]"] = "Zmień tryb modyfikacji: [Lewo], [Prawo]", -- HedgeEditor @@ -311,6 +347,8 @@ ["Collect the first crate to begin!"] = "Zbierz pierwszą skrzynię, by zacząć!", -- Basic_Training_-_Flying_Saucer ["Collect the freezer and get the device part from Thanta."] = "Zbierz zamrażarkę i zabierz część urządzenia Tancie.", -- A_Space_Adventure:ice01 ["Collect the green and purple invaders."] = "Zbierz zielonych i fioletowych najeźdźców.", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope ["Collect the weapon crate at the left coast!"] = "Zbierz skrzynię z bronią na lewym wybrzeżu.", -- A_Classic_Fairytale:journey ["Color Squad"] = "Kolorowy Oddział", -- ["Come closer and die! … burp …"] = "Podejdź bliżej i umrzyj! ...bek...", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ ["Commander"] = "Dowódca", -- HedgeEditor ["Compete to use as few planes as possible!"] = "Rywalizuj w użyciu najmniejszej jak się da ilości samolotów!", -- User_Mission_-_RCPlane_Challenge ["Complete all main and side missions to complete the spacetrip mission."] = "Ukończ wszystkie główne i poboczne misje, by ukończyć kosmiczną wycieczkę.", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement ["Complete the remaining side missions to complete this mission."] = "Ukończ pozostałe misje poboczne, by ukończyć tę misję.", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "Ukończ trasę tak szybko jak tylko potrafisz!", ["Completion time: %.2fs"] = "Czas ukończenia: %.2fs", -- User_Mission_-_Rope_Knock_Challenge @@ -332,6 +371,7 @@ ["Congratulations, you are the best!"] = "Gratulacje, jesteś najlepszy!", -- A_Space_Adventure:desert03 ["Congratulations, you are the fastest!"] = "Gratulacje, jesteś najszybszy!", -- A_Space_Adventure:moon02 ["Congratulations, you collected the device part!"] = "Gratulacje, zebrałeś część urządzenia!", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement ["Congratulations! You have destroyed all targets within the time."] = "Gratulacje! Zniszczyłeś wszystkie cele w czasie.", -- TargetPractice ["Congratulations, you have saved Hogera!"] = "Gratulacje, uratowałeś Jeżerrę!", -- A_Space_Adventure:final ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "Gratulacje! Prawdziwie opanowałeś to wyzwanie! Nie zapomnij zapisać dema.", -- User_Mission_-_RCPlane_Challenge @@ -354,7 +394,9 @@ ["Corporationals"] = "Korponacjonaliści", -- A_Classic_Fairytale:queen ["Corpsemonger"] = "Ciałohandlarz", -- A_Classic_Fairytale:shadow ["Corpse Thrower"] = "Truchło-rzucacz", -- A_Classic_Fairytale:epil +-- ["Cost: %d"] = "", -- Construction_Mode ["Cost"] = "Koszt", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant ["Count Hogula"] = "Hrabia Jeżula", -- ["Coward"] = "Tchórz", -- A_Classic_Fairytale:queen ["Crate Before Attack: %s"] = "Skrzynia przed atakiem: %s", -- WxW @@ -371,6 +413,7 @@ ["Crazy Runner"] = "Szalony Biegacz", -- A_Space_Adventure:moon02 ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "Czas krykieta: [Wystrzel 1-sekundową minę! ~ Nie może być wystrzelone blisko innego jeża]", -- Continental_supplies ["CTF_Blizzard"] = "CTF Burza Śnieżna", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode ["Cursor: Mode action"] = "Kursor: Akcja trybu", -- HedgeEditor ["|Cursor: Place crate"] = "|Kursor: Postaw skrzynię", -- Construction_Mode ["Cursor: Place waypoint"] = "Kursor: Postaw punkt kontrolny", -- Racer @@ -388,11 +431,15 @@ ["%d crate(s) remaining"] = "%d skrzyń pozostało", -- SpeedShoppa ["%d damage was dealt in this game."] = "%d obrażeń zostało zadanych w tej grze.", -- Mutant ["+%d"] = "+%d", -- Battalion +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa ["Deadly Grape"] = "Zabójczy Winogron", -- A_Space_Adventure:fruit02 ["Deadweight"] = "Balast", ["Deer"] = "Jeleń", -- ["Defeat all enemies!"] = "Pokonaj wszystkich wrogów!", -- portal ["Defeat Professor Hogevil!"] = "Pokonaj Profesora Jeżozło!", -- A_Space_Adventure:death01 +-- ["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 cannibals!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "Pokonaj kanibali!|Porada do granatów: ustaw zapalnik używając [1-5], celuj [Góra]/[Dół] i przytrzymaj [Spację], by ustawić moc", -- A_Classic_Fairytale:shadow ["Defeat the cannibals"] = "Pokonaj kanibali", -- A_Classic_Fairytale:backstab ["Defeat the cannibals!|"] = "Pokonaj kanibali!|", -- A_Classic_Fairytale:united @@ -410,9 +457,13 @@ ["Depleted Kamikaze! +5 points!"] = "Wyczerpany Kamikaze! +% punktów", -- Space_Invasion ["Derp"] = "Derp", -- User_Mission_-_Nobody_Laugh ["Desert Storm"] = "Pustynna Burza", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Destroyer of planes"] = "Niszczyciel samolotów", -- User_Mission_-_RCPlane_Challenge ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "Zniszcz go, Spory Przecieku! On jest odpowiedzalny za śmierć wielu z nas!", -- A_Classic_Fairytale:first_blood ["Destroy invaders and collect bonuses to score points."] = "Niszcz najeźdźców i zbieraj bonusy, by zaliczać punkty.", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air."] = "Zniszcz cele!|Porada: Wybierz Ognistą Pięść i wciśnij [Spację]|P.S. Możesz używać jej także w powietrzu.", -- A_Classic_Fairytale:first_blood ["Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot"] = "Zniszcz cele!|Porada: [Góra], [Dół], by celować; [Spacja] by strzelić", -- A_Classic_Fairytale:first_blood ["+%d flamer fuel!"] = "+%d paliwa miotacza ognia!", -- Tumbler @@ -450,6 +501,8 @@ ["Don't destroy the device crate!"] = "Nie zniszcz skrzyni urządzenia!", -- A_Space_Adventure:desert01 ["Don't eliminate Captain Lime before collecting the last crate!"] = "Nie eliminuj Kapitana Limonki przed zebraniem ostatniej skrzyni!", -- A_Space_Adventure:fruit02 ["Don't hit me, you fools!"] = "Nie uderzcie mnie, wy głupcy!", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome ["Don't you dare harming our tribe!"] = "Nie waż się skrzywdzić naszego plemienia!", -- A_Classic_Fairytale:queen ["Double Kill!"] = "Podwójne zabójstwo!", ["Double kill!"] = "Podwójne zabójstwo!", -- Mutant @@ -476,6 +529,7 @@ ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "Upuść bombę: [Upuść trochę heroicznego wiatru, który przy uderzeniu zamieni się w bombę]", -- Continental_supplies ["- Dropped flags may be returned or recaptured"] = "- Upuszczone flagi mogą być zwrócone lub ponownie przejęte", -- Capture_the_Flag ["Dropping a weapon while in water would just drown it, but launching one would work."] = "Upuszczenie broni pod wodą by ją utopiłą, ale wystrzelenie zadziała.", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope ["Drowner"] = "Topielec", ["Dr. Parkinson"] = "Dr Parkinson", -- ["Drunk greenhorn"] = "Pijany żółtodziób", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ ["Eliminate the enemy."] = "Wyeliminuj wroga.", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh ["Eliminate Unit 3378."] = "Wyeliminuj Jednostkę 3378.", -- User_Mission_-_Teamwork ["Eliminate WatchBot 4000."] = "Wyeliminuj PaczBota 4000.", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape ["Elite pilot"] = "Elitarny pilot", -- User_Mission_-_RCPlane_Challenge ["Elmo"] = "Elmo", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen ["Enabled"] = "Włączone", -- WxW @@ -551,7 +606,10 @@ ["Exploring the tunnel"] = "Eksploracja tunelu", -- A_Space_Adventure:fruit02 ["Eye Chewer"] = "Przeżuwacz Oczu", -- A_Classic_Fairytale:journey ["Fair Wind"] = "Sprawiedliwy Wiatr", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror ["Family Reunion"] = "Spotkanie rodzinne", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Najszybsze okrążenie: ", ["Feeble Resistance"] = "Ruch Oporu", ["Fell From Grace"] = "Upadły z Łaski", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen @@ -564,17 +622,23 @@ ["Fighting instead of cultivating a beautiful friendship."] = "Walcząc, zamiast podtrzymywać piękną przyjaźń.", -- A_Classic_Fairytale:epil ["Fight: Press [Attack]"] = "Walcz: Wciśnij [Atak]", -- A_Space_Adventure:fruit01 ["Filthy Blue"] = "Brudny Niebieski", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family ["Finally you are here!"] = "Nareszcie tu jesteś!", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 ["Final result"] = "Końcowy rezultat", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Final team scores:"] = "Końcowe wyniki drużyn:", -- Space_Invasion ["Find a way to detonate all the explosives and stay alive!"] = "Znajdź sposób, by zdetonować wszystkie ładunki wybuchowe i przeżyć!", -- A_Space_Adventure:final ["Find your tribe!|Cross the lake!"] = "Znajdź swoje plemie!|Przekrocz jezioro!", -- A_Classic_Fairytale:dragon ["Finish this challenge as fast as possible to earn bonus points."] = "Ukończ to wyzwanie najszybciej, jak to możliwe, by zdobyć dodaktowe punkty.", -- User_Mission_-_Rope_Knock_Challenge ["Finish waypoint placement"] = "Zakończ stawianie punktów kontrolnych", -- Racer ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "Ukończ swój trening|Porada: Animacje mogą być pominięte przyciskiem [Precyzja]", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope ["Fire: [Precise]"] = "Strzel: [Precyzja]", -- Space_Invasion, Tumbler ["First aid kits?!"] = "Apteczki?", -- A_Classic_Fairytale:united ["First Blood"] = "Pierwsza krew", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag ["First killer will mutate"] = "Pierwszy zabójca zmutuje", -- Mutant ["First Steps"] = "Pierwsze kroki", -- A_Classic_Fairytale:first_blood ["- First team to capture the flag wins"] = "Pierwsa drużyna, która przejmie flagę, wygrywa", -- Capture_the_Flag @@ -593,6 +657,7 @@ ["Flying Saucer Training"] = "Trening latającego talerza", -- Basic_Training_-_Flying_Saucer ["Fly into space to fight off the invaders with barrels!"] = "Leć w kosmos, by odeprzeć najeźdźców beczkami!", -- Space_Invasion ["Fly to the meteorite and detonate the explosives"] = "Poleć do meteorytu i zdetonuj ładunki", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement ["Four Eyes"] = "Czterooki", -- ["Frank"] = "Franek", -- User_Mission_-_Nobody_Laugh ["Frankie"] = "Franka", -- @@ -635,12 +700,17 @@ ["Get past the flower."] = "Przejdź przez kwiatek.", -- A_Classic_Fairytale:journey ["Get ready to fight!"] = "Przygotuj się do walki!", -- A_Space_Adventure:moon01 ["Get that crate!"] = "Zdobądź tę skrzynię!", -- A_Classic_Fairytale:first_blood +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey ["Get the crate on the other side of the island!|"] = "Zdobądź skrzynię na drugim końcu wyspy!|", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement ["Get the highest score to win."] = "Zdobądź najwyższy wynik, by wygrać.", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement ["Getting ready"] = "Przygotowanie", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope ["Getting to the device"] = "Dojście do urządzenia", -- A_Space_Adventure:fruit02 ["Get to the crate using your flying saucer!"] = "Dostań się do skrzyni, używając swojego latającego talerza!", -- Basic_Training_-_Flying_Saucer ["Get to the target using your rope!"] = "Dostań się do celu, używając swojej liny!", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family ["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!"] = "Wydostań swoich kolegów z ich naturalnego więzienia i uratuj księżniczkę!|Porada: Wywiercenie dziur powinno wszystko rozwiązać.|Porada: Może być dobrym pomysłem, by ustawić belkę przez rozpoczęciem wiercenia. Tylko mówię.|Porada: Wszystkie twoje jeże powiny być ponad zaznaczoną wysokością!|Porada: Spory Przeciek musi dostać się naprawdę blisko księżniczki!", -- A_Classic_Fairytale:family ["Giggles"] = "Chichot", -- ["Gimme Bones"] = "Dej Kości", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ ["Glassy"] = "Szklisty", -- ["Goal Definition Mode"] = "Tryb Definicji Celu", -- HedgeEditor ["GOAL DEFINITION MODE"] = "TRYB DEFINICJI CELU", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant ["Go and collect the crate"] = "Idź i zbierz skrzynię", -- A_Space_Adventure:cosmos ["Godai"] = "Godai", -- ["Go down and save these PAotH hogs!"] = "Zejdź na dół i uratuj te jeże z PSJ!", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ ["Good idea, they'll never find us there!"] = "Dobry pomysł, nigdy nas tu nie znajdą!", -- A_Classic_Fairytale:united ["Good job! Defeat the rest of the aliens!"] = "Dobra robota! Pokonaj resztę obcych!", -- A_Classic_Fairytale:queen ["Good job!"] = "Dobra robota!", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade ["Good luck...or else!"] = "Powodzenia... lub nie!", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "Powodzenia tam!", ["Good luck!"] = "Powodzenia!", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 ["Good so far!"] = "Jak dotąd idzie dobrze!", ["Good to go!"] = "Gotowi do akcji!", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement ["Go on top of the flower"] = "Wejdź na szczyt kwiatka", -- A_Classic_Fairytale:first_blood ["Go, quick!"] = "Idź szybko!", -- A_Classic_Fairytale:backstab ["Gorkij"] = "Gorkij", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ ["GOTCHA!"] = "MAM CIĘ!", ["Go to Thanta and get the device part!"] = "Idź do Tanty i zdobądź część urządzenia!", -- A_Space_Adventure:ice01 ["Go to the surface!"] = "Idź na powierzchnię!", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope ["Go to the upper platform and get the weapons in the crates!"] = "Idź na górną platformę i zdobądź bronie ze skrzyń!", -- A_Space_Adventure:moon01 ["Got the saucer!"] = "Dotarto do talerza!", -- A_Space_Adventure:cosmos ["Got to go back."] = "Muszę wracać.", -- A_Space_Adventure:cosmos ["Got you? You're acting weird."] = "Dopadło cię? Dziwnie się zachowujesz.", -- A_Classic_Fairytale:queen ["Grab mines/barrels: [High jump]"] = "Złap miny/beczki: [Wysoki skok]", -- Tumbler ["Gravity: 100%"] = "Grawitacja: 100%", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope ["Great choice, Steve! Mind if I call you that?"] = "Świetny wybór, Stefan! Masz coś przeciwko nazywaniu cię tak?", -- A_Classic_Fairytale:shadow ["Great! Let’s kill all these enemies, using portals."] = "Świetnie! Zabijmy wszystkich tych wrogów, używając portali.", -- portal ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "Świetna robota! Teraz uderz go swoim kijem bejsbolowym!|Porada: Możesz zmienić broń 'Prawym kliknięciem'!", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ ["Greetings, %s!"] = "Pozdrowienia, %s!", -- A_Classic_Fairytale:dragon ["Greg"] = "Grzegorz", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork ["Grenade Group"] = "Granatowa Grupa", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade ["Grenade Training"] = "Trening Granatowy", -- Basic_Training_-_Grenade ["Grenadier"] = "Grenadier", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor ["Grenadiers"] = "Grenadierzy", -- Basic_Training_-_Grenade @@ -736,6 +814,8 @@ ["H confirmed that there isn't such a PAotH activity logged."] = "J potwierdził, że nie ma zapisanej takiej aktywności PSJ.", -- A_Space_Adventure:desert01 ["Healing Station: Heals nearby hogs."] = "Stacja Lecząca: Leczy pobliskie jeże.", -- Construction_Mode ["Healing Station"] = "Stacja Lecząca", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement ["Health Crate Placement Mode"] = "Tryb Stawiania Apteczek", -- Construction_Mode ["HEALTH CRATE PLACEMENT MODE"] = "TRYB STAWIANIA APTECZEK", -- HedgeEditor ["Health: %d"] = "Zdrowie: %d", -- HedgeEditor @@ -743,6 +823,7 @@ ["Health Modification Mode"] = "Tryb Modyfikacji Zdrowia", -- HedgeEditor ["HEALTH MODIFICATION MODE"] = "TRYB MODYFIKACJI ZDROWIA", -- HedgeEditor ["Heartful"] = "Serdeczny", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror ["Heavy Cannfantry"] = "Ciężka Kanibaleria", -- A_Classic_Fairytale:united ["Heavy"] = "Ciężki", ["Heckles"] = "Hekles", -- @@ -780,11 +861,13 @@ ["Here...pick your weapon!"] = "Masz... wybierz swoją broń!", -- A_Classic_Fairytale:first_blood ["Here! Take it!"] = "Masz! Weź to!", -- A_Space_Adventure:ice01 ["Here we go!"] = "No to ruszamy!", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "Tutaj poznasz jak lata się latającym talerzem|i będziesz mieć szansę poznać odlotowe sztuczki.", -- Basic_Training_-_Flying_Saucer ["Hero Team"] = "Drużyna Bohatera", -- User_Mission_-_The_Great_Escape ["He's so brave..."] = "Jest taki odważny...", -- A_Classic_Fairytale:first_blood ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "Był asystentem laboratoryjnym Dr Dobrojeża, wynalazcy urządzenia antygrawitacyjnego.", -- A_Space_Adventure:moon02 ["He won't be selling us out anymore!"] = "On już nas nie sprzeda!", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family ["Hey, guys!"] = "Hej, koledzy!", -- A_Classic_Fairytale:backstab ["Hey guys!"] = "Hej koledzy!", -- A_Classic_Fairytale:united ["Hey, Hog Solo! Finally you have come!"] = "Hej, Hog Solo! Nareszcie przybyłeś!", -- A_Space_Adventure:moon01 @@ -793,21 +876,38 @@ ["Hey! This is cheating!"] = "Hej! To oszukiwanie!", -- A_Classic_Fairytale:journey ["Hidden"] = "Ukryte", -- portal ["High Gravity: Gravity is %i%%"] = "Wysoka grawitacja: Grawitacja wynosi %i%%", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement ["Highlander: Eliminate hogs to take their weapons"] = "Highlander: Wyeliminuj jeże, by zabrać ich bronie", -- Highlander ["Highland: Hogs get %d random weapons from their pool"] = "Wyżyna: Jeże dostają %d losowych broni ze swoich pul", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion ["--- Highland ---"] = "--- Wyżyna ---", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka ["Hightime"] = "Najwyższa pora", -- A_Classic_Fairytale:first_blood ["Hightower"] = "Wysowieża", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield ["Hi! Nice to meet you."] = "Cześć! Miło cię poznać.", -- A_Space_Adventure:ice01 +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement ["Hint: Double Jump - Press [Backspace] twice"] = "Wskazówka: Podwójny skok - Wciśnij [Backspace] dwa razy", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "Wskazówka: Zabójstwa nie przetransferują puli jeża do puli zabójcy", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka ["Hint: Press [Esc] to review the mission texts."] = "Porada: Wciśnij [Esc], by zobaczyć teksty misji.", -- A_Classic_Fairytale:first_blood ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "Porada: Wybierz palnik, wyceluj i wciśnij [Strzał]. Wciśnij ponownie [Strzał], by się zatrzymać.", -- A_Classic_Fairytale:journey ["Hint: Select the low gravity and press [Fire]."] = "Porada: Wybierz niską grawitację i wciśnij [Strzał].", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope ["--- Hint ---"] = "--- Wskazówka ---", -- Battalion +-- ["Hint: You might want to stay out of sight and take all the crates ..."] = "", -- A_Classic_Fairytale:journey ["Hint: you might want to stay out of sight and take all the crates...|"] = "Porada: Możesz chcieć pozostać poza widokiem i zabrać wszystkie skrzynie...|", -- A_Classic_Fairytale:journey ["His arms are so strong!"] = "Jego ręce są tak silne!", -- A_Classic_Fairytale:first_blood ["hits"] = "wskazówki", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement ["H"] = "J", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01 ["Hmm … it's going slower than expected."] = "Hmm... to będzie wolniejsze, niż się spodziewałem.", -- A_Classic_Fairytale:queen ["Hmmm...actually...I didn't either."] = "Hmmm... właściwie... ja również nie.", -- A_Classic_Fairytale:enemy @@ -823,6 +923,7 @@ ["Hog decar"] = "Jeż decar", -- A_Space_Adventure:fruit03 ["Hog dertien"] = "Jeż dertien", -- A_Space_Adventure:fruit03 ["Hog D"] = "Jeż D", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission ["Hog EOF"] = "Jeż EOF", -- A_Space_Adventure:fruit03 ["Hogera is definitely the last planet I saved!"] = "Jeżera jest definitywnie ostatnią planetą, którą uratowałem!", -- A_Space_Adventure:final ["Hogera is safe!"] = "Jeżera jest bezpieczna!", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ ["- Hogs will be revived"] = "- Jeże zostaną ożywione", -- Capture_the_Flag ["- Hogs will drop the flag when killed"] = "Jeże upuszczą flagę po zginięciu", -- Capture_the_Flag ["Hog two"] = "Jeż dwa", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Holy shit!"] = "Jasna cholera!", -- Mutant ["Homing Bee"] = "Pszczoła", -- Construction_Mode ["Honda"] = "Honda", -- @@ -878,6 +981,7 @@ ["However, if you fail to do so, she dies a most violent death! Muahahaha!"] = "Jednakże, jeśli nie uda ci się tego zrobić, ona umrze najbardziej brutalną śmiercią! Muahahaha!", -- A_Classic_Fairytale:journey ["However, my mates don't agree with me on letting you go..."] = "Jednakże, moi kumple nie zgodzą się ze mną, by cię wypuścić...", -- A_Classic_Fairytale:dragon ["However, the army of Yellow Watermelons is about to attack any moment now."] = "Jednakże, armia Żółtych Arbuzów może zaatakować w każdej chwili.", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope ["How would you like being discriminated against?"] = "Jak podoba ci się bycie dyskryminowanym?", -- A_Classic_Fairytale:queen ["Huh?"] = "Huh?", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Strzelec", @@ -896,12 +1000,14 @@ ["I can't believe what I'm hearing!"] = "Nie mogę uwierzyć w to co słyszę!", -- A_Classic_Fairytale:backstab ["I can't let you go further because …"] = "Nie mogę pozwolić ci pójść dalej, bo...", -- A_Classic_Fairytale:queen ["I can't wait any more, I have to save myself!"] = "Nie mogę już dłużej czekać, muszę się ratować!", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement ["Ice Jake"] = "Lodowy Dżejk", -- A_Space_Adventure:ice01 ["I could just teleport myself there..."] = "Mógłbym się tam po prostu teleportować.", -- A_Classic_Fairytale:family ["Icy Girder: [3]"] = "Lodowa Belka: [3]", -- HedgeEditor ["Icy Land: [3]"] = "Lodowy Teren: [3]", -- HedgeEditor ["Icy Land"] = "Lodowy Teren", -- HedgeEditor ["I'd better get going myself."] = "Lepiej sam już pójdę.", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant ["I didn't until about a month ago."] = "Nie robiłem, aż do jakoś zeszłego miesiąca.", -- A_Classic_Fairytale:enemy ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "Nie obchodzi mnie to. To jest warte fortunę! Do widzenia, idioto!", -- A_Space_Adventure:fruit02 ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "Nie wiem jak to zrobiłeś. Ale dobra robota!|Następny powinien być dla ciebie łatwy!", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ ["I feel something...a place! They will arrive near the circles!"] = "Coś wyczuwam... miejsce! Oni przybędą niedaleko kół!", -- A_Classic_Fairytale:backstab ["If only I had a way..."] = "Gdybym tylko miał wyjście...", -- A_Classic_Fairytale:backstab ["If only I were given a chance to explain my being here..."] = "Gdybym tylko dostał szansę wytłumaczyć swoją obecność tutaj...", -- A_Classic_Fairytale:first_blood +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 ["I forgot that she's the daughter of the chief, too..."] = "Zapomniałem, że ona jest też córką szefa...", -- A_Classic_Fairytale:backstab ["I found it! Hooray!"] = "Znalazłem to! Hurra!", -- A_Space_Adventure:desert01 ["If some good old explosives were enough to save Hogera …"] = "Jeśli trochę starych dobrych ładunków wybuchowych by wystarczyło, aby uratować Jeżerę...", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ ["If you agree to provide the information we need, you will be spared!"] = "Jeśli zgodzisz się zdradzić informacje, których potrzebujemy, zostaniesz oszczędzony!", -- A_Classic_Fairytale:shadow ["If you can get that crate fast enough, your beloved \"princess\" may go free."] = "Jeśli uda ci się zdobyć tę skrzynię wystarczająco szybko, twoja ukochana \"księżniczka\" zostanie uwolniona.", -- A_Classic_Fairytale:journey ["If you decide to help us, though, we will no longer need to find a new governor for the island."] = "Jednak jeśli zdecydujesz się nam pomóc, nie będziemy już musieli znaleźć nowego gubernatora dla wyspy.", -- A_Classic_Fairytale:shadow +-- ["If you don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "Jeśli utkniesz, użyj swojego Desert Eagle lub zrestartuj misję!|", -- A_Classic_Fairytale:journey ["If you help us you can keep the device if you find it but we'll keep everything else."] = "Jeśli nam pomożesz, możesz zatrzymać urządzenie jeśli je znajdziesz, ale zatrzymay wszytko inne.", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "Jeśli zranisz jeża, otrzymasz 35% zadanych obrażeń.", -- A_Space_Adventure:death02 ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "Jeśli zabijesz jeża odpowiednią bronią, twoje zdrowie zostanie ustawione na 100.", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 ["If you know what I mean..."] = "Jeśli wiesz co mam na myśli...", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope ["If you say so..."] = "Jeśli tak mówisz...", -- A_Classic_Fairytale:shadow ["If you skip a turn then the turn time left will be added to your next turn."] = "Jeśli pominiesz turę, pozostały czas zostanie dodany do twojej następnej tury.", -- A_Space_Adventure:fruit03 ["If you wish to replay, there are other possible endings, too!"] = "Jeśli zechcesz zagrać ponownie, są również inne możliwe zakończenia!", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ ["I'm here to help you rescue her."] = "Jestem tu pomóc ci ją uratować.", -- A_Classic_Fairytale:family ["I'm living a dream!"] = "Przeżywam sen!", -- A_Classic_Fairytale:queen ["I'm not sure about that!"] = "Nie jestem tego pewny!", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "Imponujące... nadal jesteś suchy, jak zwłoki jastrzębia po tygodniu na pustyni...", -- A_Classic_Fairytale:first_blood ["%i ms"] = "%i ms", -- Gravity ["I'm so glad this is finally over!"] = "Tak się cieszę, że to wreszcie koniec!", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ ["Interesting! Last time you said you killed a cannibal!"] = "Ciekawe! Ostanim razem mówiłeś, że zabiłeś kanibala!", -- A_Classic_Fairytale:backstab ["In the Ice Planet Flying Saucer Stadium ..."] = "Na Stadionie Latających Talerzy Lodowej Planety...", -- A_Space_Adventure:ice02 ["In the meantime, take these and return to your \"friend\"!"] = "W międzyczasie, weź je i wróć do swojego \"przyjaciela\"!", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 ["In this accident, Professor Hogevil lost all his spines on his head!"] = "W wypadku tym, Profesor Jeżozło stracił wszystkie kolce na swojej głowie!", -- A_Space_Adventure:moon02 ["In this mission you get %d%% fuel."] = "W tej misji dostajesz %d%% paliwa.", -- User_Mission_-_Diver ["In this mission you have infinite time."] = "W tej misji masz nieskończony czas.", -- portal @@ -1039,6 +1153,7 @@ ["It must be the aliens' deed."] = "To pewnie robota obcych.", -- A_Classic_Fairytale:backstab ["It must be the aliens!"] = "To pewnie obcy!", -- A_Classic_Fairytale:backstab ["It must be the cyborgs again!"] = "To pewnie znowu te cyborgi!", -- A_Classic_Fairytale:enemy +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope ["I told you, I just found them."] = "Mówię ci, właśnie je znalazłem.", -- A_Classic_Fairytale:backstab ["It only works in teleportation nodes of your own clan."] = "To działa tylko w węzłach teleportacyjnych twojego klanu.", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Jak to dobrze, że NAGŁA ŚMIERĆ jest dopiero za 99 tur...", @@ -1098,6 +1213,7 @@ ["Jones"] = "Dżons", -- ["Judas"] = "Judasz", -- A_Classic_Fairytale:backstab ["Juicy"] = "Soczysty", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "Skakanie jest wyłączone", ["Just kidding, none of you have died!"] = "Tylko żartuję, nikt z was nie umarł.", -- A_Classic_Fairytale:enemy ["Just look at Leaks, may he rest in peace!"] = "Spójrz tylko na Przecieka, niech spoczywa w pokoju.", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ ["King Customer"] = "Król Klient", -- Challenge_-_Speed_Shoppa_-_ShoppaKing ["--- King ---"] = "--- Król ---", -- Battalion ["King"] = "Król", -- Battalion +-- ["--- King Mode ---"] = "", -- Battalion ["Knight"] = "Rycerz", -- Battalion ["Knives"] = "Noże", -- ["Knockball"] = "Stukany", -- Knockball @@ -1140,6 +1257,7 @@ ["Last Resort: Having less than 25% base health gives kamikaze"] = "Ostatnia Deska Ratunku: Posiadanie mniej niż 25% bazowego zdrowia daje kamikaze", -- Battalion ["Last Target!"] = "Ostatni cel!", ["Last wave in 3 turns"] = "Ostatnia fala za 3 tury", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka ["Leaderbot"] = "Dowódcobot", -- A_Classic_Fairytale:queen ["Leader"] = "Dowódca", -- A_Classic_Fairytale:enemy ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "Poprowadź Zielone Banany do walki i wyeliminuj wszystkich wrogów!", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ ["Leaks A Lot gave his life for his tribe! He should have survived!"] = "Spory Przeciek oddał swoje życie dla jego plemienia! Powinien był przeżyć!", -- A_Classic_Fairytale:first_blood ["Leaks A Lot must survive!"] = "Spory Przeciek musi przeżyć!", -- A_Classic_Fairytale:journey ["Leaks A Lot"] = "Spory Przeciek", -- 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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement ["Led Heart"] = "Prowadzące Serce", -- A_Classic_Fairytale:queen ["Lee"] = "Li", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen ["Left and right"] = "Lewo i prawo", -- WxW @@ -1154,12 +1273,15 @@ ["[Left], [Right]: Change between identities."] = "[Lewo], [Prawo]: Zmień między tożsamościami.", -- HedgeEditor ["[Left], [Right]: Change health value."] = "[Lewo], [Prawo]: Zmień ilość zdrowia.", -- HedgeEditor ["Left/right: Choose crate contents"] = "Left/right: Wybierz zawartość skrzyni", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode ["Left/right: Choose structure type|Cursor: Build structure"] = "Left/right: Wybierz rodzaj struktury|Kursor: Zbuduj strukturę", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield ["Legs"] = "Nogi", -- ["Less tools, more fun"] = "Mniej narzędzi, więcej zabawy", -- Battalion ["Lestat"] = "Lestat", -- portal ["Let a continent provide your weapons!"] = "Daj kontynentowi zapewnić ci twoje bronie!", -- Continental_supplies ["Let me test your skills a little, will you?"] = "Pozwól mi sprawdzić trochę twoje zdolności, co?", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka ["Let's go home!"] = "Wracajmy do domu!", -- A_Classic_Fairytale:journey ["Let's go, %s!"] = "Chodźmy, %s!", -- WxW ["Let's go!"] = "Zaczynajmy!", -- A_Space_Adventure:moon02 @@ -1173,12 +1295,16 @@ ["Level Data Saved!"] = "Wczytano dane poziomu!", -- HedgeEditor ["Lightbender"] = "Władca Światła", -- ["Light Cannfantry"] = "Lekka Kanibaleria", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "Słuchaj uważnie! Przywódca bandytów, Tanta, znalazł ostatnio bardzo dziwne urządzenie.", -- A_Space_Adventure:ice01 ["Listen up, maggot!!"] = "Słuchaj mnie, gnido!", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings ["Little did they know that this hunt will mark them forever..."] = "Nie zdają sobie sprawy, że to polowanie naznaczy ich na zawsze...", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope ["Lively Lifeguard"] = "Żwawy Ratownik", ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "Samotne Łkanie: [Podnosi wodę, jeśli nie ma jeża w kole i zadaje 6 obrażeń każdemu wrogiemu jeżowi.]", -- Continental_supplies ["Lonely Hog"] = "Samotny Jeż", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement ["Long Live The Queen"] = "Niech żyje królowa", -- A_Classic_Fairytale:queen ["Look, boss! There is the target!"] = "Zobacz, szefie! Tam jest cel!", -- A_Space_Adventure:moon01 ["Look, I had no choice!"] = "Słuchaj, nie miałem wyboru!", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ ["Looks like the whole world is falling apart!"] = "Wygląda, jakby cały świat się walił!", -- A_Classic_Fairytale:enemy ["Loon"] = "Gbur", -- The_Specialists ["Loopy"] = "Wariat", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror ["Losing Condition: Destroy"] = "Warunek przegranej: Zniszcz", -- HedgeEditor ["Low Gravity: Gravity is %i%%"] = "Niska grawitacja: Grawitacja wynosi %i%%", -- Gravity ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "Lojalny Highlander: Wyeliminuj jeże wroga, by przejąć ich bronie", -- Highlander @@ -1228,11 +1355,15 @@ ["Mine Placement Mode"] = "Tryb Ustawiania Min", -- Construction_Mode ["MINE PLACEMENT MODE"] = "TRYB USTAWIANIA MIN", -- HedgeEditor ["Mines explode after %d s."] = "Miny wybuchają po %d s.", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission ["Mines time: 0 seconds"] = "Czas min: 0 sekund", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 ["Mines time: 1.5 seconds"] = "Czas min: 1.5 sekundy", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission ["Mines time: 1 second"] = "Czas min: 1 sekunda", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission ["Mines time: 3 seconds"] = "Czas min: 3 sekundy", -- A_Classic_Fairytale:journey ["Mines time: 5 seconds"] = "Czas min: 5 sekund", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission ["Mine Strike"] = "Nalot", -- Construction_Mode ["Minion"] = "Sługus", -- A_Space_Adventure:moon01 ["Minions"] = "Sługusy", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ ["Mission failed!"] = "Misja zakończona niepowodzeniem!", -- Big_Armory ["Mission failure in %d s"] = "Porażka misji w %d s", -- Big_Armory ["Mission lost!"] = "Misja stracona!", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "MISJA POWIODŁA SIĘ", ["Mission won!"] = "Misja wygrana!", -- Basic_Training_-_Grenade ["Mister Pear"] = "Pan Perła", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "Tryby: Aktywuj tryb \"highland\", \"king\" lub \"points\" dodając mode=|do parametrów skryptu", -- Battalion ["Modifiers: Unlimited ammo, per-hog ammo"] = "Modyfikatory: Nieskończona amunicja, amunicja na jeża", -- Battalion ["Modifiers: Unlimited ammo, shared clan ammo"] = "Modyfikatory: Nieskończona amunicja, amunicja klanowa", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion ["Modify Sprite under Cursor: [Left Click]"] = "Modyfikuj Grafikę pod Kursorem: [Lewy klik]", -- HedgeEditor ["Molly"] = "Moli", -- ["Molotov"] = "Koktajl Mołotowa", -- Continental_supplies @@ -1258,15 +1392,18 @@ ["Morris"] = "Moris", -- ["Most mines are not active."] = "Większość min jest nieaktywna", -- A_Space_Adventure:desert02 ["Most of the destructible terrain in marked with blue color"] = "Większość zniszczalnego terenu jest zaznaczone na niebieski kolor", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 ["Most of the time you'll be able to use the freezer only."] = "Przez większość czasu będziesz mógł użyć tylko zamrażarki.", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"] = "Poruszanie się: [Góra], [Dół], [Lewo], [Prawo]", ["Mr Mango"] = "Pan Mango", -- A_Space_Adventure:fruit01 ["Mudkip"] = "Mudkip", -- ["Multi-shot! +15 points!"] = "Mutli-strzał! +15 punktów!", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander ["Muriel"] = "Miuriel", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen ["Muscle Dissolver"] = "Rozpuszczacz Mięśni", -- A_Classic_Fairytale:shadow ["Mushroom Kingdom"] = "Grzybowe Królestwo", -- ["Mutant"] = "Mutant", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka ["My flying saucer stopped working!"] = "Mój latający talerz przestał działać!", -- A_Space_Adventure:ice01 ["Nade Boy"] = "Natowy Chłopak", -- Basic_Training_-_Grenade ["Nah, probably everyone was just stupid."] = "Nie, prawdopodobnie każdy był po prostu głupi.", -- A_Space_Adventure:final @@ -1309,6 +1446,7 @@ ["No...I wonder where they disappeared?!"] = "Nie... ciekawe, gdzie oni zniknęli?!", -- A_Classic_Fairytale:journey ["Nom-Nom"] = "Nom-Nom", -- A_Classic_Fairytale:journey ["NomNom"] = "NomNom", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander ["Noo, Thanta has to stay alive!"] = "Niee, Tanta musi zostać przy życiu!", -- A_Space_Adventure:ice01 ["Nope. It was one fast mole, that's for sure."] = "Nie. To był jeden szybki kret, to na pewno.", -- A_Classic_Fairytale:shadow ["No! Please, help me!"] = "Nie! Proszę, pomóż mi!", -- A_Classic_Fairytale:journey @@ -1318,12 +1456,15 @@ ["Normal Girder: [1]"] = "Normalna Belka: [1]", -- HedgeEditor ["Normal Land: [1]"] = "Normalny Teren: [1]", -- HedgeEditor ["Normal Land"] = "Normalny Teren", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement ["NORMAL"] = "NORMALNY", -- Continental_supplies ["Normal Rubber: [1]"] = "Normalna Guma: [1]", -- HedgeEditor ["North America"] = "Ameryka Północna", -- Continental_supplies ["Not being able to fight or hunt."] = "Bez możliwości walki, czy łowu.", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"] = "ZA MAŁO PUNKTÓW KONTROLNYCH", ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "Notka: Niektóre bronie mają drugą opcję (zobacz informację o kontynencie). Znajdź je i użyj przez \"", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement ["Note: We only give you grenades if you stay in your flying saucer."] = "Notka: Dajemy ci granaty tylko, gdy jesteśw swoim spodku.", -- Basic_Training_-_Flying_Saucer ["Nothing of interest has happened."] = "Nic interesującego się nie wydarzyło.", -- Space_Invasion ["Not now, Fiery Water!"] = "Nie teraz, Ognista Wodo!", -- A_Classic_Fairytale:backstab @@ -1338,12 +1479,15 @@ ["Now for the supreme discipline of saucer flying, the underwater attack."] = "Teraz najwyższa dyscyplina latania talerzem, podwodny atak.", -- Basic_Training_-_Flying_Saucer ["Now go and don't waste more of my time, you coward!"] = "Teraz idź i nie marnuj więcej mojego czasu, ty tchórzu!", -- A_Space_Adventure:fruit01 ["Now go and play the menu mission to complete the campaign."] = "Teraz idź i zagraj w misję z menu, by ukończyć kampanię.", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement ["No! What have I done?! What have YOU done?!"] = "Nie! Co ja narobiłem?! Co TY narobiłeś?!", -- A_Classic_Fairytale:journey ["No. Where did he come from?"] = "Nie. Skąd on przyszedł?", -- A_Classic_Fairytale:shadow ["Now how do I get on the other side?!"] = "Teraz, jak mam dostać się na drugą stronę?", -- A_Classic_Fairytale:dragon ["Now I have to climb these trees"] = "Teraz muszę wspiąć się na te drzewa", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade ["Now let's try to drop weapons while flying!"] = "Teraz spróbujmy zrzucić bronie latając!", -- Basic_Training_-_Flying_Saucer ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "Teraz słuchaj uważnie! Pod nami są tunele, które zostały naturalnie stworzone przez lata.", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement ["Now use it and go to the moon PAotH station to get more fuel!"] = "Teraz użyj tego i udaj się na stację księżycową PSJ, by zdobyć więcej paliwa!", -- A_Space_Adventure:cosmos ["Now you have the chance to try and claim the place that you deserve among the best."] = "Teraz masz szansę, by spróbować i zdobyć zasłużone miejsce między najlepszymi.", -- A_Space_Adventure:ice02 ["No. You and the rest of the tribe are safer there!"] = "Nie. Ty i reszta plemienia jesteście tu bezpieczniejsi.", -- A_Classic_Fairytale:backstab @@ -1351,6 +1495,7 @@ ["Objectives"] = "Cele", -- A_Space_Adventure:ice01 ["Object Placer"] = "Stawiacz Obiektów", -- Construction_Mode ["Obliterate them!|Hint: You might want to take cover..."] = "Unicestwić ich!|Porada: Możesz chcieć się schować...", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope ["Obstacle course"] = "Tor przeszkód", -- A_Classic_Fairytale:dragon ["Of course, but you're … special."] = "Oczywiście, ale jesteś... specjalna.", -- A_Classic_Fairytale:epil ["Of course I am!"] = "Oczywiście, że jestem!", -- A_Classic_Fairytale:queen @@ -1371,8 +1516,10 @@ ["Oh! Please spare me. You can take all my treasures!"] = "Och! Proszę, oszczędź mnie. Możesz zabrać wszystkie moje skarby!", -- A_Space_Adventure:ice01 ["Oh, silly me! I forgot that I'm the shaman."] = "Och, głupi ja! Zapomniałem, że to ja jestem szamanem.", -- A_Classic_Fairytale:backstab ["Oh, that. We were just having fun!"] = "Och, to. Tylko się bawiliśmy.", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope ["Oh yes! I got the device part! Now it belongs to me alone."] = "O tak! Mam teraz część urządzenia! Teraz należy tylko do mnie.", -- A_Space_Adventure:fruit02 ["Okay, I'll be extra careful!"] = "Dobrze, będę ekstra ostrożny!", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "Dobrze, więc musisz iść i wziąć trochę broni, które ukryliśmy na nagły wypadek!", -- A_Space_Adventure:moon01 ["Okay then!"] = "Zatem w porządku!", -- A_Space_Adventure:fruit02 ["Old One Eye"] = "Stary Jednooki", -- @@ -1388,7 +1535,9 @@ ["Oneye"] = "Jednooki", -- portal ["Only Hog Solo can be trusted with the crate."] = "Skrzynia może być powierzona tylko Hogowi Solo.", -- A_Space_Adventure:fruit02 ["Only one hog per team allowed! Excess hogs will be removed"] = "Dozwolony tylko jeden jeż na drużynę! Nadmiarowe jeże będą usunięte", -- Mutant +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant ["Only the best pilots can master the following stunts."] = "Tylko najlepsi piloci mogą opanować następujące wyczyny.", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard ["On the Ice Planet, where ice rules ..."] = "Na Lodowej Planecie, gdzie rządzi lód...", -- A_Space_Adventure:ice01 ["On the other side of the moon ..."] = "Po drugiej stronie księżyca...", -- A_Space_Adventure:moon02 ["On the Planet of Sand, you have to double check your moves ..."] = "Na Planecie Piasku musisz starannie wykonywać swoje ruchy...", -- A_Space_Adventure:desert01 @@ -1396,6 +1545,8 @@ ["On this map you get infinite fuel."] = "Na tej mapie dostajesz nieskończone paliwo.", -- TechRacer ["Oops...I dropped them."] = "Ups... upuściłem je.", -- A_Classic_Fairytale:united ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "Ups, zostałem zauważony i nie mam broni! Już po mnie!", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope ["Open that crate and we will continue!"] = "Otwórz tę skrzynię i będziemy kontynuować!", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Przeciwna Drużyna", ["Orange"] = "Pomarańcz", -- @@ -1406,25 +1557,32 @@ ["Other kills don't give you points."] = "Inne zabójstwa nie dają ci punktów.", -- Mutant ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "Auć! To musiało boleć. %s (%s) uderzył w zimię z %d punktami obrażeń.", -- ClimbHome ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "Auć! To musiało boleć. Upokorzyłeś swojego biednego jeża %d punktami obrażeń.", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement ["Our tribe, our beautiful island!"] = "Nasze plemię, nasza piękna wyspa!", -- A_Classic_Fairytale:enemy ["Out of ammo!"] = "Brak amunicji!", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "PSJ wysłało ładunki wybuchowe, ale niestety, mechanizm zapalnika wydaje się być wadliwy!", -- A_Space_Adventure:cosmos ["PAotH"] = "PSJ", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 ["Parachute"] = "Spadochron", -- Continental_supplies ["Patches"] = "Łatek", -- ["Pathetic Resistance"] = "Żałosny Opór", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock ["Paul McHoggy"] = "Paul McJeżu", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement ["Penalty: If you violate above rule, you have to skip in the next turn."] = "Kara: Jeśli naruszysz powyższą zasadę, będziesz musiał opuścić następną turę.", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies ["Penguin roar: [Deal 15 damage + 10% of your hogs health to all hogs around you and get 2/3 back]"] = "Ryk pingwina: [Zadaje 15 obrażeń + 10% zdrowia twojego jeża wszystkim jeżom dookoła i dostaje 2/3 z powrotem]", -- Continental_supplies ["Perfect! Now try to get the next crate without hurting yourself!"] = "Idealnie! Teraz spróbuj zdobyć następną skrzynię bez zranienia się!", -- A_Classic_Fairytale:first_blood ["Per-Hog Ammo"] = "Oddzielna amunicja dla jeży", ["Per-hog Ammo: Weapons are not shared between hogs"] = "Oddzielna amunicja dla jeży: Bronie nie są dzielone między jeżami", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 ["Per team weapons"] = "Drużynowa amunicja", -- Continental_supplies ["Pfew! That was close!"] = "Fiu! To było bliskie!", -- A_Classic_Fairytale:shadow ["Phosphat"] = "Fosfat", -- portal ["Physicist"] = "Fizyk", -- HedgeEditor ["Piano Strike"] = "Zrzut pianina", -- Construction_Mode ["Pikachu"] = "Pikachu", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield ["Pings left: %d"] = "Pozostałe sygnały: %d", -- Space_Invasion ["Pink"] = "Róż", -- ["Pirates"] = "Piraci", -- @@ -1457,6 +1615,7 @@ ["Place Waypoint"] = "Postaw Punkt Kontrolny", -- HedgeEditor ["Place waypoint"] = "Postaw punkt kontrolny", -- Racer ["Place weapon crates"] = "Postaw skrzynie z brońmi", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag ["- Place your team flag at the end of your first turn"] = "- Postaw flagę twojej drużyny na końcu swojej pierwszej tury", -- Capture_the_Flag ["Planes used: %d"] = "Użyte samoloty: %d", -- User_Mission_-_RCPlane_Challenge ["Planes Used:"] = "Użyte Samoloty: %d", -- User_Mission_-_RCPlane_Challenge @@ -1475,6 +1634,7 @@ ["Please, stop releasing your \"smoke signals\"!"] = "Proszę, przestań wysyłać swoje \"sygnały dymne\"!", -- A_Classic_Fairytale:shadow ["Please wait …"] = "Proszę czekać...", -- WxW ["Point Blank Combo! +5 points!"] = "Kombo martwego punktu! +5 punktów!", -- Space_Invasion +-- ["--- Points Mode ---"] = "", -- Battalion ["--- Points ---"] = "--- Punkty ---", -- Battalion ["points"] = "punkty", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle ["point(s)"] = "punkt(y)", -- TargetPractice, Mutant @@ -1485,7 +1645,10 @@ ["Population"] = "Populacja", -- Continental_supplies ["Porkey"] = "Jeżozwierzuś", -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "Porada do portalu: jeden idzie do celu, a drugi jest wejściem.|", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon ["Portal Mind Challenge"] = "Wyzwanie portalowego umysłu", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Precise flying"] = "Precyzyhne ltanie", -- A_Space_Adventure:desert03 ["Precise: Remove previous waypoint"] = "Precyzja: Usuń poprzedni punkt kontrolny", -- Racer ["Precise shooting"] = "Precyzyjne strzelanie", -- A_Space_Adventure:fruit03 @@ -1512,10 +1675,13 @@ ["Professor"] = "Profesor", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 ["Prof. Hogevil"] = "Prof. Jeżozło", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 ["Pro Killers"] = "Pro Zabójcy", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "Broń się!|Porada do granatu: ustaw zapalnik używając [1-5], celuj za pomocą [Góra]/[Dół] i przytrzymaj spację, by ustawić moc", -- A_Classic_Fairytale:shadow ["Purple"] = "Fiolet", -- ["Pyromancer"] = "Piromanta", -- Battalion ["Pyro"] = "Piro", -- HedgeEditor, The_Specialists +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement ["Race complexity limit reached"] = "Limit złożoności wyścigu osiągnięty", -- Racer, TechRacer ["Racer tool"] = "Narzędzie wyścigu", -- Racer ["RACER"] = "WYŚCIG", @@ -1533,6 +1699,7 @@ ["Razac"] = "Razak", -- portal ["RC Plane Challenge"] = "Wyzwanie Samolotowe", -- User_Mission_-_RCPlane_Challenge ["RC Plane"] = "Radiowy samolocik", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope ["Read the challenge objectives from within the mission for more details."] = "Przeczytaj cele wyzwania z misji po więcej szczegółów.", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 ["Ready for Battle?"] = "Gotowy do bitwy?", -- A_Space_Adventure:fruit01 ["Really?! You thought you could harm me with your little toys?"] = "Naprawdę?! Myślałeś, że mógłbyś zranić mnie swoimi zabaweczkami?", -- A_Classic_Fairytale:shadow @@ -1541,9 +1708,13 @@ ["Reflector Shield: Reflects enemy projectiles."] = "Tarcza Reflektorowa: Odbija wrogie pociski.", -- Construction_Mode ["Reflector Shield"] = "Tarcza Reflektorowa", -- Construction_Mode ["Regurgitator"] = "Zwracacz", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 ["Reinforcements"] = "Posiłki", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "Pamiętaj! Wielu będzie szukać urządzenia antygrawitacyjnego! Teraz idź, pośpiesz się!", -- A_Space_Adventure:cosmos ["Remember: The rope only bend around objects, |if it doesn't hit anything it's always stright!"] = "Pamiętaj: Lina zagina się tylko wokół obiektów,|jeśli nic nie uderzy, zawsze jest prosta!", -- Basic_Training_-_Rope +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow ["Remember this, pathetic animal: when the day comes, you will regret your blind loyalty!"] = "Zapamiętaj to, żałosny zwierzęciu: kiedy nadejdzie dzień, pożałujesz swojej ślepej lojalności!", -- A_Classic_Fairytale:shadow ["Replenishment: Weapons are restocked on turn start of a new hog"] = "Uzupełnianie: Bronie są uzupełnione na początku tury nowego jeża", -- Highlander ["Repositioning Mode"] = "Tryb Przesuwania", -- HedgeEditor @@ -1553,14 +1724,17 @@ ["Respawner"] = "Odradzacz", -- Construction_Mode ["Respawner: Resurrects dead hogs."] = "Odradzacz: Ożywia martwe jeże.", -- Construction_Mode ["Resurrector"] = "Wskrzeszacz", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope [" - 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"] = " - Przynieś flagę wroga do swojej bazy by zdobyć punkt | - Pierwszy kto zrobi to 3 razy, wygrywa | - Punkt zdobywasz tylko, gdy twoja flaga znajduje się w bazie | - Jeże upuszczą flagę gdy zostaną zabite bądź utopione | - Upuszczona flaga może być przywrócona lub przechwycona ponownie | - Jeże odradzają się po śmierci", ["- Return the enemy flag to your base to score"] = "- Zanieś wrogą flagę do swojej bazy, by zapunktować", -- Capture_the_Flag ["Return to Leaks A Lot!"] = "Wróć do Sporego Przecieka!", -- A_Classic_Fairytale:shadow ["Return to the mission menu by pressing the \"Go back\" button."] = "Wróć do menu misji, wciskając przycisk \"Wstecz\".", -- A_Space_Adventure:cosmos ["Return to the Surface"] = "Wróć na Powierzchnię", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement ["Rider"] = "Jeźdźec", -- portal ["Rifleman"] = "Strzelec", -- Battalion ["Righteous Beard"] = "Cnotliwa Broda", -- 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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield ["Ripe"] = "Dojrzały", -- ["Robert Yellow Apple"] = "Robert Żółte Jabłko", -- A_Space_Adventure:fruit01 ["Rocket"] = "Rakieta", -- Big_Armory @@ -1572,6 +1746,7 @@ ["Ropes and Crates"] = "Liny i Skrzynie", -- Challenge_-_Speed_Shoppa_-_Ropes ["Rope Team"] = "Linowa Drużyna", -- Basic_Training_-_Rope ["Rope Training"] = "Trening linowy", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope ["Roshi"] = "Roshi", -- ["Rot Molester"] = "Zepsuty Molester", -- A_Classic_Fairytale:shadow ["Rotten"] = "Zepsuty", -- @@ -1582,6 +1757,8 @@ ["Round limit:"] = "Limit rund: ", -- TechRacer ["Rounds complete: %d/%d"] = "Ukończone rundy: %d/%d", -- Racer, Space_Invasion, TechRacer ["Round score: %d"] = "Wynik rundy: %d", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion ["RS1"] = "RS1", -- A_Space_Adventure:fruit03 ["RS2"] = "RS2", -- A_Space_Adventure:fruit03 ["Rubber"] = "Guma", -- Construction_Mode, HedgeEditor @@ -1596,6 +1773,7 @@ ["Rusted Diego"] = "Zardzewiały Diego", -- ["Rusty Joe"] = "Rdzawy Joe", -- A_Classic_Fairytale:queen ["Ryu"] = "Ryu", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 ["%s: %.1fs"] = "%s: %.1fs", -- Racer, TechRacer ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "Sabotaż/Flara: [Sabotuje wszystkie jeże w kole i zadaje ~1 obrażeń LUB wystrzeliwuje w powietrze odłamek]", -- Continental_supplies ["Saint"] = "Święty", -- HedgeEditor, The_Specialists @@ -1618,22 +1796,26 @@ ["%s bravely climbed up to a dizzy height of %d to reach home."] = "%s odważnie wspiął się na zawrotną wysokość %d, by dotrzeć do domu.", -- ClimbHome ["Scallywag"] = "Łobuziak", -- ["Scalp Muncher"] = "Przeżuwacz Skalpów", -- A_Classic_Fairytale:backstab +-- ["Scenario failed!"] = "", -- SimpleMission ["Scenario"] = "Scenariusz", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape ["Scientist"] = "Naukowiec", -- Battalion ["%s climbed home in %d seconds!"] = "%s wspiął się do domu w %d sekund!", -- ClimbHome ["Score: %d"] = "Wynik: %d", -- Space_Invasion ["Score goal: %d"] = "Wymagany wynik: %d", -- Control ["Score graph"] = "Graf wyniku", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant ["Score points by killing other hedgehogs (see below)."] = "Zdobądź punkty, zabijając inne jeże (zobacz niżej).", -- Mutant ["Scores: "] = "Wyniki: ", -- Capture_the_Flag ["Scores:"] = "Wyniki:", -- Mutant ["Scores"] = "Wyniki", -- Mutant ["Scoring: "] = "Wynki: ", -- Mutant ["Script parameter examples:"] = "Przykłady parametrów skryptu:", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion ["%s: %d (deaths: %d)"] = "%s: %d (śmierci: %d)", -- Mutant ["%s: Did not finish"] = "%s: Nie ukończył", -- Racer, TechRacer ["%s did not finish the race."] = "%s nie ukończył wyścigu", -- Racer, TechRacer ["%s didn't expect that."] = "%s nie spodziewał się tego", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode ["%s doesn’t really know how to handle a rope properly."] = "%s nie wie tak naprawdę jak posługiwać się liną.", -- ClimbHome ["%s: %d"] = "%s: %d", -- Capture_the_Flag, Control ["Search for the device with the help of the other hedgehogs "] = "Poszukaj urządzenia z pomocą innych jeży", -- A_Space_Adventure:fruit02 @@ -1652,9 +1834,18 @@ ["Select, modify, or delete girders, rubbers and sprites"] = "Wybierz, modyfikuj lub usuń belki, gumy i grafiki", -- HedgeEditor ["Select/Place/Delete Gear: [Left Click]"] = "Wybierz/Ustaw/Usuń rzecz: [Lewy klik]", -- HedgeEditor ["Select, reposition and delete gears"] = "Wybierz, przestaw i usuń rzecz", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Select win/lose condition: [Left], [Right]"] = "Wybierz warunki wygranej/przegranej: [Lewo], [Prawo]", -- HedgeEditor +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "Wybierz swój kontynent/zestaw broni używając klawiszy \"Góra\" lub \"Dół\". Możesz także wybrać je z menu broni.", -- Continental_supplies ["Sergey"] = "Sergiusz", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade ["Set Health: [Left Click]"] = "Ustaw zdrowie: [Lewy klik]", -- HedgeEditor ["Set Identity: [Left Click]"] = "Ustaw tożsamość: [Lewy klik]", -- HedgeEditor ["Set period to negative value for random gravity."] = "Ustaw okres na negatywną wartość dla losowej grawitacji.", -- Gravity @@ -1663,15 +1854,19 @@ ["%s exploded."] = "%s wybuchł.", -- User_Mission_-_Rope_Knock_Challenge ["%s fell from a high cliff."] = "%s upadł z wysokiego klifu.", -- User_Mission_-_Rope_Knock_Challenge ["%s fell too fast."] = "%s spadł za szybko.", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode ["%s felt unstable."] = "%s poczuł się niestabilnie.", -- User_Mission_-_Rope_Knock_Challenge ["%s felt victim to rope-knocking."] = "%s stał się ofiarą uderzania liną.", -- User_Mission_-_Rope_Knock_Challenge ["%s flew like a rock."] = "%s poleciał jak kamień.", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode ["%s goes the way of the lemming."] = "%s poszedł drogą lemingów.", -- User_Mission_-_Rope_Knock_Challenge ["Sgt. Smith"] = "Sierżant Smith", -- ["%s had it coming."] = "%s czuł, że tak będzie.", -- User_Mission_-_Rope_Knock_Challenge ["%s had no chance."] = "%s nie miał szans.", -- User_Mission_-_Rope_Knock_Challenge ["... share your beauty with the world every morning, my princess!"] = "...dziel się swoją pięknością ze światem każdego ranka, moja księżniczko!", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission ["%s has been knocked out."] = "%s został zrzucony.", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode ["%s has fallen victim to gravity."] = "%s stał się ofiarą grawitacji.", -- User_Mission_-_Rope_Knock_Challenge ["%s has mutated! +2 points"] = "%s zmutował! +2 punkty", -- Mutant ["%s has passed the best height of %s!"] = "%s przekroczył najlepszą wysokość %s!", -- ClimbHome @@ -1702,9 +1897,16 @@ ["Sine Gun"] = "Sinusoidalna giwera", -- Construction_Mode ["Sinky"] = "Śmierdziel", ["Sirius Lee"] = "Syriusz Li", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission ["%s is eliminated!"] = "%s jest wyeliminowany!", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield ["Slimer"] = "Szlamiarz", -- ["Slippery"] = "Śliski", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode ["Slot %d: %s"] = "Slot %d: %s", -- Frenzy ["Slot keys save time! (F1-F10 by default)"] = "Klawisze slotów oszczędzają czas! (domyślnie F1-F10)", -- Frenzy ["Slowpoke"] = "Slowpoke", -- @@ -1719,6 +1921,7 @@ ["Smith 1.0"] = "Smith 1.0", -- A_Classic_Fairytale:enemy ["Smugglers"] = "Przemytnicy", -- A_Space_Adventure:desert01 ["%s must skip this turn for rule violation."] = "%s musi opuścić swoją turę za naruszenie zasad.", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield ["%s never got the ninja diploma."] = "%s nigdy nie zdobył dyplomu ninja.", -- ClimbHome ["%s never wanted to reach for the sky in the first place."] = "%s wcale nie chciał dosięgnąć nieba.", -- ClimbHome ["Sniper! +8 points!"] = "Snajper! +8 punktów!", -- Space_Invasion @@ -1727,6 +1930,7 @@ ["Sniper Training"] = "Trening snajperski", ["Sniperz"] = "Snajperzy", ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "Więc jak obiecałem, przyprowadziłem cię tam, gdzie myślę, że jest schowane urządzenie, którego szukasz.", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope ["So Hog Solo, here we are ..."] = "Więc, Hog Solo, oto jesteśmy...", -- A_Space_Adventure:cosmos ["So humiliating..."] = "Tak upokarzające...", -- A_Classic_Fairytale:first_blood ["So, I believe that it's a good place to start."] = "A więc, wierzę, że to jest dobre miejsce, by zacząć.", -- A_Space_Adventure:desert01 @@ -1736,6 +1940,7 @@ ["So, let me tell you what I know about Professor Hogevil."] = "A więc, pozwól mi powiedzieć, co wiem o Profesorze Jeżozło.", -- A_Space_Adventure:moon02 ["Some parts of the land are indestructible."] = "Niektóre części lądu są niezniszczalne.", -- A_Space_Adventure:fruit03 ["Some sick game of yours?!"] = "Jakaś twoja chora gra?!", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "Gdzieś indziej na planecie owoców, Kapitan Limonka pomaga Hogowi Solo", -- A_Space_Adventure:fruit02 ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "Gdzieś indziej na planecie owoców, Hog Solo zbliża się do urządzenia", -- A_Space_Adventure:fruit02 ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "Gdzieś na Planecie Owoców, straszliwa wojna ma właśnie się rozpocząć...", -- A_Space_Adventure:fruit01 @@ -1759,6 +1964,7 @@ ["Specs Appeal"] = "Urok Speców", -- ["Specs"] = "Spece", -- ["Spectator"] = "Widz", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope ["Speed Shoppa"] = "Szybka Shoppa", -- SpeedShoppa ["Spike"] = "Kolec", -- A_Space_Adventure:desert01 ["Spikes"] = "Kolce", -- @@ -1780,6 +1986,7 @@ ["%s (%s) does not have to feel ashamed for their best height of %d."] = "%s (%s) nie musi się wstydzić swojej najlepszej wysokości %d.", -- ClimbHome ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "%s (%s) dał najeźdźcom krótką pokutę: Najdłuższe kombo %d!", -- Space_Invasion ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "%s (%s) został zaproszony do dołączenia do Planetarnego Stowarzyszenia Jeży, zniszczył zdumiewające %d najeźdźców w jednej rundzie!", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag ["%s (%s) hate life and suicided %d times."] = "%s (%s) nienawidzi życia i zabił się %d razy.", -- Mutant ["%s should try the rope training mission first."] = "%s powinien najpierw spróbować treningu linowego.", -- ClimbHome ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "%s (%s) jest uzależniony od zabijania: %d najeźdźców zniszczonych w jednej rundzie.", -- Space_Invasion @@ -1814,7 +2021,10 @@ ["Stay there to flee!"] = "Zostań tu, by uciec!", -- A_Space_Adventure:fruit01 ["Steel Eye"] = "Stalowooki", -- A_Classic_Fairytale:queen ["Step 1: Activate your flying saucer but do NOT move yet!"] = "Krok 1: Aktywuj swój latający talerz, ale NIE ruszaj się jeszcze!", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope ["Step 2: Select your grenade."] = "Krok 2: Wybierz swój granat.", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope ["Step 3: Start flying and get yourself right above the target."] = "Krok 3: Zacznij lecieć i ustaw się tuż nad swoim celem.", -- Basic_Training_-_Flying_Saucer ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "Krok 4: Upuść swój granat wciskając przycisk [Długi skok].", -- Basic_Training_-_Flying_Saucer ["Step 5: Get away quickly and land safely anywhere."] = "Krok 5: Szybko odleć i bezpiecznie wyląduj gdziekolwiek.", -- Basic_Training_-_Flying_Saucer @@ -1863,12 +2073,19 @@ ["%s went over a quarter of the way towards home."] = "%s przeszedł ćwierć drogi w stronę domu.", -- ClimbHome ["%s! Why?!"] = "%s! Czemu?!", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united ["Swing, Leaks A Lot, on the wings of the wind!"] = "Huśtaj się, Spory Przecieku, na skrzydłach wiatru!", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope ["%s wins!"] = "%s wygrywa!", -- Racer, Space_Invasion, TechRacer, ClimbHome ["%s wins with a best time of %.1fs."] = "%s wygrywa z najlepszym czasem %.1fs.", -- Racer, TechRacer ["Switched to "] = "Przełączono na ", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement ["Switch Hog"] = "Zmień Jeża", -- Construction_Mode ["switch"] = "przełącz", -- Continental_supplies ["Switch: Toggle crate radar"] = "Zmiana: Przełącz radar skrzyń", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield ["Syntax Errol"] = "Błąt Składni", -- A_Classic_Fairytale:dragon ["%s, you may choose the rules."] = "%s, możesz wybrać zasady.", -- WxW ["szczur"] = "szczur", -- @@ -1885,10 +2102,12 @@ ["Target Practice: Grenade (hard)"] = "Ćwiczenie celowania: Granat (trudny)", -- Target_Practice_-_Grenade_hard ["Target Practice: Homing Bee"] = "Ćwiczenie celowania: Pszczoła", -- Target_Practice_-_Homing_Bee ["Target Practice: Shotgun"] = "Ćwiczenie celowania: Strzelba", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope ["Targets left: %d"] = "Pozostałe cele: %d", -- TargetPractice ["Tatsujin"] = "Tatsudżin", -- ["Tatters"] = "Szmaciarze", -- ["Team %d: "] = "Drużyna %d: ", +-- ["Team %d"] = "", -- SimpleMission ["Team Identity Mode"] = "Tryb Tożsamości Drużyny", -- HedgeEditor ["TEAM IDENTITY MODE"] = "TRYB TOŻSAMOŚCI DRUŻYNY", -- HedgeEditor ["Team of Hearts"] = "Drużyna Serc", -- Challenge_-_Speed_Shoppa_-_Hedgelove @@ -1902,9 +2121,12 @@ ["Teleportation Mode"] = "Tryb Teleportacji", -- Construction_Mode ["Teleportation Node: Allows teleportation| between other nodes."] = "Węzeł Teleportacyjny: Pozwala na teleportację| pomiędzy innymi węzłami.", -- Construction_Mode ["Teleportation Node"] = "Węzeł Teleportacyjny", -- Construction_Mode +-- ["Teleport hint: Just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon ["Teleport hint: just use the mouse to select the destination!"] = "Porada do teleportu: po prostu użyj myszki, by wybrać cel teleportacji!", -- A_Classic_Fairytale:dragon ["Teleport"] = "Teleport", -- Construction_Mode, Frenzy +-- ["Teleport unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "Teleport Nieudany. Proszę teleportować się wewnątrz sfery wpłyu klanowego teleportu.", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror ["Thanks, dude! It really means a lot to me."] = "Dzięki, koleś! To naprawdę wiele dla mne znaczy.", -- A_Classic_Fairytale:epil ["Thanks!"] = "Dzięki!", -- A_Classic_Fairytale:family ["Thanks, man! It really means a lot to me."] = "Dzięki, ziom! To naprawdę wiele dla mne znaczy.", -- A_Classic_Fairytale:epil @@ -1932,6 +2154,7 @@ ["The air bombs are weaker than usual."] = "Latające miny są słabsze niż zazwyczaj.", -- Battalion ["The aliens respect me, even worship me!"] = "Obcy mnie respektują, nawet mnie czczą!", -- A_Classic_Fairytale:queen ["The ally units share their ammo."] = "Sprzymierzone jednostki dzielą swoją amunicję.", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode ["The answer is...entertaintment. You'll see what I mean."] = "Odpowiedź to... rozrywka. Zobaczycie co mam na myśli.", -- A_Classic_Fairytale:backstab ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "Antyportalowa powierzchnia jest na całej podłodze, a ja nie mam nic, by go zabić. Zrzucenie czegoś mogłoby go skrzywdzić wystarczająco, by go zabić.", -- portal ["The big bang"] = "Wielki wybuch", -- A_Space_Adventure:final @@ -1950,11 +2173,15 @@ ["The editor weapons and tools have been removed!"] = "Edytorowe bronie i narzędzia zostały usunięte!", -- HedgeEditor ["The enemies aren't many anyway, it is going to be easy!"] = "Nie ma zbyt wielu wrogów tak w ogóle, to będzie łatwe!", -- A_Space_Adventure:fruit01 ["The enemy can't move but it might be a good idea to stay out of sight!"] = "Ten wróg nie może się ruszać, ale może być dobrym pomysłem pozostać poza widokiem!", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "Na tamtej kaczce ukrywa się nasz przeciwnik!", ["The Enemy Of My Enemy"] = "Wróg mojego wroga", -- A_Classic_Fairytale:enemy ["The explosion is weaker than usual."] = "Eksplozja jest słabsza niż zazwyczaj.", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace ["The fight begins!"] = "Walka się zaczyna!", -- A_Space_Adventure:moon01 ["The final part"] = "Ostatnia część", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka ["The First Blood"] = "Pierwsza krew", -- A_Classic_Fairytale:first_blood ["The First Encounter"] = "Pierwsze starcie", -- A_Classic_Fairytale:shadow ["The first hedgehog to kill someone becomes the Mutant."] = "Pierwszy jeż, który kogoś zabije, stanie się Mutantem.", -- Mutant @@ -1984,17 +2211,23 @@ ["The Leap of Faith"] = "Skok Wiary", -- A_Classic_Fairytale:first_blood ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "Meteoryt zbliżył się za bardzo i antygrawitacyjne urządzenie nie jest wystarczająco potężne, by go teraz zatrzymać.", -- A_Space_Adventure:cosmos ["The Moonwalk"] = "Spacer po księżycu", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant ["The Mutant has super-weapons and a lot of health."] = "Mutant ma super bronie i dużo zdrowia.", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "Mutant szybko traci zdrowie, jeśli przestanie zaliczać zabójstwa.", -- Mutant ["The Nameless One"] = "Bezimienny", ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "Marynarka pozdrawia jeża %s, za zdołanie dostać się na odległość %d z dala od lądu!", -- ClimbHome ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "Przez następne 4 razy, w których zagrasz misję \"Ostateczne spotkanie\", dostaniesz 20 więcej punktów zdrowia i celownik laserowy.", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "Następne jest bardzo trudne!|Porada: Masz wielokrotne wymachy!", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka ["Then how do they keep appearing?"] = "Więc jak oni się cały czas pojawiają?", -- A_Classic_Fairytale:shadow ["The Ninja-Samurai Alliance"] = "Sojusz Ninja-Samurajski", -- ["Then prepare for battle!"] = "Więc przygotuj się na bitwę!", -- A_Space_Adventure:death01 ["Then what am I?"] = "Więc czym jestem?", -- A_Classic_Fairytale:epil ["The only woman, huh?"] = "Jedyna kobieta, co?", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen ["The opression of the elders, of course!"] = "Ucisk starszych, oczywiście!", -- A_Classic_Fairytale:queen ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "To inne składało się z kanibali, spędzających swój czas na jedzeniu organów jeży...", -- A_Classic_Fairytale:first_blood ["The Police"] = "Policja", -- @@ -2008,16 +2241,21 @@ ["There's nothing more satisfying for me than seeing you share your beauty with the world every morning, my princess!"] = "Nie ma dla mnie nic bardziej satysfakcjonującego, niż widzenie jak dzielisz się swoją pięknością ze światem każdego ranka, moja księżniczko!", -- A_Classic_Fairytale:journey ["There's nothing more satisfying to us than seeing you share your beauty..."] = "Nie ma dla mnie nic bardziej satysfakcjonującego, niż widzenie jak dzielisz się swoją pięknością...", -- A_Classic_Fairytale:journey ["There's nothing more satisfying to us than seeing you share your beauty with the world every morning, my princess!"] = "Nie ma dla nas nic bardziej satysfakcjonującego, niż widzenie jak dzielisz się swoją pięknością ze światem każdego ranka, moja księżniczko!", -- A_Classic_Fairytale:journey +-- ["The respawner respawns %s"] = "", -- Construction_Mode ["The Rising"] = "Powstanie", -- A_Classic_Fairytale:first_blood ["The rope won't get reset."] = "Lina się nie zresetuje.", -- A_Space_Adventure:death02 ["The Savior"] = "Wybawiciel", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement ["These primitive people are so funny!"] = "Prymitywni ludzie są tacy zabawni!", -- A_Classic_Fairytale:backstab ["The Shadow Falls"] = "Zapada cień", -- A_Classic_Fairytale:shadow ["The Showdown"] = "Pojedynek", -- A_Classic_Fairytale:shadow ["The Slaughter"] = "Rzeź", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:first_blood ["The Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "Społeczeństwo Perfekcjonistów pozdrawia jeża %s (%s): Żadnego pudła i %d trafień w swojej najlepszej rundzie.", -- Space_Invasion ["THE SPECIALISTS"] = "SPECJALIŚCI", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "Dusze przodków są z pewnością zadowolone, Spory Przecieku.", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope ["The team continued their quest of finding the rest of the tribe."] = "Drużyna kontynuowała swoje zadanie odnalezienia reszty plemienia.", -- A_Classic_Fairytale:queen ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "Czas, który ci pozostanie po dotarciu do niebieskiego jeża, zosanie dodany do następnej tury.", -- A_Space_Adventure:moon02 ["The Torment"] = "Udręka", -- A_Classic_Fairytale:first_blood @@ -2034,6 +2272,7 @@ ["The weapon in that last crate was bestowed upon us by the ancients!"] = "Broń w tej ostatniej skrzyni została nam darowana przez starożytnych!", -- A_Classic_Fairytale:first_blood ["The what?!"] = "Że co?", -- A_Classic_Fairytale:dragon ["The wind whispers that you are ready to become familiar with tools, now..."] = "Wiatr szepcze, że stałeś się już gotowy, by zapoznać się z narzędziami...", -- A_Classic_Fairytale:first_blood +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission ["They are all waiting back in the village, haha."] = "Oni wszyscy już czekają w wiosce, haha.", -- A_Classic_Fairytale:enemy ["They are up there! Take this rope and hurry!"] = "One są tam na górze! Weź tę linę i się pośpiesz!", -- A_Space_Adventure:moon01 ["They Call Me Bullseye! +16 points!"] = "Zwą mnie Oczko! +16 punktów!", -- Space_Invasion @@ -2049,16 +2288,21 @@ ["The Zoo"] = "Zoo", -- ["Thighlicker"] = "Udolizacz", -- A_Classic_Fairytale:united ["Things are going to get messy around here."] = "Sprawy tutaj staną się kłopotliwe.", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "To pozwala ci stworzyć skrzynię gdziekolwiek|wewnątrz strefy wpływu klanu,|kosztem energii.", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "To pozwala ci stworzyć i ustawić miny, samoprzylepne|miny i beczki gdziekolwiek wewnątrz strefy wpływu|twojego klanu, kosztem energii.|Góra/dół: Wybierz typ obiektu|Lewo/prawo: Wybierz czas (dla min)|Kursor: Ustaw obiekt", -- Construction_Mode ["This almost concludes our tutorial."] = "To prawie kończy nasz samouczek.", -- Basic_Training_-_Flying_Saucer ["This game wasn’t really exciting."] = "Ta gra nie była naprawdę ekscytująca.", -- Space_Invasion ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "Ten Hog Solo jest taki naiwny! Kiedy wróci, zastrzelę go i zatrzymam urządzenie dla siebie!", -- A_Space_Adventure:fruit02 ["This is a new personal best, congratulations!"] = "To nowy osobisty rekord, gratulacje!", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 ["This is a new personal best time, congratulations!"] = "To nowy osobisty najlepszy czas, gratulacje!", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement ["This is it! It's time to make Fell From Heaven fall for me..."] = "To jest to! Już czas sprawić, że Updały z Niebios zakocha się we mnie...", -- A_Classic_Fairytale:first_blood ["This island is the only place left on Earth with grass on it!"] = "Ta wyspa to jedyne pozostałe miejsce na Ziemi, w którym jest trawa!", -- A_Classic_Fairytale:enemy ["This is seems like a wealthy hedgehog, nice ..."] = "On wygląda jak bogaty jeż, nieźle...", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 ["This is the Olympic stadium of saucer flying."] = "To jest Stadion Olimpijski Latania Spodkiem.", -- A_Space_Adventure:ice02 ["This is typical!"] = "To typowe!", -- A_Classic_Fairytale:dragon ["This must be some kind of sorcery!"] = "To musi być jakaś magia!", -- A_Classic_Fairytale:shadow @@ -2067,6 +2311,7 @@ ["This planet seems dangerous!"] = "Ta planeta wydaje się niebezpieczna!", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Ten deszcz to naprawdę coś...", ["This round’s award for ultimate disappointment goes to: Everyone!"] = "Nagroda tej rundy za ostateczne rozczarowanie idzie do: Każdego!", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "To było niesamowite przedstawienie! Ale to wyzwanie może być ukończone tyko jednym samolocikiem. Potrafsz wykombinować jak?", -- User_Mission_-_RCPlane_Challenge ["This will be fun!"] = "To będzie zabawne!", -- A_Classic_Fairytale:enemy ["This will be useful when I need a new platform or if I want to rise."] = "To będzie żyteczne, kiedy będę potrzebował platformy albo chciał się wznieść.", -- portal @@ -2075,25 +2320,38 @@ ["Those aliens are destroying the island!"] = "Ci obcy niszczą naszą wyspę!", -- A_Classic_Fairytale:family ["Those were scheduled for disposal anyway."] = "Ci i tak mieli iść do śmieci.", -- A_Classic_Fairytale:dragon ["Throw a baseball at your foes|and send them flying!"] = "Rzuć piłkę baseballową w swoich wrogów|i spraw, że polecą.", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade ["Thug #%d"] = "Zbir #%d", -- A_Space_Adventure:death01 ["Timbers"] = "Drewna", -- ["Time: %.1fs"] = "Czas: %.1fs", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace ["Time Box"] = "TARDIS", -- Construction_Mode ["Timed Kamikaze! +10 points!"] = "Wymierzony kamikaze! +10 punktów!", -- Space_Invasion ["Time extended! +%dsec"] = "Czas przedłużony! +%dsek", -- Space_Invasion ["Time extension: %ds"] = "Rozszerzenie czasu: %ds", -- Tumbler ["Time for a more interesting stunt, but first just collect the next crate!"] = "Czas na bardziej interesujący wyczyn, ale najpierw zbierz następną skrzynię!", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade ["Time's up!"] = "Koniec czasu!", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion ["Time’s up!"] = "Koniec czasu!", -- TargetPractice ["Time to run!"] = "Czas uciekać!", -- A_Space_Adventure:fruit01 ["Tip: Changing your aim while flying is very difficult, so adjust it before you take off."] = "Porada: Celowanie podczas latanie jest bardzo trudne, więc ustaw sobie zanim odlecisz.", -- Basic_Training_-_Flying_Saucer ["Tip: Don't remain for too long in the water, or you won't make it."] = "Porada: Nie pozostawaj zbyt długo w wodzie, bo ci się nie uda.", -- Basic_Training_-_Flying_Saucer ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "Porada: Jeśli utkniesz w tym treningu, użyj \"Pominięcia tury\", by zrestartować aktualne zadanie.", -- Basic_Training_-_Flying_Saucer +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "Porada: Wciśnij przycisk \"esc\" (to menu), jeśli chcesz zobaczyć kontynent aktualnie grającej drużyny lub specjały tego kontynentu.", -- Continental_supplies ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "Porada: Fizyka liny jest inna od tej w prawdziwym świecie.|Wykorzystaj to na swoją korzyść!", -- Basic_Training_-_Rope ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "Porada: Możesz zmienić swój latający talerz|podczas lotu, wciskając dwukrotnie przycisk [Atak].", -- Basic_Training_-_Flying_Saucer ["Tiyuri"] = "Tiyuri", -- ["Toad"] = "Ropucha", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "Przełącz edytujące bronie i narzędzia: [Precyzja]+[2]", -- HedgeEditor ["Toggle Gear Information: [Precise]+[3]"] = "Przełącz informacje o rzeczach: [Precyzja]+[3]", -- HedgeEditor ["Toggle Help: [Precise]+[1]"] = "Przełącz pomoc: [Precyzja]+[1]", -- HedgeEditor @@ -2125,6 +2383,7 @@ ["Training"] = "Trening", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope ["Traitors don't get to shout around here!"] = "Zdrajcy tutaj nie krzyczą!", -- A_Classic_Fairytale:epil ["Traitors"] = "Zdrajcy", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement ["Trapper"] = "Traper", -- HedgeEditor ["Travel carefully as your fuel is limited"] = "Lataj ostrożnie, gdyż twoje paliwo jest ograniczone", -- A_Space_Adventure:cosmos ["Travel to all the neighbor planets and collect all the pieces"] = "Poleć na wszystkie sąsiednie planety i zbierz wszystkie części", -- A_Space_Adventure:cosmos @@ -2134,14 +2393,19 @@ ["Try again!"] = "Spróbuj ponownie!", -- Basic_Training_-_Flying_Saucer ["Try it now and dive here to collect the crate on the right girder."] = "Spróbuj teraz i zanurkuj tu, by zebrać skrzynię na prawej belce.", -- Basic_Training_-_Flying_Saucer ["Try not to get spotted by the guards!"] = "Spróbuj nie zostać zauważonym przez straże!", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "Spróbuj być mądry i wyeliminuj ich szybko. W ten sposób, możesz odstraszyć resztę!", -- A_Space_Adventure:fruit01 ["Try to keep as many allies alive as possible."] = "Spróbuj utrzymać przy życiu najwięcej sojuszników, ile się da.", -- A_Space_Adventure:fruit01 ["Try to land softly, as you can still take fall damage!"] = "Spróbuj wylądować miękko, bo nadal możesz otrzymać obrażenia od upadku!", -- Basic_Training_-_Flying_Saucer ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "Spróbuj ochronić wodza! Nie przegramy, gdy on umrze, ale zalecane jest, by przeżył.", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope ["T_T"] = "T_T", ["Tumbler"] = "Akrobata", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement ["Turns: Hogs get %d random weapon(s) from their pool"] = "Tury: Jeż dostaje %d losowych broni ze swojej puli", -- Battalion ["Turns: King's health is set to %d%% of the team health"] = "Tury: Zdrowie króla jest ustawione na %d%% zdrowia drużyny", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "Tura: Odnów %d broni i %d punktów pomocniczych|i wylosuj bronie i pomocników według punktów drużyny", -- Battalion ["Turns until arrival: %d"] = "Tury do przybycia: %d", -- A_Classic_Fairytale:backstab ["Turn Time: %dsec"] = "Czas tury: %dsec", -- Space_Invasion @@ -2158,6 +2422,7 @@ ["unC0Rr"] = "unC0Rr", -- ["Under Construction"] = "W Trakcie Budowy", -- A_Classic_Fairytale:shadow ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "W normalnych okolicznościach pokonalibyśmy ich z łatwością, ale życzliwie wysłaliśmy większość naszych ludzi do Królestwa Piasku, by pomóc z corocznym odkurzaniu pałacu króla.", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos ["Under the meteorites shadow ..."] = "Pod cieniem meteorytu...", -- A_Space_Adventure:cosmos ["Unexpected Igor"] = "Nieoczekiwany Igor", -- A_Classic_Fairytale:dragon ["Unique new weapons"] = "Unikalne nowe bronie", -- Continental_supplies @@ -2172,9 +2437,11 @@ ["Unit 638"] = "Jednostka 638", -- ["Unit 709"] = "Jednostka 709", -- ["Unit 835"] = "Jednostka 835", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock ["Unit 883"] = "Jednostka 883", -- ["United We Stand"] = "Zgoda buduje", -- A_Classic_Fairytale:united ["Unit"] = "Jednostka", +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade ["Unlimited Attacks: Attacks don't end your turn"] = "Nieskończone ataki: Ataki nie kończą twojej tury", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree ["Unlimited Attacks"] = "Nieograniczone ataki", ["Unlucky Sods"] = "Pechowi Kolesie", -- User_Mission_-_Rope_Knock_Challenge @@ -2182,10 +2449,12 @@ ["Unsuspecting Louts"] = "Niepodejrzewające Chamy", -- User_Mission_-_Rope_Knock_Challenge ["Up/Down: Change placement mode"] = "Góra/Dół: Zmień tryb stawiania", -- HedgeEditor ["Up/down: Choose crate type"] = "Góra/Dół: Zmień typ skrzyni", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode ["Upper-class elite pilot"] = "Elitarny pilot wyższej klasy", -- User_Mission_-_RCPlane_Challenge ["Use it wisely!"] = "Użyj tego mądrze!", -- A_Classic_Fairytale:dragon ["Use it with precaution!"] = "Użyj tego z ostrożnośćią!", -- A_Classic_Fairytale:first_blood ["User Challenge"] = "Wyzwanie użytkownika", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings ["Use the attack key twice to change the flying saucer while being in air."] = "Wciśnij dwukrotnie przycisk ataku, by zmienić latający talerz w powietrzu.", -- A_Space_Adventure:ice02 ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "Wciśnij dwukrotnie przycisk ataku, by zmienić latający talerz unosząc w powietrzu.", -- A_Space_Adventure:ice02 ["Use the bazooka and the flying saucer to get the freezer."] = "Użyj bazooki i latającego talerza, by zdobyć zamrażarkę.", -- A_Space_Adventure:ice01 @@ -2196,8 +2465,10 @@ ["Use the portal gun to get to the next crate, then use the new gun to get to the final destination!|"] = "Użyj wyrzutnika portali, by zdobyć następną skrzynię, potem użyj nowej broni, by dostać sie do ostatniego celu!|", -- A_Classic_Fairytale:dragon ["Use the RC plane and destroy the all the targets."] = "Użyj radiowego samolociku i zniszcz wszystkie cele.", -- A_Space_Adventure:desert03 ["Use the rope in order to catch the blue hedgehog"] = "Użyj liny, żeby złapać niebieskiego jeża", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope ["Use the rope to get on the head of the mole, young one!"] = "Użyj liny, by dostać się na głowę jeża, młodzieńcze!", -- A_Classic_Fairytale:first_blood ["Use the rope to get to the crate"] = "Użyj liny, by dostać się do skrzyni", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope ["Use the rope to knock your enemies to their doom."] = "Użyj liny, by wybić swoich wrogów na ich zgubę.", -- User_Mission_-_Rope_Knock_Challenge ["Use the rope to quickly get to the surface!"] = "Użyj liny, by szybko dostać się na powierzchnię!", -- A_Space_Adventure:desert02 ["Use the saucer and fly away"] = "Użyj talerza i odleć", -- A_Space_Adventure:cosmos @@ -2209,6 +2480,7 @@ ["Use your ready time to think."] = "Użyj swojego czasu przygotowania, by pomyśleć.", -- Frenzy ["Use your rope to collect all crates as fast as possible."] = "Użyj swojej liny, by jak najszybciej zebrać wszystkie skrzynie.", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Użyj liny, by jak najszybciej dotrzeć od startu do mety", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope ["Utility Crate Placement Mode"] = "Tryb Stawiania Skrzyń z Narzędziami", -- Construction_Mode ["UTILITY CRATE PLACEMENT MODE"] = "TRYB STAWIANIA SKRZYŃ Z NARZĘDZIAMI", -- HedgeEditor ["Utility crates extend your time."] = "Skrzynie z narzędziami zwiększają twój czas.", -- Tumbler @@ -2231,6 +2503,9 @@ ["Voldemort"] = "Voldemort", -- portal ["Voltorb"] = "Voltorb", -- ["Wait a moment …"] = "Czekaj no chwilę...", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "Ściana przed skrzynią: Musisz dotknąć zaznaczonej ściany, zanim będziesz mógł zebrać skrzynie.", -- WxW ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "Ściana przed skrzynią: Musisz dotknąć %d zaznaczonych ścian, zanim będziesz mógł zebrać skrzynie.", -- WxW ["Wall set: No walls"] = "Ustawienie ścian: Bez ścian", -- WxW @@ -2240,8 +2515,11 @@ ["Wall to wall"] = "Ściana do ściany", -- WxW ["Waluigi"] = "Waluigi", -- ["Wannabe Flyboys"] = "Lotniczy Pozerzy", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope ["Wannabe Shoppsta"] = "Shoppi Pozerzy", -- User_Mission_-_Rope_Knock_Challenge ["Wario"] = "Wario", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome ["Warning: Never ever leave the flying saucer while in water!"] = "Ostrzeżenie: Nigdy przenigdy nie opuszczaj latającego talerza pod wodą!", -- Basic_Training_-_Flying_Saucer ["WARNING: Sabotage detected!"] = "OSTRZEŻENIE: Wykryto sabotaż!", -- Continental_supplies ["Warrior"] = "Wojownik", -- Battalion @@ -2276,6 +2554,7 @@ ["We come in peace! Just let our friends go!"] = "Przychodzimy w pokoju! Wypuśćcie tylko naszych przyjaciół!", -- A_Classic_Fairytale:queen ["We could just have blown up the meteorite from the the beginning!"] = "Mogliśmy od początku po prostu wysadzić ten meteoryt!", -- A_Space_Adventure:final ["We don't have time for that now!"] = "Nie mamy teraz na to czasu!", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission ["We have no time to waste..."] = "Nie mamy czasu do stracenia...", -- A_Classic_Fairytale:journey ["We have nowhere else to live!"] = "Nie mamy gdzie indziej mieszkać!", -- A_Classic_Fairytale:enemy ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "Zauważyliśmy wrogra! Zaatakujemy, kiedy wrogowie zaczną się zbierać!", -- A_Space_Adventure:fruit02 @@ -2284,6 +2563,7 @@ ["We have to protect the village!"] = "Musimy bronić wioski!", -- A_Classic_Fairytale:united ["We have to unite and defeat those cylergs!"] = "Musimy się zjednoczyć i pokonać cylergów!", -- A_Classic_Fairytale:enemy ["Welcome Hog Solo, surprised to see me?"] = "Witaj, Hogu Solo, zaskoczony moim widokiem?", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome ["Welcome, Leaks A Lot!"] = "Witaj, Spory Przecieku!", -- A_Classic_Fairytale:journey ["Welcome to the Death Planet!"] = "Witaj na Planecie Śmierci!", -- A_Space_Adventure:cosmos ["Welcome to the Desert Planet!"] = "Witaj na Planecie Pustyni!", -- A_Space_Adventure:cosmos @@ -2292,10 +2572,13 @@ ["Welcome to the moon!"] = "Witaj na księżycu!", -- A_Space_Adventure:cosmos ["Welcome to the Planet of Ice!"] = "Witaj na Planecie Lodu!", -- A_Space_Adventure:cosmos ["Well done."] = "Dobra robota", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope ["We'll give you a problem then!"] = "Więc sprawimy ci problem!", -- A_Classic_Fairytale:enemy ["We'll play a game first."] = "Najpierw zagramy w grę.", -- A_Space_Adventure:moon02 ["We'll spare your life for now!"] = "Na razie oszczędzimy twoje życie!", -- A_Classic_Fairytale:backstab ["Well, that escalated quickly!"] = "Cóż, to eskalowało szybko.", -- ClimbHome +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil ["Well that was an unnecessary act of violence."] = "Cóż, to był niepotrzebny akt przemocy.", -- A_Classic_Fairytale:epil ["Well, that was a waste of time."] = "Cóż, to była strata czasu.", -- A_Classic_Fairytale:dragon ["We'll use our communicators to contact you."] = "Użyjemy naszych komunikatorów, by się z tobą skontaktować.", -- A_Space_Adventure:cosmos @@ -2347,10 +2630,12 @@ ["What is this place?"] = "Co to za miejsce?", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy ["What oppression? You were the most unoppressed member of the tribe!"] = "Jaki ucisk? Byłaś najbardziej nieuciskanym członkiem naszego plemienia!", -- A_Classic_Fairytale:queen ["What shall we do with the traitor?"] = "Co powinniśmy zrobić ze zdrajcą?", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement ["What the?"] = "Co do?", -- A_Classic_Fairytale:queen ["WHAT?! You're the ones attacking us!"] = "CO? To wy nas atakowaliście!", -- A_Classic_Fairytale:enemy ["When I find it..."] = "Kiedy to znajdę...", -- A_Classic_Fairytale:dragon ["When?"] = "Kiedy?", -- A_Classic_Fairytale:enemy +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope ["Where are all these crates coming from?!"] = "Skąd przychodzą te wszystkie skrzynie?!", -- A_Classic_Fairytale:shadow ["Where are they?!"] = "Gdzie oni są?!", -- A_Classic_Fairytale:backstab ["Where did that alien run?"] = "Gdzie ten obcy pobiegł?", -- A_Classic_Fairytale:dragon @@ -2380,15 +2665,18 @@ ["Why %s? Why?"] = "Czemu %s? Czemu?", -- A_Classic_Fairytale:backstab ["Why, why, why, why!"] = "Czemu, czemu, czemu, czemu!", -- A_Classic_Fairytale:queen ["Why would they do this?"] = "Czemu mieliby to zrobić?", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies ["- Will Get 1-3 random weapons"] = "- Dostaniesz 1-3 losowych broni", -- Continental_supplies ["- Will give you a parachute every second turn."] = "- Da ci spadochron co drugą turę.", -- Continental_supplies ["Will this ever end?"] = "Czy to się kiedyś skończy?", ["Will you give me the other parts?"] = "Dasz mi resztę części?", -- A_Space_Adventure:death01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka ["Winner: %s"] = "Zwycięzca: %s", -- Mutant ["Winning time: %s"] = "Wygrywający czas: %s", -- Racer, TechRacer ["Win"] = "Wygrana", -- A_Space_Adventure:ice01 ["Wise Oak"] = "Mądry Dąb", -- 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..."] = "Z Gęstą Chmurą w krainie cieni, jestem jedyną nadzieją wioski...", -- A_Classic_Fairytale:journey +-- ["With low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade ["With the rest of the tribe gone, it was up to %s to save the village."] = "Z resztą naszego plemienia nieobecną, jedynie %s mógł uratować wioskę.", -- A_Classic_Fairytale:dragon ["Worry not, for it is a peaceful animal! There is no reason to be afraid..."] = "Nie martw się, gdyż jest to pokojowe zwierzę! Nie ma powodu się obawiać...", -- A_Classic_Fairytale:first_blood ["Wow, what a dream!"] = "Wow, co za sen!", -- A_Classic_Fairytale:backstab @@ -2424,18 +2712,22 @@ ["You are sabotaged, RUN!"] = "Jesteś sabotowany, UCIEKAJ!", -- Continental_supplies ["You are the one who fled! So, you are alive."] = "Ty jesteś tym, który uciekł! Więc, przeżyłeś.", -- A_Space_Adventure:fruit02 ["You bear impressive skills, %s!"] = "Posiadasz imponujące zdolności, %s!", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement ["You can always trust me! I love you!"] = "Zawsze możesz mi ufać! Kocham cię!", -- A_Classic_Fairytale:epil ["You can always trust me!"] = "Zawsze możesz mi ufać!", -- A_Classic_Fairytale:epil ["You can avoid some battles."] = "Możesz uniknąć niektórych bitw.", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade ["You can choose another planet by replaying this mission."] = "Możesz wyrać inną planetę, grając w tę misję jeszcze raz.", -- A_Space_Adventure:cosmos ["You can dive with your flying saucer!"] = "Możesz nurkować swoim spodkiem!", -- Basic_Training_-_Flying_Saucer ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "Możesz zmieniać kierunek celowania w locie, jeśli najpierw przytrzymasz [Precyzja], a potem wciśniesz [Góra] lub [Dół].", -- Basic_Training_-_Flying_Saucer ["You can further customize the race by changing the scheme script paramater."] = "Możesz jeszcze dostosować swój wyścig, zmieniając parametr skryptu w schemacie.", -- TechRacer ["You can only use the sniper rifle or the watermelon bomb."] = "Możesz użyć tylko karabinu snajperskiego lub bomby arbuzowej.", -- A_Space_Adventure:fruit03 ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "W tej misji możesz poćwiczyć chodzenie i używanie narzędzi.|Jednakże, ona nigdy się nie skończy!", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade ["- You can switch between hogs at the start of your turns. (Not first one)"] = "- Możesz zmieniać między jeżami na początku swoich tur. (Nie tej pierwszej)", -- Continental_supplies ["You can’t open a portal on the blue surface."] = "Nie możesz otworzyć portalu na niebieskiej powierzchni.", -- portal ["You can use the other 2 hogs to assist you."] = "Możesz użyć 2 innych jeży, by ci pomogli.", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope ["You choose well, Hog Solo!"] = "Wybierz dobrze, Hog Solo!", -- A_Space_Adventure:fruit01 ["You completed the mission in %.3f seconds."] = "Ukończyłeś tę misję w %.3f sekund.", -- A_Space_Adventure:ice02 ["You completed the mission in %d rounds."] = "Ukończyłeś tę misję w %d rund.", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2462,14 +2754,20 @@ ["You had %.1fs remaining on the clock (+%d points)."] = "Pozostało ci na zegarze %.1fs sekund (+%d punktów).", -- TargetPractice ["You had %.2fs remaining on the clock (+%d points)."] = "Pozostało ci na zegarze %.2fs sekund (+%d punktów).", -- Basic_Training_-_Sniper_Rifle ["You had %d additional flying saucers left."] = "Pozostało ci %d dodatkowych latających talerzy.", -- A_Space_Adventure:ice02 +-- ["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 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..."] = "Masz 7 tur, zanim przybędzie następna fala.|Upewnij się, że przybywający kanibale zostaną odpowiednio powitani!|Jeśli jeż umrze, sprawa będzie przegrana.|Porada: możesz chcieć użyć paru min...", -- A_Classic_Fairytale:backstab ["You have acquired the last device part."] = "Zdobyłeś ostatnią część urządzenia.", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement ["You have beaten the challenge!"] = "Pokonałeś wyzwanie!", -- ClimbHome ["You have been giving us out to the enemy, haven't you!"] = "Wydawałeś nas wrogom, co nie!", -- A_Classic_Fairytale:backstab ["You have chosen the perfect moment to leave."] = "Wybrałeś idealny moment, by odejść.", -- A_Classic_Fairytale:united ["You have chosen to fight!"] = "Wybrałeś bitwę!", -- A_Space_Adventure:fruit01 ["You have chosen to flee."] = "Wybrałeś ucieczkę.", -- A_Space_Adventure:fruit01 ["You have collected %d out of %d crate(s)."] = "Zebrałeś %d z %d skrzyń.", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement ["You have completed this challenge in %.2f s (+%d points)."] = "Ukończyłeś to wyzwanie w %.2fs (+%d punktów).", -- User_Mission_-_Rope_Knock_Challenge ["You have destroyed all targets!"] = "Zniszczyłeś wszystkie cele!", -- TargetPractice ["You have destroyed all the targets."] = "Zniszczyłeś wszystkie cele.", -- A_Space_Adventure:desert03 @@ -2522,6 +2820,7 @@ ["You have to destroy all the targets."] = "Musisz zniszczyć wszystkie cele.", -- A_Space_Adventure:desert03 ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "Musisz zniszczyć cel powyżej, upuszczając na niego granat z twojego latającego talerza.", -- Basic_Training_-_Flying_Saucer ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "Musisz zniszczyć dwa cele, ale poprzednia technika byłaby bardzo trudna lub niebezpieczna do użycia.", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope ["You have to eliminate all the enemies."] = "Musisz wyeliminować wszystkich wrogów.", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 ["You have to eliminate all the visible enemies."] = "Musisz wyeliminować wszystkich widocznych wrogów.", -- A_Space_Adventure:fruit01 ["You have to get the weapons and rescue the PAotH researchers."] = "Musisz zdobyć bronie i uratować naukowców PSJ.", -- A_Space_Adventure:moon01 @@ -2541,6 +2840,7 @@ ["You just appeared out of thin air!"] = "Właśnie pojawiłeś się znikąd!", -- A_Classic_Fairytale:backstab ["You just can't let it go, can you!"] = "Po prostu nie możesz odpuścić, co!", -- A_Classic_Fairytale:queen ["You just committed suicide..."] = "Właśnie popełniłeś samobójstwo...", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement ["You killed my father, you monster!"] = "Zabiłeś mojego ojca, ty potworze!", -- A_Classic_Fairytale:backstab ["You know...taking a stroll."] = "No wiesz... udanie się na przechadzkę.", -- A_Classic_Fairytale:backstab ["You know what? I don't even regret anything!"] = "Wiesz co? Nawet nic nie żałuję!", -- A_Classic_Fairytale:backstab @@ -2568,11 +2868,13 @@ ["You never give me plants!"] = "Nigdy nie dajesz mi roślin!", -- A_Classic_Fairytale:queen ["Young one, you are telling us that they can instantly change location without a shaman?"] = "Młodzieńcze, mówisz nam, że mogą oni natychmiastowo zmienić lokację, bez szamana?", -- A_Classic_Fairytale:united ["You now have infinite fuel, grenades and bazookas for fun."] = "Masz teraz nieskończona paliwo, granaty i bazooki, dla zabawy.", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope ["You only have 2 flying saucers this time."] = "Masz tym razem tylko 2 latające talerze.", -- Basic_Training_-_Flying_Saucer ["You only have one flying saucer this time."] = "Masz tym razem tylko 1 latający talerz.", -- Basic_Training_-_Flying_Saucer ["You probably know what to do next..."] = "Prawdopodobnie wiesz, co dalej robić...", -- A_Classic_Fairytale:first_blood ["Your accuracy was %.1f%% (+%d points)."] = "Twoja celność wynosiła %.1f%% (+%d punktów).", -- TargetPractice ["Your accuracy was %.1f%%."] = "Twoja celność wynosiła %.1f%%.", -- Basic_Training_-_Bazooka, TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka ["Your deaths will be avenged, Cannibals!"] = "Wasze śmierci zostaną pomszczone, Kanibale!", -- A_Classic_Fairytale:enemy ["Your deaths will be avenged, Natives!"] = "Wasze śmierci zostaną pomszczone, Tubylcy!", -- A_Classic_Fairytale:enemy ["Your death will not be in vain, Dense Cloud!"] = "Twoja śmierć nie pójdzie na marne, Gęsta Chmuro!", -- A_Classic_Fairytale:shadow @@ -2584,6 +2886,7 @@ ["You're on your way to freeing your tribe!"] = "Jesteś na swojej drodze, by uwolnić twoje plemię!", -- A_Classic_Fairytale:queen ["You're pathetic! You are not worthy of my attention..."] = "Jesteś żałosny! Nie jesteś godzien mojej uwagi...", -- A_Classic_Fairytale:shadow ["You're probably wondering why I bought you back..."] = "Pewnie zastanawiacie się, dlaczego sprowadziłem was z powrotem...", -- A_Classic_Fairytale:backstab +-- ["You're probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab ["Your escape took you %d turns."] = "Twoja ucieczka zajęła ci %d tur.", -- A_Space_Adventure:desert02 ["You're so brave! I feel safe with you."] = "Jesteś taki odważny! Czuję się przy tobie bezpieczna.", -- A_Classic_Fairytale:epil ["You're some piece of hypocrite junkie!"] = "Jesteś kawałkiem hipokryckiego ćpuna!", -- A_Classic_Fairytale:queen @@ -2593,6 +2896,7 @@ ["Your fastest victory so far: %d rounds"] = "Twoja najszybsza wygrana jak dotąd: %d rund", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 ["Your first destination is the moon in order to get more fuel."] = "Twój pierwszy cel to księżyc, żeby zdobyć więcej paliwa.", -- A_Space_Adventure:cosmos ["Your hedgehog died!"] = "Twój jeż umarł!", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "Twój jeż panicznie obawiał się wody i zdecydował udać się na bezpieczną odległość %d od niej.", -- ClimbHome ["Your height over time"] = "Twoja wysokość ponad czasem", -- ClimbHome ["Your hogs must survive!"] = "Twoje jeże muszą przeżyć!", -- A_Classic_Fairytale:journey @@ -2602,6 +2906,7 @@ ["Your rank: %s"] = "Twoja ranga: %s", -- User_Mission_-_RCPlane_Challenge ["You saved %d of 8 Hapless Hogs."] = "Uratowałeś %d z 8 Nieszczęśliwych Jeży.", -- User_Mission_-_That_Sinking_Feeling ["You see, hedgehog spikes are very, very valuable."] = "Widzisz, kolce jeża są bardzo, bardzo cenne.", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka ["You should have known that we don't rely on meatbags!"] = "Powinienieś wiedzieć, że nie polegamy na mięsnych workach!", -- A_Classic_Fairytale:queen ["You should know this more than anyone, Leaks!"] = "Powinieneś to wiedzieć lepiej niż wszyscy, Przecieku!", -- A_Classic_Fairytale:queen ["You speak great truth, Hannibal. Here, take a sip!"] = "Mówisz wielką prawdę, Hannibalu. Masz, weź łyka!", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/pl.txt --- a/share/hedgewars/Data/Locale/pl.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/pl.txt Sun Jun 10 19:12:26 2018 +0200 @@ -67,7 +67,7 @@ 01:02=%1 wygrywają! 01:03=Głośność %1% 01:04=Gra wstrzymana -01:05=Na pewno wyjść (Y/Esc)? +01:05=Na pewno wyjść (%1/%2)? 01:06=Nagła śmierć! 01:07=%1 strzały pozostał(y) 01:08=Paliwo diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/pt_BR.lua --- a/share/hedgewars/Data/Locale/pt_BR.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/pt_BR.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ -- ["..."] = "", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ ["Ace"] = "Ás", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler ["A Classic Fairytale"] = "Um conto de fadas clássico", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission ["Actually, you aren't worthy of life! Take this..."] = "Na verdade, você não merece viver! Tome isso...", -- A_Classic_Fairytale:shadow ["A cy-what?"] = "Um cib... o quê?", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "Depois que Vaza Demais traiu sua tribo, ele se juntou aos canibais...", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ ["a Hedgewars mini-game"] = "um mini-jogo Hedgewars", -- Space_Invasion, The_Specialists -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope ["Aiming Practice"] = "Pratique a sua pontaria", --Bazooka, Shotgun, SniperRifle -- ["Aiming practice"] = "", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ -- ["Ammo is reset at the end of your turn."] = "", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ -- ["Available points remaining: "] = "", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Rebata as bolas em direção ao seus|e derrube-os no mar!", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Rebata seus oponentes para|fora do mapa através dos cestos!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Treino com a Bazuca", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Melhor volta por equipe: ", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement -- ["Careless"] = "", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos -- ["Complete the track as fast as you can!"] = "", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -332,6 +371,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -355,6 +395,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 -- ["Deadweight"] = "", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "Destrua-o, Vaza Demais! Ele é responsável pelas mortes de muitos de nós!", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Destroy the targets!|Hint: Select the Shoryuken and hit [Space]|P.S. You can use it mid-air."] = "Destrua os alvos!|Dica: Selecione o Shoryuken e aperte [Espaço]|Obs.: Você pode usá-lo em pleno ar.", -- A_Classic_Fairytale:first_blood ["Destroy the targets!|Hint: [Up], [Down] to aim, [Space] to shoot"] = "Destrua os alvos!|Dica: [Cima], [Baixo] para mirar, [Espaço] para atirar", -- A_Classic_Fairytale:first_blood -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen -- ["Double Kill!"] = "", -- ["Double kill!"] = "", -- Mutant @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope -- ["Drowner"] = "", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -551,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Volta mais rápida: ", -- ["Feeble Resistance"] = "", -- ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united ["First Blood"] = "Primeiro sangue", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant ["First Steps"] = "Primeiros passos", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -636,11 +701,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey -- ["Good luck out there!"] = "", -- ["Good so far!"] = "", -- ["Good to go!"] = "", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ -- ["GOTCHA!"] = "", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -737,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -744,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy"] = "", -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united -- ["Heckles"] = "", -- @@ -781,11 +862,13 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer -- ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -794,21 +877,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["Hmmm..."] = "", -- ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy @@ -823,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -878,6 +981,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Artilheiro", --Bazooka, Shotgun, SniperRifle @@ -896,12 +1000,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1039,6 +1153,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode -- ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "", @@ -1098,6 +1213,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement -- ["Jumping is disabled"] = "", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1140,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion -- ["Last Target!"] = "", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1154,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1173,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 -- ["Listen up, maggot!!"] = "", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1228,11 +1355,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ -- ["MISSION FAILED"] = "", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement -- ["MISSION SUCCESSFUL"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1258,15 +1392,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 -- ["Movement: [Up], [Down], [Left], [Right]"] = "", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1309,6 +1446,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1319,11 +1457,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen -- ["NOT ENOUGH WAYPOINTS"] = "", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1338,12 +1479,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1351,6 +1495,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1371,8 +1516,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1387,8 +1534,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1396,6 +1545,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood -- ["Opposing Team: "] = "", -- ["Orange"] = "", -- @@ -1406,25 +1557,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- -- ["Pathetic Resistance"] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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"] = "", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1457,6 +1615,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1477,6 +1636,7 @@ -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion -- ["points"] = "", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle +-- ["--- Points Mode ---"] = "", -- Battalion -- ["point(s)"] = "", -- TargetPractice, Mutant -- ["Poison"] = "", -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 @@ -1485,7 +1645,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1512,10 +1675,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["RACER"] = "", -- ["Racer"] = "", -- Racer @@ -1533,6 +1699,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1541,10 +1708,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1553,14 +1724,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag -- [" - 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"] = "", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1572,6 +1746,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1582,6 +1757,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1596,6 +1773,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1619,22 +1797,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1652,9 +1834,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1663,15 +1854,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1702,9 +1897,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode -- ["Sinky"] = "", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1719,6 +1921,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1727,6 +1930,7 @@ ["Sniper Training"] = "Treino com o Rifle Sniper", ["Sniperz"] = "Franco-Atiradores", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1736,6 +1940,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1759,6 +1964,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1780,6 +1986,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1814,7 +2021,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1863,12 +2073,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies -- ["Switched to "] = "", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1885,10 +2102,12 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- ["Team %d: "] = "Equipe %d: ", +-- ["Team %d"] = "", -- SimpleMission -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor -- ["Team of Hearts"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove @@ -1904,7 +2123,10 @@ -- ["Teleportation Node"] = "", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1932,6 +2154,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1950,11 +2173,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 -- ["The enemy is hiding out on yonder ducky!"] = "", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1984,17 +2211,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant -- ["The Nameless One"] = "", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2008,16 +2241,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion -- ["THE SPECIALISTS"] = "", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2034,6 +2272,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2049,17 +2288,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2067,6 +2311,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos -- ["This rain is really something..."] = "", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2075,14 +2320,19 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2090,10 +2340,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2125,6 +2383,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2134,14 +2393,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope -- ["T_T"] = "", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2158,6 +2422,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2173,8 +2438,10 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- -- ["Unit 835"] = "", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks"] = "", -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2182,10 +2449,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood -- ["User Challenge"] = "", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2196,8 +2465,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2209,6 +2480,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Use sua corda para ir do início ao fim o mais rápido que você puder!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2231,6 +2503,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2240,8 +2515,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2276,6 +2554,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2284,6 +2563,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2292,11 +2572,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos -- ["Well done."] = "", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2347,10 +2630,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2380,15 +2665,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies -- ["Will this ever end?"] = "", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2424,18 +2712,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2463,13 +2755,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2522,6 +2820,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2541,6 +2840,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2568,11 +2868,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2584,6 +2886,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2593,6 +2896,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2602,6 +2906,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/pt_BR.txt --- a/share/hedgewars/Data/Locale/pt_BR.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/pt_BR.txt Sun Jun 10 19:12:26 2018 +0200 @@ -64,7 +64,7 @@ 01:02=%1 ganhou! 01:03=Volume %1% 01:04=Pausado -01:05=Realmente sair (Y/Esc)? +01:05=Realmente sair (%1/%2)? 01:06=Morte Súbita! 01:07=%1 Remanescente 01:08=Combustível diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/pt_PT.lua --- a/share/hedgewars/Data/Locale/pt_PT.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/pt_PT.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ ["..."] = "...", ["011101000"] = "011101000", -- A_Classic_Fairytale:dragon ["011101001"] = "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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ ["Ace"] = "Ás", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler ["A Classic Fairytale"] = "Um Clássico Conto de Fadas", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission ["Actually, you aren't worthy of life! Take this..."] = "Pensando melhor, não mereçes viver! Toma isto...", -- A_Classic_Fairytale:shadow ["A cy-what?"] = "Um cy-quê?", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "Depois do Leaks A Lot ter traído a sua tribo, ele juntou-se aos canibais...", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "Depois do choque causado pelo espião inimigo, Leaks A Lot e Nuvem Densa foram caçar para relaxar.", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 ["Again with the 'cannibals' thing!"] = "Outra vez com a cena dos 'canibais'!", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ ["a Hedgewars mini-game"] = "um mini-jogo Hedgewars", -- Space_Invasion, The_Specialists -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope ["Aiming Practice"] = "Pratica a tua pontaria", --Bazooka, Shotgun, SniperRifle -- ["Aiming practice"] = "", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen ["All walls touched!"] = "Todas as paredes alcançadas!", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ ["Ammo is reset at the end of your turn."] = "O armamento é reposto no fim do teu turno.", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement ["And how am I alive?!"] = "E como raio estou eu vivo ainda?!", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen ["And where's all the weed?"] = "E onde está a erva toda?", -- A_Classic_Fairytale:dragon ["And you believed me? Oh, god, that's cute!"] = "E tu acreditaste em mim? Ai meu deus, tão fofo!", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission ["Antarctica"] = "Antártica", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW ["Asia"] = "Ásia", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 ["As you can see, there is no way to get on the other side!"] = "Como podes ver, não existe forma de passarmos para o outro lado!", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ -- ["Available points remaining: "] = "Pontos activos restantes: ", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "Parte Costas", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "De volta à\Mais tarde na aldeia, depois de ter avisado os aldeões sobre a ameaça...", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Bate bolas contra os teus|enimigos e empurra-os ao mar!", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Bate os teus adversarios|fora do mapa acertando com eles no cesto!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Treino com Bazuca", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Melhores voltas por equipa: ", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "Em cheio", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["But you're cannibals. It's what you do."] = "Mas voçês são canibais. É o que (voçês)fazem.", -- A_Classic_Fairytale:enemy -- ["But you said you'd let her go!"] = "Mas disseste que a deixarias ir!", -- A_Classic_Fairytale:journey -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "Canibais?! Vocês são os canibais!", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Careless"] = "Descuidado", ["Carol"] = "Carol", -- A_Classic_Fairytale:family ["CHALLENGE COMPLETE"] = "DESAFIO COMPLETO", -- User_Mission_-_RCPlane_Challenge @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "Completa a pista o mais rápido que conseguires!", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -332,6 +371,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -355,6 +395,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 -- ["Deadweight"] = "", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen -- ["Double Kill!"] = "", -- ["Double kill!"] = "", -- Mutant @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope -- ["Drowner"] = "", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -551,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Volta mais rápida: ", -- ["Feeble Resistance"] = "", -- ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final ["Find your tribe!|Cross the lake!"] = "Encontra a tua tribo|Atravessa o lago!", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "Acaba o teu treino|Ajuda: As animações podem ser saltadas com a tecla [Precisão].", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler ["First aid kits?!"] = "Kits de primeiros socorros?!", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "Primeiros Passos", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -635,12 +700,17 @@ -- ["Get past the flower."] = "", -- A_Classic_Fairytale:journey -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "Vai buscar aquela caixa!", -- A_Classic_Fairytale:first_blood +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey -- ["Get the crate on the other side of the island!|"] = "Vai buscar a caixa no outro lado da ilha!|", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ ["Good idea, they'll never find us there!"] = "Boa ideia, eles nunca nos vão encontrar aqui!", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 ["Good luck...or else!"] = "Boa sorte...caso contrário!", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "Boa sorte aí fora!", ["Good so far!"] = "Até agora tudo bem!", -- ["Good to go!"] = "Pronto para seguir!", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement ["Go on top of the flower"] = "Vai para cima da flor", -- A_Classic_Fairytale:first_blood ["Go, quick!"] = "Vai, rápido!", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ -- ["GOTCHA!"] = "APANHEI-TE!", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "Excelente escolha, Steve! Importas-te que te chame\trate assim?", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = Bom trabalho! Agora dá-lhe com o teu bastão de basebal! [Ajuada: Podes trocar de arma com o 'Click Direito'!]"", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "Treino com Granadas", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -737,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -744,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy"] = "", -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united -- ["Heckles"] = "", -- @@ -781,11 +862,13 @@ -- ["Here...pick your weapon!"] = "Aqui\Pega...agarra a tua arma!", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer -- ["Hero Team"] = "Equipa Heroi", -- User_Mission_-_The_Great_Escape ["He's so brave..."] = "Ele é tão corajoso...", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family ["Hey, guys!"] = "Hey, pessoal!", -- A_Classic_Fairytale:backstab ["Hey guys!"] = "Hey pessoal!", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -794,21 +877,38 @@ -- ["Hey! This is cheating!"] = "Hey! Isto\Isso é batota!", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "Dica: Duplo Salto - Carrega [Retroceder] duas vezes", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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!"] = "Os braços dele são tão fortes!", -- A_Classic_Fairytale:first_blood -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen ["Hmmm...actually...I didn't either."] = "Hmmm...na verdade...uu também não fazia ideia.", -- A_Classic_Fairytale:enemy ["Hmmm..."] = "Hmmm...", @@ -823,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -878,6 +981,7 @@ -- ["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..."] = "No entanto, os meus colegas não concordam com eu deixar-vos ir...", -- A_Classic_Fairytale:dragon -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Comando", --Bazooka, Shotgun, SniperRifle @@ -896,12 +1000,14 @@ ["I can't believe what I'm hearing!"] = "Não posso acreditar no que estou a ouvir!", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen ["I can't wait any more, I have to save myself!"] = "Não tenho paciencia para esperar mais, tenho de me salvar a mim mesmo!", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "Podia simplesmente teletransportar-me para la...", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "Seria melhor se fosse sozinho.", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "Nem pensei nisso até ao mês passado.", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ -- ["I feel something...a place! They will arrive near the circles!"] = "Eu sinti algo...um lugar! Eles vão chegar perto dos circulos!", -- A_Classic_Fairytale:backstab -- ["If only I had a way..."] = "Ao menos se eu tivesse uma maneira...", -- A_Classic_Fairytale:backstab -- ["If only I were given a chance to explain my being here..."] = "", -- A_Classic_Fairytale:first_blood +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "Esqueci-me\Tinha-me esquecido que ela também é filha do chefe...", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ -- ["If you agree to provide the information we need, you will be spared!"] = "Se concordares em fornecer a informação que precisamos, serás poupado!", -- 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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "Se ficares preso, usa o teu Desert Eagle ou recomeça a missão!|", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "Se percebes o que quero dizer...", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope ["If you say so..."] = "Se tu o dizes...", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ ["I'm here to help you rescue her."] = "Estou aqui para te ajudar a salva-la.", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen ["I'm not sure about that!"] = "Não tenho a certeza quanto a isso!", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "Impressionante...ainda estás seco tal e qual um cadáver de um falcão depois de uma semana no deserto...", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ ["Interesting! Last time you said you killed a cannibal!"] = "Interessante! Da ultima vez disseste que tinhas morto um canibal!", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "Entretanto, pega\toma isto e volta para o teu \"amigo\"!", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1039,6 +1153,7 @@ ["It must be the aliens' deed."] = "Devem ser obra dos alienígenas!", -- A_Classic_Fairytale:backstab ["It must be the aliens!"] = "Devem ser os alienígenas!", -- A_Classic_Fairytale:backstab ["It must be the cyborgs again!"] = "Devem ser os cyborgs novamente!", -- A_Classic_Fairytale:enemy +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "Eu disse-te que os tinha acabado de encontrar.\que simplesmente os encontrei.", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Ainda bem que ainda faltam 99 turnos para MORTE SÚBITA...", @@ -1098,6 +1213,7 @@ -- ["Jones"] = "", -- ["Judas"] = "Judas", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "Saltar está desactivado", ["Just kidding, none of you have died!"] = "Estou só a brincar, nenhum de vocês morreu!", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1140,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion -- ["Last Target!"] = "Ultimo Alvo!", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Leader"] = "Lider", -- A_Classic_Fairytale:enemy -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ ["Leaks A Lot gave his life for his tribe! He should have survived!"] = "Leaks A Lot deu a sua vida pela tribo! Ele devia ter sobrevivido!", -- A_Classic_Fairytale:first_blood ["Leaks A Lot"] = "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 must survive!"] = "Leaks A Lot tem de sobreviver!", -- A_Classic_Fairytale:journey +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen ["Lee"] = "Lee", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1154,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "Pemite-me testar as tuas habilidades um pouco\por um bocadinho.<, ok?>", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 ["Let's go home!"] = "Vamos para casa!", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1173,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 ["Listen up, maggot!!"] = "Ouvem bem, verme!!", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Little did they know that this hunt will mark them forever..."] = "Nunca eles imaginariam que esta caça os marcaria para sempre...", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 ["Look, I had no choice!"] = "Olha, eu não tive escolha!", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1228,11 +1355,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ ["MISSION FAILED"] = "MISSÃO FALHADA", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "MISSÃO COMPLETA", -- User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- ["Molotov"] = "", -- Continental_supplies @@ -1258,15 +1392,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"] = "Movimento: [Cima], [Baixo], [Esquerda], [Direita]", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1309,6 +1446,7 @@ -- ["No...I wonder where they disappeared?!"] = "Não... Pegunto-me para onde desapareceram?!", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "Não. Mas foi uma toupeira muito rápida de certeza.", -- A_Classic_Fairytale:shadow ["No! Please, help me!"] = "Não! Por favor, ajuda-me!", -- A_Classic_Fairytale:journey @@ -1318,12 +1456,15 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement ["NORMAL"] = "NORMAL", -- Continental_supplies -- ["Normal Rubber: [1]"] = "", -- HedgeEditor ["North America"] = "América do Norte", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen -- ["NOT ENOUGH WAYPOINTS"] = "", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion ["Not now, Fiery Water!"] = "Agora não Água Flamejante!", -- A_Classic_Fairytale:backstab @@ -1338,12 +1479,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement ["No! What have I done?! What have YOU done?!"] = "Não! O que fiz eu?! O que fizeste TU?!", -- A_Classic_Fairytale:journey ["No. Where did he come from?"] = "Não. De onde raio é que ele apareceu?", -- A_Classic_Fairytale:shadow ["Now how do I get on the other side?!"] = "Agora, como chego ao outro lado?!", -- A_Classic_Fairytale:dragon -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1351,6 +1495,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope ["Obstacle course"] = "Pista de obstáculos", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1371,8 +1516,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1387,8 +1534,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1396,6 +1545,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer ["Oops...I dropped them."] = "Oops...deixei-os cair.", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope ["Open that crate and we will continue!"] = "Abre a caixa e podemos prosseguir!", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Equipa adversária", -- ["Orange"] = "", -- @@ -1406,25 +1557,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement ["Our tribe, our beautiful island!"] = "A nossa tribo, a nossa bela ilha!", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos ["Parachute"] = "Pára-quedas", -- Continental_supplies -- ["Patches"] = "", -- -- ["Pathetic Resistance"] = "Pátetica Resistencia", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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!"] = "Perfeito! Agora tenta obter a proxima caixa sem te aleijares!", -- A_Classic_Fairytale:first_blood -- ["Per-Hog Ammo"] = "Armamento por-Ouriço", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies ["Pfew! That was close!"] = "Ufa! Foi por um triz.", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1457,6 +1615,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1477,6 +1636,7 @@ -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion -- ["points"] = "", -- Control, Space_Invasion +-- ["--- Points Mode ---"] = "", -- Battalion -- ["point(s)"] = "", -- TargetPractice, Mutant -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 ["Poison"] = "Poison", @@ -1485,7 +1645,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1512,10 +1675,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["RACER"] = "", -- ["Racer"] = "", -- Racer @@ -1533,6 +1699,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "A SÉRIO?! Pensavas que me podias fazer mal com os teus pequenos brinquedos?", -- A_Classic_Fairytale:shadow @@ -1541,10 +1708,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1553,14 +1724,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = " - Traz a bandeira inimiga para tua base | - A primeira equipa a captura-la 3 vezes ganha | - Apenas podes marcar quando a tua bandeira está na tua base | - Os ouriços largam a bandeira se morrerem ou se afogarem | - As bandeiras abandonadas podem ser devolvidas ou recapturadas | - Os ouriços mortos ressuscitam", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1572,6 +1746,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1582,6 +1757,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1596,6 +1773,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "Joe Emferrujado", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1619,22 +1797,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1652,9 +1834,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1663,15 +1854,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge ["... share your beauty with the world every morning, my princess!"] = "... partilha a tua beleza com o mundo todas as manhãs, minha princesa!", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1702,9 +1897,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode -- ["Sinky"] = "", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "Escorregadio", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1719,6 +1921,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1727,6 +1930,7 @@ ["Sniper Training"] = "Treino com Sniper", ["Sniperz"] = "Sniperz", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos ["So humiliating..."] = "Tão humilhante...", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1736,6 +1940,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1759,6 +1964,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1780,6 +1986,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1814,7 +2021,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "Olho de Ferro", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1863,12 +2073,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies -- ["Switched to "] = "", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1885,10 +2102,12 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- ["Team %d: "] = "Equipa %d: ", +-- ["Team %d"] = "", -- SimpleMission -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor -- ["Team of Hearts"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove @@ -1903,8 +2122,11 @@ -- ["Teleportation Node: Allows teleportation| between other nodes."] = "", -- 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 hint: just use the mouse to select the destination!"] = "Ajuda com o Teleporte: usa o rato para selecionar o teu destino!", -- A_Classic_Fairytale:dragon +-- ["Teleport unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil ["Thanks!"] = "Obrigada!", -- A_Classic_Fairytale:family @@ -1932,6 +2154,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "A resposta é...entertenimento. Já vais perceber ao que me refiro\quero dizer.", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1950,11 +2173,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "O inimigo está escondido ali a diante ao pé do patinho!", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1984,17 +2211,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant -- ["The Nameless One"] = "", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2008,16 +2241,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["These primitive people are so funny!"] = "Esta gente primitiva é tão divertida!", -- 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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion ["THE SPECIALISTS"] = "OS ESPECIALISTAS", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2034,6 +2272,7 @@ -- ["The weapon in that last crate was bestowed upon us by the ancients!"] = "", -- A_Classic_Fairytale:first_blood ["The what?!"] = "Os quê?!", -- A_Classic_Fairytale:dragon -- ["The wind whispers that you are ready to become familiar with tools, now..."] = "O vento sussura que tu estás pronto para te familiarizares com as ferramentas agora...", -- A_Classic_Fairytale:first_blood +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2049,17 +2288,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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!"] = "Esta ilha é o último lugar que resta na Terra com erva nele!", -- A_Classic_Fairytale:enemy -- ["This is seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 ["This is typical!"] = "Típico", -- A_Classic_Fairytale:dragon -- ["This must be some kind of sorcery!"] = "Isto deve ser algum tipo de feitiçaria!", -- A_Classic_Fairytale:shadow -- ["This must be the caves!"] = "Isto devem ser as cavernas!", -- A_Classic_Fairytale:backstab @@ -2067,6 +2311,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Esta chuva é mesmo qualquer coisa...", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge ["This will be fun!"] = "Isto vai ser divertido!", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2075,14 +2320,19 @@ ["Those aliens are destroying the island!"] = "Aqueles alienígenas estão a destruir a ilha!", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2090,10 +2340,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2126,6 +2384,7 @@ ["Traitores"] = "Traidores", -- A_Classic_Fairytale:epil -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2135,14 +2394,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "Tenta protejer o chefe! Não perdes se ele morrer, mas é recomendado que ele sobreviva.", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope ["T_T"] = "T_T", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2159,6 +2423,7 @@ -- ["unC0Rr"] = "", -- ["Under Construction"] = "Em Construção", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2173,9 +2438,11 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- ["Unit 835"] = "Unidade 835", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united ["Unit"] = "Unidade", +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade ["Unlimited Attacks"] = "Ataques Ilimitados", -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2183,10 +2450,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "Usa com moderação\sábiamente", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "Usa com cuidado!", -- A_Classic_Fairytale:first_blood -- ["User Challenge"] = "", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2197,8 +2466,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "Usa a corda para chegar à cabeça da toupeira, jovem!", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope ["Use the rope to knock your enemies to their doom."] = "Usa a corda para empurrar os teus inimigos para o seu fim.", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2210,6 +2481,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Utilizando a corda, percorre o percurso do inicio ao fim o mais rápido que conseguires!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2232,6 +2504,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2241,8 +2516,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2277,6 +2555,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission ["We have no time to waste..."] = "Não temos tempo a perder...", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "Não temos mais onde viver!", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2285,6 +2564,7 @@ ["We have to protect the village!"] = "Temos de protejer a aldeia!", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "Temos de nos unir e derrotar estes ciber-pernudos!", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome ["Welcome, Leaks A Lot!"] = "Bem vindo, Leaks a Lot!", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2293,11 +2573,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos ["Well done."] = "Bom trabalho.", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope ["We'll give you a problem then!"] = "Nós arranjamos-te um problema então!", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "Vamos poupar a tua vida para ja!", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "Bem, isto foi um desperdicio de tempo.", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "Bem, bem! Não isto é coisa mais fofa que já alguma vez viste?", -- A_Classic_Fairytale:journey @@ -2348,10 +2631,12 @@ -- ["What is this place?"] = "O que é este sitio?\Que (raio de) sitio é este?", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen ["What shall we do with the traitor?"] = "O que fazemos com o traidor?", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "O QUÊ?! Voces é que nos atacaram\estão a atacar!", -- A_Classic_Fairytale:enemy ["When I find it..."] = "Quando o encontrar...", -- A_Classic_Fairytale:dragon ["When?"] = "Quando?", -- A_Classic_Fairytale:enemy +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope ["Where are all these crates coming from?!"] = "De onde vêm todas estas caixas?!", -- A_Classic_Fairytale:shadow ["Where are they?!"] = "Onde estão eles?!", -- A_Classic_Fairytale:backstab ["Where did that alien run?"] = "Para onde fugiu aquele alienígena?", -- A_Classic_Fairytale:dragon @@ -2381,15 +2666,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen ["Why would they do this?"] = "Porque fariam eles isto?", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies -- ["Will this ever end?"] = "Será que isto alguma vez vai acabar?", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["Wise Oak"] = "Carvalho Sábio", -- 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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- A_Classic_Fairytale:dragon ["Worry not, for it is a peaceful animal! There is no reason to be afraid..."] = "Não te preocupes, pois este animal é perfeitamente pacífico! Não há qualquer fazão para receio...", -- A_Classic_Fairytale:first_blood ["Wow, what a dream!"] = "Wow, mas que sonho!", -- A_Classic_Fairytale:backstab @@ -2425,18 +2713,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2464,13 +2756,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "Escolheste o momento perfeito para ir embora\sair.", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2523,6 +2821,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2542,6 +2841,7 @@ ["You just appeared out of thin air!"] = "Simplesmente apareceste do nada!", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen ["You just committed suicide..."] = "Acabaste de cometer suicídio...", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement ["You killed my father, you monster!"] = "Tu mataste o meu pai, seu monstro!", -- A_Classic_Fairytale:backstab -- ["You know...taking a stroll."] = "Tu sabes...a passear.", -- A_Classic_Fairytale:backstab -- ["You know what? I don't even regret anything!"] = "Sabes que mais? Nem me arrependo de nada disto!", -- A_Classic_Fairytale:backstab @@ -2569,11 +2869,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy ["Your death will not be in vain, Dense Cloud!"] = "A tua morte não será em vão, Nuvem Densa!", -- A_Classic_Fairytale:shadow @@ -2585,6 +2887,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["You're pathetic! You are not worthy of my attention..."] = "És patetico! Não és digno da minha atenção...", -- A_Classic_Fairytale:shadow -- ["You're probably wondering why I bought you back..."] = "Deves-te estar(?) a perguntar-te porque te trouxe de volta...", -- A_Classic_Fairytale:backstab +-- ["You're probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2594,6 +2897,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome ["Your hogs must survive!"] = "Os teus ouriços têm de sobreviver!", -- A_Classic_Fairytale:journey @@ -2603,6 +2907,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/pt_PT.txt --- a/share/hedgewars/Data/Locale/pt_PT.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/pt_PT.txt Sun Jun 10 19:12:26 2018 +0200 @@ -64,7 +64,7 @@ 01:02=%1 venceu! 01:03=Volume %1% 01:04=Pausado -01:05=Deseja realmente sair (Y/Esc)? +01:05=Deseja realmente sair (%1/%2)? 01:06=Morte Súbita! 01:07=%1 restante 01:08=Combustível diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/ro.txt --- a/share/hedgewars/Data/Locale/ro.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/ro.txt Sun Jun 10 19:12:26 2018 +0200 @@ -62,7 +62,7 @@ 01:02=%1 a câștigat! 01:03=Volumul %1% 01:04=Pauză -01:05=Sigur ieșiți (Y/Esc)? +01:05=Sigur ieșiți (%1/%2)? 01:06=Moarte subita! 01:07=%1 rămas 01:08=combustibil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/ru.lua --- a/share/hedgewars/Data/Locale/ru.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/ru.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ -- ["..."] = "", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler ["%.1f seconds were remaining."] = "%.1f секунд еще оставалось.", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ ["Ace"] = "Ас", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler -- ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ ["a Hedgewars mini-game"] = "Мини-игра в Hedgewars", -- Space_Invasion, The_Specialists -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope ["Aiming Practice"] = "Упражнение на точность", --Bazooka, Shotgun, SniperRifle ["Aiming practice"] = "Упражнение на точность", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope ["Air Attack"] = "Воздушная атака", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen ["All walls touched!"] = "Все стены тронуты!", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ -- ["Ammo is reset at the end of your turn."] = "", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ ["Available points remaining: "] = "Осталось точек для размещения: ", ["Average pilot"] = "Средний Пилот", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- ["Bad Guy"] = "Плохой", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor ["Barrel Placement Mode"] = "Режим Размещения Бочек", -- Construction_Mode +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Сбей своих соберников|бейсбольными мячами в воду!", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Выбей своих соберников через корзину в воду!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Тренировка с базукой", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen -- ["Best laps per team: "] = "", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Careless"] = "Беспечный", -- ["Carol"] = "", -- A_Classic_Fairytale:family ["Challenge completed!"] = "Испытание пройдено!", -- SpeedShoppa @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge ["Challenge"] = "Испытание", -- SpeedShoppa -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor ["Compete to use as few planes as possible!"] = "Постарайся использовать как можно меньше самолетов!", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "Закончите трек так быстро, как сможете!", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -330,6 +369,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement ["Congratulations! You have destroyed all targets within the time."] = "Поздравляем! Вы уничтожили все цели во время.", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "Поздравляем! Вы действительно освоили это испытание!", -- User_Mission_-_RCPlane_Challenge @@ -355,7 +395,9 @@ -- ["Corporationals"] = "", -- A_Classic_Fairytale:queen -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil +-- ["Cost: %d"] = "", -- Construction_Mode ["Cost"] = "Стоимость", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion ["%d crate(s) remaining"] = "%d ящиков осталось", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 ["Deadweight"] = "Балласт", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion ["Derp"] = "Глупый", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade ["Destroyer of planes"] = "Уничтожитель самолётов", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen -- ["Double kill!"] = "", -- Mutant ["Double Kill!"] = "Двойное убийство!", @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope ["Drowner"] = "Утопающий", -- User_Mission_-_Nobody_Laugh -- ["Dr. Parkinson"] = "", -- ["Drunk greenhorn"] = "Пьяный молокосос", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape ["Elite pilot"] = "Элитный пилот", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen ["Enabled"] = "Включено", -- WxW @@ -551,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Лучший круг: ", ["Feeble Resistance"] = "Слабое Сопротивление", -- ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 ["Filthy Blue"] = "Грязный Синяк", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- ["Frank"] = "Фрэнк", -- User_Mission_-_Nobody_Laugh @@ -636,11 +701,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "Удачи там!", ["Good so far!"] = "Пока хорошо!", ["Good to go!"] = "Пошёл!", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ ["GOTCHA!"] = "ПОПАЛСЯ!", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "Хорошая работа! А теперь ударь его Бейсбольной Битой! |Подсказка: Оружие можно сменить 'Правым кликом'!", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork ["Grenade Group"] = "Группа Гренадеров", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade ["Grenade Training"] = "Тренировка с Гранатой", -- Basic_Training_-_Grenade ["Grenadiers"] = "Гренадеры", -- Basic_Training_-_Grenade ["Grenadier"] = "Гренадер", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard @@ -736,6 +814,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode ["Healing Station"] = "Лечебная Станция", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor ["Health Crate Placement Mode"] = "Режим Размещения Аптечек", -- Construction_Mode -- ["Health: %d"] = "", -- HedgeEditor @@ -743,6 +823,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor ["Heartful"] = "Сердечный", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united ["Heavy"] = "Тяжёлый", -- ["Heckles"] = "", -- @@ -780,11 +861,13 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer ["Hero Team"] = "Герои", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -793,21 +876,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 ["hits"] = "попаданий", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["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 @@ -822,6 +922,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -854,6 +955,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant ["Homing Bee"] = "Пчёлка", -- Construction_Mode -- ["Honda"] = "", -- @@ -877,6 +980,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Охотник", --Bazooka, Shotgun, SniperRifle @@ -895,12 +999,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -910,6 +1016,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -917,11 +1024,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -971,6 +1083,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1004,6 +1117,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1038,6 +1152,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Хорошо, что ВНЕЗАПНАЯ СМЕРТЬ аж через 99 ходов...", @@ -1097,6 +1212,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "Прыжки отключены", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1125,6 +1241,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion ["King Customer"] = "Король Покупатель", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1139,6 +1256,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion ["Last Target!"] = "Последняя цель!", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1146,6 +1264,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1153,12 +1272,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion ["Lestat"] = "Лестат", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1172,12 +1294,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings ["Listen up, maggot!!"] = "Слушай сюда, щегол!!", -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1186,6 +1312,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy ["Loon"] = "Псих", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1227,11 +1354,15 @@ -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor ["Mine Placement Mode"] = "Режим Размещения Мин", -- Construction_Mode -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1239,6 +1370,7 @@ ["MISSION FAILED"] = "МИССИЯ ПРОВАЛЕНА", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory ["Mission lost!"] = "Миссия провалена!", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "МИССИЯ УСПЕШНА", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork ["Mission won!"] = "Миссия успешна!", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1247,6 +1379,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1257,15 +1391,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 -- ["Movement: [Up], [Down], [Left], [Right]"] = "", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- ["Mutant"] = "Мутант", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 ["Nade Boy"] = "Снайперок", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1308,6 +1445,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1318,11 +1456,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"] = "НЕДОСТАТОЧНО КОНТРОЛЬНЫХ ТОЧЕК", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1337,12 +1478,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1350,6 +1494,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1370,8 +1515,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1386,8 +1533,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1395,6 +1544,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Команда Соперника: ", -- ["Orange"] = "", -- @@ -1405,25 +1556,32 @@ ["Other kills don't give you points."] = "Другие убийства не дадут вам очков.", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos ["Parachute"] = "Парашют", -- Continental_supplies -- ["Patches"] = "", -- ["Pathetic Resistance"] = "Жалкое Сопротивление", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh ["Per-Hog Ammo"] = "У каждого ежа свое оружие", +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor ["Piano Strike"] = "Фортепьяновый удар", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1456,6 +1614,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag ["Planes used: %d"] = "Использовано самолётов: %d", -- User_Mission_-_RCPlane_Challenge -- ["Planets with all missions completed will be marked with two flowers."] = "", -- A_Space_Adventure:cosmos @@ -1473,6 +1632,7 @@ -- ["Please wait …"] = "", -- WxW -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion +-- ["--- Points Mode ---"] = "", -- Battalion -- ["point(s)"] = "", -- TargetPractice, Mutant ["points"] = "очки", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 @@ -1482,7 +1642,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1509,10 +1672,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyromancer"] = "", -- Battalion ["Pyro"] = "Пироман", -- The_Specialists +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["Racer"] = "", -- Racer -- ["Racer tool"] = "", -- Racer @@ -1530,6 +1696,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1538,10 +1705,14 @@ -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode ["Reflector Shield"] = "Щит-Отражатель", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1550,14 +1721,17 @@ -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode ["Respawner"] = "Воскреситель", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = " - Доставьте вражеский флаг на вашу базу для получения очков | - Выигрывает команда с 3мя захватами флага | - Вы получаете очки только когда ваш флаг находится на базе | - Убитые/Утонувшие ежи теряют флаг | - Брошенные флаги могут быть возвращены или захвачены повторно | - Убитые ежи воскресают", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement ["Rider"] = "Адский Всадник", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1569,6 +1743,7 @@ ["Ropes and Crates"] = "Верёвки и Ящики", -- Challenge_-_Speed_Shoppa_-_Ropes ["Rope Team"] = "Верёвочники", -- Basic_Training_-_Rope ["Rope Training"] = "Тренировка с Верёвкой", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1579,6 +1754,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1593,6 +1770,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies ["Saint"] = "Святой", -- The_Specialists @@ -1616,22 +1794,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1649,9 +1831,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1660,15 +1851,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1699,9 +1894,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode ["Sinky"] = "Утопленник", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1716,6 +1918,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1724,6 +1927,7 @@ ["Sniperz"] = "Снайперы", ["Sniper"] = "Снайпер", -- The_Specialists -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1733,6 +1937,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1756,6 +1961,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1777,6 +1983,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1811,7 +2018,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1860,12 +2070,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies ["Switched to "] = "Выбран ", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1882,9 +2099,11 @@ ["Target Practice: Grenade (hard)"] = "Учебная Стрельба: Граната (сложно)", -- Target_Practice_-_Grenade_hard ["Target Practice: Homing Bee"] = "Учебная Стрельба: Пчёлка", -- Target_Practice_-_Homing_Bee ["Target Practice: Shotgun"] = "Учебная Стрельба: Дробовик", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope ["Targets left: %d"] = "Осталось целей: %d", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- +-- ["Team %d"] = "", -- SimpleMission ["Team %d: "] = "Команда %d: ", -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor @@ -1900,7 +2119,10 @@ ["Teleportation Node"] = "Узел Телепортации", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "Неудачная Телепортация. Вы можете телепортироваться только в области влияния ваших телепортов.", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1928,6 +2150,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1946,11 +2169,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "Враг прячется на соседней утке!", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1980,17 +2207,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant ["The Mutant has super-weapons and a lot of health."] = "У Мутанта есть супер-оружие и много здоровья.", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "Мутант быстро теряет здоровье, если не зарабатывает очки за убийства.", -- Mutant ["The Nameless One"] = "Дед Мазай", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "Следующая цель довольно сложна! |Подсказка: Нужно сделать несколько раскачиваний!", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2004,16 +2237,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion ["THE SPECIALISTS"] = "СПЕЦИАЛИСТЫ", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2030,6 +2268,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2045,17 +2284,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2063,6 +2307,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Этот дождь нескончаем...", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "Потрясающее исполнение! Но это испытание можно пройти всего с одним самолётом. Знаете как?", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2071,14 +2316,19 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time’s up!"] = "", -- TargetPractice ["Time's up!"] = "Время вышло!", -- Basic_Training_-_Sniper_Rifle -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2086,10 +2336,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "Подсказка: Поведение верёвки отличается от того, что в реальном мире, |используй это как преимущество!", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2121,6 +2379,7 @@ ["Training Team"] = "Обучающиеся", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2130,14 +2389,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope -- ["T_T"] = "", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2154,6 +2418,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2168,9 +2433,11 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- ["Unit 835"] = "Юнит 835", -- User_Mission_-_Bamboo_Thicket +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united ["Unit"] = "Юнит", -- User_Mission_-_Newton_and_the_Hammock +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree ["Unlimited Attacks"] = "Бесконечные атаки", ["Unlucky Sods"] = "Неудачники", -- User_Mission_-_Rope_Knock_Challenge @@ -2178,10 +2445,12 @@ ["Unsuspecting Louts"] = "Доверчивые хамы", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode ["Upper-class elite pilot"] = "Элитный пилот высшего класса", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood ["User Challenge"] = "Одиночная Миссия", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2192,8 +2461,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope ["Use the rope to knock your enemies to their doom."] = "Используйте веревку, чтобы сбить врагов к их гибели.", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2205,6 +2476,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy ["Use your rope to collect all crates as fast as possible."] = "Используйте веревку, чтобы собрать все ящики как можно быстрее.", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Используй веревку, чтобы добраться от старта до финиша как можно быстрее!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor ["Utility Crate Placement Mode"] = "Режим Размещения Ящиков с Утилитами", -- Construction_Mode -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2227,6 +2499,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2236,8 +2511,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- ["Wannabe Flyboys"] = "Хочу быть Пилотом", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope ["Wannabe Shoppsta"] = "Хочу быть Шоппером", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2272,6 +2550,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2280,6 +2559,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2287,12 +2567,15 @@ -- ["Welcome to the meteorite!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope ["Well done."] = "Отлично.", -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2343,10 +2626,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2376,15 +2661,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies ["Will this ever end?"] = "Когда уже конец?", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2420,18 +2708,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2459,13 +2751,19 @@ ["You had %.2fs remaining on the clock (+%d points)."] = "У вас оставалось %.2f секунд на таймере (+%d очков).", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 ["You have collected %d out of %d crate(s)."] = "Вы собрали %d из %d ящиков.", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2518,6 +2816,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2537,6 +2836,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2564,11 +2864,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood ["Your accuracy was %.1f%% (+%d points)."] = "Ваша точность составила %.1f%% (+%d очков).", -- TargetPractice ["Your accuracy was %.1f%%."] = "Ваша точность составила %.1f%%.", -- Basic_Training_-_Bazooka +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2580,6 +2882,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2589,6 +2892,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos ["Your hedgehog died!"] = "Ваш ёж умер!", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2598,6 +2902,7 @@ ["Your rank: %s"] = "Ваш ранк: %s", -- User_Mission_-_RCPlane_Challenge ["You saved %d of 8 Hapless Hogs."] = "Вы спасли %d из 8 Несчастных Ёжиков", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/ru.txt --- a/share/hedgewars/Data/Locale/ru.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/ru.txt Sun Jun 10 19:12:26 2018 +0200 @@ -67,7 +67,7 @@ 01:02=Победила команда %1! 01:03=Громкость %1% 01:04=Пауза -01:05=Точно выйти (Y-Да/Esc-Нет)? +01:05=Точно выйти (%1/%2)? 01:06=Скоро потоп! 01:07=Ещё %1 01:08=Топливо diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/sk.lua --- a/share/hedgewars/Data/Locale/sk.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/sk.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ ["..."] = "...", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler -- ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ -- ["A Hedgewars mini-game"] = "", -- Racer, Space_Invasion, TechRacer, Tumbler -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope -- ["Aiming practice"] = "", -- TargetPractice ["Aiming Practice"] = "Tréning presnosti", --Bazooka, Shotgun, SniperRifle +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ ["Ammo is reset at the end of your turn."] = "Výzbroj je na konci každého kola resetovaná.", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ ["Available points remaining: "] = "Zostávajúci počet bodov: ", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ ["Barrel Launcher"] = "Vystreľovač sudov", -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Loptami triafajte vašich nepriateľov|a zhoďte ich tak do mora!", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Odpálkujte vašich súperov do koša|a von z mapy!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Tréning s bazukou", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Najrýchlejšie kolá podľa tímov: ", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Careless"] = "Bezstarostný", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "Prejdite trasu tak rýchlo, ako len viete!", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -332,6 +371,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -355,6 +395,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 ["Deadweight"] = "Mŕtva váha", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen ["Double Kill!"] = "Dvojitý zásah!", -- ["Double kill!"] = "", -- Mutant @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope ["Drowner"] = "Utopenec", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -551,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Najrýchlejšie kolo: ", ["Feeble Resistance"] = "Slabý odpor", -- ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -636,11 +701,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "Veľa šťastia!", -- ["Good so far!"] = "", -- Basic_Training_-_Sniper_Rifle -- ["Good to go!"] = "", -- Racer, Tumbler +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ ["GOTCHA!"] = "A MÁM ŤA!", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -737,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -744,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united ["Heavy"] = "Ťažký", -- ["Heckles"] = "", -- @@ -781,11 +862,13 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer -- ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -794,21 +877,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy ["Hmmm..."] = "Hmm..", @@ -823,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -878,6 +981,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Lovec", --Bazooka, Shotgun, SniperRifle @@ -896,12 +1000,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1039,6 +1153,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Je dobre, že NÁHLA SMRŤ je tu až za 99 ťahov...", @@ -1098,6 +1213,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "Skákanie je vypnuté", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1140,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion -- ["Last Target!"] = "", -- Basic_Training_-_Sniper_Rifle -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1154,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1173,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 ["Listen up, maggot!!"] = "Počúvaj, ty biedny červ!", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", -- User_Mission_-_That_Sinking_Feeling -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1228,11 +1355,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ ["MISSION FAILED"] = "MISIA NEÚSPEŠNÁ", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "MISIA ÚSPEŠNÁ", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1258,15 +1392,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"] = "Pohyb: [Hore], [Dole], [Vľavo], [Vpravo]", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1309,6 +1446,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1319,11 +1457,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"] = "NEDOSTATOK NAVIGAČNÝCH BODOV", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1338,12 +1479,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1351,6 +1495,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1371,8 +1516,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1387,8 +1534,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1396,6 +1545,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Nepriateľský tím", -- ["Orange"] = "", -- @@ -1406,25 +1557,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- -- ["Pathetic Resistance"] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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"] = "Samostatná munícia pre ježkov", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1457,6 +1615,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1477,6 +1636,7 @@ -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion ["points"] = "body", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle +-- ["--- Points Mode ---"] = "", -- Battalion -- ["point(s)"] = "", -- TargetPractice, Mutant -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 ["Poison"] = "Poison", @@ -1485,7 +1645,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1512,10 +1675,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["Racer"] = "", -- Racer -- ["RACER"] = "", -- Racer @@ -1533,6 +1699,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1541,10 +1708,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1553,14 +1724,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = " - Skórujete prinesením nepriateľskej vlajky do vašej základne | - Prvý tím, ktorý dosiahne 3 body, vyhráva | - Skórujete len vtedy, keď je máte svoju vlajku v základni | - Spadnuté vlajky môžu byť vrátené na základňu alebo sa ich môže zmocniť súpere | - Ježkovia po smrti ožiujú", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1572,6 +1746,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1582,6 +1757,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1596,6 +1773,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1619,22 +1797,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1652,9 +1834,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1663,15 +1854,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1703,9 +1898,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode ["Sinky"] = "Prepadnutý", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1720,6 +1922,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1728,6 +1931,7 @@ ["Sniper Training"] = "Tréning pre ostreľovačov", ["Sniperz"] = "Ostreľovači", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1737,6 +1941,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1760,6 +1965,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1781,6 +1987,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1815,7 +2022,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1864,12 +2074,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies ["Switched to "] = "Prepnuté na ", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1886,9 +2103,11 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- +-- ["Team %d"] = "", -- SimpleMission ["Team %d: "] = "Tím %d: ", -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor @@ -1905,7 +2124,10 @@ -- ["Teleportation Node"] = "", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1933,6 +2155,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1951,11 +2174,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "Nepriateľ sa schováva na tamtej kačičke!", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1985,17 +2212,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant ["The Nameless One"] = "Bez mena", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2009,16 +2242,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion ["THE SPECIALISTS"] = "ŠPECIALISTI", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2035,6 +2273,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2050,17 +2289,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2068,6 +2312,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Ten dážď naozaj stojí za to...", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2076,15 +2321,20 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer ["Time Left: "] = "Zostávajúci čas: ", +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2092,10 +2342,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2128,6 +2386,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2137,14 +2396,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope ["T_T"] = "T_T", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2161,6 +2425,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2175,9 +2440,11 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- ["Unit 835"] = "Jednotka 835", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united ["Unit"] = "Jednotka", +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree ["Unlimited Attacks"] = "Neobmedzené útoky", -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2185,10 +2452,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood ["User Challenge"] = "Výzva", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2199,8 +2468,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2212,6 +2483,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Použite lano na presun zo štartovnej pozície do cieľa tak rýchlo, ako to len viete!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2235,6 +2507,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2244,8 +2519,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2280,6 +2558,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2288,6 +2567,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2295,12 +2575,15 @@ -- ["Welcome to the meteorite!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope ["Well done."] = "Výborne.", -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2351,10 +2634,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2384,15 +2669,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies ["Will this ever end?"] = "Skončí to vôbec niekedy?", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2428,18 +2716,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2467,13 +2759,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2526,6 +2824,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2545,6 +2844,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2572,11 +2872,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2588,6 +2890,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2597,6 +2900,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2606,6 +2910,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/sk.txt --- a/share/hedgewars/Data/Locale/sk.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/sk.txt Sun Jun 10 19:12:26 2018 +0200 @@ -53,20 +53,22 @@ 00:50=Útok raketovými vŕtačkami 00:51=Blatová guľa 00:52=Žiadna zbraň nie je vybraná -00:53=TARDIS +00:53=Časová kapsula ; 00:54=Budova 00:54=Postrek zeme 00:55=Zmrazovač 00:56=Sekáčik 00:57=Gumička 00:58=Vzdušná mína +00:59=Gumená kačička +00:60=Minigun -; 01:00=Loading … +01:00=Načítam … 01:01=Remíza -01:02=%1 vyhrali! +01:02=%1 vyhral! 01:03=Hlasitosť %1% 01:04=Pauza -01:05=Naozaj skončiť (Y/Esc)? +01:05=Naozaj skončiť (%1/%2)? 01:06=Rýchla smrť! 01:07=%1 Ostáva 01:08=Palivo @@ -87,6 +89,17 @@ 01:23=Automatická kamera vypnutá 01:24=Automatická kamera zapnutá 01:25=Stlač cieľové tlačidlo na označenie cieľa +01:26=Pomôcka nie je dostupná v Rýchlej smrti +01:27=+%1 +01:28=Prázdny! +01:29=Neznámy kľúč +01:30=%1 a %2 vyhrali! +01:31=%1, %2 a %3 vyhrali! +01:32=%1, %2, %3 a %4 vyhrali! +01:33=%1, %2, %3, %4 a %5 vyhrali! +01:34=%1, %2, %3, %4, %5 a %6 vyhrali! +01:35=%1, %2, %3, %4, %5, %6 a %7 vyhrali! +01:35=Všetci vyhrali! ; Správy o udalostiach ; Ježko (%1) zomrel @@ -115,6 +128,7 @@ 02:00=%1 odišiel za lepším 02:00=%1 už nespotrebováva pamäť tohto počítača 02:00=%1 odišiel a už sa nevrátil +02:00=%1 to nedal 02:00=Je tu niekde doktor? ; Ježko (%1) sa utopil 02:01=%1 sa hrá na ponorku! @@ -133,7 +147,8 @@ 02:01=%1 pláva bruchom nahor 02:01=%1 si len skočí po bazuku na dne mora 02:01=%1 chcel vedieť, či majú ježkovia žiabre -; Zápas začína + +; Kolo začína 02:02=Do boja! 02:02=Ozbrojení a pripravení! 02:02=Veľa štastia @@ -155,6 +170,13 @@ ; Round draw 02:04=Remíza +02:04=Končíme remízou +02:04=Nemáme víťaza, je to remíza +02:04=Neuveriteľné, je to remíza! +02:04=Nikto neyhral, nudááá +02:04=Haló, veď nemáme víťaza! +02:04=Nuda! Chcem vrátiť vstupné! +02:04=Všetci sú mŕtvi. Fajn ; Nová krabica so zdravím 02:05=Doktora! @@ -223,6 +245,86 @@ 02:11=Vyzerá, že %1 nemá čas na hru 02:11=%1 musí už ísť +; Ježko (%1) sa musí odpojiť (team je preč) +02:11=%1 musí ísť hajať! +02:11=%1 nemá čas hrať +02:11=%1 musí už ísť +02:11=%1 sa teleportuje do paralelného vesmíru +02:11=%1 odišiel +02:11=%1 potrebuje dovolenku +02:11=%1 naozaj musí ísť +02:11=%1 vstáva zajtra skoro do práce +02:11=%1 si musí ešte urobiť domáce úlohy +02:11=%1 je dezertér! + +; Ježko (%1) je otrávený +02:12=%1 sa cíti zvláštne +02:12=%1 vyzerá zle +02:12=%1 potrebuje doktora +02:12=%1 vyzerá naozaj zle +02:12=%1 je celý zelený +02:12=%1 zabudol na vitamíny +02:12=Si v poriadku, %1? +02:12=%1 zabudol na protijed! +02:12=%1 má horúčku +02:12=%1 je chorý + +; Ježko (%1) bol oživený pomocou Oživovača +02:13=%1 bol oživený +02:13=%1 dostal druhú šancu +02:13=%1 vstal z mŕtvych +02:13=%1 sa opäť narodil +02:13=%1 porazil smrť +02:13=%1 je opäť medzi živými +02:13=%1 vstal z hrobu +02:13=%1, vstávaj, ešte ťa potrebujeme +02:13=Bacha, %1 je späť! +02:13=%1 je vyvoleným + +; Ježko (%1) vybuchuje po Kamikadze +02:14=%1 odchádza so cťou +02:14=%1 bojoval so cťou +02:14=%1 je skutočným hrdinom +02:14=%1 vybuchol od zlosti +02:14=Budeš v našich spomienkach, %1 +02:14=%1 sa nebál +02:14=%1 položil život za vlasť +02:14=%1 nemal čo stratiť + +; Ježko (%1) sa vrátil z cestovania časom +02:15=%1 už nebaví cestovať časom +02:15=Cestovateľ časom %1 sa vracia +02:15=%1 vychádza z časovej kapsule +02:15=%1 je späť v súčasnosti + +; Ježkovi (%1) došiel čas na ťah +02:16=%1 bol príliš pomalý +02:16=%1 zabudol sledovať cas +02:16=%1 sa niekde zabudol +02:16=%1 potreboval viac času +02:16=%1 nemá zmysel pre čas +02:16=Čas vypršal, %1! +02:16=%1, sklamal si ma +02:16=%1 si myslí, že čas je relatívny +02:16=%1 neverí konceptu času +02:16=Ďalší! +02:16=%1 je neuveriteľne pomalý +02:16=%1, budíček! +02:16=%1 sa prehrial +02:16=%1 je pacifista +02:16=%1 mal veľmi dlhú prípravu + +; Kráľ (%1) je mŕtvy +02:27=%1 je mŕtvy, nech žije %1! +02:27=Kráľovská tragédia: %1 zomrel +02:27=%1 už nie je medzi nami +02:27=Náš milovaný kráľ %1 nás opustil +02:27=Konečne sme sa ťa zbavili, %1! +02:27=%1 je ex-kráľom +02:27=%1 žil nebezpečne +02:27=%1 mal priveľa nepriateľov +02:27=%1 dostal šach-mat + ; Kategórie zbraní 03:00=Časovaný granát 03:01=Časovaný granát @@ -267,7 +369,7 @@ 03:40=Zápalný granát 03:41=Skalný fanúšik škriekania 03:42=Tu si urobím poznámku... -03:43=Zahrať Beathovenovu smrteľnú sonátu +03:43=Zahrať Beathovenovu sonátu smrti 03:44=Spotrebujte do: 1923 03:45=Sila vedy 03:46=Páli, páli, páli! @@ -284,6 +386,8 @@ 03:56=Použite alebo zneužite 03:57=Pomôcka 03:58=Vznášajúca sa bomba +03:59=Plávajúca bomba +03:60=Totálna zbraň ; Popis zbraní (ako oddeľovač riadkov použite |) 04:00=Zaútočte na vašich nepriateľov obyčajným granátom.|Vybuchne vtedy, keď vyprší časomiera.|1‐5: Nastavenie časovača granátu|Útok: Držanie tlačidla zvyšuje silu hodu| @@ -346,7 +450,8 @@ 04:56=Po nepriateľovi môžete hodiť dva sekáčiky,|zablokovať priechody a tunely a dokonca ich použiť pri šplhaní!|Buďte opatrný! Nože nie su na hranie.|Útok: Podržte pre hod väčšou silou (dvakrát) 04:57=Použi VEĽMI elastickú gumičku, z ktorej|môžu ježkovia a ďalšie veci skákať|bez ujmy pri dopade.|Vľavo/Vpravo: Mení orientáciu gumičky|Kurzor: Umiestni gumičku na platnú pozíciu 04:58=Táto bomba so senzorom|priblíženia sa sama udrží|vo vzduchu a prenasleduje ježkov,|ktorý sa k nej nechtiac priblížia.|Jej explózia je slabšia ako|explózia bežnej míny.|Útok: Držaním vystrelíte väčšou silou - +04:59=Pošlite tých špinavých ježkov do kúpeľa! Táto milunká pískajúca|gumená kačička vie plávať na vode a popláve tam, kam ju zaveje|vietor. Vybuchne keď narazí na pevninu, a preto|ju zhoďte z útesu alebo iného bezpečného miesta.|Útok: Spusti gumenú kačičku +04:60=Pošli dážď guliek na vašich nepriateľov!|A mysleli si, že za tou trojitou vrstvou|trámou sú v bezpečí.|Útok: Vystreľ plnou silou|Hore/Dole: Mierenie ; Reťazce pre ciele hry 05:00=Herné režimy @@ -371,3 +476,4 @@ 05:19=Zbrane sú na konci ťahu resetované 05:20=Zbrane nie sú zdieľané ježkami 05:21=Tag tím: Teamy v spoločnom klane sa postupne striedajú v ťahaní|Zdieľaný čas: Tímy v rámci klanu zdieľajú čas na ťah +05:22=Silný vietor: vietor ma vplyv takmer na všetko diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/stub.lua --- a/share/hedgewars/Data/Locale/stub.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/stub.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,10 +1,10 @@ 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 +-- ["15+%d damage, %d invulnerable left"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler --- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer -- ["+1 Grenade"] = "", -- Basic_Training_-_Flying_Saucer -- ["+1 mine!"] = "", -- Tumbler @@ -25,6 +25,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler -- ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +37,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,9 +45,10 @@ -- ["a Hedgewars mini-game"] = "", -- Space_Invasion, The_Specialists -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope -- ["Aiming Practice"] = "", --Bazooka, Shotgun, SniperRifle -- ["Aiming practice"] = "", -- TargetPractice --- ["Air Attack"] = "", -- Construction_Mode +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor -- ["AIR MINE PLACEMENT MODE"] = "", -- HedgeEditor @@ -67,6 +70,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +79,7 @@ -- ["Ammo is reset at the end of your turn."] = "", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,17 +93,18 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor --- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["Anno 1032"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies --- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies +-- ["Antarctic summer: Every 4th turn you get 1 girder, 1 mudball, 2 sine guns and 1 portable portal device."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Anton"] = "", -- -- ["An unexpected event!"] = "", -- A_Space_Adventure:cosmos -- ["Anyway, the aliens accept me for who I am."] = "", -- A_Classic_Fairytale:queen -- ["A random hedgehog will inherit the weapons of his deceased team-mates."] = "", -- A_Space_Adventure:death02 -- ["Arashi"] = "", -- --- ["Area"] = "", -- Continental_supplies -- ["Are we there yet?"] = "", -- A_Classic_Fairytale:shadow -- ["Are you accusing me of something?"] = "", -- A_Classic_Fairytale:backstab -- ["Are you helping the aliens?"] = "", -- A_Classic_Fairytale:queen @@ -109,6 +115,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +125,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,18 +133,26 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: Select this continent"] = "", -- Continental_supplies +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 -- ["At the start of the game each enemy hog has only the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["Australia"] = "", -- Continental_supplies -- ["Available points remaining: "] = "", +-- ["Available weapon specials:"] = "", -- Continental_supplies -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,18 +167,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor --- ["Baseballbat"] = "", -- Continental_supplies +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope +-- ["Baseball bat specials cannot be used close to other hogs."] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball -- ["Bat balls at your enemies and|push them into the sea!"] = "", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- -- ["Bat your opponents through the|baskets and out of the map!"] = "", --- ["Bazooka Training"] = "", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos -- ["Be careful, your fuel is limited from now on!"] = "", -- Basic_Training_-_Flying_Saucer @@ -172,8 +196,8 @@ -- ["Behind these trees on the east side there is Secret Base 17."] = "", -- A_Space_Adventure:cosmos -- ["Below-average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen --- ["Best laps per team: "] = "", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,9 +235,13 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka +-- ["Bouncy Boomerang"] = "", -- Continental_supplies -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor +-- ["Bounty: Get 6 weapons for each kill (even on own hogs)."] = "", -- Continental_supplies -- ["Bozo"] = "", -- -- ["Brain Blower"] = "", -- A_Classic_Fairytale:journey -- ["Brainiac"] = "", -- A_Classic_Fairytale:epil, A_Classic_Fairytale:first_blood, A_Classic_Fairytale:shadow @@ -232,6 +260,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +276,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also grenades and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +286,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement -- ["Careless"] = "", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- SpeedShoppa @@ -267,6 +300,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- SpeedShoppa -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -286,6 +320,7 @@ -- ["Chief Sandologist"] = "", -- A_Space_Adventure:desert01 -- ["Chikorita"] = "", -- -- ["Choose Selection/Placement/Deletion: [Left], [Right]"] = "", -- HedgeEditor +-- ["Choose your continent wisely, as your decision will be permanent."] = "", -- Continental_supplies -- ["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 -- ["Chunli"] = "", -- -- ["Clark Kent"] = "", -- @@ -297,7 +332,6 @@ -- ["Closing in"] = "", -- A_Classic_Fairytale:queen -- ["Clown"] = "", -- HedgeEditor -- ["Clowns"] = "", -- User_Mission_-_Nobody_Laugh --- ["Cluck-cluck time: [Fire an egg ~ Sabotages and cures poison ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["Clumsy"] = "", -- ["Cluster Bomb Training"] = "", -- Basic_Training_-_Cluster_Bomb -- ["Collateral Damage"] = "", -- A_Classic_Fairytale:journey @@ -311,6 +345,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +355,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos -- ["Complete the track as fast as you can!"] = "", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -327,17 +364,15 @@ -- ["Configuration phase"] = "", -- WxW -- ["Congrats! You won!"] = "", -- A_Space_Adventure:moon01 -- ["Congratulations!"] = "", --- ["Congratulations"] = "", -- Basic_Training_-_Rope -- ["Congratulations, you acquired the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge --- ["Congratulations! You've completed the Basic Rope Training!"] = "", -- Basic_Training_-_Rope -- ["Congratulations! You've eliminated all targets|within the allowed time frame."] = "", --Bazooka, Shotgun, SniperRifle --- ["Congratulations! You win."] = "", -- Big_Armory -- ["Congratulations, you won!"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:death02, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:fruit02, A_Space_Adventure:fruit03, A_Space_Adventure:ice02 -- ["Conquering the galaxy"] = "", -- A_Space_Adventure:cosmos -- ["CONSTRUCTION MODE"] = "", -- Construction_Mode @@ -345,16 +380,18 @@ -- ["Construction Station: Allows placement of| girders, rubber, mines, sticky mines| and barrels."] = "", -- Construction_Mode -- ["Construction Station"] = "", -- Construction_Mode -- ["Continental supplies"] = "", -- Continental_supplies +-- ["Continent selection"] = "", -- Continental_supplies +-- ["Continents: Select a continent at the beginning."] = "", -- Continental_supplies -- ["Control"] = "", -- Control -- ["Control pillars to score points."] = "", -- Control --- ["Controls: Hold the Attack key (space by default) to|fire the rope, then, once attached use:|Left and Right to swing the rope;|Up and Down to contract and expand."] = "", -- Basic_Training_-_Rope -- ["Copper"] = "", -- User_Mission_-_Nobody_Laugh -- ["Corn"] = "", -- A_Space_Adventure:fruit01 -- ["Corporal Calvin"] = "", -- -- ["Corporationals"] = "", -- A_Classic_Fairytale:queen -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil --- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -368,8 +405,9 @@ -- ["crate(s)"] = "", -- SpeedShoppa -- ["Crazy Gravity: Gravity randomly changes within a range from %i%% to %i%% with a period of %s"] = "", -- Gravity -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 --- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies +-- ["Cricket Time"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -380,27 +418,28 @@ -- ["Daisy"] = "", -- -- ["DAMMIT, ROOKIE!"] = "", -- ["DAMMIT, ROOKIE! GET OFF MY HEAD!"] = "", --- ["+%d ammo"] = "", -- Battalion -- ["+%d Ammo"] = "", -- Space_Invasion -- ["Dangerous Ducklings"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Dark Strawberry"] = "", -- A_Space_Adventure:fruit02 --- ["+%d"] = "", -- Battalion --- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 -- ["Deadweight"] = "", +-- ["Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back."] = "", -- Continental_supplies +-- ["Deals 15 damage to all enemies in the circle."] = "", -- Continental_supplies -- ["Deer"] = "", -- -- ["Defeat all enemies!"] = "", -- portal -- ["Defeat Professor Hogevil!"] = "", -- A_Space_Adventure:death01 -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor -- ["Deletion Mode: [5]"] = "", -- HedgeEditor -- ["Deletion Mode"] = "", -- HedgeEditor --- ["Deletition Mode"] = "", -- HedgeEditor -- ["Demolition is fun!"] = "", -- ["Demo"] = "", -- The_Specialists -- ["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 @@ -409,14 +448,16 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler -- ["%d Hapless Hogs left"] = "", --- ["+%d health"] = "", -- Mutant -- ["%d-Hit Combo! +%d points!"] = "", -- Space_Invasion -- ["Did anyone follow you?"] = "", -- A_Classic_Fairytale:united -- ["Did I miss something?"] = "", -- Space_Invasion @@ -427,13 +468,12 @@ -- ["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 --- ["Difficulty: "] = "", -- Continental_supplies -- ["Difficulty: Easy"] = "", -- A_Classic_Fairytale:first_blood -- ["Difficulty: Hard"] = "", -- A_Classic_Fairytale:first_blood -- ["Dimitry"] = "", -- -- ["%d invaders have been destroyed in this game."] = "", -- Space_Invasion -- ["Disabled"] = "", -- WxW --- ["Disguise as a Rockhopper Penguin: [Swap place with a random enemy hog in the circle]"] = "", -- Continental_supplies +-- ["Disguise as a Rockhopper Penguin"] = "", -- Continental_supplies -- ["Displacer"] = "", -- -- ["Disqualified!"] = "", -- User_Mission_-_That_Sinking_Feeling -- ["Diver"] = "", -- User_Mission_-_Diver @@ -449,6 +489,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen -- ["Double Kill!"] = "", -- ["Double kill!"] = "", -- Mutant @@ -468,13 +510,13 @@ -- ["Dr. Hollows"] = "", -- -- ["Dr. Horace"] = "", -- -- ["Drills"] = "", -- A_Classic_Fairytale:backstab --- ["Drill Strike"] = "", -- Construction_Mode -- ["Dr. Jenner"] = "", -- -- ["Dr. Jung"] = "", -- -- ["Drone Hunter! +10 points!"] = "", -- Space_Invasion --- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies +-- ["Drop a ball of dirt which turns into a|cluster on impact. Doesn’t end turn."] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope -- ["Drowner"] = "", -- User_Mission_-_Nobody_Laugh -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -496,26 +538,21 @@ -- ["Dude, wow, you're so cute!"] = "", -- A_Classic_Fairytale:queen -- ["Dud Mine Placement Mode"] = "", -- HedgeEditor -- ["DUD MINE PLACEMENT MODE"] = "", -- HedgeEditor --- ["Duration"] = "", -- Continental_supplies -- ["During the final testing of the device an accident happened."] = "", -- A_Space_Adventure:moon02 -- ["During the game you can get new RC planes by collecting the weapon crates."] = "", -- A_Space_Adventure:desert03 --- ["Dust storm: [Deals 15 damage to all enemies in the circle]"] = "", -- Continental_supplies +-- ["Dust Storm"] = "", -- Continental_supplies -- ["Each time you destroy all the targets on your current level you'll get teleported to the next level."] = "", -- A_Space_Adventure:desert03 --- ["Each time you play this missions enemy hogs will play in a random order."] = "", -- A_Space_Adventure:death02 -- ["Each turn is only ONE SECOND!"] = "", -- Frenzy -- ["Each turn you get 1-3 random weapons"] = "", -- ["Each turn you get one random weapon"] = "", -- ["Each turn you'll have only one rope to use."] = "", -- A_Space_Adventure:moon02 -- ["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 --- ["EASY"] = "", -- Continental_supplies -- ["Eckles"] = "", -- User_Mission_-_Nobody_Laugh -- ["Eclipse"] = "", -- Big_Armory -- ["Editing Commands: (Use while no weapon is selected)"] = "", -- HedgeEditor -- ["Ehm, okay ..."] = "", -- A_Space_Adventure:moon01 -- ["Elderbot"] = "", -- A_Classic_Fairytale:family --- ["Elimate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."] = "", --Bazooka, Shotgun, SniperRifle -- ["Eliminate the Blue Team before the time runs out."] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Eliminate the enemy before the time runs out."] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree @@ -524,6 +561,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -533,7 +571,6 @@ -- ["Enjoy the swim..."] = "", -- ["Entered boredom phase! Discrepancies detected …"] = "", -- A_Classic_Fairytale:queen -- ["Epilogue"] = "", -- A_Classic_Fairytale:epil --- ["ERROR [getHogInfo]: Hog is nil!"] = "", -- Battalion -- ["Eugene"] = "", -- -- ["Europe"] = "", -- Continental_supplies -- ["Every 2 rings, the ring color will be green and you'll get an extra flying saucer."] = "", -- A_Space_Adventure:ice02 @@ -541,7 +578,6 @@ -- ["Everyone knows this."] = "", -- A_Classic_Fairytale:enemy -- ["Every single time!"] = "", -- A_Classic_Fairytale:dragon -- ["Everything looks OK..."] = "", -- A_Classic_Fairytale:enemy --- ["Every time you kill an enemy hog your ammo will get reset next turn."] = "", -- A_Space_Adventure:death02 -- ["Everywhere I look, I see hogs walking around …"] = "", -- A_Classic_Fairytale:epil -- ["Exactly, man! That was my dream."] = "", -- A_Classic_Fairytale:backstab -- ["Except me, of course! I just saved a whole planet!"] = "", -- A_Space_Adventure:final @@ -550,8 +586,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family --- ["Fastest lap: "] = "", +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace -- ["Feeble Resistance"] = "", -- ["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 @@ -563,21 +601,28 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope +-- ["Fire a rocket with napalm."] = "", -- Continental_supplies -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler +-- ["Fire some exploding medicine that will heal 15 health to all hogs in its effect radius."] = "", -- Continental_supplies +-- ["Fire your hedgehog like a sticky mine."] = "", -- Continental_supplies -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "", -- A_Classic_Fairytale:first_blood --- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag --- ["- First team to score %d captures wins"] = "", -- Capture_the_Flag -- ["Fishy"] = "", -- -- ["Flag captured!"] = "", -- ["Flag respawned!"] = "", @@ -585,6 +630,7 @@ -- ["Flamer"] = "", -- ["Flamer selected!"] = "", -- Tumbler -- ["Flaming Worm"] = "", -- A_Classic_Fairytale:backstab +-- ["Flare"] = "", -- Continental_supplies -- ["Flawless victory!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Flee: Press [Jump]"] = "", -- A_Space_Adventure:fruit01 -- ["Flesh for Brainz"] = "", -- A_Classic_Fairytale:journey @@ -592,6 +638,8 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["Forgetfulness: You will lose all your weapons each turn."] = "", -- Continental_supplies +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -615,7 +663,6 @@ -- ["Game Started!"] = "", -- ["Game? Was this a game to you?!"] = "", -- A_Classic_Fairytale:enemy -- ["Gangsters"] = "", -- --- ["GasBomb"] = "", -- Continental_supplies -- ["Gas Gargler"] = "", -- A_Classic_Fairytale:queen -- ["Gasp! A smuggler!"] = "", -- A_Space_Adventure:desert01 -- ["Gasp!"] = "", -- A_Space_Adventure:desert01 @@ -623,7 +670,7 @@ -- ["Gear information hidden"] = "", -- HedgeEditor -- ["Gear information shown"] = "", -- HedgeEditor -- ["Gear Placement Tool"] = "", -- HedgeEditor --- ["General information"] = "", -- Continental_supplies +-- ["General information:"] = "", -- Continental_supplies -- ["General Lemon"] = "", -- A_Space_Adventure:fruit01 -- ["Generator"] = "", -- Construction_Mode -- ["Generator: Generates energy."] = "", -- Construction_Mode @@ -634,13 +681,15 @@ -- ["Get past the flower."] = "", -- A_Classic_Fairytale:journey -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood --- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer --- ["Get to the target using your rope!"] = "", -- 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 +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab -- ["Girder"] = "", -- Construction_Mode @@ -653,6 +702,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -666,11 +716,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey -- ["Good luck out there!"] = "", -- ["Good so far!"] = "", -- ["Good to go!"] = "", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -680,15 +732,16 @@ -- ["GOTCHA!"] = "", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal --- ["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"] = "", -- -- ["Green areas are portal-proof and repel portals."] = "", -- A_Space_Adventure:final @@ -696,16 +749,16 @@ -- ["Green Bananas"] = "", -- A_Space_Adventure:fruit01 -- ["Green Bananas won!"] = "", -- A_Space_Adventure:fruit01 -- ["Green Hog Grape"] = "", -- A_Space_Adventure:fruit01 --- ["Green hogs won't intentionally hurt you."] = "", -- A_Space_Adventure:fruit01 -- ["Greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge --- ["Green lipstick bullet: [Poisonous, deals no damage]"] = "", -- Continental_supplies +-- ["Green Lipstick Bullet"] = "", -- Continental_supplies -- ["Greetings, cloudy one!"] = "", -- A_Classic_Fairytale:shadow -- ["Greetings from the Navy, %s (%s), for being a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard --- ["Grenade Training"] = "", -- Basic_Training_-_Grenade --- ["Grenadiers"] = "", -- Basic_Training_-_Grenade +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard -- ["Grey"] = "", -- -- ["Guards"] = "", -- A_Space_Adventure:cosmos @@ -718,11 +771,9 @@ -- ["Haha, I love the look on your face!"] = "", -- A_Classic_Fairytale:queen -- ["Haha, now THAT would be something!"] = "", -- ["Haha, that was just a coincidence!"] = "", -- A_Classic_Fairytale:queen --- ["Hammer"] = "", -- Construction_Mode, Continental_supplies -- ["Hannibal"] = "", -- A_Classic_Fairytale:epil -- ["Hapless Hogs"] = "", -- ["Happy with your race track?|Then stop building and start racing!"] = "", -- Racer --- ["HARD"] = "", -- Continental_supplies -- ["Hard flying"] = "", -- A_Space_Adventure:ice02 -- ["Harris"] = "", -- -- ["Harry Potter"] = "", -- @@ -735,6 +786,7 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -742,6 +794,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy"] = "", -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united -- ["Heckles"] = "", -- @@ -750,7 +803,7 @@ -- ["HEDGEEDITOR"] = "", -- HedgeEditor -- ["HedgeEditor tool"] = "", -- HedgeEditor -- ["Hedgehog"] = "", -- --- ["Hedgehog projectile: [Fire your hog like a Sticky Bomb]"] = "", -- Continental_supplies +-- ["Hedgehog Projectile"] = "", -- Continental_supplies -- ["Hedgehogs can not be deleted."] = "", -- HedgeEditor -- ["Hedgehogs will be revived after their death."] = "", -- Mutant -- ["Hedgehogs will start in the first waypoint."] = "", -- Racer @@ -769,7 +822,6 @@ -- ["Helpers: Hogs will get 1 out of 2 helpers randomly each turn"] = "", -- Battalion -- ["Help Hog Solo to find all the parts of the anti-gravity device."] = "", -- A_Space_Adventure:cosmos -- ["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 @@ -779,11 +831,14 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Heroic Wind"] = "", -- Continental_supplies -- ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -792,21 +847,35 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity --- ["--- Highland ---"] = "", -- Battalion +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity 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 +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: Use the quit key to see the team’s continent."] = "", -- Continental_supplies +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope +-- ["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 --- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["Hmmm..."] = "", -- ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy @@ -821,6 +890,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -853,8 +923,9 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant --- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- -- ["Honest Lee"] = "", -- A_Classic_Fairytale:enemy -- ["Hook"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes @@ -876,6 +947,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen -- ["Hunter"] = "", --Bazooka, Shotgun, SniperRifle @@ -894,21 +966,23 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 --- ["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 don't know if I can forget what you've done!"] = "", -- A_Classic_Fairytale:epil -- ["I don't know who I can trust anymore."] = "", -- A_Classic_Fairytale:epil -- ["I don't like your tone! You're hurting me!"] = "", -- A_Classic_Fairytale:queen -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -916,11 +990,14 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 --- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 --- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 +-- ["If you just don’t care …"] = "", -- Continental_supplies +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -970,6 +1047,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -980,6 +1058,7 @@ -- ["I'm the spy! I've been giving you out!"] = "", -- A_Classic_Fairytale:queen -- ["In am also entrusting you with some rope."] = "", -- A_Space_Adventure:cosmos -- ["In case you haven't noticed, I'm a woman, too!"] = "", -- A_Classic_Fairytale:queen +-- ["Increase the dust storm damage by sacrificing|your invulnerable ammo."] = "", -- Continental_supplies -- ["Incredible..."] = "", -- A_Classic_Fairytale:shadow -- ["Indestructible Girder: [2]"] = "", -- HedgeEditor -- ["Indestructible Land: [2]"] = "", -- HedgeEditor @@ -991,6 +1070,7 @@ -- ["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 +-- ["Initial health: %d"] = "", -- Continental_supplies -- ["Initiate escape wish!"] = "", -- A_Classic_Fairytale:queen -- ["In order to get to the other side, you need to get rid of the crates first."] = "", -- A_Classic_Fairytale:dragon -- ["Insanity!"] = "", -- Mutant @@ -1001,8 +1081,8 @@ -- ["Insufficient Power"] = "", -- Construction_Mode -- ["Interesting idea, haha!"] = "", -- A_Classic_Fairytale:enemy -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab --- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1037,6 +1117,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode -- ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "", @@ -1096,6 +1177,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement -- ["Jumping is disabled"] = "", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1103,13 +1185,11 @@ -- ["Just wait till I get my hands on that trauma! ARGH!"] = "", -- A_Classic_Fairytale:family -- ["Kaboom!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Kaboom! Hahahaha! Take this, stupid meteorite!"] = "", -- A_Space_Adventure:final --- ["Kamikaze"] = "", -- Construction_Mode -- ["Kamikaze Expert! +15 points!"] = "", -- Space_Invasion -- ["Keep it up!"] = "", -- ["Ken"] = "", -- -- ["Kenshi"] = "", -- -- ["Kerguelen"] = "", -- Continental_supplies --- ["key."] = "", -- Continental_supplies -- ["Kill all enemy hedgehogs in a single turn."] = "", -- Big_Armory -- ["Kill him or skip your turn."] = "", -- A_Classic_Fairytale:backstab -- ["Killing spree!"] = "", @@ -1121,9 +1201,9 @@ -- ["Kill The Leader"] = "", -- WxW -- ["Kill The Leader: You must also hit the team with the most health."] = "", -- WxW -- ["Kill the traitor, %s, or spare his life!"] = "", -- A_Classic_Fairytale:backstab --- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1138,6 +1218,8 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion -- ["Last Target!"] = "", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch a bouncy ball which explodes into a crate."] = "", -- Continental_supplies +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1145,6 +1227,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1152,12 +1235,14 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode --- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1171,13 +1256,17 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 --- ["Listen up, maggot!!"] = "", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", --- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies +-- ["Lonely Cries"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen +-- ["Look around: [Mouse movement]"] = "", -- Basic_Training_-_Movement -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab -- ["Look out! There's more of them!"] = "", -- A_Classic_Fairytale:backstab @@ -1185,6 +1274,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1205,7 +1295,6 @@ -- ["Mark gears for win/lose conditions"] = "", -- HedgeEditor -- ["Mark/unmark gear: [Left Click]"] = "", -- HedgeEditor -- ["Mark"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork --- ["- Massive weapon bonus on first turn"] = "", -- Continental_supplies -- ["Max Citrus"] = "", -- A_Space_Adventure:fruit01 -- ["Maybe you should try an easier map next time."] = "", -- Racer -- ["Maybe you should try an easier TechRacer map."] = "", -- TechRacer @@ -1213,8 +1302,7 @@ -- ["May the spirits aid you in all your quests!"] = "", -- A_Classic_Fairytale:backstab -- ["Meals"] = "", -- -- ["Medic"] = "", -- Battalion --- ["Medicine: [Fire some exploding medicine that will heal all hogs effected by the explosion]"] = "", -- Continental_supplies --- ["MEDIUM"] = "", -- Continental_supplies +-- ["Medicine"] = "", -- Continental_supplies -- ["Mega kill!"] = "", -- Mutant -- ["Meiwes"] = "", -- A_Classic_Fairytale:backstab -- ["mikade"] = "", -- @@ -1226,53 +1314,52 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey --- ["Mine Strike"] = "", -- Construction_Mode +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 --- ["Mission failed!"] = "", -- Big_Armory -- ["MISSION FAILED"] = "", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork --- ["Mission failure in %d s"] = "", -- Big_Armory --- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement -- ["MISSION SUCCESSFUL"] = "", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork --- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Mixed %d"] = "", -- WxW -- ["Mixed"] = "", -- WxW -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion --- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion --- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- --- ["Molotov"] = "", -- Continental_supplies -- ["Monster kill!"] = "", -- Mutant -- ["Monsters"] = "", -- -- ["Mooney"] = "", -- -- ["More Natives"] = "", -- A_Classic_Fairytale:epil -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 --- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 -- ["Movement: [Up], [Down], [Left], [Right]"] = "", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 --- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final -- ["Name"] = "", -- A_Classic_Fairytale:queen -- ["Nameless Heroes"] = "", -- ["Nancy Screw"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:queen --- ["Napalm"] = "", -- Construction_Mode --- ["Napalm rocket: [Fire a bomb with napalm!]"] = "", -- Continental_supplies +-- ["Napalm Rocket"] = "", -- Continental_supplies -- ["Naranja Jed"] = "", -- A_Space_Adventure:fruit01 -- ["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 @@ -1282,7 +1369,6 @@ -- ["Neutralize your enemies and be careful!"] = "", -- A_Space_Adventure:moon01 -- ["New barrels per turn: %d"] = "", -- Tumbler -- ["New clan record: %.1fs"] = "", -- Racer, TechRacer --- ["NEW fastest lap: "] = "", -- ["New mines per turn: %d"] = "", -- Tumbler -- ["New race record: %.1fs"] = "", -- Racer, TechRacer -- ["Newton and the Hammock"] = "", -- User_Mission_-_Newton_and_the_Hammock @@ -1302,26 +1388,29 @@ -- ["Nobody Laugh"] = "", -- User_Mission_-_Nobody_Laugh -- ["Nobody managed to finish the race. What a shame!"] = "", -- Racer, TechRacer -- ["Nobody takes walks every day!"] = "", -- A_Classic_Fairytale:epil +-- ["No continent selected"] = "", -- Continental_supplies -- ["No, I am afraid I had to travel light."] = "", -- A_Space_Adventure:moon01 -- ["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 +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey -- ["No problem, Captain!"] = "", -- A_Space_Adventure:fruit01 -- ["No problem, I would do anything for H!"] = "", -- A_Space_Adventure:desert01 -- ["No radar pings left!"] = "", -- Space_Invasion --- ["NORMAL"] = "", -- Continental_supplies -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen -- ["NOT ENOUGH WAYPOINTS"] = "", --- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement +-- ["Note: Walking is disabled in this mission."] = "", -- Basic_Training_-_Grenade -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1332,16 +1421,18 @@ -- ["Now collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now dive just one more time and collect the next crate."] = "", -- Basic_Training_-_Flying_Saucer -- ["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 -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1349,6 +1440,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1369,8 +1461,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1385,8 +1479,9 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 --- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1394,35 +1489,38 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood --- ["Opposing Team: "] = "", -- ["Orange"] = "", -- -- ["Orlando Boom!"] = "", -- A_Classic_Fairytale:queen -- ["Or let the next player place waypoints|if less than 2 waypoints have been placed."] = "", -- Racer -- ["Or maybe this was all part of an evil plan, so evil that even Prof. Hogevil can't think of it!"] = "", -- A_Space_Adventure:final -- ["Oscillating Gravity: Gravity periodically changes within a range from %i%% to %i%% with a period of %s"] = "", -- Gravity --- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos --- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- -- ["Pathetic Resistance"] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW --- ["Penguin roar: [Deal 15 damage + 10% of your hogs health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies +-- ["Penguin Roar"] = "", -- Continental_supplies -- ["Perfect! Now try to get the next crate without hurting yourself!"] = "", -- A_Classic_Fairytale:first_blood -- ["Per-Hog Ammo"] = "", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh --- ["Per team weapons"] = "", -- Continental_supplies +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor --- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1455,7 +1553,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor --- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planets with all missions completed will be marked with two flowers."] = "", -- A_Space_Adventure:cosmos -- ["Planets with completed main missions will be marked with a flower."] = "", -- A_Space_Adventure:cosmos @@ -1471,17 +1569,19 @@ -- ["Please, stop releasing your \"smoke signals\"!"] = "", -- A_Classic_Fairytale:shadow -- ["Please wait …"] = "", -- WxW -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion --- ["--- Points ---"] = "", -- Battalion -- ["points"] = "", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle +-- ["--- Points Mode ---"] = "", -- Battalion -- ["point(s)"] = "", -- TargetPractice, Mutant -- ["Poison"] = "", -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 +-- ["Poisonous, deals no damage."] = "", -- Continental_supplies -- ["Pokémon"] = "", -- -- ["Poor %s (%s) died %d times."] = "", -- Mutant --- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- --- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1490,8 +1590,10 @@ -- ["Prepare to fight"] = "", -- A_Space_Adventure:moon01 -- ["Prepare to flee!"] = "", -- A_Space_Adventure:cosmos -- ["Prepare yourself"] = "", --- ["Press [Attack] (space bar by default) to start,|repeadedly tap the up, left and right movement keys to accelerate."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Press [Attack] (space bar by default) to start,|repeatedly tap the up, left and right movement keys to accelerate."] = "", -- Basic_Training_-_Flying_Saucer -- ["Press [Attack] to begin."] = "", -- A_Classic_Fairytale:first_blood +-- ["Press [Attack] to confirm."] = "", -- Continental_supplies +-- ["Press [Attack] to select this continent!"] = "", -- Continental_supplies -- ["Press [Left] and [Right] to change the difficulty."] = "", -- A_Classic_Fairytale:first_blood -- ["Press [Left] or [Right] to move around, [Enter] to jump"] = "", -- A_Classic_Fairytale:first_blood -- ["Press [Long jump] to accept this configuration and begin placing hedgehogs."] = "", -- WxW @@ -1508,10 +1610,12 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory --- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyromancer"] = "", -- Battalion -- ["Pyro"] = "", -- The_Specialists +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["RACER"] = "", -- ["Racer"] = "", -- Racer @@ -1525,10 +1629,11 @@ -- ["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 -- ["Ramesses"] = "", -- -- ["Ramon"] = "", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:family, A_Classic_Fairytale:queen, A_Classic_Fairytale:shadow +-- ["Random continent"] = "", -- Continental_supplies -- ["Rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge --- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1537,10 +1642,12 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos --- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1548,36 +1655,38 @@ -- ["Rescue the imprisoned PAotH team and get the fuel!"] = "", -- A_Space_Adventure:moon01 -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode --- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag -- [" - 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"] = "", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- +-- ["Rise the water if nobody else is in the circle and deal 6 damage to all enemy hogs."] = "", -- Continental_supplies -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory -- ["Ronald"] = "", -- portal -- ["Roof"] = "", -- WxW -- ["Rope-knocking Challenge"] = "", -- User_Mission_-_Rope_Knock_Challenge --- ["Rope Master"] = "", -- Basic_Training_-_Rope -- ["Roper"] = "", -- SpeedShoppa -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes --- ["Rope Team"] = "", -- Basic_Training_-_Rope --- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- -- ["Round draw"] = "", -- Racer, TechRacer --- ["Round %d (Sudden Death in round %d)"] = "", -- Battalion -- ["Round limit: %d"] = "", -- Racer -- ["Round Limit: %d"] = "", -- Space_Invasion -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1585,15 +1694,15 @@ -- ["RUBBER PLACEMENT MODE"] = "", -- HedgeEditor -- ["Rules:"] = "", -- Capture_the_Flag -- ["RULES:"] = "", -- Frenzy --- ["Rules: "] = "", -- Mutant -- ["Run away, you coward!"] = "", -- A_Space_Adventure:desert01 -- ["Running displacement algorithm …"] = "", -- A_Classic_Fairytale:queen -- ["Running for survival"] = "", -- A_Space_Adventure:desert02 -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer --- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies +-- ["Sabotage all hogs in the circle and fire a cluster above you.|Sabotaged hogs lose health and have to deal with a very high gravity during their turn."] = "", -- Continental_supplies -- ["Saint"] = "", -- The_Specialists -- ["Salivaslurper"] = "", -- A_Classic_Fairytale:united -- ["Salty Dog"] = "", -- @@ -1615,42 +1724,54 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion --- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant --- ["Scores: "] = "", -- Capture_the_Flag +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Scores:"] = "", -- Mutant --- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity --- ["%s: %d"] = "", -- Capture_the_Flag, Control +-- ["%s (+%d)"] = "", -- Battalion +-- ["%s (%d)"] = "", -- Continental_supplies -- ["%s: %d (deaths: %d)"] = "", -- Mutant +-- ["%s (%d), %d sec"] = "", -- Continental_supplies -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome +-- ["%s, %d sec"] = "", -- Continental_supplies -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 -- ["Searching the stars!"] = "", -- A_Space_Adventure:cosmos -- ["seconds"] = "", -- ClimbHome --- ["Seduction"] = "", -- Continental_supplies -- ["Seems like every time you take a \"walk\", the enemy finds us!"] = "", -- A_Classic_Fairytale:backstab -- ["See that crate farther on the right?"] = "", -- A_Classic_Fairytale:first_blood -- ["See ya!"] = "", -- ["Segmentation Paul"] = "", -- A_Classic_Fairytale:dragon -- ["Select a placement mode and read the infos|in the mission panel to learn how to use it."] = "", -- HedgeEditor --- ["Select continent!"] = "", -- Continental_supplies +-- ["Select continent"] = "", -- Continental_supplies -- ["selected!"] = "", -- ["Selection Mode"] = "", -- HedgeEditor -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the current continent."] = "", -- Continental_supplies +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select this item for a random continent."] = "", -- Continental_supplies +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor --- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent with [Up]/[Down] or by selecting a representative weapon."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1659,15 +1780,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1690,17 +1815,22 @@ -- ["Shoppa Love"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove -- ["Shoppa Union"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes, Challenge_-_Speed_Shoppa_-_ShoppaKing -- ["Shoppers"] = "", -- SpeedShoppa --- ["Shotgun"] = "", -- Continental_supplies -- ["shots remaining."] = "", -- ["Sigh."] = "", -- A_Classic_Fairytale:epil -- ["Silly"] = "", -- ["Silver"] = "", -- --- ["Sine Gun"] = "", -- Construction_Mode -- ["Sinky"] = "", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1715,14 +1845,15 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion --- ["Sniper Rifle"] = "", -- Continental_supplies -- ["Sniper"] = "", -- The_Specialists -- ["Sniper Training"] = "", -- ["Sniperz"] = "", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1732,6 +1863,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1750,11 +1882,12 @@ -- ["Spacetrip"] = "", -- A_Space_Adventure:cosmos -- ["Spawn the crate and attack!"] = "", -- WxW -- ["Specials: Kings and air generals drop helpers, not weapons"] = "", -- Battalion --- ["Special Weapons:"] = "", -- Continental_supplies +-- ["Special weapons:"] = "", -- Continental_supplies -- ["Speckles"] = "", -- -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1772,10 +1905,13 @@ -- ["Squirtle"] = "", -- -- ["Squishy"] = "", -- -- ["%s reached home in %.3f seconds. Congratulations!"] = "", -- ClimbHome +-- ["%s: %s"] = "", -- Continental_supplies -- ["%s (%s) destroyed %d invaders in one round."] = "", -- Space_Invasion -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome +-- ["%s, select your continent!"] = "", -- Continental_supplies -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1793,8 +1929,8 @@ -- ["%s (%s) shot %d invaders and never missed in the best round!"] = "", -- Space_Invasion -- ["%s (%s) struck like a meteor: %d points in only one round!"] = "", -- Space_Invasion -- ["%s still had a long way to go."] = "", -- ClimbHome +-- ["%s stumbled."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s (%s) tumbles like no other: %d points in one round."] = "", -- Space_Invasion --- ["%s stumpled."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s (%s) was certainly not afraid of heights: Peak height of %d!"] = "", -- ClimbHome -- ["%s (%s) was lightning-fast! Longest combo of %d, absolutely insane!"] = "", -- Space_Invasion -- ["%s (%s) was on fire: Longest combo of %d."] = "", -- Space_Invasion @@ -1804,25 +1940,27 @@ -- ["%s (%s) was undoubtedly the very best professional tumbler in this game: %d points in one round!"] = "", -- Space_Invasion -- ["Star"] = "", -- Big_Armory -- ["Status update"] = "", -- Racer, TechRacer --- ["Status Update"] = "", -- Space_Invasion -- ["Stay away from our weapons!"] = "", -- A_Classic_Fairytale:queen -- ["Stay there, comrades!"] = "", -- A_Classic_Fairytale:queen -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer -- ["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 -- ["STICKY MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Stop, comrades!"] = "", -- A_Classic_Fairytale:queen -- ["Stop right there, puny worms!"] = "", -- A_Classic_Fairytale:queen -- ["Street Fighters"] = "", -- -- ["Strength: %d (multiplier for ammo)"] = "", -- Battalion +-- ["Strong knockback, but no poison."] = "", -- Continental_supplies -- ["Stronglings"] = "", -- A_Classic_Fairytale:shadow -- ["Structure Placement Mode"] = "", -- Construction_Mode -- ["Structure Placer"] = "", -- Construction_Mode @@ -1836,6 +1974,7 @@ -- ["Sunflame"] = "", -- Big_Armory -- ["Super weapons: A few crates contain very powerful weapons."] = "", -- WxW -- ["Super weapons: %s"] = "", -- WxW +-- ["Supplies: Each continent gives you unique weapons, specials and health."] = "", -- Continental_supplies -- ["Support Station: Allows placement of crates."] = "", -- Construction_Mode -- ["Support Station"] = "", -- Construction_Mode -- ["Sure!"] = "", -- A_Classic_Fairytale:epil @@ -1843,13 +1982,16 @@ -- ["Surf Before Crate: You must bounce off the water once before you can get crates."] = "", -- WxW -- ["Surfer! +15 points!"] = "", -- Space_Invasion -- ["Surfer!"] = "", -- WxW +-- ["Surprise supplies: Get 1-3 random weapons each turn."] = "", -- Continental_supplies -- ["Survive!|Hint: Cinematics can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:shadow -- ["%s violated the “All But Last” rule and will be penalized."] = "", -- WxW -- ["%s violated the “Kill The Leader” rule and will be penalized."] = "", -- WxW +-- ["Swap place with a random enemy in the circle."] = "", -- Continental_supplies -- ["%s was a good target."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s was close to home."] = "", -- ClimbHome -- ["%s was damn close to home."] = "", -- ClimbHome -- ["%s was doomed from the beginning."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s was extracted from the scheme"] = "", -- Continental_supplies -- ["%s was good, but not good enough."] = "", -- ClimbHome -- ["%s was knocked away."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s was really unlucky."] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -1859,12 +2001,18 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer --- ["switch"] = "", -- Continental_supplies --- ["Switched to "] = "", --- ["Switch Hog"] = "", -- Construction_Mode +-- ["Switch: Drop ball of dirt from parachute (once)"] = "", -- Continental_supplies +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement +-- ["Switch: Select weapon special"] = "", -- Continental_supplies -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1881,25 +2029,26 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- --- ["Team %d: "] = "", +-- ["Team %d"] = "", -- SimpleMission -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor -- ["Team of Hearts"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove --- ["Team Scores:"] = "", -- Control --- ["Team scores:"] = "", -- Space_Invasion -- ["Teamwork 2"] = "", -- User_Mission_-_Teamwork_2 -- ["Teamwork"] = "", -- User_Mission_-_Teamwork -- ["Team Zook"] = "", -- Target_Practice_-_Bazooka_easy, Target_Practice_-_Bazooka_hard -- ["TechRacer"] = "", -- TechRacer --- ["Teleportation Mode"] = "", -- Construction_Mode -- ["Teleportation Node: Allows teleportation| between other nodes."] = "", -- 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 +-- ["Teleport hint: Just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["Teleport to the impact location."] = "", -- Continental_supplies +-- ["Teleport to the top of the map, expect fall damage!"] = "", -- Continental_supplies +-- ["Teleport unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror +-- ["Textile industry: Will give you a parachute every second turn."] = "", -- Continental_supplies -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1927,7 +2076,8 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 --- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode +-- ["The answer is ... entertainment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final -- ["The Boss"] = "", -- @@ -1935,6 +2085,15 @@ -- ["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 clan of the Red Strawberry wants to take over the dominion and overthrow King Pineapple."] = "", -- A_Space_Adventure:fruit01 +-- ["The continent of cowards"] = "", -- Continental_supplies +-- ["The continent of dust"] = "", -- Continental_supplies +-- ["The continent of firearms"] = "", -- Continental_supplies +-- ["The continent of greed"] = "", -- Continental_supplies +-- ["The continent of guerilla tactics"] = "", -- Continental_supplies +-- ["The continent of ice and science"] = "", -- Continental_supplies +-- ["The continent of medicine"] = "", -- Continental_supplies +-- ["The continent of ninjas"] = "", -- Continental_supplies +-- ["The continent of sports"] = "", -- Continental_supplies -- ["The Crate Frenzy"] = "", -- A_Classic_Fairytale:first_blood -- ["The Customer is King"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing -- ["The device part has been stolen!"] = "", -- A_Space_Adventure:fruit02 @@ -1945,20 +2104,24 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 -- ["The enemy is hiding out on yonder ducky!"] = "", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant --- ["The first hedgehog which scores %d or more wins the game."] = "", -- Mutant -- ["The first stop"] = "", -- A_Space_Adventure:moon01 -- ["The first turn will last 25 sec and every other turn 15 sec."] = "", -- A_Space_Adventure:fruit03 -- ["The flag will respawn next round."] = "", -- ["The flood has stopped! Challenge over."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["The food bites back"] = "", -- A_Classic_Fairytale:backstab +-- ["The forgotten continent"] = "", -- Continental_supplies -- ["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 Green Bananas lost, try again!"] = "", -- A_Space_Adventure:fruit01 @@ -1979,18 +2142,20 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["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 Mutant has super weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Nameless One"] = "", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 --- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil --- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- -- ["The power of love! No, wait, the power of the aliens!"] = "", -- A_Classic_Fairytale:queen @@ -2003,16 +2168,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood --- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["These primitive people are so funny!"] = "", -- A_Classic_Fairytale:backstab +-- ["These weapon specials cannot be used close to other hogs."] = "", -- Continental_supplies -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion -- ["THE SPECIALISTS"] = "", --- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement +-- ["The spirits of the ancestors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2022,6 +2192,7 @@ -- ["The Tunnel Maker"] = "", -- A_Classic_Fairytale:journey -- ["The Ultimate Weapon"] = "", -- A_Classic_Fairytale:first_blood -- ["The Union"] = "", -- A_Classic_Fairytale:enemy +-- ["The Union: You can select a hedgehog at the start of your turns."] = "", -- Continental_supplies -- ["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 @@ -2029,6 +2200,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2044,17 +2216,20 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode --- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer +-- ["This also increases the effectiveness of Medicine."] = "", -- Continental_supplies -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 --- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2062,33 +2237,43 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos -- ["This rain is really something..."] = "", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal --- ["This will certianly come in handy."] = "", -- User_Mission_-_Teamwork_2 +-- ["This will certainly come in handy."] = "", -- User_Mission_-_Teamwork_2 -- ["Thompson"] = "", -- -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon +-- ["Throw a 1 second mine!"] = "", -- Continental_supplies -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer --- ["Time Box"] = "", -- Construction_Mode +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 -- ["Tip: Changing your aim while flying is very difficult, so adjust it before you take off."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer --- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies --- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2101,6 +2286,7 @@ -- ["Too slow! Try again ..."] = "", -- A_Space_Adventure:moon02 -- ["Top-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["To place a girder, select it, use [Left] and [Right] to select angle and length, place with [Left Click]"] = "", -- A_Classic_Fairytale:shadow +-- ["To reach higher ground, walk to a ledge, look to the left, then do a back jump."] = "", -- Basic_Training_-_Movement -- ["Torn Muscle"] = "", -- A_Classic_Fairytale:journey -- ["To the caves..."] = "", -- A_Classic_Fairytale:united -- ["Touch all waypoints as fast as you can!"] = "", -- Racer @@ -2120,26 +2306,32 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos +-- ["Treasure: Massive weapon bonus in first turn."] = "", -- Continental_supplies -- ["Tribe"] = "", -- A_Classic_Fairytale:backstab -- ["TrophyRace"] = "", -- ["Trunks"] = "", -- -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope -- ["T_T"] = "", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab --- ["Turn Time: %dsec"] = "", -- Space_Invasion -- ["Twenty-Twenty"] = "", -- -- ["Two flowers: All missions complete"] = "", -- A_Space_Adventure:cosmos -- ["Two little hogs cooperating, getting past obstacles..."] = "", -- A_Classic_Fairytale:journey @@ -2153,9 +2345,8 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 --- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon --- ["Unique new weapons"] = "", -- Continental_supplies -- ["Unit 0x0007"] = "", -- A_Classic_Fairytale:family -- ["Unit 189"] = "", -- -- ["Unit 234"] = "", -- @@ -2167,32 +2358,39 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- -- ["Unit 835"] = "", -- User_Mission_-_Bamboo_Thicket +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united --- ["Unit"] = "", -- User_Mission_-_Newton_and_the_Hammock +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks"] = "", -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Unstoppable!"] = "", -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["Up/Down: Adjust dust storm damage"] = "", -- Continental_supplies +-- ["Up/Down: Browse through continents"] = "", -- Continental_supplies -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Upside-Down World"] = "", -- Continental_supplies -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood -- ["User Challenge"] = "", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 -- ["Use the flying saucer from the crate to fly to the moon."] = "", -- A_Space_Adventure:cosmos --- ["Use the flying saucer to fly the other planets."] = "", -- A_Space_Adventure:cosmos -- ["Use the flying saucer to fly to the other planets."] = "", -- A_Space_Adventure:cosmos -- ["Use the parachute ([Space] while in air) to get the next crate"] = "", -- A_Classic_Fairytale:first_blood -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2204,12 +2402,12 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa -- ["Use your rope to get from start to finish as fast as you can!"] = "", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler -- ["Variants: Hogs will be randomized from 12 different variants"] = "", -- Battalion -- ["Variants: Kings and air generals are disabled"] = "", -- Battalion --- ["Variants: The last hog of each team will be a king"] = "", -- Battalion -- ["Vedgies"] = "", -- A_Classic_Fairytale:journey -- ["Vega"] = "", -- -- ["Vegan Jack"] = "", -- A_Classic_Fairytale:enemy @@ -2226,6 +2424,8 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2235,12 +2435,13 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer --- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion --- [" was extracted from the scheme|- This continent will be able to use the specials from the other continents!"] = "", -- Continental_supplies -- ["WatchBot 4000"] = "", -- User_Mission_-_Teamwork_2 -- ["Watch your steps, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Watermelon Heart"] = "", -- A_Space_Adventure:fruit02 @@ -2258,10 +2459,10 @@ -- ["WEAPON CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Weapon Filter"] = "", -- Construction_Mode -- ["Weapon Filter: Dematerializes all ammo| carried by enemies entering it."] = "", -- Construction_Mode --- ["weaponschemes"] = "", -- Continental_supplies -- ["Weapons: Each team starts with %d weapon points"] = "", -- Battalion -- ["Weapons: Hogs will get 1 out of 3 weapons randomly each turn"] = "", -- Battalion -- ["Weapons: Nearly every hog variant gets 1 kamikaze"] = "", -- Battalion +-- ["Weapon specials: Some weapons have special modes (see weapon description)."] = "", -- Continental_supplies -- ["Weapons Reset"] = "", -- ["Weapons reset: The weapons are reset after each turn."] = "", -- WxW -- ["We are indeed."] = "", -- A_Classic_Fairytale:backstab @@ -2271,6 +2472,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2279,6 +2481,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2287,11 +2490,13 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos -- ["Well done."] = "", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome --- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2342,10 +2547,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2375,15 +2582,15 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab --- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies --- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies -- ["Will this ever end?"] = "", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2393,7 +2600,7 @@ -- ["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, sure! I died. Hilarious!"] = "", -- A_Classic_Fairytale:backstab -- ["Yeah, take that!"] = "", -- A_Classic_Fairytale:dragon -- ["Yeah? Watcha gonna do? Cry?"] = "", -- A_Classic_Fairytale:journey -- ["Yeah, well, for some dude to be happy, some other dude has to suffer."] = "", -- A_Classic_Fairytale:queen @@ -2419,18 +2626,21 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer --- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer --- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer +-- ["You can even change your aiming direction in mid-flight if you first hold [Precise] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You can further customize the race by changing the scheme script parameter."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil --- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2441,15 +2651,11 @@ -- ["You defended yourself against Captain Lime."] = "", -- A_Space_Adventure:fruit02 -- ["You defended yourself against the Fruit Assassins."] = "", -- A_Space_Adventure:fruit02 -- ["You did great, Hog Solo! However, we aren't out of danger yet!"] = "", -- A_Space_Adventure:cosmos --- ["You did not make it in time, try again!"] = "", -- Basic_Training_-_Rope -- ["You don't deserve my sacrifice!"] = "", -- A_Classic_Fairytale:queen -- ["You drove Professor Hogevil away."] = "", -- A_Space_Adventure:moon01 -- ["You drove the minions away."] = "", -- A_Space_Adventure:moon01 --- ["You earned the \"Rope Master\" achievement for finishing in under 50 seconds."] = "", -- Basic_Training_-_Rope -- ["You endangered your whole tribe, you bastard!"] = "", -- A_Classic_Fairytale:queen --- ["You failed!"] = "", -- Basic_Training_-_Rope -- ["You failed to kill all enemies in a single turn."] = "", -- Big_Armory --- ["You failed to kill all enemies in this turn."] = "", -- Big_Armory -- ["You fought bravely and you helped us win this battle!"] = "", -- A_Space_Adventure:fruit02 -- ["You give me no choice!"] = "", -- A_Classic_Fairytale:queen -- ["You got a killer mask there, amigo!"] = "", -- A_Classic_Fairytale:epil @@ -2457,18 +2663,22 @@ -- ["You had %.1fs remaining on the clock (+%d points)."] = "", -- TargetPractice -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 --- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 --- ["You have destroyed %d of %d targets."] = "", -- Basic_Training_-_Bazooka -- ["You have destroyed %d of %d targets (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You have dropped %d missiles."] = "", -- User_Mission_-_RCPlane_Challenge -- ["You have eliminated all visible enemy hedgehogs!"] = "", -- A_Space_Adventure:fruit01 @@ -2480,13 +2690,11 @@ -- ["You have failed to save the tribe!"] = "", -- A_Classic_Fairytale:backstab -- ["You have finally figured it out!"] = "", -- A_Classic_Fairytale:enemy -- ["You have finished the Basic Rope Training!"] = "", -- Basic_Training_-_Rope --- ["You have finished the bazooka training!"] = "", -- Basic_Training_-_Bazooka -- ["You have finished the challenge in %.3f s."] = "", -- SpeedShoppa -- ["You have finished the challenge!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You have finished the Flying Saucer Training!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You have finished the target practice!"] = "", -- TargetPractice -- ["You have kidnapped our whole tribe!"] = "", -- A_Classic_Fairytale:enemy --- ["You have killed all enemies."] = "", -- Big_Armory -- ["You have killed an innocent hedgehog!"] = "", -- A_Classic_Fairytale:backstab -- ["You have killed %d of 16 hedgehogs (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have launched %d bazookas."] = "", -- Basic_Training_-_Bazooka @@ -2502,7 +2710,6 @@ -- ["You have proven yourselves worthy!"] = "", -- A_Classic_Fairytale:enemy -- ["You have reached the take-off area successfully!"] = "", -- A_Space_Adventure:fruit01 -- ["You have rescued H and Dr. Cornelius."] = "", -- A_Space_Adventure:death01 --- ["You have SCORED!!"] = "", -- ["You have shot %d times."] = "", -- TargetPractice -- ["You have successfully eliminated Professor Hogevil."] = "", -- A_Space_Adventure:death01 -- ["You have successfully finished the campaign!"] = "", -- A_Classic_Fairytale:epil @@ -2517,6 +2724,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2536,6 +2744,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2564,11 +2773,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2576,10 +2787,9 @@ -- ["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 on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2589,6 +2799,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2598,17 +2809,16 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil -- ["You've been assaulting us, we have been just defending ourselves!"] = "", -- A_Classic_Fairytale:enemy -- ["You've failed. Try again."] = "", --- ["You've reached the goal!| |Time: "] = "", -- ["You will be avenged!"] = "", -- A_Classic_Fairytale:shadow -- ["You will fail if you run out of ammo and there are still targets available."] = "", -- A_Space_Adventure:desert03 -- ["You will gain some extra ammo from the crates the next time you play the \"Getting to the device\" mission."] = "", -- A_Space_Adventure:fruit03 -- ["You will play every 3 turns."] = "", -- A_Space_Adventure:fruit01 --- ["- You will recieve 2-4 weapons on each kill! (Even on own hogs)"] = "", -- Continental_supplies -- ["You win!"] = "", -- Big_Armory -- ["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 @@ -2616,7 +2826,6 @@ -- ["Zealandia"] = "", -- Continental_supplies -- ["Zombie"] = "", -- -- ["Zombi"] = "", -- portal --- ["'Zooka Team"] = "", -- ["Zook"] = "", -- Target_Practice_-_Bazooka_easy, Target_Practice_-_Bazooka_hard -- ["Zork"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen } diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/sv.lua --- a/share/hedgewars/Data/Locale/sv.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/sv.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ ["!!!"] = "!!!", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler -- ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ -- ["a Hedgewars mini-game"] = "", -- Space_Invasion, The_Specialists -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope ["Aiming Practice"] = "Siktesövning", --Bazooka, Shotgun, SniperRifle -- ["Aiming practice"] = "", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ -- ["Ammo is reset at the end of your turn."] = "", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ -- ["Available points remaining: "] = "", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Slå bollar mot dina fiender|och slå ner dem i havet", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Slå ner dina motståndare i|korgarna och ut ur kartan!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Bazookaträning", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Bästa varv per lag: ", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement -- ["Careless"] = "", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos -- ["Complete the track as fast as you can!"] = "", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -332,6 +371,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -355,6 +395,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 -- ["Deadweight"] = "", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen -- ["Double Kill!"] = "", -- ["Double kill!"] = "", -- Mutant @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope -- ["Drowner"] = "", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -551,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Snabbast varv: ", ["Feeble Resistance"] = "Klent motstånd", -- ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -636,11 +701,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "Lycka till där ute!", -- ["Good so far!"] = "", -- ["Good to go!"] = "", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ -- ["GOTCHA!"] = "", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -737,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -744,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy"] = "", -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united -- ["Heckles"] = "", -- @@ -781,11 +862,13 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer -- ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -794,21 +877,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy ["Hmmm..."] = "Hmmm...", @@ -823,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -878,6 +981,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Jägare", --Bazooka, Shotgun, SniperRifle @@ -896,12 +1000,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1039,6 +1153,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode -- ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "", @@ -1098,6 +1213,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement -- ["Jumping is disabled"] = "", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1140,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion -- ["Last Target!"] = "", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1154,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1173,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 ["Listen up, maggot!!"] = "Hör här, ynkrygg!!", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1228,11 +1355,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ ["MISSION FAILED"] = "UPPDRAG MISSLYCKADES", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "UPPDRAG SLUTFÖRT", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1258,15 +1392,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 -- ["Movement: [Up], [Down], [Left], [Right]"] = "", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1309,6 +1446,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1319,11 +1457,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen -- ["NOT ENOUGH WAYPOINTS"] = "", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1338,12 +1479,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1351,6 +1495,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1371,8 +1516,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1387,8 +1534,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1396,6 +1545,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Motståndarlag: ", -- ["Orange"] = "", -- @@ -1406,25 +1557,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- -- ["Pathetic Resistance"] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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"] = "", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1457,6 +1615,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1477,6 +1636,7 @@ -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion -- ["points"] = "", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle +-- ["--- Points Mode ---"] = "", -- Battalion -- ["point(s)"] = "", -- TargetPractice, Mutant ["Poison"] = "Gift", -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 @@ -1485,7 +1645,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1512,10 +1675,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["RACER"] = "", -- ["Racer"] = "", -- Racer @@ -1533,6 +1699,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1541,10 +1708,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1553,14 +1724,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = " - Återvänd med fiendens flagga till din bas för att ta poäng | - Första laget till tre vinner | - Du kan bara ta poäng när din egen flagga är i basen | - Kottar tappar flaggan när de dödas eller drunknar | - Tappade flaggor kan tas tillbaka eller fångas | - Kottar kommer tillbaka när de dör", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1572,6 +1746,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1582,6 +1757,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1596,6 +1773,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1619,22 +1797,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1652,9 +1834,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1663,15 +1854,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1702,9 +1897,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode -- ["Sinky"] = "", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1719,6 +1921,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1727,6 +1930,7 @@ ["Sniper Training"] = "Prickskyttesträning", ["Sniperz"] = "Prickskyttarna", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1736,6 +1940,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1759,6 +1964,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1780,6 +1986,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1814,7 +2021,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1863,12 +2073,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies -- ["Switched to "] = "", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1885,10 +2102,12 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- ["Team %d: "] = "Lag %d: ", +-- ["Team %d"] = "", -- SimpleMission -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor -- ["Team of Hearts"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove @@ -1904,7 +2123,10 @@ -- ["Teleportation Node"] = "", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1932,6 +2154,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1950,11 +2173,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "Fienden gömmer sig på andra ankan!", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1984,17 +2211,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant -- ["The Nameless One"] = "", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2008,16 +2241,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion -- ["THE SPECIALISTS"] = "", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2034,6 +2272,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2049,17 +2288,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2067,6 +2311,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos -- ["This rain is really something..."] = "", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2075,14 +2320,19 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2090,10 +2340,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2125,6 +2383,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2134,14 +2393,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope ["T_T"] = "T_T", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2158,6 +2422,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2173,8 +2438,10 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- -- ["Unit 835"] = "", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks"] = "", -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2182,10 +2449,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood -- ["User Challenge"] = "", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2196,8 +2465,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2209,6 +2480,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Använd ditt rep för att ta dig från start till mål så fort som möjligt!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2231,6 +2503,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2240,8 +2515,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2276,6 +2554,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2284,6 +2563,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2292,11 +2572,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos -- ["Well done."] = "", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2347,10 +2630,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2380,15 +2665,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies -- ["Will this ever end?"] = "", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2424,18 +2712,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2463,13 +2755,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2522,6 +2820,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2541,6 +2840,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2568,11 +2868,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2584,6 +2886,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2593,6 +2896,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2602,6 +2906,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/sv.txt --- a/share/hedgewars/Data/Locale/sv.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/sv.txt Sun Jun 10 19:12:26 2018 +0200 @@ -62,7 +62,7 @@ 01:02=%1 vinner! 01:03=Volym %1% 01:04=Pausat -01:05=Vill du verkligen avsluta (Y/Esc)? +01:05=Vill du verkligen avsluta (%1/%2)? 01:06=Sudden death! 01:07=%1 kvar 01:08=Bränsle diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/tips_de.xml --- a/share/hedgewars/Data/Locale/tips_de.xml Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/tips_de.xml Sun Jun 10 19:12:26 2018 +0200 @@ -4,19 +4,19 @@ # Do not escape characters or use the CDATA tag. Wähl einfach die selbe Farbe wie die eines Freundes aus, um gemeinsam als ein Klan zu spielen. Jeder von euch wird immer noch Kontrolle über seine eigenen Igel haben, aber sie werden gemeinsam siegen oder verlieren. - Einige Waffen mögen zwar nur geringfügigen Schaden anrichten, aber sie können in der passenden Sitation verheerend sein. Versuche, die Desert Eagle zu benutzen, um mehrere Igel ins Wasser zu schubsen. + Einige Waffen mögen zwar nur geringfügigen Schaden anrichten, aber sie können in der passenden Situation verheerend sein. Versuche, die Desert Eagle zu benutzen, um mehrere Igel ins Wasser zu schubsen. Falls du dir unsicher darüber bist, was du tun sollst und du keine Munition verschwenden willst, überspring die Runde. Aber lass nicht zu viel Zeit verstreichen, weil irgendwann der Sudden Death kommt. Willst du Seile sparen? Lass das Seil im Flug los und schieß erneut. Solange du den Boden nicht berührst und kein Schuss daneben geht, wirst du dein Seil wiederverwenden, ohne Vorräte zu vergeuden. - Wenn du Andere davon abhalten willst, deinen Lieblingsspitznamen auf dem offiziellen Server zu benutzen, registiere ein Benutzerkonto auf http://www.hedgewars.org/. + Wenn du Andere davon abhalten willst, deinen Lieblingsspitznamen auf dem offiziellen Server zu benutzen, registriere ein Benutzerkonto auf http://www.hedgewars.org/. Bist du vom Standardspiel gelangweilt? Dann probier eine der Missionen aus – sie spielen sich anders, je nach dem, welche Mission du ausgewählt hast. Standardmäßig wird das Programm immer vom letzten Spiel eine Wiederholung abspeichern. Wähle »Auf einen einzelnen Computer spielen« und dann den »Aufgezeichnete Wiederholungen ansehen«-Knopf auf der rechten unteren Ecke, um sie abzuspielen oder zu verwalten. Hedgewars ist freie Open-Source-Software, die wir in unserer Freizeit erstellen. Falls du Probleme hast, frag uns in unseren Foren oder besuch unseren IRC-Channel! Hedgewars ist freie Open-Source-Software, die wir in unserer Freizeit erstellen. Wenn es dir gefällt, hilf uns mit einer kleinen Spende oder steuere deine eigenen Werke bei! - Hedgewars ist freie Open-Source-Software, die wir in unserer Freizeit erstellen. Teile es mit deiner Famlie und deinen Freunden, wie es dir gefällt! + Hedgewars ist freie Open-Source-Software, die wir in unserer Freizeit erstellen. Teile es mit deiner Familie und deinen Freunden, wie es dir gefällt! Hedgewars ist freie Open-Source-Software, die wir in unserer Freizeit nur so zum Spaß erstellen. Triff die Entwickler auf #hedgewars! Von Zeit zu Zeit wird es offizielle Turniere geben. Bevorstehende Ereignisse werden auf http://www.hedgewars.org/ ein paar Tage im Voraus angekündigt. Hedgewars ist in vielen Sprachen verfügbar. Wenn die Übersetzung deiner Sprache zu fehlen oder veraltet zu sein scheint, nimm ruhig mit uns Kontakt auf! - Hedgewars läuft auf vielen verschiedenen Betriebssystemem, unter anderen Microsoft Windows, Mac OS X und GNU/Linux. + Hedgewars läuft auf vielen verschiedenen Betriebssystemen, unter anderem Microsoft Windows, Mac OS X und GNU/Linux. Denk immer daran, dass du in der Lage bist, deine eigenen Spiele in lokalen Spielen und Netzwerkspielen aufzusetzen. Du musst nicht zwangsläufig nur einfache Spiele spielen. Verbinde einen oder mehr Gamepads, bevor du das Spiel startest, damit du ihre Belegung deinen Teams zuweisen kannst. Erstelle ein Benutzerkonto auf http://www.hedgewars.org/, um andere davon abzuhalten, deinen Lieblingsspitznamen beim Spielen auf dem offiziellen Server zu benutzen. diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/tr.lua --- a/share/hedgewars/Data/Locale/tr.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/tr.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ -- ["..."] = "", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler -- ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ -- ["A Hedgewars mini-game"] = "", -- Racer, Space_Invasion, TechRacer, Tumbler -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope ["Aiming Practice"] = "Atış Eğitimi", --Bazooka, Shotgun, SniperRifle -- ["Aiming practice"] = "", -- TargetPractice +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ ["Ammo is reset at the end of your turn."] = "Mermi turunun sonunda sıfırlanır.", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ ["Available points remaining: "] = "Halan kullanılabilir puanlar: ", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ ["Barrel Launcher"] = "Varil Patlatıcı", -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Düşmanlarına sopayla vur|ve denize dök!", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Düşmanlarını sepetlere vurarak|harita dışına at!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Roketatar Eğitimi", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Her takım için en iyi tur: ", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Careless"] = "Dikkatsiz", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "Yolu mümkün olduğunca hızlı tamamla!", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -332,6 +371,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -355,6 +395,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 ["Deadweight"] = "Graviton", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen -- ["Double Kill!"] = "", -- ["Double kill!"] = "", -- Mutant @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope ["Drowner"] = "Boğulucu", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -551,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -636,11 +701,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["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!", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ ["GOTCHA!"] = "ERWISCHT!", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -737,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -744,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united ["Heavy"] = "Schwierig", -- ["Heckles"] = "", -- @@ -781,11 +862,13 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer -- ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -794,21 +877,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["Hmmm..."] = "", -- ["Hmmm...actually...I didn't either."] = "", -- A_Classic_Fairytale:enemy @@ -823,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -878,6 +981,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Jäger", --Bazooka, Shotgun, SniperRifle @@ -896,12 +1000,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1039,6 +1153,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Gut, dass SUDDEN DEATH noch 99 Runden entfernt ist...", @@ -1098,6 +1213,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "Sprünge sind deaktiviert!", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1140,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion ["Last Target!"] = "Letzte Zielscheibe!", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1154,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1173,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 ["Listen up, maggot!!"] = "Aufgepasst, du Made!!", +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1228,11 +1355,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ ["MISSION FAILED"] = "MISSION GESCHEITERT", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "MISSION ERFOLGREICH", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1258,16 +1392,19 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"] = "Bewegung: [Hoch], [Runter], [Links], [Rechts]", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander ["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 -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1310,6 +1447,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1320,11 +1458,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"] = "NICHT GENUG WEGPUNKTE", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1339,12 +1480,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1352,6 +1496,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1372,8 +1517,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1388,8 +1535,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1397,6 +1546,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Gegnerisches Team: ", -- ["Orange"] = "", -- @@ -1407,25 +1558,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- ["Pathetic Resistance"] = "Erbärmlicher Widerstand", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1458,6 +1616,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1477,6 +1636,7 @@ -- ["Please wait …"] = "", -- WxW -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion +-- ["--- Points Mode ---"] = "", -- Battalion ["points"] = "Punkte", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle -- ["point(s)"] = "", -- TargetPractice, Mutant ["Poison"] = "Gift", @@ -1486,7 +1646,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1513,11 +1676,14 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["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"] = "", -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["RACER"] = "", -- ["Racer"] = "", -- Racer @@ -1535,6 +1701,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1543,10 +1710,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1555,14 +1726,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1574,6 +1748,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1584,6 +1759,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1598,6 +1775,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1621,22 +1799,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1654,9 +1836,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1665,15 +1856,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1704,9 +1899,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode ["Sinky"] = "Blubb", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1721,6 +1923,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1729,6 +1932,7 @@ ["Sniper Training"] = "Scharfschützen-Training", ["Sniperz"] = "Heckenschützen", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1738,6 +1942,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1761,6 +1966,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa ["Spielmodifikatoren: "] = "", -- ["Spike"] = "", -- A_Space_Adventure:desert01 @@ -1783,6 +1989,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1817,7 +2024,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1866,12 +2076,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies ["Switched to "] = "Gewechselt zu ", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1888,10 +2105,12 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- -- ["Team %d: "] = "", +-- ["Team %d"] = "", -- SimpleMission -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor -- ["Team of Hearts"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove @@ -1907,7 +2126,10 @@ -- ["Teleportation Node"] = "", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1935,6 +2157,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1953,11 +2176,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["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 explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1987,17 +2214,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant ["The Nameless One"] = "Der Namenlose", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2011,16 +2244,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion ["THE SPECIALISTS"] = "DIE SPEZIALISTEN", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2037,6 +2275,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2052,17 +2291,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2070,6 +2314,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Das nenne ich mal einen Regenschauer...", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2078,15 +2323,20 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer ["Time Left: "] = "Verbleibende Zeit", +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2094,10 +2344,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2129,6 +2387,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2138,14 +2397,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope -- ["T_T"] = "", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2162,6 +2426,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2176,9 +2441,11 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- ["Unit 835"] = "Einheit 3378", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united ["Unit"] = "Einheit", +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree ["Unlimited Attacks"] = "Unbegrenzte Angriffe", -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2186,10 +2453,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood -- ["User Challenge"] = "", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2200,8 +2469,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2213,6 +2484,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["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!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2235,6 +2507,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2244,8 +2519,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2280,6 +2558,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2288,6 +2567,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2296,11 +2576,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos ["Well done."] = "Gut gemacht.", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2351,10 +2634,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2384,15 +2669,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies ["Will this ever end?"] = "Bu sona erecek mi?", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2428,18 +2716,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2467,13 +2759,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2526,6 +2824,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2545,6 +2844,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2572,11 +2872,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2588,6 +2890,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2597,6 +2900,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2606,6 +2910,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/tr.txt --- a/share/hedgewars/Data/Locale/tr.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/tr.txt Sun Jun 10 19:12:26 2018 +0200 @@ -64,7 +64,7 @@ 01:02=%1 kazandı! 01:03=Bölüm %%1 01:04=Duraklatıldı -01:05=Çıkılsın mı (Y/Esc)? +01:05=Çıkılsın mı (%1/%2)? 01:06=Ani ölüm! 01:07=%1 Kaldı 01:08=Yakıt diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/uk.lua --- a/share/hedgewars/Data/Locale/uk.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/uk.lua Sun Jun 10 19:12:26 2018 +0200 @@ -2,6 +2,8 @@ -- ["..."] = "", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -24,6 +26,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler ["A Classic Fairytale"] = "Класична казка", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -35,6 +38,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -42,8 +46,10 @@ ["a Hedgewars mini-game"] = "Міні-гра Hedgewars", -- Space_Invasion, The_Specialists -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope -- ["Aiming practice"] = "", -- TargetPractice ["Aiming Practice"] = "Практика прицілювання", --Bazooka, Shotgun, SniperRifle +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -66,6 +72,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -74,6 +81,7 @@ ["Ammo is reset at the end of your turn."] = "Боєприпаси обнуляються в кінці вашого ходу.", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement ["And how am I alive?!"] = "І чому я живий!?", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -87,8 +95,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission ["Antarctica"] = "Антарктида", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -108,6 +118,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW ["Asia"] = "Азія", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -117,6 +128,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -124,6 +136,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -132,10 +145,15 @@ ["Available points remaining: "] = "Залишилось доступних очків: ", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -150,17 +168,26 @@ ["Barrel Launcher"] = "Катапульта для бочок", -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "Закидайте ворогів м'ячами щоб|зіштовути їх у море!", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "Дубасьте опонентів битою через|кошики та за межі карти!", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "Тренування з базукою", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -173,6 +200,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "Кращі партії на команду: ", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -210,6 +238,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -231,6 +261,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -246,6 +277,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -254,9 +287,11 @@ ["Cannibals?! You're the cannibals!"] = "Канібали!? Ви канібали!", -- A_Classic_Fairytale:enemy ["Cannibals"] = "Канібали", -- A_Classic_Fairytale:enemy, A_Classic_Fairytale:epil, A_Classic_Fairytale:first_blood -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement ["Careless"] = "Безтурботний", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -266,6 +301,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -310,6 +346,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -318,6 +356,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos ["Complete the track as fast as you can!"] = "Подолайте трасу так швидко, як тільки зможете!", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -330,6 +369,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -354,6 +394,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -370,6 +412,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -387,6 +430,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 ["Deadweight"] = "Власна вага", -- ["Deer"] = "", -- @@ -395,6 +441,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -409,9 +456,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -449,6 +500,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen -- ["Double kill!"] = "", -- Mutant ["Double Kill!"] = "Подвійне Вбивство!", @@ -475,6 +528,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope ["Drowner"] = "Потопаючий", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -524,6 +578,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -550,7 +605,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "Найшвидша партія: ", ["Feeble Resistance"] = "Жалюгідні Повстанці", -- ["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 @@ -563,17 +621,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united ["First Blood"] = "Перша кров", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant ["First Steps"] = "Перші кроки", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -592,6 +656,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -635,11 +700,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -653,6 +723,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -666,11 +737,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 ["Good luck...or else!"] = "Удачі...або ще чогось!", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "Удачі!", ["Good so far!"] = "Покищо добре!", ["Good to go!"] = "Так тримати!", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement ["Go on top of the flower"] = "Йди на верхівку квітки", -- A_Classic_Fairytale:first_blood ["Go, quick!"] = "Йди, швидше!", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -680,12 +753,14 @@ ["GOTCHA!"] = "ПОПАВСЯ!", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope @@ -704,6 +779,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -736,6 +814,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -743,6 +823,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united ["Heavy"] = "В'ялий", -- ["Heckles"] = "", -- @@ -780,11 +861,13 @@ ["Here...pick your weapon!"] = "Ось...бери зброю!", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer ["Hero Team"] = "Команда героїв", -- User_Mission_-_The_Great_Escape ["He's so brave..."] = "Він такий сміливий...", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family ["Hey, guys!"] = "Гей, хлопці!", -- A_Classic_Fairytale:backstab ["Hey guys!"] = "Гей хлопці!", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -793,21 +876,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["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 @@ -822,6 +922,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -854,6 +955,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -877,6 +980,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "Мисливець", --Bazooka, Shotgun, SniperRifle @@ -895,12 +999,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -910,6 +1016,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -917,11 +1024,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -971,6 +1083,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1004,6 +1117,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1038,6 +1152,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "Це чудово що РАПТОВА СМЕРТЬ віддалилась на 99 ходів...", @@ -1097,6 +1212,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement ["Jumping is disabled"] = "Стрибання вимкнене", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1125,6 +1241,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1139,6 +1256,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion ["Last Target!"] = "Остання Ціль!", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen ["Leader"] = "Лідер", -- A_Classic_Fairytale:enemy -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1146,6 +1264,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1153,12 +1272,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1172,12 +1294,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings ["Listen up, maggot!!"] = "Слухай, хробак!", -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope ["Lively Lifeguard"] = "Жвавий Рятівник", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1186,6 +1312,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1227,11 +1354,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1239,6 +1370,7 @@ ["MISSION FAILED"] = "МІСІЮ ПРОВАЛЕНО", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "МІСІЮ ВИКОНАНО", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1247,6 +1379,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1257,15 +1391,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 ["Movement: [Up], [Down], [Left], [Right]"] = "Керування: [Вверх], [Вниз], [Вліво], [Вправо]", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1308,6 +1445,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey ["Nom-Nom"] = "Ням-Ням", -- A_Classic_Fairytale:journey ["NomNom"] = "НямНям", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1318,11 +1456,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor ["North America"] = "Північна Америка", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen ["NOT ENOUGH WAYPOINTS"] = "НЕДОСТАТНЬО ТОЧОК ШЛЯХУ", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1337,12 +1478,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1350,6 +1494,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1370,8 +1515,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1386,8 +1533,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1395,6 +1544,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "Команда-Противник: ", -- ["Orange"] = "", -- @@ -1405,25 +1556,32 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies -- ["Patches"] = "", -- ["Pathetic Resistance"] = "Жалюгідний Опір", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh ["Per-Hog Ammo"] = "Боєприпаси на їжака", +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1456,6 +1614,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1475,6 +1634,7 @@ -- ["Please wait …"] = "", -- WxW -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["--- Points ---"] = "", -- Battalion +-- ["--- Points Mode ---"] = "", -- Battalion -- ["point(s)"] = "", -- TargetPractice, Mutant ["points"] = "очок", -- Control, CTF_Blizzard, Basic_Training_-_Bazooka, Basic_Training_-_Shotgun, Basic_Training_-_Sniper_Rifle -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 @@ -1484,7 +1644,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1511,10 +1674,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["Racer"] = "", -- Racer -- ["Racer tool"] = "", -- Racer @@ -1532,6 +1698,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1540,10 +1707,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1552,14 +1723,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = " - Поверніть ворожий прапор на свою базу щоб заробити очко | - Виграє команда з трьома очками | - Ви можете заробити очко лише коли ваш прапор на вашій базі | - Їжак покине прапор якщо потоне чи буде вбитий | - Покинутий прапор можна повернути або захопити знов | - Їжаки відновлюються після смерті", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1571,6 +1745,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1581,6 +1756,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1595,6 +1772,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1618,22 +1796,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1651,9 +1833,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1662,15 +1853,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1701,9 +1896,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode ["Sinky"] = "Любимчик", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1718,6 +1920,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1726,6 +1929,7 @@ ["Sniper Training"] = "Снайперське тренування", -- ["Sniperz"] = "", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1735,6 +1939,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1758,6 +1963,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1779,6 +1985,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1813,7 +2020,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1862,12 +2072,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies ["Switched to "] = "Перейшов до ", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1884,9 +2101,11 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- +-- ["Team %d"] = "", -- SimpleMission ["Team %d: "] = "Команда %d: ", -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor @@ -1903,7 +2122,10 @@ -- ["Teleportation Node"] = "", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil ["Thanks!"] = "Дякую!", -- A_Classic_Fairytale:family @@ -1931,6 +2153,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1949,11 +2172,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "Ворог ховається на он тій качечці!", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1983,17 +2210,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant ["The Nameless One"] = "Безіменний", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2007,16 +2240,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion ["THE SPECIALISTS"] = "СПЕЦІАЛІСТИ", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2033,6 +2271,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2048,17 +2287,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2066,6 +2310,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos ["This rain is really something..."] = "Цей дощ дійсно дещо...", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2074,14 +2319,19 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2089,10 +2339,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2124,6 +2382,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2133,14 +2392,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope ["T_T"] = "Ааааа!!!", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2157,6 +2421,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2171,9 +2436,11 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- ["Unit 835"] = "Об'єкт 835", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united ["Unit"] = "Модуль", +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree ["Unlimited Attacks"] = "Необмежені Атаки", -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2181,10 +2448,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood ["User Challenge"] = "Дуель між користувачами", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2195,8 +2464,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2208,6 +2479,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "Скористайся мотузкою щоб якнайшвидше досягнути фінішу!", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2230,6 +2502,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2239,8 +2514,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2275,6 +2553,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2283,6 +2562,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2290,12 +2570,15 @@ -- ["Welcome to the meteorite!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope ["Well done."] = "Чудова робота.", -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2346,10 +2629,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2379,15 +2664,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies ["Will this ever end?"] = "Це коли-небудь закінчиться?", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2423,18 +2711,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2462,13 +2754,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2521,6 +2819,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2540,6 +2839,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2567,11 +2867,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2583,6 +2885,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2592,6 +2895,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2601,6 +2905,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/uk.txt --- a/share/hedgewars/Data/Locale/uk.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/uk.txt Sun Jun 10 19:12:26 2018 +0200 @@ -65,7 +65,7 @@ 01:02=Перемогла команда %1! 01:03=Гучність %1% 01:04=Пауза -01:05=Точно вийти (Y/Esc)? +01:05=Точно вийти (%1/%2)? 01:06=Раптова смерть! 01:07=Залишилось %1 01:08=Пальне diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/zh_CN.lua --- a/share/hedgewars/Data/Locale/zh_CN.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/zh_CN.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,8 @@ -- ["..."] = "", -- ["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 +-- ["10 weapon schemes"] = "", -- Continental_supplies +-- ["1-5, Precise + 1-4: Choose structure type"] = "", -- Construction_Mode -- ["+1 barrel!"] = "", -- Tumbler -- ["%.1f seconds were remaining."] = "", -- Basic_Training_-_Bazooka -- ["%.1fs"] = "", -- Racer, TechRacer @@ -25,6 +27,7 @@ -- ["Ace"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge -- ["Achievement gotten: %s"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_That_Sinking_Feeling, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, Basic_Training_-_Rope, Tumbler -- ["A Classic Fairytale"] = "", -- A_Classic_Fairytale:first_blood +-- ["A crate critical to this mission has been destroyed."] = "", -- SimpleMission -- ["Actually, you aren't worthy of life! Take this..."] = "", -- A_Classic_Fairytale:shadow -- ["A cy-what?"] = "", -- A_Classic_Fairytale:enemy -- ["Add %d"] = "", -- HedgeEditor @@ -36,6 +39,7 @@ -- ["After Leaks A Lot betrayed his tribe, he joined the cannibals..."] = "", -- A_Classic_Fairytale:first_blood -- ["After that incident he went underground and started working on his plan to steal the device."] = "", -- A_Space_Adventure:moon02 -- ["After the shock caused by the enemy spy, Leaks A Lot and Dense Cloud went hunting to relax."] = "", -- A_Classic_Fairytale:shadow +-- ["After you killed an enemy, you'll lose the weapon that he is named after."] = "", -- A_Space_Adventure:death02 -- ["After you left the moon, my other loyal minions came and resurrected me so I could complete my master plan."] = "", -- A_Space_Adventure:death01 -- ["Again with the 'cannibals' thing!"] = "", -- A_Classic_Fairytale:enemy -- ["A Hedgewars minigame"] = "", -- Capture_the_Flag @@ -43,8 +47,10 @@ -- ["a Hedgewars mini-game"] = "", -- Space_Invasion, The_Specialists -- ["A Hedgewars tag game"] = "", -- Mutant -- ["Ahhh, home, sweet home. Made it in %d seconds."] = "", -- ClimbHome +-- ["Aim at the ceiling and hold [Attack] pressed until the rope attaches."] = "", -- Basic_Training_-_Rope -- ["Aiming practice"] = "", -- TargetPractice ["Aiming Practice"] = "瞄准练习", --火箭筒、霰弹枪、狙击枪 +-- ["Aim: [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Rope -- ["Air Attack"] = "", -- Construction_Mode -- ["Air General"] = "", -- Battalion -- ["Air Mine Placement Mode"] = "", -- HedgeEditor @@ -67,6 +73,7 @@ -- ["All this to please our beloved “elders” … hick …"] = "", -- A_Classic_Fairytale:queen -- ["All walls touched!"] = "", -- WxW -- ["All you do is take long walks when everyone else works."] = "", -- A_Classic_Fairytale:queen +-- ["All your hedgehogs must be above the marked height!"] = "", -- A_Classic_Fairytale:family -- ["Also, you should know that the only place where you can fly is the left-most part of this area."] = "", -- A_Space_Adventure:fruit01 -- ["Always being considered weak and fragile."] = "", -- A_Classic_Fairytale:queen -- ["Amazing! I was never beaten in a race before!"] = "", -- A_Space_Adventure:moon02 @@ -75,6 +82,7 @@ -- ["Ammo is reset at the end of your turn."] = "", -- ["Ammo Limit: Hogs can’t have more than 1 ammo per type"] = "", -- Highlander -- ["Ammo Maniac! +5 points!"] = "", -- Space_Invasion +-- ["A mysterious Box"] = "", -- Basic_Training_-_Movement -- ["And how am I alive?!"] = "", -- A_Classic_Fairytale:enemy -- ["And I just forgot the checkpoint of my main mission. Great, just great!"] = "", -- A_Space_Adventure:cosmos -- ["… and I think they are up to something. Something bad!"] = "", -- A_Classic_Fairytale:epil @@ -88,8 +96,10 @@ -- ["And what do they do in the meantime? Nothing!"] = "", -- A_Classic_Fairytale:queen -- ["And where's all the weed?"] = "", -- A_Classic_Fairytale:dragon -- ["And you believed me? Oh, god, that's cute!"] = "", -- A_Classic_Fairytale:journey +-- ["And you need to move to the top!"] = "", -- Basic_Training_-_Movement -- ["An experimental (and buggy!) editing tool for missions and more"] = "", -- HedgeEditor -- ["Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"] = "", -- Continental_supplies +-- ["An object has been destroyed before it took enough damage."] = "", -- SimpleMission -- ["Antarctica"] = "", -- Continental_supplies -- ["Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."] = "", -- Continental_supplies -- ["Anti-Gravity Device Part (+1)"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 @@ -109,6 +119,7 @@ -- ["Ash"] = "", -- -- ["A Shoppa minigame"] = "", -- WxW -- ["Asia"] = "", -- Continental_supplies +-- ["As long you don't touch the ground, you can|re-use the same rope as often as you like."] = "", -- Basic_Training_-_Rope -- ["A smuggler! Prepare for battle"] = "", -- A_Space_Adventure:desert01 -- ["A Space Adventure"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["Assault Team"] = "", -- A_Classic_Fairytale:backstab @@ -118,6 +129,7 @@ -- ["As you are more experienced, I want you to lead them to battle."] = "", -- A_Space_Adventure:fruit01 -- ["As you can see I have survived our last encounter and I had time to plot my master plan!"] = "", -- A_Space_Adventure:death01 -- ["As you can see, there is no way to get on the other side!"] = "", -- A_Classic_Fairytale:dragon +-- ["As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage."] = "", -- Basic_Training_-_Movement -- ["As you've seen, the dropped grenade roughly fell into your flying direction."] = "", -- Basic_Training_-_Flying_Saucer -- ["Athlete"] = "", -- Battalion -- ["Attack: Activate"] = "", -- Racer @@ -125,6 +137,7 @@ -- ["Attack From Rope: %s"] = "", -- WxW -- ["Attack From Rope: You may only attack from a rope."] = "", -- WxW -- ["Attack rule: %s"] = "", -- WxW +-- ["Attack: [Space]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Attack the assassins before they attack back"] = "", -- A_Space_Adventure:fruit02 -- ["Attack: Throw ball"] = "", -- Knockball -- ["At the end of the game your health was %d."] = "", -- A_Space_Adventure:ice01 @@ -133,10 +146,15 @@ -- ["Available points remaining: "] = "", -- ["Average pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Avoid bazookas, red and blue invaders."] = "", -- Space_Invasion +-- ["Avoid the mines!"] = "", -- Basic_Training_-_Rope +-- ["Axes"] = "", -- Bazooka_Battlefield -- ["Aye! Fellow! Let me exit this chamber of doom!"] = "", -- A_Classic_Fairytale:epil -- ["Back Breaker"] = "", -- A_Classic_Fairytale:backstab -- ["Back in the village, after telling the villagers about the threat..."] = "", -- A_Classic_Fairytale:united -- ["Back in the village, the two tribes finally started to live in harmony."] = "", -- A_Classic_Fairytale:epil +-- ["Back Jump: [Backspace] ×2"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (1/2)"] = "", -- Basic_Training_-_Movement +-- ["Back Jumping (2/2)"] = "", -- Basic_Training_-_Movement -- ["Backstab"] = "", -- A_Classic_Fairytale:backstab -- ["Bacon"] = "", -- -- ["Bad Guy"] = "", -- User_Mission_-_The_Great_Escape @@ -151,17 +169,26 @@ -- ["Barrel Launcher selected!"] = "", -- Tumbler -- ["Barrel Placement Mode"] = "", -- Construction_Mode -- ["BARREL PLACEMENT MODE"] = "", -- HedgeEditor +-- ["Barrier unlocked!"] = "", -- Basic_Training_-_Rope -- ["Baseballbat"] = "", -- Continental_supplies -- ["Baseball Bat with Ball"] = "", -- Knockball -- ["Base damage has been modified to 12 per shot."] = "", -- Battalion -- ["Based on what you've learned, destroy the target on the girder and as always, land safely!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Basically this is a combination of diving and launching."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Basic Bazooka Training"] = "", -- Basic_Training_-_Bazooka +-- ["Basic Grenade Training"] = "", -- Basic_Training_-_Grenade +-- ["Basic Movement Training"] = "", -- Basic_Training_-_Movement +-- ["Basic Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Basic Training"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Basketball"] = "", -- Basketball ["Bat balls at your enemies and|push them into the sea!"] = "发射棒球将敌人击打入水", -- ["Battalion"] = "", -- Battalion -- ["Battle Starts Now!"] = "", -- A_Space_Adventure:fruit01 -- ["Batty"] = "", -- ["Bat your opponents through the|baskets and out of the map!"] = "把敌人击出场地——对准栏框", +-- ["Bazooka Battlefield"] = "", -- Bazooka_Battlefield +-- ["Bazookas are influenced by wind."] = "", -- Basic_Training_-_Bazooka +-- ["Bazooka Team"] = "", -- Basic_Training_-_Bazooka ["Bazooka Training"] = "火箭筒训练", -- ["Bearded Beast"] = "", -- -- ["Be careful, the future of Hogera is in your hands!"] = "", -- A_Space_Adventure:cosmos @@ -174,6 +201,7 @@ -- ["Besides, why would I choose certain death?"] = "", -- A_Classic_Fairytale:queen ["Best laps per team: "] = "每一队最佳速度:", -- ["Best team times: "] = "", -- Racer, TechRacer +-- ["Better get yourself another health crate to heal your wounds."] = "", -- Basic_Training_-_Movement -- ["Better luck next time!"] = "", -- ClimbHome -- ["Beware, any damage taken will stay until you complete the moon's main mission"] = "", -- A_Space_Adventure:cosmos -- ["Beware of mines: They explode after 3 seconds."] = "", -- A_Classic_Fairytale:journey @@ -211,6 +239,8 @@ -- ["Both Barrels"] = "", -- -- ["Both your hedgehogs must survive."] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Bottom Feeder"] = "", -- Mutant +-- ["Bounciness"] = "", -- Basic_Training_-_Grenade +-- ["Bouncing Bomb"] = "", -- Basic_Training_-_Bazooka -- ["Bouncy Girder: [4]"] = "", -- HedgeEditor -- ["Bouncy Land: [4]"] = "", -- HedgeEditor -- ["Bouncy Land"] = "", -- HedgeEditor @@ -232,6 +262,7 @@ -- ["Bullseye"] = "", -- A_Classic_Fairytale:dragon -- ["Bunny"] = "", -- -- ["burp"] = "", -- +-- ["Bushes"] = "", -- Bazooka_Battlefield -- ["Bushi"] = "", -- -- ["Buster"] = "", -- -- ["But it proved to be no easy task!"] = "", -- A_Classic_Fairytale:dragon @@ -247,6 +278,8 @@ -- ["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 -- ["But you saved me!"] = "", -- A_Classic_Fairytale:queen +-- ["By the way, not only bazookas will bounce on water, but also greandes and many other things."] = "", -- Basic_Training_-_Bazooka +-- ["By the way, you can turn around without walking|by holding down Precise when you hit a walk control."] = "", -- Basic_Training_-_Movement -- ["C-1"] = "", -- portal -- ["C-2"] = "", -- portal -- ["Callahan"] = "", -- @@ -255,9 +288,11 @@ -- ["Cannibal Sentry"] = "", -- A_Classic_Fairytale:journey -- ["Cannibals?! You're the cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Can you do it?"] = "", -- A_Space_Adventure:ice02 +-- ["Cappy"] = "", -- Basic_Training_-_Movement -- ["Captain Lime"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 -- ["Captain Lime offered his help if you assist him in battle."] = "", -- A_Space_Adventure:fruit01 -- ["Capture The Flag"] = "", -- Capture_the_Flag, CTF_Blizzard +-- ["Careful, hedgehogs can't swim!"] = "", -- Basic_Training_-_Movement -- ["Careless"] = "", -- ["Carol"] = "", -- A_Classic_Fairytale:family -- ["Challenge completed!"] = "", -- User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa @@ -267,6 +302,7 @@ -- ["Challenge over!"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Challenge"] = "", -- User_Mission_-_RCPlane_Challenge, User_Mission_-_Rope_Knock_Challenge, User_Mission_-_That_Sinking_Feeling, SpeedShoppa, ClimbHome -- ["Change Content: [Left], [Right]"] = "", -- HedgeEditor +-- ["Change direction: [Left]/[Right]"] = "", -- Basic_Training_-_Grenade -- ["Change Health Boost: [Left], [Right]"] = "", -- HedgeEditor -- ["Change Health: [Left], [Right]"] = "", -- HedgeEditor -- ["Change modification mode: [Left], [Right]"] = "", -- HedgeEditor @@ -311,6 +347,8 @@ -- ["Collect the first crate to begin!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Collect the freezer and get the device part from Thanta."] = "", -- A_Space_Adventure:ice01 -- ["Collect the green and purple invaders."] = "", -- Space_Invasion +-- ["Collect the remaining crates to complete the training."] = "", -- Basic_Training_-_Movement +-- ["Collect the weapon crate and drop|a grenade from rope to destroy the barrels."] = "", -- Basic_Training_-_Rope -- ["Collect the weapon crate at the left coast!"] = "", -- A_Classic_Fairytale:journey -- ["Color Squad"] = "", -- -- ["Come closer and die! … burp …"] = "", -- A_Classic_Fairytale:queen @@ -319,6 +357,7 @@ -- ["Commander"] = "", -- HedgeEditor -- ["Compete to use as few planes as possible!"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Complete all main and side missions to complete the spacetrip mission."] = "", -- A_Space_Adventure:cosmos +-- ["Complete the obstacle course."] = "", -- Basic_Training_-_Movement -- ["Complete the remaining side missions to complete this mission."] = "", -- A_Space_Adventure:cosmos -- ["Complete the track as fast as you can!"] = "", -- ["Completion time: %.2fs"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -331,6 +370,7 @@ -- ["Congratulations, you are the best!"] = "", -- A_Space_Adventure:desert03 -- ["Congratulations, you are the fastest!"] = "", -- A_Space_Adventure:moon02 -- ["Congratulations, you collected the device part!"] = "", -- A_Space_Adventure:ice01 +-- ["Congratulations! You have completed the obstacle course!"] = "", -- Basic_Training_-_Movement -- ["Congratulations! You have destroyed all targets within the time."] = "", -- TargetPractice -- ["Congratulations, you have saved Hogera!"] = "", -- A_Space_Adventure:final -- ["Congratulations! You have truly mastered this challenge! Don't forget to save the demo."] = "", -- User_Mission_-_RCPlane_Challenge @@ -355,6 +395,8 @@ -- ["Corpsemonger"] = "", -- A_Classic_Fairytale:shadow -- ["Corpse Thrower"] = "", -- A_Classic_Fairytale:epil -- ["Cost"] = "", -- Construction_Mode +-- ["Cost: %d"] = "", -- Construction_Mode +-- ["Cotton Needer"] = "", -- Mutant -- ["Count Hogula"] = "", -- -- ["Coward"] = "", -- A_Classic_Fairytale:queen -- ["Crate Before Attack: %s"] = "", -- WxW @@ -371,6 +413,7 @@ -- ["Crazy Runner"] = "", -- A_Space_Adventure:moon02 -- ["Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"] = "", -- Continental_supplies -- ["CTF_Blizzard"] = "", -- CTF_Blizzard +-- ["Cursor: Build structure"] = "", -- Construction_Mode -- ["Cursor: Mode action"] = "", -- HedgeEditor -- ["|Cursor: Place crate"] = "", -- Construction_Mode -- ["Cursor: Place waypoint"] = "", -- Racer @@ -388,6 +431,9 @@ -- ["+%d"] = "", -- Battalion -- ["%d crate(s) remaining"] = "", -- SpeedShoppa -- ["%d damage was dealt in this game."] = "", -- Mutant +-- ["%d / %d"] = "", -- Battalion +-- ["%d | %d"] = "", -- Mutant +-- ["%d/%d"] = "", -- SpeedShoppa -- ["Deadly Grape"] = "", -- A_Space_Adventure:fruit02 -- ["Deadweight"] = "", -- ["Deer"] = "", -- @@ -396,6 +442,7 @@ -- ["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 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 -- ["Defeat the enemy!"] = "", -- A_Classic_Fairytale:queen -- ["Delete Waypoint"] = "", -- HedgeEditor @@ -410,9 +457,13 @@ -- ["Depleted Kamikaze! +5 points!"] = "", -- Space_Invasion -- ["Derp"] = "", -- User_Mission_-_Nobody_Laugh -- ["Desert Storm"] = "", -- +-- ["Destroy all targets with no more than 10 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all targets with no more than 5 bazookas."] = "", -- Basic_Training_-_Bazooka +-- ["Destroy all the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Destroyer of planes"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Destroy him, Leaks A Lot! He is responsible for the deaths of many of us!"] = "", -- A_Classic_Fairytale:first_blood -- ["Destroy invaders and collect bonuses to score points."] = "", -- Space_Invasion +-- ["Destroy the targets!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["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 -- ["+%d flamer fuel!"] = "", -- Tumbler @@ -450,6 +501,8 @@ -- ["Don't destroy the device crate!"] = "", -- A_Space_Adventure:desert01 -- ["Don't eliminate Captain Lime before collecting the last crate!"] = "", -- A_Space_Adventure:fruit02 -- ["Don't hit me, you fools!"] = "", -- A_Space_Adventure:moon01 +-- ["Don't hit yourself!"] = "", -- Basic_Training_-_Bazooka +-- ["Don't touch the flames!"] = "", -- ClimbHome -- ["Don't you dare harming our tribe!"] = "", -- A_Classic_Fairytale:queen -- ["Double Kill!"] = "", -- ["Double kill!"] = "", -- Mutant @@ -476,6 +529,7 @@ -- ["Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"] = "", -- Continental_supplies -- ["- Dropped flags may be returned or recaptured"] = "", -- Capture_the_Flag -- ["Dropping a weapon while in water would just drown it, but launching one would work."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Drop weapon (while on rope): [Long Jump]"] = "", -- Basic_Training_-_Rope -- ["Drowner"] = "", -- ["Dr. Parkinson"] = "", -- -- ["Drunk greenhorn"] = "", -- User_Mission_-_RCPlane_Challenge @@ -525,6 +579,7 @@ -- ["Eliminate the enemy."] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh -- ["Eliminate Unit 3378."] = "", -- User_Mission_-_Teamwork -- ["Eliminate WatchBot 4000."] = "", -- User_Mission_-_Teamwork_2 +-- ["Eliminate your captor."] = "", -- User_Mission_-_The_Great_Escape -- ["Elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Elmo"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Enabled"] = "", -- WxW @@ -551,7 +606,10 @@ -- ["Exploring the tunnel"] = "", -- A_Space_Adventure:fruit02 -- ["Eye Chewer"] = "", -- A_Classic_Fairytale:journey -- ["Fair Wind"] = "", -- +-- ["Fall Damage"] = "", -- Basic_Training_-_Movement +-- ["Fallen Angel"] = "", -- Tentacle_Terror -- ["Family Reunion"] = "", -- A_Classic_Fairytale:family +-- ["Fastest lap: %.3fs by %s"] = "", -- TrophyRace ["Fastest lap: "] = "最快记录:", ["Feeble Resistance"] = "反抗者", -- ["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 @@ -564,17 +622,23 @@ -- ["Fighting instead of cultivating a beautiful friendship."] = "", -- A_Classic_Fairytale:epil -- ["Fight: Press [Attack]"] = "", -- A_Space_Adventure:fruit01 -- ["Filthy Blue"] = "", -- User_Mission_-_Dangerous_Ducklings +-- ["Final Challenge:"] = "", -- Basic_Training_-_Rope +-- ["Finally! We're out of this hellhole. Now go save the princess, %s!"] = "", -- A_Classic_Fairytale:family -- ["Finally you are here!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:ice01 -- ["Final result"] = "", -- Mutant +-- ["Final Targets"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Final team scores:"] = "", -- Space_Invasion -- ["Find a way to detonate all the explosives and stay alive!"] = "", -- A_Space_Adventure:final -- ["Find your tribe!|Cross the lake!"] = "", -- A_Classic_Fairytale:dragon -- ["Finish this challenge as fast as possible to earn bonus points."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Finish waypoint placement"] = "", -- Racer -- ["Finish your training|Hint: Animations can be skipped with the [Precise] key."] = "", -- A_Classic_Fairytale:first_blood +-- ["Finite Ropes"] = "", -- Basic_Training_-_Rope -- ["Fire: [Precise]"] = "", -- Space_Invasion, Tumbler -- ["First aid kits?!"] = "", -- A_Classic_Fairytale:united -- ["First Blood"] = "", -- A_Classic_Fairytale:first_blood +-- ["- First clan to capture the flag wins"] = "", -- Capture_the_Flag +-- ["- First clan to score %d captures wins"] = "", -- Capture_the_Flag -- ["First killer will mutate"] = "", -- Mutant -- ["First Steps"] = "", -- A_Classic_Fairytale:first_blood -- ["- First team to capture the flag wins"] = "", -- Capture_the_Flag @@ -593,6 +657,7 @@ -- ["Flying Saucer Training"] = "", -- Basic_Training_-_Flying_Saucer -- ["Fly into space to fight off the invaders with barrels!"] = "", -- Space_Invasion -- ["Fly to the meteorite and detonate the explosives"] = "", -- A_Space_Adventure:cosmos +-- ["For the next crate, you have to do back jumps."] = "", -- Basic_Training_-_Movement -- ["Four Eyes"] = "", -- -- ["Frankie"] = "", -- -- ["Frank"] = "", -- User_Mission_-_Nobody_Laugh @@ -636,11 +701,16 @@ -- ["Get ready to fight!"] = "", -- A_Space_Adventure:moon01 -- ["Get that crate!"] = "", -- A_Classic_Fairytale:first_blood -- ["Get the crate on the other side of the island!|"] = "", -- A_Classic_Fairytale:journey +-- ["Get the crate on the other side of the island."] = "", -- A_Classic_Fairytale:journey +-- ["Get the final crate to the right to complete the training."] = "", -- Basic_Training_-_Movement -- ["Get the highest score to win."] = "", -- Space_Invasion +-- ["Get the next crate by jumping over the abyss."] = "", -- Basic_Training_-_Movement -- ["Getting ready"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:desert01, A_Space_Adventure:desert02, A_Space_Adventure:ice01, A_Space_Adventure:ice02, A_Space_Adventure:moon01 +-- ["Getting Started"] = "", -- Basic_Training_-_Rope -- ["Getting to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Get to the crate using your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Get to the target using your rope!"] = "", -- Basic_Training_-_Rope +-- ["Get your teammates out of their natural prison and save the princess!"] = "", -- A_Classic_Fairytale:family -- ["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 -- ["Giggles"] = "", -- -- ["Gimme Bones"] = "", -- A_Classic_Fairytale:backstab @@ -654,6 +724,7 @@ -- ["Glassy"] = "", -- -- ["Goal Definition Mode"] = "", -- HedgeEditor -- ["GOAL DEFINITION MODE"] = "", -- HedgeEditor +-- ["Goal: Score %d points or more to win!"] = "", -- Mutant -- ["Go and collect the crate"] = "", -- A_Space_Adventure:cosmos -- ["Godai"] = "", -- -- ["Go down and save these PAotH hogs!"] = "", -- A_Space_Adventure:moon01 @@ -667,11 +738,13 @@ -- ["Good idea, they'll never find us there!"] = "", -- A_Classic_Fairytale:united -- ["Good job!"] = "", -- Basic_Training_-_Flying_Saucer, Basic_Training_-_Rope -- ["Good job! Defeat the rest of the aliens!"] = "", -- A_Classic_Fairytale:queen +-- ["Good job! Now destroy the final targets to finish the training."] = "", -- Basic_Training_-_Grenade -- ["Good luck!"] = "", -- A_Space_Adventure:desert01, A_Space_Adventure:fruit02 -- ["Good luck...or else!"] = "", -- A_Classic_Fairytale:journey ["Good luck out there!"] = "祝好运", -- ["Good so far!"] = "", -- ["Good to go!"] = "", +-- ["Good! You now control Cappy."] = "", -- Basic_Training_-_Movement -- ["Go on top of the flower"] = "", -- A_Classic_Fairytale:first_blood -- ["Go, quick!"] = "", -- A_Classic_Fairytale:backstab -- ["Gorkij"] = "", -- A_Classic_Fairytale:journey @@ -681,12 +754,14 @@ -- ["GOTCHA!"] = "", -- ["Go to Thanta and get the device part!"] = "", -- A_Space_Adventure:ice01 -- ["Go to the surface!"] = "", -- A_Space_Adventure:fruit02 +-- ["Go to the target."] = "", -- Basic_Training_-_Rope -- ["Go to the upper platform and get the weapons in the crates!"] = "", -- A_Space_Adventure:moon01 -- ["Got the saucer!"] = "", -- A_Space_Adventure:cosmos -- ["Got to go back."] = "", -- A_Space_Adventure:cosmos -- ["Got you? You're acting weird."] = "", -- A_Classic_Fairytale:queen -- ["Grab mines/barrels: [High jump]"] = "", -- Tumbler -- ["Gravity: 100%"] = "", -- Gravity +-- ["Great!"] = "", -- Basic_Training_-_Rope -- ["Great choice, Steve! Mind if I call you that?"] = "", -- A_Classic_Fairytale:shadow -- ["Great! Let’s kill all these enemies, using portals."] = "", -- portal -- ["Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"] = "", -- Basic_Training_-_Rope @@ -705,6 +780,9 @@ -- ["Greetings, %s!"] = "", -- A_Classic_Fairytale:dragon -- ["Greg"] = "", -- User_Mission_-_Teamwork_2, User_Mission_-_Teamwork -- ["Grenade Group"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard +-- ["Grenades explode after 1 to 5 seconds (you decide)."] = "", -- Basic_Training_-_Grenade +-- ["Grenades with high bounciness bounce a lot and behave chaotic."] = "", -- Basic_Training_-_Grenade +-- ["Grenade Team"] = "", -- Basic_Training_-_Grenade -- ["Grenade Training"] = "", -- Basic_Training_-_Grenade -- ["Grenadiers"] = "", -- Basic_Training_-_Grenade -- ["Grenadier"] = "", -- Target_Practice_-_Grenade_easy, Target_Practice_-_Grenade_hard, HedgeEditor @@ -737,6 +815,8 @@ -- ["H confirmed that there isn't such a PAotH activity logged."] = "", -- A_Space_Adventure:desert01 -- ["Healing Station"] = "", -- Construction_Mode -- ["Healing Station: Heals nearby hogs."] = "", -- Construction_Mode +-- ["Health and Mission Panel"] = "", -- Basic_Training_-_Movement +-- ["Health"] = "", -- Basic_Training_-_Movement -- ["Health Crate Placement Mode"] = "", -- Construction_Mode -- ["HEALTH CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Health: %d"] = "", -- HedgeEditor @@ -744,6 +824,7 @@ -- ["Health Modification Mode"] = "", -- HedgeEditor -- ["HEALTH MODIFICATION MODE"] = "", -- HedgeEditor -- ["Heartful"] = "", -- Challenge_-_Speed_Shoppa_-_Hedgelove +-- ["Heavenly Defense"] = "", -- Tentacle_Terror -- ["Heavy"] = "", -- ["Heavy Cannfantry"] = "", -- A_Classic_Fairytale:united -- ["Heckles"] = "", -- @@ -781,11 +862,13 @@ -- ["Here...pick your weapon!"] = "", -- A_Classic_Fairytale:first_blood -- ["Here! Take it!"] = "", -- A_Space_Adventure:ice01 -- ["Here we go!"] = "", -- A_Space_Adventure:moon01 +-- ["Here you will find the current mission instructions."] = "", -- Basic_Training_-_Movement -- ["Here you will learn how to fly the flying saucer|and get so learn some cool tricks."] = "", -- Basic_Training_-_Flying_Saucer -- ["Hero Team"] = "", -- User_Mission_-_The_Great_Escape -- ["He's so brave..."] = "", -- A_Classic_Fairytale:first_blood -- ["He was the lab assistant of Dr. Goodhogan, the inventor of the anti-gravity device."] = "", -- A_Space_Adventure:moon02 -- ["He won't be selling us out anymore!"] = "", -- A_Classic_Fairytale:backstab +-- ["Hey, don't forget us! We still need to climb up!"] = "", -- A_Classic_Fairytale:family -- ["Hey, guys!"] = "", -- A_Classic_Fairytale:backstab -- ["Hey guys!"] = "", -- A_Classic_Fairytale:united -- ["Hey, Hog Solo! Finally you have come!"] = "", -- A_Space_Adventure:moon01 @@ -794,21 +877,38 @@ -- ["Hey! This is cheating!"] = "", -- A_Classic_Fairytale:journey -- ["Hidden"] = "", -- portal -- ["High Gravity: Gravity is %i%%"] = "", -- Gravity +-- ["High Jump: [Backspace]"] = "", -- Basic_Training_-_Movement -- ["--- Highland ---"] = "", -- Battalion -- ["Highlander: Eliminate hogs to take their weapons"] = "", -- Highlander -- ["Highland: Hogs get %d random weapons from their pool"] = "", -- Battalion +-- ["--- Highland Mode ---"] = "", -- Battalion +-- ["High Target"] = "", -- Basic_Training_-_Bazooka -- ["Hightime"] = "", -- A_Classic_Fairytale:first_blood -- ["Hightower"] = "", -- +-- ["Hill Guard"] = "", -- Bazooka_Battlefield -- ["Hi! Nice to meet you."] = "", -- A_Space_Adventure:ice01 -- ["--- Hint ---"] = "", -- Battalion +-- ["Hint: Don't stand too close at the wall before you jump!"] = "", -- Basic_Training_-_Movement -- ["Hint: Double Jump - Press [Backspace] twice"] = "", -- A_Classic_Fairytale:first_blood +-- ["Hint: Drilling holes should solve everything."] = "", -- A_Classic_Fairytale:family +-- ["Hint: Hit “High Jump” again when you're close to the highest point of a high jump."] = "", -- Basic_Training_-_Movement +-- ["Hint: If this mission panel disappears, you can|see it again by hitting the Pause or Quit key."] = "", -- Basic_Training_-_Movement +-- ["Hint: It might be a good idea to place a girder before starting to drill. Just saying."] = "", -- A_Classic_Fairytale:family +-- ["Hint: It might be easier if you vary the angle only slightly."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Kills won't transfer a hog's pool to the killer's pool"] = "", -- Battalion +-- ["Hint: Launch the bazooka horizontally at full power."] = "", -- Basic_Training_-_Bazooka -- ["Hint: Press [Esc] to review the mission texts."] = "", -- A_Classic_Fairytale:first_blood -- ["Hint: Select the blow torch, aim and press [Fire]. Press [Fire] again to stop."] = "", -- A_Classic_Fairytale:journey -- ["Hint: Select the low gravity and press [Fire]."] = "", -- A_Classic_Fairytale:journey +-- ["Hint: %s needs to get really close to the princess!"] = "", -- A_Classic_Fairytale:family +-- ["Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."] = "", -- Basic_Training_-_Rope +-- ["Hint: Use the flower for orientation."] = "", -- Basic_Training_-_Movement +-- ["Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."] = "", -- Basic_Training_-_Rope -- ["Hint: you might want to stay out of sight and take all the crates...|"] = "", -- 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 -- ["hits"] = "", -- Basic_Training_-_Bazooka +-- ["Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!"] = "", -- Basic_Training_-_Movement -- ["Hmm … it's going slower than expected."] = "", -- A_Classic_Fairytale:queen -- ["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 @@ -823,6 +923,7 @@ -- ["Hog D"] = "", -- A_Space_Adventure:fruit03 -- ["Hog decar"] = "", -- A_Space_Adventure:fruit03 -- ["Hog dertien"] = "", -- A_Space_Adventure:fruit03 +-- ["Hog %d"] = "", -- SimpleMission -- ["Hog EOF"] = "", -- A_Space_Adventure:fruit03 -- ["Hogera is definitely the last planet I saved!"] = "", -- A_Space_Adventure:final -- ["Hogera is safe!"] = "", -- A_Space_Adventure:final @@ -855,6 +956,8 @@ -- ["- Hogs will be revived"] = "", -- Capture_the_Flag -- ["- Hogs will drop the flag when killed"] = "", -- Capture_the_Flag -- ["Hog two"] = "", -- A_Space_Adventure:fruit03 +-- ["Hold [Attack] to attach the rope."] = "", -- Basic_Training_-_Rope +-- ["Hold the Attack key pressed for more power."] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Holy shit!"] = "", -- Mutant -- ["Homing Bee"] = "", -- Construction_Mode -- ["Honda"] = "", -- @@ -878,6 +981,7 @@ -- ["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 -- ["However, the army of Yellow Watermelons is about to attack any moment now."] = "", -- A_Space_Adventure:fruit01 +-- ["How to Rope"] = "", -- Basic_Training_-_Rope -- ["How would you like being discriminated against?"] = "", -- A_Classic_Fairytale:queen -- ["Huh?"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:queen ["Hunter"] = "猎人", --Bazooka, Shotgun, SniperRifle @@ -896,12 +1000,14 @@ -- ["I can't believe what I'm hearing!"] = "", -- A_Classic_Fairytale:backstab -- ["I can't let you go further because …"] = "", -- A_Classic_Fairytale:queen -- ["I can't wait any more, I have to save myself!"] = "", -- A_Classic_Fairytale:shadow +-- ["Ice"] = "", -- Basic_Training_-_Movement -- ["Ice Jake"] = "", -- A_Space_Adventure:ice01 -- ["I could just teleport myself there..."] = "", -- A_Classic_Fairytale:family -- ["Icy Girder: [3]"] = "", -- HedgeEditor -- ["Icy Land: [3]"] = "", -- HedgeEditor -- ["Icy Land"] = "", -- HedgeEditor -- ["I'd better get going myself."] = "", -- A_Classic_Fairytale:journey +-- ["Identity Thief"] = "", -- Mutant -- ["I didn't until about a month ago."] = "", -- A_Classic_Fairytale:enemy -- ["I don't care. It's worth a fortune! Good bye, you idiot!"] = "", -- A_Space_Adventure:fruit02 -- ["I don't know how you did that. But good work!|The next one should be easy as cake for you!"] = "", -- Basic_Training_-_Rope @@ -911,6 +1017,7 @@ -- ["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 +-- ["If only one enemy is left, you'll get bonus ammo."] = "", -- A_Space_Adventure:death02 -- ["I forgot that she's the daughter of the chief, too..."] = "", -- A_Classic_Fairytale:backstab -- ["I found it! Hooray!"] = "", -- A_Space_Adventure:desert01 -- ["If some good old explosives were enough to save Hogera …"] = "", -- A_Space_Adventure:final @@ -918,11 +1025,16 @@ -- ["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 don't want to slip away, you have to keep moving!"] = "", -- Basic_Training_-_Movement -- ["If you get stuck, use your Desert Eagle or restart the mission!|"] = "", -- A_Classic_Fairytale:journey +-- ["If you get stuck, use your Desert Eagle or restart the mission!"] = "", -- A_Classic_Fairytale:journey -- ["If you help us you can keep the device if you find it but we'll keep everything else."] = "", -- A_Space_Adventure:fruit02 +-- ["If you hurt an enemy, you'll get one third of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you injure a hedgehog you'll get 35% of the damage dealt."] = "", -- A_Space_Adventure:death02 -- ["If you kill a hedgehog with the respective weapon your health points will be set to 100."] = "", -- A_Space_Adventure:death02 +-- ["If you kill an enemy, your health will be set to 100."] = "", -- A_Space_Adventure:death02 -- ["If you know what I mean..."] = "", -- A_Classic_Fairytale:shadow +-- ["If you miss a shot while trying to|re-attach, your rope is gone, too!"] = "", -- Basic_Training_-_Rope -- ["If you say so..."] = "", -- A_Classic_Fairytale:shadow -- ["If you skip a turn then the turn time left will be added to your next turn."] = "", -- A_Space_Adventure:fruit03 -- ["If you wish to replay, there are other possible endings, too!"] = "", -- A_Classic_Fairytale:epil @@ -972,6 +1084,7 @@ -- ["I'm here to help you rescue her."] = "", -- A_Classic_Fairytale:family -- ["I'm living a dream!"] = "", -- A_Classic_Fairytale:queen -- ["I'm not sure about that!"] = "", -- A_Classic_Fairytale:united +-- ["IMPORTANT: To see the mission panel again, use the quit or pause key."] = "", -- Basic_Training_-_Movement -- ["Impressive...you are still dry as the corpse of a hawk after a week in the desert..."] = "", -- A_Classic_Fairytale:first_blood -- ["%i ms"] = "", -- Gravity -- ["I'm so glad this is finally over!"] = "", -- A_Space_Adventure:final @@ -1005,6 +1118,7 @@ -- ["Interesting! Last time you said you killed a cannibal!"] = "", -- A_Classic_Fairytale:backstab -- ["In the Ice Planet Flying Saucer Stadium ..."] = "", -- A_Space_Adventure:ice02 -- ["In the meantime, take these and return to your \"friend\"!"] = "", -- A_Classic_Fairytale:shadow +-- ["In the stadium, where the best pilots compete ..."] = "", -- A_Space_Adventure:ice02 -- ["In this accident, Professor Hogevil lost all his spines on his head!"] = "", -- A_Space_Adventure:moon02 -- ["In this mission you get %d%% fuel."] = "", -- User_Mission_-_Diver -- ["In this mission you have infinite time."] = "", -- portal @@ -1039,6 +1153,7 @@ -- ["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 +-- ["It needs some practice, but you have infinite lives."] = "", -- Basic_Training_-_Rope -- ["I told you, I just found them."] = "", -- A_Classic_Fairytale:backstab -- ["It only works in teleportation nodes of your own clan."] = "", -- Construction_Mode -- ["It's a good thing SUDDEN DEATH is 99 turns away..."] = "", @@ -1098,6 +1213,7 @@ -- ["Jones"] = "", -- -- ["Judas"] = "", -- A_Classic_Fairytale:backstab -- ["Juicy"] = "", -- +-- ["Jumping"] = "", -- Basic_Training_-_Movement -- ["Jumping is disabled"] = "", -- ["Just kidding, none of you have died!"] = "", -- A_Classic_Fairytale:enemy -- ["Just look at Leaks, may he rest in peace!"] = "", -- A_Classic_Fairytale:queen @@ -1126,6 +1242,7 @@ -- ["--- King ---"] = "", -- Battalion -- ["King"] = "", -- Battalion -- ["King Customer"] = "", -- Challenge_-_Speed_Shoppa_-_ShoppaKing +-- ["--- King Mode ---"] = "", -- Battalion -- ["Knight"] = "", -- Battalion -- ["Knives"] = "", -- -- ["Knockball"] = "", -- Knockball @@ -1140,6 +1257,7 @@ -- ["Last Resort: Having less than 25% base health gives kamikaze"] = "", -- Battalion -- ["Last Target!"] = "", -- ["Last wave in 3 turns"] = "", -- A_Space_Adventure:fruit01 +-- ["Launch some bazookas to destroy the targets!"] = "", -- Basic_Training_-_Bazooka -- ["Leader"] = "", -- A_Classic_Fairytale:enemy -- ["Leaderbot"] = "", -- A_Classic_Fairytale:queen -- ["Lead the Green Bananas to battle and eliminate all the enemies!"] = "", -- A_Space_Adventure:fruit01 @@ -1147,6 +1265,7 @@ -- ["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 +-- ["Leap of Faith"] = "", -- Basic_Training_-_Movement -- ["Led Heart"] = "", -- A_Classic_Fairytale:queen -- ["Lee"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Left and right"] = "", -- WxW @@ -1154,12 +1273,15 @@ -- ["[Left], [Right]: Change between identities."] = "", -- HedgeEditor -- ["[Left], [Right]: Change health value."] = "", -- HedgeEditor -- ["Left/right: Choose crate contents"] = "", -- Construction_Mode +-- ["Left/right: Choose structure type"] = "", -- Construction_Mode -- ["Left/right: Choose structure type|Cursor: Build structure"] = "", -- Construction_Mode +-- ["Left Tong"] = "", -- Bazooka_Battlefield -- ["Legs"] = "", -- -- ["Less tools, more fun"] = "", -- Battalion -- ["Lestat"] = "", -- portal -- ["Let a continent provide your weapons!"] = "", -- Continental_supplies -- ["Let me test your skills a little, will you?"] = "", -- A_Classic_Fairytale:journey +-- ["Let's get started!"] = "", -- Basic_Training_-_Bazooka -- ["Let's go!"] = "", -- A_Space_Adventure:moon02 -- ["Let's go home!"] = "", -- A_Classic_Fairytale:journey -- ["Let's go, %s!"] = "", -- WxW @@ -1173,12 +1295,16 @@ -- ["Level Data Saved!"] = "", -- HedgeEditor -- ["Lightbender"] = "", -- -- ["Light Cannfantry"] = "", -- A_Classic_Fairytale:united +-- ["Limited Ammo"] = "", -- Basic_Training_-_Bazooka -- ["Listen carefully! The bandit leader, Thanta, has recently found a very strange device."] = "", -- A_Space_Adventure:ice01 +-- ["Listen up, maggot!"] = "", -- User_Mission_-_Dangerous_Ducklings ["Listen up, maggot!!"] = "听好,小子!!", -- ["Little did they know that this hunt will mark them forever..."] = "", -- A_Classic_Fairytale:shadow +-- ["Little Obstacle Course"] = "", -- Basic_Training_-_Rope -- ["Lively Lifeguard"] = "", -- ["Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"] = "", -- Continental_supplies -- ["Lonely Hog"] = "", -- ClimbHome +-- ["Long Jump: [Enter]"] = "", -- Basic_Training_-_Movement -- ["Long Live The Queen"] = "", -- A_Classic_Fairytale:queen -- ["Look, boss! There is the target!"] = "", -- A_Space_Adventure:moon01 -- ["Look, I had no choice!"] = "", -- A_Classic_Fairytale:backstab @@ -1187,6 +1313,7 @@ -- ["Looks like the whole world is falling apart!"] = "", -- A_Classic_Fairytale:enemy -- ["Loon"] = "", -- The_Specialists -- ["Loopy"] = "", -- +-- ["Lord Evil"] = "", -- Tentacle_Terror -- ["Losing Condition: Destroy"] = "", -- HedgeEditor -- ["Low Gravity: Gravity is %i%%"] = "", -- Gravity -- ["Loyal Highlander: Eliminate enemy hogs to take their weapons"] = "", -- Highlander @@ -1228,11 +1355,15 @@ -- ["Mine Placement Mode"] = "", -- Construction_Mode -- ["MINE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Mines explode after %d s."] = "", -- Mutant +-- ["Mines time: 0s-5s"] = "", -- SimpleMission -- ["Mines time: 0 seconds"] = "", -- portal, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape, A_Space_Adventure:desert01, A_Space_Adventure:final, A_Space_Adventure:fruit02, A_Space_Adventure:ice01 -- ["Mines time: 1.5 seconds"] = "", -- A_Space_Adventure:death01 +-- ["Mines time: %.1fs"] = "", -- SimpleMission -- ["Mines time: 1 second"] = "", -- User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, A_Space_Adventure:desert02 +-- ["Mines time: %.2fs"] = "", -- SimpleMission -- ["Mines time: 3 seconds"] = "", -- A_Classic_Fairytale:journey -- ["Mines time: 5 seconds"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:journey +-- ["Mines time: %ds"] = "", -- SimpleMission -- ["Mine Strike"] = "", -- Construction_Mode -- ["Minion"] = "", -- A_Space_Adventure:moon01 -- ["Minions"] = "", -- A_Space_Adventure:moon01 @@ -1240,6 +1371,7 @@ ["MISSION FAILED"] = "任务失败", -- User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission failure in %d s"] = "", -- Big_Armory -- ["Mission lost!"] = "", -- Basic_Training_-_Grenade +-- ["Mission Panel"] = "", -- Basic_Training_-_Movement ["MISSION SUCCESSFUL"] = "任务成功", -- User_Mission_-_Diver, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork -- ["Mission won!"] = "", -- Basic_Training_-_Grenade -- ["Mister Pear"] = "", -- A_Space_Adventure:fruit01, A_Space_Adventure:fruit02 @@ -1248,6 +1380,8 @@ -- ["Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, per-hog ammo"] = "", -- Battalion -- ["Modifiers: Unlimited ammo, shared clan ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, per-hog ammo"] = "", -- Battalion +-- ["Modifiers: Unlimited attacks, shared clan ammo"] = "", -- Battalion -- ["Modify Sprite under Cursor: [Left Click]"] = "", -- HedgeEditor -- ["Molly"] = "", -- -- ["Molotov"] = "", -- Continental_supplies @@ -1258,15 +1392,18 @@ -- ["Morris"] = "", -- -- ["Most mines are not active."] = "", -- A_Space_Adventure:desert02 -- ["Most of the destructible terrain in marked with blue color"] = "", -- A_Space_Adventure:desert01 +-- ["Most of the destructible terrain is marked with dashed lines."] = "", -- A_Space_Adventure:desert01 -- ["Most of the time you'll be able to use the freezer only."] = "", -- A_Space_Adventure:ice01 -- ["Movement: [Up], [Down], [Left], [Right]"] = "", -- ["Mr Mango"] = "", -- A_Space_Adventure:fruit01 -- ["Mudkip"] = "", -- -- ["Multi-shot! +15 points!"] = "", -- Space_Invasion +-- ["Multi-Use: You can take and use the same ammo type multiple times in a turn"] = "", -- Highlander -- ["Muriel"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:dragon, A_Classic_Fairytale:family, A_Classic_Fairytale:queen -- ["Muscle Dissolver"] = "", -- A_Classic_Fairytale:shadow -- ["Mushroom Kingdom"] = "", -- -- ["Mutant"] = "", -- Mutant +-- ["My First Bazooka"] = "", -- Basic_Training_-_Bazooka -- ["My flying saucer stopped working!"] = "", -- A_Space_Adventure:ice01 -- ["Nade Boy"] = "", -- Basic_Training_-_Grenade -- ["Nah, probably everyone was just stupid."] = "", -- A_Space_Adventure:final @@ -1309,6 +1446,7 @@ -- ["No...I wonder where they disappeared?!"] = "", -- A_Classic_Fairytale:journey -- ["Nom-Nom"] = "", -- A_Classic_Fairytale:journey -- ["NomNom"] = "", -- A_Classic_Fairytale:united +-- ["No Multi-Use: Once you used an ammo, you can’t take it again in this turn"] = "", -- Highlander -- ["Noo, Thanta has to stay alive!"] = "", -- A_Space_Adventure:ice01 -- ["Nope. It was one fast mole, that's for sure."] = "", -- A_Classic_Fairytale:shadow -- ["No! Please, help me!"] = "", -- A_Classic_Fairytale:journey @@ -1319,11 +1457,14 @@ -- ["Normal Girder: [1]"] = "", -- HedgeEditor -- ["Normal Land: [1]"] = "", -- HedgeEditor -- ["Normal Land"] = "", -- HedgeEditor +-- ["Normally, the mission panel disappears after a few seconds."] = "", -- Basic_Training_-_Movement -- ["Normal Rubber: [1]"] = "", -- HedgeEditor -- ["North America"] = "", -- Continental_supplies -- ["Not being able to fight or hunt."] = "", -- A_Classic_Fairytale:queen -- ["NOT ENOUGH WAYPOINTS"] = "", -- ["Note: Some weapons have a second option (See continent information). Find and use them with the \""] = "", -- Continental_supplies +-- ["Note: Some weapons have a second option (See continent information). Find and use them with the \"%s\" key."] = "", -- Continental_supplies +-- ["Note: This basic training assumes default controls."] = "", -- Basic_Training_-_Movement -- ["Note: We only give you grenades if you stay in your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["Nothing of interest has happened."] = "", -- Space_Invasion -- ["Not now, Fiery Water!"] = "", -- A_Classic_Fairytale:backstab @@ -1338,12 +1479,15 @@ -- ["Now for the supreme discipline of saucer flying, the underwater attack."] = "", -- Basic_Training_-_Flying_Saucer -- ["Now go and don't waste more of my time, you coward!"] = "", -- A_Space_Adventure:fruit01 -- ["Now go and play the menu mission to complete the campaign."] = "", -- A_Space_Adventure:death01 +-- ["Now go to the next crate."] = "", -- Basic_Training_-_Movement -- ["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 -- ["Now I have to climb these trees"] = "", -- A_Space_Adventure:cosmos +-- ["No Wind Influcence"] = "", -- Basic_Training_-_Grenade -- ["Now let's try to drop weapons while flying!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Now listen carefully! Below us there are tunnels that have been created naturally over the years"] = "", -- A_Space_Adventure:desert01 +-- ["Now try to get out of this bounce house|and take the next crate."] = "", -- Basic_Training_-_Movement -- ["Now use it and go to the moon PAotH station to get more fuel!"] = "", -- A_Space_Adventure:cosmos -- ["Now you have the chance to try and claim the place that you deserve among the best."] = "", -- A_Space_Adventure:ice02 -- ["No. You and the rest of the tribe are safer there!"] = "", -- A_Classic_Fairytale:backstab @@ -1351,6 +1495,7 @@ -- ["Objectives"] = "", -- A_Space_Adventure:ice01 -- ["Object Placer"] = "", -- Construction_Mode -- ["Obliterate them!|Hint: You might want to take cover..."] = "", -- A_Classic_Fairytale:shadow +-- ["Obstacle"] = "", -- Basic_Training_-_Rope -- ["Obstacle course"] = "", -- A_Classic_Fairytale:dragon -- ["Of course, but you're … special."] = "", -- A_Classic_Fairytale:epil -- ["Of course I am!"] = "", -- A_Classic_Fairytale:queen @@ -1371,8 +1516,10 @@ -- ["Oh! Please spare me. You can take all my treasures!"] = "", -- A_Space_Adventure:ice01 -- ["Oh, silly me! I forgot that I'm the shaman."] = "", -- A_Classic_Fairytale:backstab -- ["Oh, that. We were just having fun!"] = "", -- A_Classic_Fairytale:queen +-- ["Oh yeah! You sure know how to rope!"] = "", -- Basic_Training_-_Rope -- ["Oh yes! I got the device part! Now it belongs to me alone."] = "", -- A_Space_Adventure:fruit02 -- ["Okay, I'll be extra careful!"] = "", -- A_Space_Adventure:desert01 +-- ["Okay, now destroy the target|using the baseball bat."] = "", -- Basic_Training_-_Rope -- ["Okay then!"] = "", -- A_Space_Adventure:fruit02 -- ["Okay, then you have to go and take some of the weapons we have hidden in case of an emergency!"] = "", -- A_Space_Adventure:moon01 -- ["Old One Eye"] = "", -- @@ -1387,8 +1534,10 @@ -- ["One tribe was peaceful, spending their time hunting and training, enjoying the small pleasures of life..."] = "", -- A_Classic_Fairytale:first_blood -- ["Oneye"] = "", -- portal -- ["Only Hog Solo can be trusted with the crate."] = "", -- A_Space_Adventure:fruit02 +-- ["Only one hog per team allowed! Excess hogs will be removed."] = "", -- Mutant -- ["Only one hog per team allowed! Excess hogs will be removed"] = "", -- Mutant -- ["Only the best pilots can master the following stunts."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Only two clans allowed! Excess hedgehogs will be removed."] = "", -- CTF_Blizzard -- ["On the Ice Planet, where ice rules ..."] = "", -- A_Space_Adventure:ice01 -- ["On the other side of the moon ..."] = "", -- A_Space_Adventure:moon02 -- ["On the Planet of Sand, you have to double check your moves ..."] = "", -- A_Space_Adventure:desert01 @@ -1396,6 +1545,8 @@ -- ["On this map you get infinite fuel."] = "", -- TechRacer -- ["Oops...I dropped them."] = "", -- A_Classic_Fairytale:united -- ["Oops, I've been spotted and I have no weapons! I am doomed!"] = "", -- A_Space_Adventure:moon01 +-- ["Oops! You have selected the wrong hedgehog! Just try again."] = "", -- Basic_Training_-_Movement +-- ["Open ammo menu: [Right click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Open that crate and we will continue!"] = "", -- A_Classic_Fairytale:first_blood ["Opposing Team: "] = "对方队伍", -- ["Orange"] = "", -- @@ -1406,8 +1557,11 @@ -- ["Other kills don't give you points."] = "", -- Mutant -- ["Ouch! That must have hurt. %s (%s) hit the ground with %d damage points."] = "", -- ClimbHome -- ["Ouch! That must have hurt. You mutilated your poor hedgehog hog with %d damage."] = "", -- ClimbHome +-- ["Ouch! You just took fall damage."] = "", -- Basic_Training_-_Movement -- ["Our tribe, our beautiful island!"] = "", -- A_Classic_Fairytale:enemy -- ["Out of ammo!"] = "", -- A_Space_Adventure:desert03, Tumbler +-- ["Out of ammo! Try again!"] = "", -- Basic_Training_-_Bazooka +-- ["Over the Water"] = "", -- Basic_Training_-_Rope -- ["PAotH"] = "", -- A_Space_Adventure:cosmos, A_Space_Adventure:death01, A_Space_Adventure:desert01, A_Space_Adventure:moon01 -- ["PAotH has sent explosives but unfortunately the trigger mechanism seems to be faulty!"] = "", -- A_Space_Adventure:cosmos -- ["Parachute"] = "", -- Continental_supplies @@ -1416,17 +1570,21 @@ ["Pathetic Hog #2"] = "可怜刺猬二号", -- ["Pathetic Resistance"] = "", -- User_Mission_-_Bamboo_Thicket, User_Mission_-_Newton_and_the_Hammock -- ["Paul McHoggy"] = "", -- A_Space_Adventure:ice01, A_Space_Adventure:ice02 +-- ["Pause: [P]"] = "", -- Basic_Training_-_Movement -- ["Penalty: If you violate above rule, you have to skip in the next turn."] = "", -- WxW +-- ["Penguin roar: [Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back]"] = "", -- Continental_supplies -- ["Penguin roar: [Deal 15 damage + 10% 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"] = "", -- ["Per-hog Ammo: Weapons are not shared between hogs"] = "", -- User_Mission_-_Nobody_Laugh +-- ["Personal best: %.3f seconds"] = "", -- A_Space_Adventure:ice02 -- ["Per team weapons"] = "", -- Continental_supplies -- ["Pfew! That was close!"] = "", -- A_Classic_Fairytale:shadow -- ["Phosphat"] = "", -- portal -- ["Physicist"] = "", -- HedgeEditor -- ["Piano Strike"] = "", -- Construction_Mode -- ["Pikachu"] = "", -- +-- ["Pincer Knights"] = "", -- Bazooka_Battlefield -- ["Pings left: %d"] = "", -- Space_Invasion -- ["Pink"] = "", -- -- ["Pirates"] = "", -- @@ -1459,6 +1617,7 @@ -- ["Place Waypoint"] = "", -- HedgeEditor -- ["Place waypoint"] = "", -- Racer -- ["Place weapon crates"] = "", -- HedgeEditor +-- ["- Place your clan flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["- Place your team flag at the end of your first turn"] = "", -- Capture_the_Flag -- ["Planes used: %d"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Planes Used:"] = "", -- User_Mission_-_RCPlane_Challenge @@ -1479,6 +1638,7 @@ -- ["Point Blank Combo! +5 points!"] = "", -- Space_Invasion -- ["points"] = -- ["--- Points ---"] = "", -- Battalion +-- ["--- Points Mode ---"] = "", -- Battalion -- ["point(s)"] = "", -- TargetPractice, Mutant -- ["Poison"] = -- ["Poisonous Apple"] = "", -- A_Space_Adventure:fruit02 @@ -1487,7 +1647,10 @@ -- ["Population"] = "", -- Continental_supplies -- ["Porkey"] = "", -- -- ["Portal hint: one goes to the destination, and one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon +-- ["Portal hint: One goes to the destination, the other one is the entrance.|"] = "", -- A_Classic_Fairytale:dragon -- ["Portal Mind Challenge"] = "", -- portal +-- ["Precise Aim: [Left Shift]"] = "", -- Basic_Training_-_Movement +-- ["Precise Aim: [Left Shift] + [Up]/[Down]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Precise flying"] = "", -- A_Space_Adventure:desert03 -- ["Precise: Remove previous waypoint"] = "", -- Racer -- ["Precise shooting"] = "", -- A_Space_Adventure:fruit03 @@ -1514,10 +1677,13 @@ -- ["Professor Hogevil, then known as James Hogus, worked for PAotH back in my time."] = "", -- A_Space_Adventure:moon02 -- ["Prof. Hogevil"] = "", -- A_Space_Adventure:death01, A_Space_Adventure:moon01 -- ["Pro Killers"] = "", -- Big_Armory +-- ["Protect the King: When the king dies, so does the team"] = "", -- Battalion -- ["Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow +-- ["Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"] = "", -- A_Classic_Fairytale:shadow -- ["Purple"] = "", -- -- ["Pyro"] = "", -- HedgeEditor, The_Specialists -- ["Pyromancer"] = "", -- Battalion +-- ["Quit: [Esc]"] = "", -- Basic_Training_-_Movement -- ["Race complexity limit reached"] = "", -- Racer, TechRacer -- ["RACER"] = "", -- ["Racer"] = "", -- Racer @@ -1535,6 +1701,7 @@ -- ["Razac"] = "", -- portal -- ["RC Plane Challenge"] = "", -- User_Mission_-_RCPlane_Challenge -- ["RC Plane"] = "", -- Construction_Mode +-- ["Reach and destroy the final target to win."] = "", -- Basic_Training_-_Rope -- ["Read the challenge objectives from within the mission for more details."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert03, A_Space_Adventure:fruit03 -- ["Ready for Battle?"] = "", -- A_Space_Adventure:fruit01 -- ["Really?! You thought you could harm me with your little toys?"] = "", -- A_Classic_Fairytale:shadow @@ -1543,10 +1710,14 @@ -- ["Reflector Shield"] = "", -- Construction_Mode -- ["Reflector Shield: Reflects enemy projectiles."] = "", -- Construction_Mode -- ["Regurgitator"] = "", -- A_Classic_Fairytale:backstab +-- ["Reinforcements! +2 of each weapon!"] = "", -- A_Space_Adventure:death02 -- ["Reinforcements"] = "", -- A_Classic_Fairytale:backstab +-- ["Release rope: [Attack]"] = "", -- Basic_Training_-_Rope +-- ["Remember: Hold down [Left Shift] to prevent slipping"] = "", -- Basic_Training_-_Movement -- ["Remember! Many will seek the anti-gravity device! Now go, hurry up!"] = "", -- A_Space_Adventure:cosmos -- ["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 +-- ["Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"] = "", -- A_Classic_Fairytale:shadow -- ["Replenishment: Weapons are restocked on turn start of a new hog"] = "", -- Highlander -- ["Repositioning Mode"] = "", -- HedgeEditor -- ["REPOSITIONING MODE"] = "", -- HedgeEditor @@ -1555,14 +1726,17 @@ -- ["Respawner"] = "", -- Construction_Mode -- ["Respawner: Resurrects dead hogs."] = "", -- Construction_Mode -- ["Resurrector"] = "", -- Construction_Mode +-- ["Retract/Extend rope: [Up]/[Down]"] = "", -- Basic_Training_-_Rope -- ["- Return the enemy flag to your base to score"] = "", -- Capture_the_Flag [" - 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"] = "-带回敌人旗帜得分| -第一支3次夺旗队伍获胜| - 只有旗帜在己方基地才算| -带旗刺猬消逝则旗帜落下| -落下的旗帜使用方式不变| -损失的刺猬瞬间还原", -- ["Return to Leaks A Lot!"] = "", -- A_Classic_Fairytale:shadow -- ["Return to the mission menu by pressing the \"Go back\" button."] = "", -- A_Space_Adventure:cosmos -- ["Return to the Surface"] = "", -- A_Space_Adventure:fruit02 +-- ["Rhombus"] = "", -- Basic_Training_-_Movement -- ["Rider"] = "", -- portal -- ["Rifleman"] = "", -- Battalion -- ["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 +-- ["Right Tong"] = "", -- Bazooka_Battlefield -- ["Ripe"] = "", -- -- ["Robert Yellow Apple"] = "", -- A_Space_Adventure:fruit01 -- ["Rocket"] = "", -- Big_Armory @@ -1574,6 +1748,7 @@ -- ["Ropes and Crates"] = "", -- Challenge_-_Speed_Shoppa_-_Ropes -- ["Rope Team"] = "", -- Basic_Training_-_Rope -- ["Rope Training"] = "", -- Basic_Training_-_Rope +-- ["Rope Weapons"] = "", -- Basic_Training_-_Rope -- ["Roshi"] = "", -- -- ["Rot Molester"] = "", -- A_Classic_Fairytale:shadow -- ["Rotten"] = "", -- @@ -1584,6 +1759,8 @@ -- ["Round limit:"] = "", -- TechRacer -- ["Rounds complete: %d/%d"] = "", -- Racer, Space_Invasion, TechRacer -- ["Round score: %d"] = "", -- Space_Invasion +-- ["Round's slowest lap: %.3fs by %s"] = "", -- TrophyRace +-- ["Rounds until Sudden Death: %d"] = "", -- Battalion -- ["RS1"] = "", -- A_Space_Adventure:fruit03 -- ["RS2"] = "", -- A_Space_Adventure:fruit03 -- ["Rubber"] = "", -- Construction_Mode, HedgeEditor @@ -1598,6 +1775,7 @@ -- ["Rusted Diego"] = "", -- -- ["Rusty Joe"] = "", -- A_Classic_Fairytale:queen -- ["Ryu"] = "", -- +-- ["%s (+1)"] = "", -- A_Space_Adventure:fruit03 -- ["%s: %.1fs"] = "", -- Racer, TechRacer -- ["Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]"] = "", -- Continental_supplies -- ["Saint"] = "", -- HedgeEditor, The_Specialists @@ -1621,22 +1799,26 @@ -- ["Scallywag"] = "", -- -- ["Scalp Muncher"] = "", -- A_Classic_Fairytale:backstab -- ["Scenario"] = "", -- Big_Armory, portal, User_Mission_-_Bamboo_Thicket, User_Mission_-_Dangerous_Ducklings, User_Mission_-_Diver, User_Mission_-_Newton_and_the_Hammock, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree, User_Mission_-_Teamwork_2, User_Mission_-_Teamwork, User_Mission_-_The_Great_Escape +-- ["Scenario failed!"] = "", -- SimpleMission -- ["Scientist"] = "", -- Battalion -- ["%s climbed home in %d seconds!"] = "", -- ClimbHome -- ["Score: %d"] = "", -- Space_Invasion -- ["Score goal: %d"] = "", -- Control -- ["Score graph"] = "", -- Mutant, Space_Invasion +-- ["Score points by killing other hedgehogs."] = "", -- Mutant -- ["Score points by killing other hedgehogs (see below)."] = "", -- Mutant -- ["Scores: "] = "", -- Capture_the_Flag -- ["Scores:"] = "", -- Mutant -- ["Scores"] = "", -- Mutant -- ["Scoring: "] = "", -- Mutant -- ["Script parameter examples:"] = "", -- Gravity +-- ["%s (+%d)"] = "", -- Battalion -- ["%s: %d"] = "", -- Capture_the_Flag, Control -- ["%s: %d (deaths: %d)"] = "", -- Mutant -- ["%s: Did not finish"] = "", -- Racer, TechRacer -- ["%s did not finish the race."] = "", -- Racer, TechRacer -- ["%s didn't expect that."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s died … and lives again!"] = "", -- Construction_Mode -- ["%s doesn’t really know how to handle a rope properly."] = "", -- ClimbHome -- ["Search for the device with the help of the other hedgehogs "] = "", -- A_Space_Adventure:fruit02 -- ["Searching in the dust"] = "", -- A_Space_Adventure:desert01 @@ -1654,9 +1836,18 @@ -- ["Select, modify, or delete girders, rubbers and sprites"] = "", -- HedgeEditor -- ["Select/Place/Delete Gear: [Left Click]"] = "", -- HedgeEditor -- ["Select, reposition and delete gears"] = "", -- HedgeEditor +-- ["Select Rope"] = "", -- Basic_Training_-_Rope +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key."] = "", -- Basic_Training_-_Movement +-- ["Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed."] = "", -- Basic_Training_-_Movement +-- ["Select the rope to begin!"] = "", -- Basic_Training_-_Rope +-- ["Select Weapon"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade +-- ["Select weapon: [Left click]"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade -- ["Select win/lose condition: [Left], [Right]"] = "", -- HedgeEditor -- ["Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies +-- ["Select your continent/weaponset: With the \"Up\" or \"Down\" keys. You can also select one with the weapons menu."] = "", -- Continental_supplies -- ["Sergey"] = "", -- +-- ["Set bounciness: [Left Shift] + [1]-[5]"] = "", -- Basic_Training_-_Grenade +-- ["Set detonation timer: [1]-[5]"] = "", -- Basic_Training_-_Grenade -- ["Set Health: [Left Click]"] = "", -- HedgeEditor -- ["Set Identity: [Left Click]"] = "", -- HedgeEditor -- ["Set period to negative value for random gravity."] = "", -- Gravity @@ -1665,15 +1856,19 @@ -- ["%s exploded."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell from a high cliff."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s fell too fast."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s fell victim to a weapon filter"] = "", -- Construction_Mode -- ["%s felt unstable."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s felt victim to rope-knocking."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s flew like a rock."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s gets an extra life"] = "", -- Construction_Mode -- ["%s goes the way of the lemming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Sgt. Smith"] = "", -- -- ["%s had it coming."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s had no chance."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["... share your beauty with the world every morning, my princess!"] = "", -- A_Classic_Fairytale:journey +-- ["%s has been killed before taking enough damage first."] = "", -- SimpleMission -- ["%s has been knocked out."] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s has been rescued from death"] = "", -- Construction_Mode -- ["%s has fallen victim to gravity."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["%s has mutated! +2 points"] = "", -- Mutant -- ["%s has passed the best height of %s!"] = "", -- ClimbHome @@ -1704,9 +1899,16 @@ -- ["Sine Gun"] = "", -- Construction_Mode -- ["Sinky"] = "", -- ["Sirius Lee"] = "", -- A_Classic_Fairytale:enemy +-- ["%s is dead, who was critical to this mission!"] = "", -- SimpleMission -- ["%s is eliminated!"] = "", -- User_Mission_-_Rope_Knock_Challenge +-- ["%s is now as poor as a church mouse"] = "", -- Construction_Mode +-- ["%s is now a zombie hedgehog"] = "", -- Construction_Mode +-- ["%s is suddenly low on ammo"] = "", -- Construction_Mode +-- ["Skip your turn to try again."] = "", -- Basic_Training_-_Rope +-- ["Skulls"] = "", -- Bazooka_Battlefield -- ["Slimer"] = "", -- -- ["Slippery"] = "", -- A_Classic_Fairytale:journey +-- ["%s lost all the weapons"] = "", -- Construction_Mode -- ["Slot %d: %s"] = "", -- Frenzy -- ["Slot keys save time! (F1-F10 by default)"] = "", -- Frenzy -- ["Slowpoke"] = "", -- @@ -1721,6 +1923,7 @@ -- ["Smith 1.0"] = "", -- A_Classic_Fairytale:enemy -- ["Smugglers"] = "", -- A_Space_Adventure:desert01 -- ["%s must skip this turn for rule violation."] = "", -- WxW +-- ["Sneaks"] = "", -- Bazooka_Battlefield -- ["%s never got the ninja diploma."] = "", -- ClimbHome -- ["%s never wanted to reach for the sky in the first place."] = "", -- ClimbHome -- ["Sniper! +8 points!"] = "", -- Space_Invasion @@ -1729,6 +1932,7 @@ ["Sniper Training"] = "狙击训练", ["Sniperz"] = "狙击手", -- ["So, as promised I have brought you where I think that the device you are looking for is hidden."] = "", -- A_Space_Adventure:fruit02 +-- ["So far, you had infinite ropes, but in the|real world, ropes are usually limited."] = "", -- Basic_Training_-_Rope -- ["So Hog Solo, here we are ..."] = "", -- A_Space_Adventure:cosmos -- ["So humiliating..."] = "", -- A_Classic_Fairytale:first_blood -- ["So, I believe that it's a good place to start."] = "", -- A_Space_Adventure:desert01 @@ -1738,6 +1942,7 @@ -- ["So, let me tell you what I know about Professor Hogevil."] = "", -- A_Space_Adventure:moon02 -- ["Some parts of the land are indestructible."] = "", -- A_Space_Adventure:fruit03 -- ["Some sick game of yours?!"] = "", -- A_Classic_Fairytale:queen +-- ["Some weapons can be dropped from the rope."] = "", -- Basic_Training_-_Rope -- ["Somewhere else on the planet of fruits, Captain Lime helps Hog Solo"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere else on the planet of fruits Hog Solo gets closer to the device"] = "", -- A_Space_Adventure:fruit02 -- ["Somewhere on the Planet of Fruits a terrible war is about to begin ..."] = "", -- A_Space_Adventure:fruit01 @@ -1761,6 +1966,7 @@ -- ["Specs"] = "", -- -- ["Specs Appeal"] = "", -- -- ["Spectator"] = "", -- +-- ["Speed Roping"] = "", -- Basic_Training_-_Rope -- ["Speed Shoppa"] = "", -- SpeedShoppa -- ["Spike"] = "", -- A_Space_Adventure:desert01 -- ["Spikes"] = "", -- @@ -1782,6 +1988,7 @@ -- ["%s (%s) does not have to feel ashamed for their best height of %d."] = "", -- ClimbHome -- ["%s (%s) gave short shrift to the invaders: Longest combo of %d!"] = "", -- Space_Invasion -- ["%s (%s) has been invited to join the Planetary Association of the Hedgehogs, it destroyed a staggering %d invaders in just one round!"] = "", -- Space_Invasion +-- ["%s (%s) has captured the flag %d times."] = "", -- Capture_the_Flag -- ["%s (%s) hate life and suicided %d times."] = "", -- Mutant -- ["%s should try the rope training mission first."] = "", -- ClimbHome -- ["%s (%s) is addicted to killing: %d invaders destroyed in one round."] = "", -- Space_Invasion @@ -1816,7 +2023,10 @@ -- ["Stay there to flee!"] = "", -- A_Space_Adventure:fruit01 -- ["Steel Eye"] = "", -- A_Classic_Fairytale:queen -- ["Step 1: Activate your flying saucer but do NOT move yet!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 1: Start roping"] = "", -- Basic_Training_-_Rope +-- ["Step 2: Select grenade"] = "", -- Basic_Training_-_Rope -- ["Step 2: Select your grenade."] = "", -- Basic_Training_-_Flying_Saucer +-- ["Step 3: Drop the grenade"] = "", -- Basic_Training_-_Rope -- ["Step 3: Start flying and get yourself right above the target."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 4: Drop your grenade by pressing the [Long jump] key."] = "", -- Basic_Training_-_Flying_Saucer -- ["Step 5: Get away quickly and land safely anywhere."] = "", -- Basic_Training_-_Flying_Saucer @@ -1865,12 +2075,19 @@ -- ["%s went over a quarter of the way towards home."] = "", -- ClimbHome -- ["%s! Why?!"] = "", -- A_Classic_Fairytale:backstab, A_Classic_Fairytale:united -- ["Swing, Leaks A Lot, on the wings of the wind!"] = "", -- A_Classic_Fairytale:first_blood +-- ["Swing: [Left]/[Right]"] = "", -- Basic_Training_-_Rope -- ["%s wins!"] = "", -- Racer, Space_Invasion, TechRacer, ClimbHome -- ["%s wins with a best time of %.1fs."] = "", -- Racer, TechRacer -- ["switch"] = "", -- Continental_supplies -- ["Switched to "] = "", +-- ["Switch Hedgehog (1/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (2/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (3/3)"] = "", -- Basic_Training_-_Movement +-- ["Switch Hedgehog (Failed!)"] = "", -- Basic_Training_-_Movement +-- ["Switch hedgehog: [Tabulator]"] = "", -- Basic_Training_-_Movement -- ["Switch Hog"] = "", -- Construction_Mode -- ["Switch: Toggle crate radar"] = "", -- WxW +-- ["Swords"] = "", -- Bazooka_Battlefield -- ["Syntax Errol"] = "", -- A_Classic_Fairytale:dragon -- ["%s, you may choose the rules."] = "", -- WxW -- ["szczur"] = "", -- @@ -1887,9 +2104,11 @@ -- ["Target Practice: Grenade (hard)"] = "", -- Target_Practice_-_Grenade_hard -- ["Target Practice: Homing Bee"] = "", -- Target_Practice_-_Homing_Bee -- ["Target Practice: Shotgun"] = "", -- Target_Practice_-_Shotgun +-- ["Target Puncher"] = "", -- Basic_Training_-_Rope -- ["Targets left: %d"] = "", -- TargetPractice -- ["Tatsujin"] = "", -- -- ["Tatters"] = "", -- +-- ["Team %d"] = "", -- SimpleMission ["Team %d: "] = "队伍 %d", -- ["Team Identity Mode"] = "", -- HedgeEditor -- ["TEAM IDENTITY MODE"] = "", -- HedgeEditor @@ -1906,7 +2125,10 @@ -- ["Teleportation Node"] = "", -- Construction_Mode -- ["Teleport"] = "", -- Construction_Mode, Frenzy -- ["Teleport hint: just use the mouse to select the destination!"] = "", -- A_Classic_Fairytale:dragon +-- ["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 -- ["Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence."] = "", -- Construction_Mode +-- ["Tentacle Terror"] = "", -- Tentacle_Terror -- ["Thanks!"] = "", -- A_Classic_Fairytale:family -- ["Thanks, dude! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil -- ["Thanks, man! It really means a lot to me."] = "", -- A_Classic_Fairytale:epil @@ -1934,6 +2156,7 @@ -- ["The air bombs are weaker than usual."] = "", -- Battalion -- ["The aliens respect me, even worship me!"] = "", -- A_Classic_Fairytale:queen -- ["The ally units share their ammo."] = "", -- A_Space_Adventure:fruit01 +-- ["The ammo of %s has been vaporized"] = "", -- Construction_Mode -- ["The answer is...entertaintment. You'll see what I mean."] = "", -- A_Classic_Fairytale:backstab -- ["The anti-portal surface is all over the floor, and I have nothing to kill him. Dropping something could hurt him enough to kill him."] = "", -- portal -- ["The big bang"] = "", -- A_Space_Adventure:final @@ -1952,11 +2175,15 @@ -- ["The editor weapons and tools have been removed!"] = "", -- HedgeEditor -- ["The enemies aren't many anyway, it is going to be easy!"] = "", -- A_Space_Adventure:fruit01 -- ["The enemy can't move but it might be a good idea to stay out of sight!"] = "", -- A_Classic_Fairytale:dragon +-- ["The enemy has taken a crate which we really needed!"] = "", -- SimpleMission +-- ["The enemy hogs play in a random order."] = "", -- A_Space_Adventure:death02 ["The enemy is hiding out on yonder ducky!"] = "敌人藏在那边!", -- ["The Enemy Of My Enemy"] = "", -- A_Classic_Fairytale:enemy -- ["The explosion is weaker than usual."] = "", -- Battalion +-- ["The fastest hedgehog was %s from %s with a time of %.3fs."] = "", -- TrophyRace -- ["The fight begins!"] = "", -- A_Space_Adventure:moon01 -- ["The final part"] = "", -- A_Space_Adventure:death01 +-- ["The final targets are quite tricky. You need to aim well."] = "", -- Basic_Training_-_Bazooka -- ["The First Blood"] = "", -- A_Classic_Fairytale:first_blood -- ["The First Encounter"] = "", -- A_Classic_Fairytale:shadow -- ["The first hedgehog to kill someone becomes the Mutant."] = "", -- Mutant @@ -1986,17 +2213,23 @@ -- ["The Leap of Faith"] = "", -- A_Classic_Fairytale:first_blood -- ["The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."] = "", -- A_Space_Adventure:cosmos -- ["The Moonwalk"] = "", -- A_Classic_Fairytale:journey +-- ["The Mutant has super weapons and a lot of health."] = "", -- Mutant -- ["The Mutant has super-weapons and a lot of health."] = "", -- Mutant +-- ["The Mutant loses health quickly, but gains health by killing."] = "", -- Mutant -- ["The Mutant loses health quickly if he doesn't keep scoring kills."] = "", -- Mutant -- ["The Nameless One"] = "", -- ["The Navy greets %s for managing to get in a distance of %d away from the mainland!"] = "", -- ClimbHome -- ["The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight."] = "", -- A_Space_Adventure:death02 +-- ["The next crate is an utility crate."] = "", -- Basic_Training_-_Movement -- ["The next one is pretty hard! |Tip: You have to do multiple swings!"] = "", -- Basic_Training_-_Rope +-- ["The next target can only be reached by something called “bouncing bomb”."] = "", -- Basic_Training_-_Bazooka +-- ["The next target is high in the sky."] = "", -- Basic_Training_-_Bazooka -- ["Then how do they keep appearing?"] = "", -- A_Classic_Fairytale:shadow -- ["The Ninja-Samurai Alliance"] = "", -- -- ["Then prepare for battle!"] = "", -- A_Space_Adventure:death01 -- ["Then what am I?"] = "", -- A_Classic_Fairytale:epil -- ["The only woman, huh?"] = "", -- A_Classic_Fairytale:epil +-- ["The oppression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The opression of the elders, of course!"] = "", -- A_Classic_Fairytale:queen -- ["The other one were all cannibals, spending their time eating the organs of fellow hedgehogs..."] = "", -- A_Classic_Fairytale:first_blood -- ["The Police"] = "", -- @@ -2010,16 +2243,21 @@ -- ["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 respawner respawns %s"] = "", -- Construction_Mode -- ["The Rising"] = "", -- A_Classic_Fairytale:first_blood -- ["The rope won't get reset."] = "", -- A_Space_Adventure:death02 -- ["The Savior"] = "", -- A_Classic_Fairytale:journey +-- ["The score and deaths are shown next to the team bar."] = "", -- Mutant +-- ["These girders are slippery, like ice."] = "", -- Basic_Training_-_Movement -- ["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 Society of Perfectionists greets %s (%s): No misses and %d hits in its best round."] = "", -- Space_Invasion -- ["THE SPECIALISTS"] = "", +-- ["The spinning arrows above your hedgehog show|which hedgehog is selected right now."] = "", -- Basic_Training_-_Movement -- ["The spirits of the ancerstors are surely pleased, Leaks A Lot."] = "", -- A_Classic_Fairytale:first_blood +-- ["The targets will guide you through the training."] = "", -- Basic_Training_-_Rope -- ["The team continued their quest of finding the rest of the tribe."] = "", -- A_Classic_Fairytale:queen -- ["The time that you have left when you reach the blue hedgehog will be added to the next turn."] = "", -- A_Space_Adventure:moon02 -- ["The Torment"] = "", -- A_Classic_Fairytale:first_blood @@ -2036,6 +2274,7 @@ -- ["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 +-- ["The wrong hedgehog has taken the crate."] = "", -- SimpleMission -- ["They are all waiting back in the village, haha."] = "", -- A_Classic_Fairytale:enemy -- ["They are up there! Take this rope and hurry!"] = "", -- A_Space_Adventure:moon01 -- ["They Call Me Bullseye! +16 points!"] = "", -- Space_Invasion @@ -2051,17 +2290,22 @@ -- ["The Zoo"] = "", -- -- ["Thighlicker"] = "", -- A_Classic_Fairytale:united -- ["Things are going to get messy around here."] = "", -- A_Space_Adventure:fruit01 +-- ["This allows to select any hedgehog in your team!"] = "", -- Basic_Training_-_Movement -- ["This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy."] = "", -- Construction_Mode +-- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy."] = "", -- Construction_Mode -- ["This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object"] = "", -- Construction_Mode -- ["This almost concludes our tutorial."] = "", -- Basic_Training_-_Flying_Saucer -- ["This game wasn’t really exciting."] = "", -- Space_Invasion -- ["This Hog Solo is so naive! When he returns I'll shoot him and keep that device for myself!"] = "", -- A_Space_Adventure:fruit02 -- ["This is a new personal best, congratulations!"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:desert02, A_Space_Adventure:fruit03 -- ["This is a new personal best time, congratulations!"] = "", -- A_Space_Adventure:ice02, A_Space_Adventure:moon02 +-- ["This is Cappy."] = "", -- Basic_Training_-_Movement -- ["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 seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 +-- ["This is the mission panel."] = "", -- Basic_Training_-_Movement -- ["This is the Olympic stadium of saucer flying."] = "", -- A_Space_Adventure:ice02 +-- ["This is the Olympic Stadium of Saucer Flying."] = "", -- A_Space_Adventure:ice02 -- ["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 @@ -2069,6 +2313,7 @@ -- ["This planet seems dangerous!"] = "", -- A_Space_Adventure:cosmos -- ["This rain is really something..."] = "", -- ["This round’s award for ultimate disappointment goes to: Everyone!"] = "", -- ClimbHome +-- ["This seems like a wealthy hedgehog, nice ..."] = "", -- A_Space_Adventure:desert01 -- ["This was an awesome performance! But this challenge can be finished with even just one RC plane. Can you figure out how?"] = "", -- User_Mission_-_RCPlane_Challenge -- ["This will be fun!"] = "", -- A_Classic_Fairytale:enemy -- ["This will be useful when I need a new platform or if I want to rise."] = "", -- portal @@ -2077,14 +2322,19 @@ -- ["Those aliens are destroying the island!"] = "", -- A_Classic_Fairytale:family -- ["Those were scheduled for disposal anyway."] = "", -- A_Classic_Fairytale:dragon -- ["Throw a baseball at your foes|and send them flying!"] = "", -- Knockball +-- ["Throw a grenade to destroy the target!"] = "", -- Basic_Training_-_Grenade +-- ["Throw some grenades to destroy the targets!"] = "", -- Basic_Training_-_Grenade -- ["Thug #%d"] = "", -- A_Space_Adventure:death01 -- ["Timbers"] = "", -- -- ["Time: %.1fs"] = "", -- Racer, TechRacer +-- ["Time: %.3fs by %s"] = "", -- TrophyRace +-- ["Time: %.3fs"] = "", -- TrophyRace -- ["Time Box"] = "", -- Construction_Mode -- ["Timed Kamikaze! +10 points!"] = "", -- Space_Invasion -- ["Time extended! +%dsec"] = "", -- Space_Invasion -- ["Time extension: %ds"] = "", -- Tumbler -- ["Time for a more interesting stunt, but first just collect the next crate!"] = "", -- Basic_Training_-_Flying_Saucer +-- ["Timer"] = "", -- Basic_Training_-_Grenade -- ["Time's up!"] = "", -- Basic_Training_-_Sniper_Rifle, SpeedShoppa, Space_Invasion -- ["Time’s up!"] = "", -- TargetPractice -- ["Time to run!"] = "", -- A_Space_Adventure:fruit01 @@ -2092,10 +2342,18 @@ -- ["Tip: Don't remain for too long in the water, or you won't make it."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: If you get stuck in this training, use \"Skip turn\" to restart the current objective."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies +-- ["Tip: See the \"Esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials."] = "", -- Continental_supplies -- ["Tip: The rope physics are different than in the real world, |use it to your advantage!"] = "", -- Basic_Training_-_Rope -- ["Tip: You can change your flying saucer|in mid-flight by hitting the [Attack] key twice."] = "", -- Basic_Training_-_Flying_Saucer -- ["Tiyuri"] = "", -- -- ["Toad"] = "", -- +-- ["To begin, walk to the crate to the right."] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, hit the attack key!"] = "", -- Basic_Training_-_Movement +-- ["To begin with the training, select the bazooka from the ammo menu!"] = "", -- Basic_Training_-_Bazooka +-- ["To begin with the training, select the grenade from the ammo menu!"] = "", -- Basic_Training_-_Grenade +-- ["To finish hedgehog selection, just do anything|with him, like walking."] = "", -- Basic_Training_-_Movement +-- ["To get over the next obstacle, you need to perform your back jump precisely."] = "", -- Basic_Training_-_Movement +-- ["To get over the water, you have to do multiple|rope shots and swings."] = "", -- Basic_Training_-_Rope -- ["Toggle Editing Weapons and Tools: [Precise]+[2]"] = "", -- HedgeEditor -- ["Toggle Gear Information: [Precise]+[3]"] = "", -- HedgeEditor -- ["Toggle Help: [Precise]+[1]"] = "", -- HedgeEditor @@ -2127,6 +2385,7 @@ -- ["Training Team"] = "", -- TargetPractice -- ["Traitors"] = "", -- A_Classic_Fairytale:epil -- ["Traitors don't get to shout around here!"] = "", -- A_Classic_Fairytale:epil +-- ["Trapped"] = "", -- Basic_Training_-_Movement -- ["Trapper"] = "", -- HedgeEditor -- ["Travel carefully as your fuel is limited"] = "", -- A_Space_Adventure:cosmos -- ["Travel to all the neighbor planets and collect all the pieces"] = "", -- A_Space_Adventure:cosmos @@ -2136,14 +2395,19 @@ -- ["Try again!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try it now and dive here to collect the crate on the right girder."] = "", -- Basic_Training_-_Flying_Saucer -- ["Try not to get spotted by the guards!"] = "", -- A_Space_Adventure:cosmos +-- ["Try out different bounciness levels to reach difficult targets."] = "", -- Basic_Training_-_Grenade -- ["Try to be smart and eliminate them quickly. This way you might scare off the rest!"] = "", -- A_Space_Adventure:fruit01 -- ["Try to keep as many allies alive as possible."] = "", -- A_Space_Adventure:fruit01 -- ["Try to land softly, as you can still take fall damage!"] = "", -- Basic_Training_-_Flying_Saucer -- ["Try to protect the chief! You won't lose if he dies, but it is advised that he survives."] = "", -- A_Classic_Fairytale:united +-- ["Try to reach and destroy the next target quickly."] = "", -- Basic_Training_-_Rope ["T_T"] = "T_T", -- ["Tumbler"] = "", -- Tumbler +-- ["Turn around: [Left Shift] + [Left]/[Right]"] = "", -- Basic_Training_-_Movement +-- ["Turning Around"] = "", -- Basic_Training_-_Movement -- ["Turns: Hogs get %d random weapon(s) from their pool"] = "", -- Battalion -- ["Turns: King's health is set to %d%% of the team health"] = "", -- Battalion +-- ["Turns left: %d"] = "", -- A_Classic_Fairytale:journey -- ["Turns: Refill %d weapon and %d helper points|and randomize weapons and helpers based on team points"] = "", -- Battalion -- ["Turns until arrival: %d"] = "", -- A_Classic_Fairytale:backstab -- ["Turn Time: %dsec"] = "", -- Space_Invasion @@ -2160,6 +2424,7 @@ -- ["unC0Rr"] = "", -- -- ["Under Construction"] = "", -- A_Classic_Fairytale:shadow -- ["Under normal circumstances we could easily defeat them but we have kindly sent most of our men to the Kingdom of Sand to help with the annual dusting of the king's palace."] = "", -- A_Space_Adventure:fruit01 +-- ["Under the meteorite’s shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Under the meteorites shadow ..."] = "", -- A_Space_Adventure:cosmos -- ["Unexpected Igor"] = "", -- A_Classic_Fairytale:dragon -- ["Unique new weapons"] = "", -- Continental_supplies @@ -2175,8 +2440,10 @@ -- ["Unit 638"] = "", -- -- ["Unit 709"] = "", -- -- ["Unit 835"] = "", +-- ["Unit 881"] = "", -- User_Mission_-_Newton_and_the_Hammock -- ["Unit 883"] = "", -- -- ["United We Stand"] = "", -- A_Classic_Fairytale:united +-- ["Unlike bazookas, grenades are not influenced by wind."] = "", -- Basic_Training_-_Grenade -- ["Unlimited Attacks"] = "", -- ["Unlimited Attacks: Attacks don't end your turn"] = "", -- User_Mission_-_Diver, User_Mission_-_Nobody_Laugh, User_Mission_-_Spooky_Tree -- ["Unlucky Sods"] = "", -- User_Mission_-_Rope_Knock_Challenge @@ -2184,10 +2451,12 @@ -- ["Unsuspecting Louts"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Up/Down: Change placement mode"] = "", -- HedgeEditor -- ["Up/down: Choose crate type"] = "", -- Construction_Mode +-- ["Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object"] = "", -- Construction_Mode -- ["Upper-class elite pilot"] = "", -- User_Mission_-_RCPlane_Challenge -- ["Use it wisely!"] = "", -- A_Classic_Fairytale:dragon -- ["Use it with precaution!"] = "", -- A_Classic_Fairytale:first_blood -- ["User Challenge"] = "", +-- ["!"] = "", -- User_Mission_-_Dangerous_Ducklings -- ["Use the attack key twice to change the flying saucer while being in air."] = "", -- A_Space_Adventure:ice02 -- ["Use the attack key twice to change the flying saucer while floating in mid-air."] = "", -- A_Space_Adventure:ice02 -- ["Use the bazooka and the flying saucer to get the freezer."] = "", -- A_Space_Adventure:ice01 @@ -2198,8 +2467,10 @@ -- ["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 RC plane and destroy the all the targets."] = "", -- A_Space_Adventure:desert03 -- ["Use the rope in order to catch the blue hedgehog"] = "", -- A_Space_Adventure:moon02 +-- ["Use the rope to complete the obstacle course!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to get on the head of the mole, young one!"] = "", -- A_Classic_Fairytale:first_blood -- ["Use the rope to get to the crate"] = "", -- A_Space_Adventure:cosmos +-- ["Use the rope to get to the target!"] = "", -- Basic_Training_-_Rope -- ["Use the rope to knock your enemies to their doom."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Use the rope to quickly get to the surface!"] = "", -- A_Space_Adventure:desert02 -- ["Use the saucer and fly away"] = "", -- A_Space_Adventure:cosmos @@ -2211,6 +2482,7 @@ -- ["Use your ready time to think."] = "", -- Frenzy -- ["Use your rope to collect all crates as fast as possible."] = "", -- SpeedShoppa ["Use your rope to get from start to finish as fast as you can!"] = "抓起绳子飞向目的地,越快越好。", +-- ["Use your rope to get to the next target, then destroy it!"] = "", -- Basic_Training_-_Rope -- ["Utility Crate Placement Mode"] = "", -- Construction_Mode -- ["UTILITY CRATE PLACEMENT MODE"] = "", -- HedgeEditor -- ["Utility crates extend your time."] = "", -- Tumbler @@ -2233,6 +2505,9 @@ -- ["Voldemort"] = "", -- portal -- ["Voltorb"] = "", -- -- ["Wait a moment …"] = "", -- A_Space_Adventure:final +-- ["Walking on Ice"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left] and [Right]"] = "", -- Basic_Training_-_Movement +-- ["Walk: [Left]/[Right]"] = "", -- Basic_Training_-_Bazooka -- ["Wall Before Crate: You must touch the marked wall before you can get crates."] = "", -- WxW -- ["Walls Before Crate: You must touch the %d marked walls before you can get crates."] = "", -- WxW -- ["Wall set: No walls"] = "", -- WxW @@ -2242,8 +2517,11 @@ -- ["Wall to wall"] = "", -- WxW -- ["Waluigi"] = "", -- -- ["Wannabe Flyboys"] = "", -- User_Mission_-_RCPlane_Challenge +-- ["Wannabe Ropers"] = "", -- Basic_Training_-_Rope -- ["Wannabe Shoppsta"] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["Wario"] = "", -- +-- ["Warming Up"] = "", -- Basic_Training_-_Grenade +-- ["Warning: Fire cake detected"] = "", -- ClimbHome -- ["Warning: Never ever leave the flying saucer while in water!"] = "", -- Basic_Training_-_Flying_Saucer -- ["WARNING: Sabotage detected!"] = "", -- Continental_supplies -- ["Warrior"] = "", -- Battalion @@ -2278,6 +2556,7 @@ -- ["We come in peace! Just let our friends go!"] = "", -- A_Classic_Fairytale:queen -- ["We could just have blown up the meteorite from the the beginning!"] = "", -- A_Space_Adventure:final -- ["We don't have time for that now!"] = "", -- A_Classic_Fairytale:queen +-- ["We have lost an object which was critical to this mission."] = "", -- SimpleMission -- ["We have no time to waste..."] = "", -- A_Classic_Fairytale:journey -- ["We have nowhere else to live!"] = "", -- A_Classic_Fairytale:enemy -- ["We have spotted the enemy! We'll attack when the enemies start gathering!"] = "", -- A_Space_Adventure:fruit02 @@ -2286,6 +2565,7 @@ -- ["We have to protect the village!"] = "", -- A_Classic_Fairytale:united -- ["We have to unite and defeat those cylergs!"] = "", -- A_Classic_Fairytale:enemy -- ["Welcome Hog Solo, surprised to see me?"] = "", -- A_Space_Adventure:death01 +-- ["Welcome home! Please take a seat"] = "", -- ClimbHome -- ["Welcome, Leaks A Lot!"] = "", -- A_Classic_Fairytale:journey -- ["Welcome to the Death Planet!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Desert Planet!"] = "", -- A_Space_Adventure:cosmos @@ -2294,11 +2574,14 @@ -- ["Welcome to the moon!"] = "", -- A_Space_Adventure:cosmos -- ["Welcome to the Planet of Ice!"] = "", -- A_Space_Adventure:cosmos -- ["Well done."] = "", +-- ["Well done! Let's destroy the next target!"] = "", -- Basic_Training_-_Rope +-- ["Well done! The next target awaits."] = "", -- Basic_Training_-_Rope -- ["We'll give you a problem then!"] = "", -- A_Classic_Fairytale:enemy -- ["We'll play a game first."] = "", -- A_Space_Adventure:moon02 -- ["We'll spare your life for now!"] = "", -- A_Classic_Fairytale:backstab -- ["Well, that escalated quickly!"] = "", -- ClimbHome -- ["Well that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil +-- ["Well, that was an unnecessary act of violence."] = "", -- A_Classic_Fairytale:epil -- ["Well, that was a waste of time."] = "", -- A_Classic_Fairytale:dragon -- ["We'll use our communicators to contact you."] = "", -- A_Space_Adventure:cosmos -- ["Well, well! Isn't that the cutest thing you've ever seen?"] = "", -- A_Classic_Fairytale:journey @@ -2349,10 +2632,12 @@ -- ["What is this place?"] = "", -- A_Classic_Fairytale:dragon, A_Classic_Fairytale:enemy -- ["What oppression? You were the most unoppressed member of the tribe!"] = "", -- A_Classic_Fairytale:queen -- ["What shall we do with the traitor?"] = "", -- A_Classic_Fairytale:backstab +-- ["What's in the box, you ask? Let's find out!"] = "", -- Basic_Training_-_Movement -- ["What the?"] = "", -- A_Classic_Fairytale:queen -- ["WHAT?! You're the ones attacking us!"] = "", -- A_Classic_Fairytale:enemy -- ["When?"] = "", -- A_Classic_Fairytale:enemy -- ["When I find it..."] = "", -- A_Classic_Fairytale:dragon +-- ["When you're in mid-air, you can continue to aim|and fire another rope if you're not attached."] = "", -- Basic_Training_-_Rope -- ["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 @@ -2382,15 +2667,18 @@ -- ["Why %s? Why?"] = "", -- A_Classic_Fairytale:backstab -- ["Why, why, why, why!"] = "", -- A_Classic_Fairytale:queen -- ["Why would they do this?"] = "", -- A_Classic_Fairytale:backstab +-- ["- Will get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will Get 1-3 random weapons"] = "", -- Continental_supplies -- ["- Will give you a parachute every second turn."] = "", -- Continental_supplies -- ["Will this ever end?"] = "", -- ["Will you give me the other parts?"] = "", -- A_Space_Adventure:death01 -- ["Win"] = "", -- A_Space_Adventure:ice01 +-- ["Wind"] = "", -- Basic_Training_-_Bazooka -- ["Winner: %s"] = "", -- Mutant -- ["Winning time: %s"] = "", -- Racer, TechRacer -- ["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 low bounciness, it barely bounces at all, but it is much more predictable."] = "", -- Basic_Training_-_Grenade -- ["With the rest of the tribe gone, it was up to %s to save the village."] = "", -- 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 @@ -2426,18 +2714,22 @@ -- ["You are sabotaged, RUN!"] = "", -- Continental_supplies -- ["You are the one who fled! So, you are alive."] = "", -- A_Space_Adventure:fruit02 -- ["You bear impressive skills, %s!"] = "", -- A_Classic_Fairytale:dragon +-- ["You can also hold down the key for “Precise Aim” to prevent slipping."] = "", -- Basic_Training_-_Movement -- ["You can always trust me!"] = "", -- A_Classic_Fairytale:epil -- ["You can always trust me! I love you!"] = "", -- A_Classic_Fairytale:epil -- ["You can avoid some battles."] = "", -- A_Space_Adventure:desert01 +-- ["You can change the detonation timer of grenades."] = "", -- Basic_Training_-_Grenade -- ["You can choose another planet by replaying this mission."] = "", -- A_Space_Adventure:cosmos -- ["You can dive with your flying saucer!"] = "", -- Basic_Training_-_Flying_Saucer -- ["You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down]."] = "", -- Basic_Training_-_Flying_Saucer -- ["You can further customize the race by changing the scheme script paramater."] = "", -- TechRacer -- ["You can only use the sniper rifle or the watermelon bomb."] = "", -- A_Space_Adventure:fruit03 -- ["You can practice moving around and using utilities in this mission.|However, it will never end!"] = "", -- A_Classic_Fairytale:epil +-- ["You can set the bounciness of grenades (and grenade-like weapons)."] = "", -- Basic_Training_-_Grenade -- ["- You can switch between hogs at the start of your turns. (Not first one)"] = "", -- Continental_supplies -- ["You can’t open a portal on the blue surface."] = "", -- portal -- ["You can use the other 2 hogs to assist you."] = "", -- A_Space_Adventure:fruit02 +-- ["You can use the rope to reach new places."] = "", -- Basic_Training_-_Rope -- ["You choose well, Hog Solo!"] = "", -- A_Space_Adventure:fruit01 -- ["You completed the mission in %.3f seconds."] = "", -- A_Space_Adventure:ice02 -- ["You completed the mission in %d rounds."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 @@ -2465,13 +2757,19 @@ -- ["You had %.2fs remaining on the clock (+%d points)."] = "", -- Basic_Training_-_Sniper_Rifle -- ["You had %d additional flying saucers left."] = "", -- A_Space_Adventure:ice02 -- ["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 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 acquired the last device part."] = "", -- A_Space_Adventure:death01 +-- ["You have activated Switch Hedgehog!"] = "", -- Basic_Training_-_Movement -- ["You have beaten the challenge!"] = "", -- ClimbHome -- ["You have been giving us out to the enemy, haven't you!"] = "", -- A_Classic_Fairytale:backstab -- ["You have chosen the perfect moment to leave."] = "", -- A_Classic_Fairytale:united -- ["You have chosen to fight!"] = "", -- A_Space_Adventure:fruit01 -- ["You have chosen to flee."] = "", -- A_Space_Adventure:fruit01 -- ["You have collected %d out of %d crate(s)."] = "", -- SpeedShoppa +-- ["You have collected the “Switch Hedgehog” utility!"] = "", -- Basic_Training_-_Movement +-- ["You have completed the Basic Bazooka Training!"] = "", -- Basic_Training_-_Bazooka +-- ["You have completed the Basic Grenade Training!"] = "", -- Basic_Training_-_Grenade +-- ["You have completed the Basic Movement Training!"] = "", -- Basic_Training_-_Movement -- ["You have completed this challenge in %.2f s (+%d points)."] = "", -- User_Mission_-_Rope_Knock_Challenge -- ["You have destroyed all targets!"] = "", -- TargetPractice -- ["You have destroyed all the targets."] = "", -- A_Space_Adventure:desert03 @@ -2524,6 +2822,7 @@ -- ["You have to destroy all the targets."] = "", -- A_Space_Adventure:desert03 -- ["You have to destroy the target above by dropping a grenade on it from your flying saucer."] = "", -- Basic_Training_-_Flying_Saucer -- ["You have to destroy two targets, but the previous technique would be very difficult or dangerous to use."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You have to drop the grenade from rope!"] = "", -- Basic_Training_-_Rope -- ["You have to eliminate all the enemies."] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["You have to eliminate all the visible enemies."] = "", -- A_Space_Adventure:fruit01 -- ["You have to get the weapons and rescue the PAotH researchers."] = "", -- A_Space_Adventure:moon01 @@ -2543,6 +2842,7 @@ -- ["You just appeared out of thin air!"] = "", -- A_Classic_Fairytale:backstab -- ["You just can't let it go, can you!"] = "", -- A_Classic_Fairytale:queen -- ["You just committed suicide..."] = "", -- A_Classic_Fairytale:shadow +-- ["You just got yourself some extra health.|The more health your hedgehogs have, the better!"] = "", -- Basic_Training_-_Movement -- ["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 @@ -2570,11 +2870,13 @@ -- ["You never give me plants!"] = "", -- A_Classic_Fairytale:queen -- ["Young one, you are telling us that they can instantly change location without a shaman?"] = "", -- A_Classic_Fairytale:united -- ["You now have infinite fuel, grenades and bazookas for fun."] = "", -- Basic_Training_-_Flying_Saucer +-- ["You only get 1 rope this time, don't waste it!"] = "", -- Basic_Training_-_Rope -- ["You only have 2 flying saucers this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You only have one flying saucer this time."] = "", -- Basic_Training_-_Flying_Saucer -- ["You probably know what to do next..."] = "", -- A_Classic_Fairytale:first_blood -- ["Your accuracy was %.1f%%."] = "", -- Basic_Training_-_Bazooka, TargetPractice -- ["Your accuracy was %.1f%% (+%d points)."] = "", -- TargetPractice +-- ["Your ammo is limited this time."] = "", -- Basic_Training_-_Bazooka -- ["Your deaths will be avenged, Cannibals!"] = "", -- A_Classic_Fairytale:enemy -- ["Your deaths will be avenged, Natives!"] = "", -- A_Classic_Fairytale:enemy -- ["Your death will not be in vain, Dense Cloud!"] = "", -- A_Classic_Fairytale:shadow @@ -2586,6 +2888,7 @@ -- ["You're on your way to freeing your tribe!"] = "", -- A_Classic_Fairytale:queen -- ["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 probably wondering why I brought you back ..."] = "", -- A_Classic_Fairytale:backstab -- ["Your escape took you %d turns."] = "", -- A_Space_Adventure:desert02 -- ["You're so brave! I feel safe with you."] = "", -- A_Classic_Fairytale:epil -- ["You're some piece of hypocrite junkie!"] = "", -- A_Classic_Fairytale:queen @@ -2595,6 +2898,7 @@ -- ["Your fastest victory so far: %d rounds"] = "", -- A_Space_Adventure:death02, A_Space_Adventure:fruit03 -- ["Your first destination is the moon in order to get more fuel."] = "", -- A_Space_Adventure:cosmos -- ["Your hedgehog died!"] = "", -- User_Mission_-_That_Sinking_Feeling +-- ["Your hedgehog has been revived!"] = "", -- Basic_Training_-_Bazooka, Basic_Training_-_Grenade, Basic_Training_-_Movement, Basic_Training_-_Rope -- ["Your hedgehog was panicly afraid of the water and decided to go in a safe distance of %d from it."] = "", -- ClimbHome -- ["Your height over time"] = "", -- ClimbHome -- ["Your hogs must survive!"] = "", -- A_Classic_Fairytale:journey @@ -2604,6 +2908,7 @@ -- ["Your rank: %s"] = "", -- User_Mission_-_RCPlane_Challenge -- ["You saved %d of 8 Hapless Hogs."] = "", -- User_Mission_-_That_Sinking_Feeling -- ["You see, hedgehog spikes are very, very valuable."] = "", -- A_Classic_Fairytale:queen +-- ["You see the wind strength at the bottom right corner."] = "", -- Basic_Training_-_Bazooka -- ["You should have known that we don't rely on meatbags!"] = "", -- A_Classic_Fairytale:queen -- ["You should know this more than anyone, Leaks!"] = "", -- A_Classic_Fairytale:queen -- ["You speak great truth, Hannibal. Here, take a sip!"] = "", -- A_Classic_Fairytale:epil diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/zh_CN.txt --- a/share/hedgewars/Data/Locale/zh_CN.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/zh_CN.txt Sun Jun 10 19:12:26 2018 +0200 @@ -66,5 +66,5 @@ 01:02= %1 胜! 01:03=音量 %1% 01:04=暂停 -01:05=退出 (Y/Esc)? +01:05=退出 (%1/%2)? 01:06=出现紧急情况! diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Locale/zh_TW.txt --- a/share/hedgewars/Data/Locale/zh_TW.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Locale/zh_TW.txt Sun Jun 10 19:12:26 2018 +0200 @@ -61,12 +61,12 @@ 00:57=橡皮筋 00:58=浮空雷 -; 01:00=Loading … +01:00=開戰! 01:01=平局 01:02=%1 勝利! 01:03=音量 %1% 01:04=暫停 -01:05=確定要退出 (是Y/否Esc)? +01:05=確定要退出 (是%1/否%2)? 01:06=意外死亡模式! 01:07=%1 剩餘 01:08=燃料 diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Maps/CTF_Blizzard/map.lua --- a/share/hedgewars/Data/Maps/CTF_Blizzard/map.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Maps/CTF_Blizzard/map.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,4 +1,4 @@ --------------------------------- +------------------------------- -- CTF_BLIZZARD 0.9 -------------------------------- @@ -115,10 +115,10 @@ local numhhs = 0 -- store number of hedgehogs local hhs = {} -- store hedgehog gears -local numTeams -- store the number of teams in the game local teamNameArr = {} -- store the list of teams local teamSize = {} -- store how many hogs per team local teamIndex = {} -- at what point in the hhs{} does each team begin +local clanTeams = {} -- list of teams per clan ------------------- -- flag variables @@ -134,8 +134,6 @@ local fThiefX = {} local fThiefY = {} -local FTTC = 0 -- flag thief tracker counter ---local fThiefsHealed = false local fSpawnC = {} local fCirc = {} -- flag/carrier marker circles @@ -159,7 +157,6 @@ local redTel local orangeTel ---local areaArr = {} -- no longer used local zXMin = {} local zWidth = {} @@ -175,20 +172,19 @@ function ManageTeleporterEffects() effectTimer = effectTimer + 1 - if effectTimer > 50 then -- 100 + if effectTimer > 50 then effectTimer = 0 for i = 0,1 do - eX = 10 + zXMin[i] + GetRandom(zWidth[i]-10) - eY = 50 + zYMin[i] + GetRandom(zHeight[i]-110) + local eX = 10 + zXMin[i] + GetRandom(zWidth[i]-10) + local eY = 50 + zYMin[i] + GetRandom(zHeight[i]-110) - -- steam and smoke and DUST look good, smokering looks trippy - -- smoketrace and eviltrace are not effected by wind? - -- chunk is a LR falling gear - tempE = AddVisualGear(eX, eY, vgtDust, 0, false) + -- steam and smoke and DUST look good, smokering looks trippy + -- smoketrace and eviltrace are not effected by wind? + -- chunk is a LR falling gear + local tempE = AddVisualGear(eX, eY, vgtDust, 0, false) if tempE ~= 0 then - g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE) - SetVisualGearValues(tempE, eX, eY, g3, g4, g5, g6, g7, g8, g9, fCol[i]) + SetVisualGearValues(tempE, eX, eY, nil, nil, nil, nil, nil, nil, nil, fCol[i]) end end end @@ -226,13 +222,12 @@ function CheckScore(teamID) + local alt if teamID == 0 then alt = 1 - winner = "Red" elseif teamID == 1 then alt = 0 - winner = "Blue" end if fCaptures[teamID] == 3 then @@ -242,7 +237,6 @@ SetHealth(hhs[i],0) end end - --ShowMission("GAME OVER!", "Victory for the " .. winner .. " Team!", "Hooray!", 0, 0) ShowMission(loc("GAME OVER!"), loc("Victory for the ") .. GetHogTeamName(CurrentHedgehog), loc("Hooray!"), 0, 0) end @@ -253,7 +247,7 @@ for i = 0, 1 do if fNeedsRespawn[i] == true then - fGear[i] = SpawnAmmoCrate(fSpawnX[i],fSpawnY[i],amSkip) + fGear[i] = SpawnFakeAmmoCrate(fSpawnX[i],fSpawnY[i],false,false) --fGear[i] = SpawnHealthCrate(fSpawnX[i],fSpawnY[i]) fNeedsRespawn[i] = false fIsMissing[i] = false -- new, this should solve problems of a respawned flag being "returned" when a player tries to score @@ -266,6 +260,8 @@ function FlagDeleted(gear) + local wtf, bbq + PlaySound(sndShotgunReload) if (gear == fGear[0]) then wtf = 0 bbq = 1 @@ -274,11 +270,8 @@ bbq = 0 end - --ShowMission("OH HAI!", "FlagDeleted was called", "Oh noes!", -amBazooka, 0) - if CurrentHedgehog ~= nil then - --ShowMission("GUESS WAT?", "I'm not nil", "Oh noes!", -amBazooka, 0) --if the player picks up the flag if CheckDistance(CurrentHedgehog, fGear[wtf]) < 1600 then @@ -290,13 +283,14 @@ fNeedsRespawn[wtf] = true fIsMissing[bbq] = false fNeedsRespawn[bbq] = true - fCaptures[wtf] = fCaptures[wtf] +1 --fCaptures[wtf] + fCaptures[wtf] = fCaptures[wtf] +1 - --ShowMission(LOC_NOT("You have SCORED!!"), "Red Team: " .. fCaptures[0], "Blue Team: " .. fCaptures[1], -amBazooka, 0) - ShowMission(loc("You have SCORED!!"), GetHogTeamName(CurrentHedgehog) .. ": " .. fCaptures[wtf], loc("Opposing Team: ") .. fCaptures[bbq], 0, 0) + AddCaption(string.format(loc("%s has scored!"), GetHogTeamName(CurrentHedgehog)), 0xFFFFFFFF, capgrpGameState) + for i=1, #clanTeams[wtf] do + SetTeamLabel(clanTeams[wtf][i], fCaptures[wtf]) + end - PlaySound(sndVictory) - --SetEffect(fThief[bbq], hePoisoned, false) + PlaySound(sndHomerun) fThief[bbq] = nil -- player no longer has the enemy flag CheckScore(wtf) @@ -313,16 +307,12 @@ AddCaption(loc("That was pointless. The flag will respawn next round.")) end - --fIsMissing[wtf] = false - --ShowMission("Flag returned!", "Hooray", "", -amBazooka, 0) - --if the player is taking the enemy flag elseif GetHogClan(CurrentHedgehog) == bbq then fIsMissing[wtf] = true for i = 0,numhhs-1 do if CurrentHedgehog == hhs[i] then fThief[wtf] = hhs[i] - --SetEffect(fThief[wtf], hePoisoned, true) end end @@ -354,7 +344,6 @@ -- probably only gets called if the flag thief drowns himself -- otherwise the above one will work fine else - --ShowMission("NIL PLAYER!", "Oh snap", "Oh noes!", -amBazooka, 0) fGear[wtf] = nil fIsMissing[wtf] = true fNeedsRespawn[wtf] = true @@ -365,6 +354,7 @@ function FlagThiefDead(gear) + local wtf, bbq if (gear == fThief[0]) then wtf = 0 bbq = 1 @@ -376,9 +366,9 @@ if fThief[wtf] ~= nil then if fThiefY[wtf] > 2040 then - fGear[wtf] = SpawnAmmoCrate(fThiefX[wtf],(fThiefY[wtf]+10),amSkip) + fGear[wtf] = SpawnFakeAmmoCrate(fThiefX[wtf],(fThiefY[wtf]+10),false,false) else - fGear[wtf] = SpawnAmmoCrate(fThiefX[wtf],(fThiefY[wtf]-50),amSkip) + fGear[wtf] = SpawnFakeAmmoCrate(fThiefX[wtf],(fThiefY[wtf]-50),false,false) end AddVisualGear(fThiefX[wtf], fThiefY[wtf], vgtBigExplosion, 0, false) @@ -391,14 +381,11 @@ for i = 0, 1 do if fIsMissing[i] == false then -- draw a circle at the flag's spawning place - --SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, 33, 2, fCol[i]) SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i]) elseif (fIsMissing[i] == true) and (fNeedsRespawn[i] == false) then if fThief[i] ~= nil then -- draw circle round flag carrier - --SetVisualGearValues(fCirc[i], fThiefX[i], fThiefY[i], 20, 200, 0, 0, 100, 33, 2, fCol[i]) SetVisualGearValues(fCirc[i], fThiefX[i], fThiefY[i], vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i]) elseif fThief[i] == nil then -- draw cirle round dropped flag - --SetVisualGearValues(fCirc[i], GetX(fGear[i]), GetY(fGear[i]), 20, 200, 0, 0, 100, 33, 2, fCol[i]) SetVisualGearValues(fCirc[i], GetX(fGear[i]),GetY(fGear[i]), vCircMinA[i], vCircMaxA[i], vCircType[i], vCircPulse[i], vCircFuckAll[i], vCircRadius[i], vCircWidth[i], vCircCol[i]) end end @@ -416,16 +403,12 @@ function CheckDistance(gear1, gear2) - g1X, g1Y = GetGearPosition(gear1) - g2X, g2Y = GetGearPosition(gear2) + local g1X, g1Y = GetGearPosition(gear1) + local g2X, g2Y = GetGearPosition(gear2) g1X = g1X - g2X g1Y = g1Y - g2Y - z = (g1X*g1X) + (g1Y*g1Y) - - --dist = math.sqrt(z) - - dist = z + local dist = (g1X*g1X) + (g1Y*g1Y) return dist @@ -433,7 +416,7 @@ function CheckTeleporters() - teleportActive = false + local teleportActive = false if (GearIsInZone(CurrentHedgehog, redTel) == true) and (GetHogClan(CurrentHedgehog) == 0) then teleportActive = true @@ -452,15 +435,12 @@ SetGearMessage(CurrentHedgehog, gmAttack) end end - --AddCaption(actionReset .. ";" .. "attack") elseif actionReset == 10 then SetGearMessage(CurrentHedgehog, 0) - --AddCaption(actionReset .. ";" .. "reset") elseif actionReset == 20 then AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false) SetGearPosition(CurrentHedgehog,destinationX,destinationY) AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtBigExplosion, 0, false) - --AddCaption(actionReset .. ";" .. "teleport") end actionReset = actionReset + 1 @@ -477,42 +457,14 @@ -- make a list of individual team names for i = 0, (TeamsCount-1) do - teamNameArr[i] = i + teamNameArr[i] = GetTeamName(i) teamSize[i] = 0 teamIndex[i] = 0 - end - numTeams = 0 - - for i = 0, (numhhs-1) do - - z = 0 - unfinished = true - while(unfinished == true) do - - newTeam = true - tempHogTeamName = GetHogTeamName(hhs[i]) -- this is the new name - - if tempHogTeamName == teamNameArr[z] then - newTeam = false - unfinished = false - end - - z = z + 1 - - if z == TeamsCount then - unfinished = false - if newTeam == true then - teamNameArr[numTeams] = tempHogTeamName - numTeams = numTeams + 1 - end - end - - end - + SetTeamLabel(teamNameArr[i], "0") end -- find out how many hogs per team, and the index of the first hog in hhs - for i = 0, numTeams-1 do + for i = 0, TeamsCount-1 do for z = 0, numhhs-1 do if GetHogTeamName(hhs[z]) == teamNameArr[i] then @@ -520,10 +472,17 @@ teamIndex[i] = z -- should give starting index end teamSize[i] = teamSize[i] + 1 - --add a pointer so this hog appears at i in hhs + + local clan = GetHogClan(hhs[z]) + -- Also remember the clan to which the team belongs to + if not clanTeams[clan] then + clanTeams[clan] = {} + end + table.insert(clanTeams[clan], teamNameArr[i]) end end + end end @@ -538,21 +497,21 @@ r = GetRandom(8) if r == 0 then - SpawnUtilityCrate(0,0,amSwitch) + SpawnSupplyCrate(0,0,amSwitch) elseif r == 1 then - SpawnUtilityCrate(0,0,amTeleport) + SpawnSupplyCrate(0,0,amTeleport) elseif r == 2 then - SpawnUtilityCrate(0,0,amJetpack) + SpawnSupplyCrate(0,0,amJetpack) elseif r == 3 then - SpawnUtilityCrate(0,0,amExtraTime) + SpawnSupplyCrate(0,0,amExtraTime) elseif r == 4 then - SpawnUtilityCrate(0,0,amGirder) + SpawnSupplyCrate(0,0,amGirder) elseif r == 5 then - SpawnAmmoCrate(0,0,amDynamite) + SpawnSupplyCrate(0,0,amDynamite) elseif r == 6 then - SpawnAmmoCrate(0,0,amFlamethrower) + SpawnSupplyCrate(0,0,amFlamethrower) elseif r == 7 then - SpawnUtilityCrate(0,0,amPortalGun) + SpawnSupplyCrate(0,0,amPortalGun) end end @@ -567,17 +526,15 @@ -- Things we don't modify here will use their default values. GameFlags = gfDivideTeams -- Game settings and rules - TurnTime = 30000 -- (was 30) The time the player has to move each round (in ms) + TurnTime = 30000 -- The time the player has to move each round (in ms) CaseFreq = 0 -- The frequency of crate drops MinesNum = 0 -- The number of mines being placed - MinesTime = 2000 Explosives = 0 -- The number of explosives being placed - Delay = 10 -- The delay between each round -- Disable Sudden Death WaterRise = 0 HealthDecrease = 0 Map = "Blizzard" -- The map to be played - Theme = "Snow" -- The theme to be used "Nature" + Theme = "Snow" -- The theme to be used end @@ -594,9 +551,8 @@ --new improved placement schematics aw yeah RebuildTeamInfo() - --ShowMission("Team Info Rebuilt", "Here you go:", "TeamCount: " .. TeamsCount .. "|" .. teamNameArr[0] .. ": " .. teamSize[0] .. " Hogs|" .. teamNameArr[1] .. ": " .. teamSize[1] .. " Hogs|" .. teamNameArr[2] .. ": " .. teamSize[2] .. " Hogs|", 0, 0) - team1Placed = 0 - team2Placed = 0 + local team1Placed = 0 + local team2Placed = 0 for i = 0, (TeamsCount-1) do for g = teamIndex[i], (teamIndex[i]+teamSize[i]-1) do if GetHogClan(hhs[g]) == 0 then @@ -618,8 +574,7 @@ --spawn starting ufos and or super weapons - SpawnAmmoCrate(2048,1858,amJetpack) - --SpawnUtilityCrate(2048,1858,amExtraTime) + SpawnSupplyCrate(2048,1858,amJetpack) --set flag spawn points and spawn the flags fSpawnX[0] = 957 @@ -628,7 +583,7 @@ fSpawnY[1] = 1747 for i = 0, 1 do - fGear[i] = SpawnAmmoCrate(fSpawnX[i],fSpawnY[i],amSkip) + fGear[i] = SpawnFakeAmmoCrate(fSpawnX[i],fSpawnY[i],false,false) fCirc[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true) fCol[i] = GetClanColor(i) @@ -658,25 +613,9 @@ function onNewTurn() - if lastTeam ~= GetHogTeamName(CurrentHedgehog) then - lastTeam = GetHogTeamName(CurrentHedgehog) - end - - for i = 0, 1 do - if fThief[i] ~= nil then - --adjust = 5 + GetHealth(fThief[i]) - --SetHealth(fThief[i], adjust) - --AddCaption('Helped out the flag poisoned flag thiefs') - end - end - - --AddCaption("Handling respawns") HandleRespawns() HandleCrateDrops() - --myC = AddVisualGear(GetX(CurrentHedgehog),GetY(CurrentHedgehog),vgtCircle,0,true) - --SetVisualGearValues(myC, GetX(CurrentHedgehog),GetY(CurrentHedgehog), 20, 200, 0, 0, 100, 50, 3, GetClanColor(GetHogClan(CurrentHedgehog))) - end function onGameTick() @@ -684,21 +623,16 @@ -- onRessurect calls AFTER you have resurrected, -- so keeping track of x,y a few milliseconds before -- is useful - --FTTC = FTTC + 1 - --if FTTC == 100 then - -- FTTC = 0 - for i = 0,1 do - if fThief[i] ~= nil then - fThiefX[i] = GetX(fThief[i]) - fThiefY[i] = GetY(fThief[i]) - end + + for i = 0,1 do + if fThief[i] ~= nil then + fThiefX[i] = GetX(fThief[i]) + fThiefY[i] = GetY(fThief[i]) end - --end + end -- things we wanna check often if (CurrentHedgehog ~= nil) then - --AddCaption(GetX(CurrentHedgehog) .. "; " .. GetY(CurrentHedgehog)) - --AddCaption("Checking Teleporters") CheckTeleporters() end @@ -716,14 +650,11 @@ SetAmmo(amGrenade,9,0,0,0) SetAmmo(amClusterBomb,4,0,0,0) - --SetAmmo(amDEagle, 4, 0, 0, 0) SetAmmo(amShotgun, 9, 0, 0, 0) SetAmmo(amFlamethrower, 1, 0, 0, 1) SetAmmo(amFirePunch, 9, 0, 0, 0) SetAmmo(amBaseballBat, 2, 0, 0, 0) - --SetAmmo(amKamikaze, 2, 0, 0, 0) - SetAmmo(amDynamite,2,0,0,1) SetAmmo(amSMine,4,0,0,0) @@ -748,8 +679,6 @@ function onGearResurrect(gear) - --AddCaption("A gear has been resurrected!") - -- mark the flag thief as dead if he needed a respawn for i = 0,1 do if gear == fThief[i] then @@ -768,28 +697,25 @@ end -function onGearDamage(gear, damage) - - -- >_< damn, occurs too fast, before the hog has finished moving / updated his health - --if GetGearType(gear) == gtHedgehog then - -- if damage > GetHealth(gear) then - -- AddVisualGear(GetX(gear), GetY(gear), vgtExplosion, 0, false) - -- end - --end - -end +local excessHogsWarning = false function onGearAdd(gear) if GetGearType(gear) == gtHedgehog then - hhs[numhhs] = gear - numhhs = numhhs + 1 - SetEffect(gear, heResurrectable, 1) + if GetHogClan(gear) > 1 then + DeleteGear(gear) + if not excessHogsWarning then + WriteLnToChat(loc("Only two clans allowed! Excess hedgehogs will be removed.")) + excessHogsWarning = true + end + else + hhs[numhhs] = gear + numhhs = numhhs + 1 + SetEffect(gear, heResurrectable, 1) + end - end - - if GetGearType(gear) == gtRope then + elseif GetGearType(gear) == gtRope then ropeGear = gear end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Maps/ClimbHome/map.lua --- a/share/hedgewars/Data/Maps/ClimbHome/map.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Maps/ClimbHome/map.lua Sun Jun 10 19:12:26 2018 +0200 @@ -26,8 +26,11 @@ local HogsAreInvulnerable = false local WaterRise = nil local Cake = nil +local CakeWarning = false +local CakeFireWarning = false local CakeTries = 0 local addCake = true +local takeASeat = false local Stars = {} local tauntNoo = false local jokeAwardNavy = nil @@ -110,10 +113,11 @@ function onGearDelete(gear) if gear == MrMine then - AddCaption(loc("Once you set off the proximity trigger, Mr. Mine is not your friend"), 0xFFFFFFFF, capgrpMessage) + AddCaption(loc("Once you set off the proximity trigger, Mr. Mine is not your friend"), 0xFFFFFFFF, capgrpMessage2) MrMine = nil elseif GetGearType(gear) == gtCake then Cake = nil + CakeWarning = false elseif GetGearType(gear) == gtHedgehog then onGameTick20() onGearDamage(gear, 0) @@ -145,6 +149,9 @@ end -- 1925,263 - Mr. Mine position MrMine = AddGear(1925,263,gtMine,0,0,0,0) + for i=0, TeamsCount-1 do + SetTeamLabel(GetTeamName(i), "0") + end end function onAmmoStoreInit() @@ -178,6 +185,7 @@ YouWon = false YouLost = false tauntNoo = false + takeASeat = false recordBroken = false currTeam = GetHogTeamName(CurrentHedgehog) if CurrentHedgehog ~= nil then @@ -221,6 +229,7 @@ --end function FireBoom(x,y,d) -- going to add for rockets too + PlaySound(sndExplosion) AddVisualGear(x,y,vgtExplosion,0,false) -- should approximate circle by removing corners --if BoomFire == nil then BoomFire = {} end @@ -251,7 +260,7 @@ if math.random(20) == 1 then AddVisualGear(2012,56,vgtSmoke,0,false) end if CurrentHedgehog == dummyHog and dummySkip ~= 0 and dummySkip < GameTime then - ParseCommand("/skip") + SkipTurn() dummySkip = 0 end @@ -314,9 +323,19 @@ local cx,cy = GetGearPosition(Cake) if y < cy-1500 then DeleteGear(Cake) end - if Cake ~= nil and GetHealth(Cake) < 999980 and gearIsInCircle(CurrentHedgehog,cx,cy,450) then - FireBoom(cx,cy,200) -- todo animate - DeleteGear(Cake) + if Cake ~= nil and GetHealth(Cake) < 999980 then + if not CakeWarning and gearIsInCircle(CurrentHedgehog,cx,cy,1350) then + AddCaption(loc("Warning: Fire cake detected")) + CakeWarning = true + end + if gearIsInCircle(CurrentHedgehog,cx,cy,450) then + if not CakeFireWarning then + AddCaption(loc("Don't touch the flames!")) + CakeFireWarning = true + end + FireBoom(cx,cy,200) -- todo animate + DeleteGear(Cake) + end end end if band(GetState(CurrentHedgehog),gstHHDriven) == 0 then @@ -410,7 +429,7 @@ end -- FIXME: Hog is also in winning box if it just walks into the chair from the left, touching it. Intentional? if not YouWon and not YouLost and gearIsInBox(CurrentHedgehog, 1920, 252, 50, 50) then - AddCaption(loc("Victory!")) + AddCaption(loc("Victory!"), 0xFFFFFFFF, capgrpGameState) ShowMission(loc("Climb Home"), loc("Made it!"), string.format(loc("Ahhh, home, sweet home. Made it in %d seconds."), roundedFinishTime), @@ -445,12 +464,11 @@ (not MrMine or (MrMine and band(GetState(MrMine), gstAttacking) == 0)) then -- Player managed to reach home in multiplayer. -- Stop hog, disable controls, celebrate victory and continue the game after 4 seconds. - AddCaption(string.format(loc("%s climbed home in %d seconds!"), GetHogName(CurrentHedgehog), roundedFinishTime)) + AddCaption(string.format(loc("%s climbed home in %d seconds!"), GetHogName(CurrentHedgehog), roundedFinishTime), 0xFFFFFFFF, capgrpGameState) SendStat(siCustomAchievement, string.format(loc("%s (%s) reached home in %.3f seconds."), GetHogName(CurrentHedgehog), GetHogTeamName(CurrentHedgehog), finishTime)) makeMultiPlayerWinnerStat(CurrentHedgehog) PlaySound(sndVictory, CurrentHedgehog) - -- TODO: Unselect weapon. - -- Note: SetWeapon(amNothing) does not work. :-( + SetWeapon(amNothing) SetGearMessage(CurrentHedgehog, band(GetGearMessage(CurrentHedgehog), bnot(gmLeft+gmRight+gmUp+gmDown+gmHJump+gmLJump+gmPrecise))) SetInputMask(0x00) -- TODO: Add stupid winner grin. @@ -471,6 +489,11 @@ else SendStat(siClanHealth, tostring(getActualHeight(y)), GetHogTeamName(CurrentHedgehog)) end + -- If player is inside home, tell player to take a seat. + if not takeASeat and gearIsInBox(CurrentHedgehog, 1765, 131, 244, 189) then + AddCaption(loc("Welcome home! Please take a seat")) + takeASeat = true + end -- play taunts if not YouWon and not YouLost then @@ -509,11 +532,13 @@ MaxHeight = 286 end if y < MaxHeight and y > 286 then MaxHeight = y end + -- New maximum height of this turn? if MaxHeight < hTagHeight then hTagHeight = MaxHeight if hTag ~= nil then DeleteVisualGear(hTag) end hTag = AddVisualGear(0, 0, vgtHealthTag, 0, true) local g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(hTag) + local score = 32640-hTagHeight -- snagged from space invasion SetVisualGearValues ( hTag, --id @@ -526,12 +551,15 @@ g7, --frameticks -- 116px off bottom for lowest rock, 286 or so off top for position of chair -- 32650 is "0" - 32640-hTagHeight, --value + score, --value 99999999999,--timer GetClanColor(GetHogClan(CurrentHedgehog)) ) + local team = GetHogTeamName(CurrentHedgehog) + SetTeamLabel(team, math.max(score, teamBests[team] or 0)) end + -- New record height? if MaxHeight < RecordHeight then RecordHeight = MaxHeight local oldName = RecordHeightHogName diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Maps/Control/map.lua --- a/share/hedgewars/Data/Maps/Control/map.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Maps/Control/map.lua Sun Jun 10 19:12:26 2018 +0200 @@ -225,6 +225,13 @@ end end + -- Update team labels + for i = 0,(TeamsCount-1) do + if teamNameArr[i] ~= " " then + SetTeamLabel(teamNameArr[i], teamScore[teamClan[i]]) + end + end + end ----------------- @@ -273,6 +280,7 @@ -- find out how many hogs per team, and the index of the first hog in hhs for i = 0, (numTeams-1) do + SetTeamLabel(GetTeamName(i), "0") for z = 0, (numhhs-1) do if GetHogTeamName(hhs[z]) == teamNameArr[i] then teamClan[i] = GetHogClan(hhs[z]) @@ -309,9 +317,9 @@ function onGameInit() -- Things we don't modify here will use their default values. - --GameFlags = gfInfAttack + gfSolidLand -- Game settings and rules - GameFlags = band(bor(GameFlags, gfInfAttack + gfSolidLand), bnot(gfKing + gfForts)) + EnableGameFlags(gfInfAttack, gfSolidLand) + DisableGameFlags(gfKing, gfAISurvival) WaterRise = 0 HealthDecrease = 0 @@ -377,6 +385,15 @@ --AddCaption(zz) -- number of times it took to work end + for h=1, numhhs do + -- Tardis screws up the game too much, teams might not get killed correctly after victory + -- if a hog is still in time-travel. + -- This could be fixed, removing the Tardis is just a simple and lazy fix. + AddAmmo(hhs[h], amTardis, 0) + -- Resurrector is pointless, all hogs are already automatically resurrected. + AddAmmo(hhs[h], amResurrector, 0) + end + ShowMission(missionName, missionCaption, missionHelp, 0, 0) end @@ -412,22 +429,6 @@ TurnTimeLeft = 1 end - totalComment = "" - for i = 0,(TeamsCount-1) do - if teamNameArr[i] ~= " " then - -- Team scores (“: ”) - teamComment[i] = string.format(loc("%s: %d"), teamNameArr[i], teamScore[teamClan[i]]) .. "|" - totalComment = totalComment .. teamComment[i] - elseif teamNameArr[i] == " " then - teamComment[i] = "|" - end - end - - ShowMission(missionName, missionCaption, - missionHelp .. "|" .. - loc("Team Scores:") .. "|" .. - totalComment, 0, 1600) - end end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Maps/CrazyMission/preview.png Binary file share/hedgewars/Data/Maps/CrazyMission/preview.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Maps/Sticks/preview.png Binary file share/hedgewars/Data/Maps/Sticks/preview.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Maps/TrophyRace/map.lua --- a/share/hedgewars/Data/Maps/TrophyRace/map.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Maps/TrophyRace/map.lua Sun Jun 10 19:12:26 2018 +0200 @@ -13,6 +13,9 @@ -- store hedgehog gears local hhs = {} +-- count how many hogs each clan has +local hogsByClan = {} + -- store best time per team local clantimes = {} @@ -79,6 +82,7 @@ for i=0, ClansCount-1 do clantimes[i] = 0 end + SendAchievementsStatsOff() end function onAmmoStoreInit() @@ -97,9 +101,11 @@ lasthog = nil end -function onHogAttack() +function onHogAttack(ammoType) if TurnTimeLeft == 0 then killHog() + elseif ammoType == amRope then + HideMission() end end @@ -125,15 +131,16 @@ end if CurrentHedgehog ~= nil and TurnTimeLeft == 1 then killHog() + AddCaption(loc("Time's up!"), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpMessage2) elseif CurrentHedgehog ~= nil then x, y = GetGearPosition(CurrentHedgehog) if not reached and x > goal_area[1] and x < goal_area[1] + goal_area[3] and y > goal_area[2] and y < goal_area[2] + goal_area[4] then -- hog is within goal rectangle reached = true local ttime = GameTime-startTime - --give it a sound;) + -- give it a sound ;) if ttime < besttime then PlaySound (sndHomerun) - else + elseif ttime > worsttime then PlaySound (sndHellish) end for i = 0, numhhs - 1 do @@ -151,65 +158,116 @@ if bestTimes[teamname] == nil or bestTimes[teamname] > ttime then bestTimes[teamname] = ttime end + local fastestStr if ttime < besttime then besttime = ttime besthog = CurrentHedgehog besthogname = GetHogName(besthog) - hscore = hscore .. loc("NEW fastest lap: ") else - hscore = hscore .. loc("Fastest lap: ") end + fastestStr = loc("Fastest lap: %.3fs by %s") if ttime > worsttime then worsttime = ttime worsthog = CurrentHedgehog end - hscore = hscore .. besthogname .. " - " .. (besttime / 1000) .. " s | |" .. loc("Best laps per team: ") + + if worsthog then + hscore = hscore .. string.format(loc("Round's slowest lap: %.3fs by %s"), (worsttime / 1000), GetHogName(worsthog)) + end + + hscore = hscore .. " |" .. string.format(fastestStr, (besttime / 1000), besthogname) if clan == ClansCount -1 then -- Time for elimination - worst hog is out and the worst hog vars are reset. if worsthog ~= nil then SetHealth(worsthog, 0) - --Place a grenade to make inactive slowest hog active + -- Drop a bazooka to make inactive slowest hog active. x, y = GetGearPosition(worsthog) AddGear(x, y, gtShell, 0, 0, 0, 0) end worsttime = 0 worsthog = nil end - - for i=0, ClansCount -1 do - local tt = "" .. (clantimes[i] / 1000) .. " s" - if clantimes[i] == 0 then - tt = "--" - end - hscore = hscore .. "|" .. string.format(loc("Team %d: "), i+1) .. tt + + ShowMission(loc("TrophyRace"), loc("Status update"), + string.format(loc("Time: %.3fs by %s"), (ttime/1000), GetHogName(CurrentHedgehog)) + .. hscore, + 0, 0) + AddCaption(string.format(loc("Time: %.3fs"), (ttime/1000)), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpMessage2) + AddCaption(loc("Track completed!"), 0xFFFFFFFF, capgrpGameState) + EndTurn(true) + else + if (TurnTimeLeft > 0) and (TurnTimeLeft ~= TurnTime) and CurrentHedgehog ~= nil and GetHealth(CurrentHedgehog) > 0 and (not reached) and GameTime%100 == 0 then + local ttime = GameTime-startTime + AddCaption(string.format(loc("Time: %.1fs"), (ttime/1000)), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpMessage2) end - - ShowMission(loc("TrophyRace"), loc("Race"), loc("You've reached the goal!| |Time: ") .. (ttime / 1000) .. " s" .. hscore, 0, 0) - EndTurn(true) end end end +function WriteStats() + if besthog then + SendStat(siCustomAchievement, string.format(loc("The fastest hedgehog was %s from %s with a time of %.3fs."), besthogname, GetHogTeamName(besthog), besttime/1000)) + else + SendStat(siCustomAchievement, loc("Nobody managed to finish the race. What a shame!")) + end + + -- Write most skips + local mostSkips = 2 -- a minimum skip threshold is required + local mostSkipsTeam = nil + for i=0, TeamsCount-1 do + local teamName = GetTeamName(i) + local stats = GetTeamStats(teamName) + if stats.TurnSkips > mostSkips then + mostSkips = stats.TurnSkips + mostSkipsTeam = teamName + end + end + if mostSkipsTeam then + SendStat(siMaxTurnSkips, tostring(mostSkips) .. " " .. mostSkipsTeam) + end +end + function onGearAdd(gear) if GetGearType(gear) == gtHedgehog then hhs[numhhs] = gear times[numhhs] = 0 numhhs = numhhs + 1 + local clan = GetHogClan(gear) + if not hogsByClan[clan] then + hogsByClan[clan] = 0 + end + hogsByClan[clan] = hogsByClan[clan] + 1 end --- elseif GetGearType(gear) == gtRope then -- rope is shot end ---function onGearDelete(gear) --- if GetGearType(gear) == gtRope then -- rope deletion - hog didn't manage to rerope --- --TurnTimeLeft = 0 -- end turn or not? hm... --- lasthog = CurrentHedgehog --- --- end ---end +function areTwoOrMoreClansLeft() + local clans = 0 + for i=0, ClansCount-1 do + if hogsByClan[i] >= 1 then + clans = clans + 1 + end + if clans >= 2 then + return true + end + end + return false +end + +function onGearDelete(gear) + if GetGearType(gear) == gtHedgehog then + local clan = GetHogClan(gear) + + hogsByClan[clan] = hogsByClan[clan] - 1 + if not areTwoOrMoreClansLeft() then + WriteStats() + end + end +end function onAchievementsDeclaration() for team,time in pairs(bestTimes) do DeclareAchievement("rope race", team, "TrophyRace", time) end end + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Maps/portal/map.cfg --- a/share/hedgewars/Data/Maps/portal/map.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Maps/portal/map.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -1,2 +1,2 @@ -Eyes -48 \ No newline at end of file +Hell +48 diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/01-Boot_Camp.lua --- a/share/hedgewars/Data/Missions/Campaign/01-Boot_Camp.lua Sun Jun 10 18:56:51 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,357 +0,0 @@ --- IMPORTANT -- THIS IS WORK IN PROGRESS AND VERY LIKELY TO BE CHANGED AGAIN --- IMPORTANT -- DO NOT TRANSLATE THIS AS IT USES THE OLD SYSTEM AND WILL BE UPDATED LATER! - -local teamnames = {} -local hognames = {} -teamnames[0] = { - ["en"] = "Bloody Rookies", - ["de"] = "Blutige Anfänger", - ["pl"] = "Żótodzioby", - ["sv"] = "Blodiga nybörjare", - ["es"] = "Reclutas", - ["pt_PT"] = "Recrutas", - ["pt_BR"] = "Malditos Recrutas", - ["sk"] = "Regruti" -} - -teamnames[1] = { - ["en"] = "Instructors", - ["de"] = "Ausbilder", - ["pl"] = "Instruktor", - ["sv"] = "Instruktör", - ["es"] = "Instructores", - ["pt_PT"] = "Instrutores", - ["pt_BR"] = "Instrutores", - ["sk"] = "Inštruktori" -} - -hognames[0] = { - ["en"] = "Joker", - ["de"] = "Joker", - ["pl"] = "Joker", - ["sv"] = "Joker", - ["es"] = "Joker", - ["pt_PT"] = "Joker", - ["pt_BR"] = "Comediante", - ["sk"] = "Komediant" -} - -hognames[1] = { - ["en"] = "Harthog", - ["de"] = "Harthog", - ["pl"] = "Harthog", - ["sv"] = "Harthog", - ["es"] = "Harthog", - ["pt_PT"] = "Harthog", - ["pt_BR"] = "Harthog", - ["sk"] = "Harthog" -} - -local caption = { - ["en"] = "Boot Camp", - ["de"] = "Grundausbildung", - ["pl"] = "Poligon", - ["sv"] = "Grundutbildning", - ["es"] = "Campamento militar", - ["pt_PT"] = "Acampamento militar", - ["pt_BR"] = "Acampamento Militar", - ["sk"] = "Výcvikový tábor" - -} - -local subcaption = { - ["en"] = "Follow the instructions!", - ["de"] = "Befolge die Anweisungen!", - ["pl"] = "Wykonuj polecenia!", - ["sv"] = "Följ instruktioner!", - ["es"] = "¡Sigue las órdenes!", - ["pt_PT"] = "Segue as instruções!", - ["pt_BR"] = "Siga as ordens!", - ["sk"] = "Postupujte podľa inštrukcií!" -} - -local goals = {} - -goals[0] = { - ["en"] = "Listen to your Drill Instructor and follow his lead!", - ["de"] = "Höre deinem Ausbilder zu und befolge seine Anweisungen!", - ["pl"] = "Słuchaj instruktora i wykonuj jego rozkazy!", - ["sv"] = "Lyssna på din instruktör och gör som han säger!", - ["es"] = "¡Escucha atentamente a tu instructor de maniobras y sigue sus órdenes!", - ["pt_PT"] = "Ouve atentamente o teu Instrutor e segue as suas ordens!", - ["pt_BR"] = "Escute seu instrutor de escavação e siga seu líder", - ["sk"] = "Počúvajte vášho inštruktora výcviku a vykonávajte jeho rozkazy!" -} - -goals[1] = { - ["en"] = "Destroy the target to finish this mission!", - ["de"] = "Zerstöre das Ziel, um diese Mission abzuschließen!", - ["pl"] = "Zniszcz cel by ukończyć misję!", - ["sv"] = "Förstör målet för att avklara uppdraget!", - ["es"] = "¡Destruye el objetivo para completar esta misión!", - ["pt_PT"] = "Destrói o alvo para completar esta missão!", - ["pt_BR"] = "Destrua o alvo para concluir a missão", - ["sk"] = "Pre ukončenie misie zneškodnite cieľ!" -} - -goals[2] = { - ["en"] = "Excellent! You've passed the Boot Camp!", - ["de"] = "Ausgezeichnet! Du hast das Ausbildungslager bestanden!", - ["pl"] = "Doskonale! Wyszedłeś cało z poligonu!", - ["sv"] = "Brilliant! Du har klarat av grundutbildningen!", - ["es"] = "¡Excelente! ¡Has completado la maniobra de hoy!", - ["pt_PT"] = "Excelente! Completaste o treino para recrutas!", - ["pt_BR"] = "Excelente! Você completou a manobra", - ["pt_BR"] = "Výborne! Prešli ste výcvikovým táborom!" -} - -local failed = { - ["en"] = "You failed! Follow the instructions and shoot the target only!", - ["de"] = "Du hast versagt! Befolge die Anweisungen und schieß nur auf das Ziel!", - ["pl"] = "Przegrałeś! Wykonuj instrukcje poprawnie i strzelaj tylko w podane cele!", - ["sv"] = "Du har misslyckats! Följ instruktionerna och sjut endast på målen!", - ["es"] = "¡Has fallado! ¡Sigue las instrucciones y destruye únicamente el objetivo!", - ["pt_PT"] = "Falhaste! Segue as instruções e destrói apenas o alvo!", - ["pt_BR"] = "Você falhou! Siga as instruções e atire somente no alvo", - ["sk"] = "Prehrali ste! Nasledujte inštrukcie a strieľajte iba na cieľ!" -} - -local drill = {} - -drill[0] = { - ["en"] = "Allright, maggot!", - ["de"] = "Also gut, du Made!", - ["pl"] = "Słuchaj mnie gnido!", - ["sv"] = "Dåså, din mask!", - ["es"] = "¡Muy bien, escoria!", - ["pt_PT"] = "Bom trabalho verme!", - ["pt_BR"] = "Parabéns escória", - ["sk"] = "Počúvaj, ty červík!" -} - -drill[1] = { - ["en"] = "Show that you aren't that useless.", - ["de"] = "Zeig, dass du nicht so nutzlos bist.", - ["pl"] = "Udowodnij, że nie jesteś bezwartościowy.", - ["sv"] = "Visa att du inte är så värdelös!", - ["es"] = "Demuéstrame que no eres tan inútil como pareces.", - ["pt_PT"] = "Prova-me que não és tão inútil como pareces.", - ["pt_BR"] = "Mostre que você não é um inútil.", - ["sk"] = "Dokáž, že nie si na svete úplne zbytočným." -} - -drill[2] = { - ["en"] = "Use [left] to move to the left!", - ["de"] = "Benutze [Links], um nach links zu gehen!", - ["pl"] = "Użyj [lewo] by poruszyć się w lewą stronę!", - ["sv"] = "Använd [vänster] för att gå åt vänster!", - ["es"] = "¡Aprieta [izquierda] para desplazarte a la izquierda!", - ["pt_PT"] = "Carrega [esquerda] para te moveres para a esquerda!", - ["pt_BR"] = "Use [esquerda] para mover para a esquerda", - ["sk"] = "Stlačte [vľavo] pre pohyb doľava" -} - -drill[3] = { - ["en"] = "Good! Now use [right] to come back!", - ["de"] = "Gut! Nun komm mit [Rechts] zurück!", - ["pl"] = "Dobzre, Teraz użyj [prawo] by wrócić!", - ["sv"] = "Bra! Använd nu [höger] för att gå tillbaka!", - ["es"] = "¡Muy bien! ¡Ahora presiona [derecha] para volver!", - ["pt_PT"] = "Muito bem! Agora pressiona [direita] para voltar!", - ["pt_BR"] = "Bom! Agora use [direita] para voltar", - ["sk"] = "Dobre! Teraz použite [vpravo] a vráťte sa naspäť!" -} - -drill[4] = { - ["en"] = "Excellent!", - ["de"] = "Ausgezeichnet!", - ["pl"] = "Wspaniale!", - ["sv"] = "Utmärkt!", - ["es"] = "¡Excelente!", - ["pt_PT"] = "Excelente!", - ["pt_BR"] = "Excelente!", - ["sk"] = "Výborne!" -} - -drill[5] = { - ["en"] = "Now jump to the left using [return]!", - ["de"] = "Jetzt springe mit [Eingabetaste] nach links!", - ["pl"] = "Teraz skocz w lewo używając [Enter]", - ["sv"] = "Hoppa nu åt vänster med hjälp av [enter]!", - ["es"] = "¡Ahora salta hacia la izquierda usando [intro]!", - ["pt_PT"] = "Agora salta para a esquerda pressionando [retrocesso]!", - ["pt_BR"] = "Agora pule para a esquerda usando [return]!", - ["sk"] = "Teraz skočte doľava stlačením [enter]!" -} - -drill[6] = { - ["en"] = "Use [up] and [down] to aim.", - ["de"] = "Benutze [Hoch] und [Runter], um zu zielen.", - ["pl"] = "Użyj klawiszy [góra] i [dół] by celować.", - ["sv"] = "Använd [upp] och [ner] för att sikta!", - ["es"] = "Presiora [arriba] y [abajo] para apuntar.", - ["pt_PT"] = "Pressiona [cima] e [baixo] para apontar.", - ["pt_BR"] = "Pressione [acima] e [abaixo] para mirar.", - ["sk"] = "Stlačte [hore] a [dole] pre mierenie." -} - -drill[7] = { - ["en"] = "Hold [space] to power up your shot and then release it to shoot.", - ["de"] = "Halte [Leertaste], um deinen Schuss aufzuladen, und lasse dann rechtzeitig los.", - ["pl"] = "Przytrzymaj spację by zwiększyć siłę strzału.", - ["sv"] = "Håll ner [mellanslag] för att få kraft och släpp för att skjuta!", - ["es"] = "Mantén presionada la [barra espaciadora] para controlar la fuerza del disparo y suéltala para disparar.", - ["pt_PT"] = "Mantem a [barra de espaços] pressionada para controlar a força do tiro e larga-a para disparar.", - ["pt_BR"] = "Mantenha pressionado [espaço] para aumentar a força do seu tiro e solte para atirar", - ["sk"] = "Držte stlačený [medzerník] pre nabíjanie, jeho uvoľnením vystrelíte." -} - -drill[8] = { - ["en"] = "Destroy the target to finish your basic training!", - ["de"] = "Zerstöre das Ziel, um deine Grundausbildung abzuschließen!", - ["pl"] = "Zniszcz cel by by ukończyć trening podstawowy!", - ["sv"] = "Förstör målet för att avsluta din grundutbildning!", - ["es"] = "¡Destruye el objetivo para completar el entrenamiento básico!", - ["pt_PT"] = "Destrói o alvo para completar o treino básico!", - ["pt_BR"] = "Destrua o alvo para terminar o treino básico", - ["sk"] = "Zneškodnite cieľ na ukončenie základného výcviku!" -} - -local function loc(text) - if text == nil then return "**missing**" - elseif text[L] == nil then return text["en"] - else return text[L] - end -end - -local player = nil -local instructor = nil -local target = nil - -function onGameStart() - -end - -local player_start_x = 2300 -local player_start_y = 1250 -local target_x = 1900 -local target_y = 1250 -local player_health = 100 -local instructor_health = 100 -local teamcolor = 14483456 - -local progress = 0 -local time_start = 0 - -function onGameTick() - if progress == -1 and (time_start + 2500) == GameTime then - EndGame() - elseif progress == -1 then - - elseif progress > 0 and ((TurnTimeLeft == 0) or (GetHealth(player) ~= player_health) or (GetHealth(instructor) ~= instructor_health)) then - progress = -1 - ShowMission(loc(caption), loc(subcaption), loc(failed), -amBazooka, 0) - time_start = GameTime - PlaySound(sndNooo) - TurnTimeLeft = 0 - elseif GameTime == 0 then - ShowMission(loc(caption), loc(subcaption), loc(goals[0]), -amBazooka, 0) - TurnTimeLeft = 60000 - elseif GameTime == 2500 then - FollowGear(instructor) - HogSay(instructor, loc(drill[0]), SAY_SAY) - elseif GameTime == 5000 then - FollowGear(instructor) - HogSay(instructor, loc(drill[1]), SAY_SAY) - elseif GameTime == 7500 then - FollowGear(instructor) - HogSay(instructor, loc(drill[2]), SAY_SHOUT) - progress = 1 - TurnTimeLeft = 10000 - elseif progress == 1 then - local x, y = GetGearPosition(player) - if x < player_start_x - 50 then - progress = 2 - FollowGear(instructor) - HogSay(instructor, loc(drill[3]), SAY_SHOUT) - TurnTimeLeft = 10000 - end - elseif progress == 2 then - local x, y = GetGearPosition(player) - if x > player_start_x then - progress = 3 - FollowGear(instructor) - HogSay(instructor, loc(drill[4]), SAY_SAY) - time_start = GameTime - end - elseif progress == 3 and (time_start + 2500 == GameTime) then - progress = 4 - FollowGear(instructor) - HogSay(instructor, loc(drill[5]), SAY_SHOUT) - HogTurnLeft(player, true) - TurnTimeLeft = 10000 - elseif progress == 4 then - local x, y = GetGearPosition(player) - if y < player_start_y then - progress = 5 - FollowGear(instructor) - HogSay(instructor, "Yeah!", SAY_SAY) - time_start = GameTime - TurnTimeLeft = 30000 - end - elseif progress == 5 and (time_start + 2500 == GameTime) then - FollowGear(instructor) - HogSay(instructor, loc(drill[6]), SAY_SAY) - elseif progress == 5 and (time_start + 5000 == GameTime) then - FollowGear(instructor) - HogSay(instructor, loc(drill[7]), SAY_SAY) - elseif progress == 5 and (time_start + 7500 == GameTime) then - FollowGear(instructor) - HogSay(instructor, loc(drill[8]), SAY_SHOUT) - ShowMission(loc(caption), loc(subcaption), loc(goals[1]), 1, 0) - target = AddGear(target_x, target_y, gtTarget, 0, 0, 0, 0) - TurnTimeLeft = 60000 - elseif progress == 5 and (time_start + 10000 == GameTime) then - FollowGear(target) - elseif progress == 6 then - progress = 7 - ShowMission(loc(caption), loc(subcaption), loc(goals[2]), 0, 0) - PlaySound(sndVictory) - time_start = GameTime - elseif progress == 7 and (time_start + 2500 == GameTime) then - EndGame() - end -end - -function onGameInit() - Seed = 0 - GameFlags = gfMultiWeapon + gfOneClanMode - TurnTime = 25000 - CaseFreq = 0 - MinesNum = 0 - Explosives = 0 - Delay = 2500 - Map = "Mushrooms" - Theme = "Nature" - - AddTeam(loc(teamnames[0]), teamcolor, "Simple", "Island", "Default") - player = AddHog(loc(hognames[0]), 0, player_health, "NoHat") - SetGearPosition(player, player_start_x, player_start_y) - - AddTeam(loc(teamnames[1]), teamcolor + 1, "Simple", "Island", "Default") - instructor = AddHog(loc(hognames[1]), 0, instructor_health, "NoHat") - SetGearPosition(instructor, player_start_x + 100, player_start_y) - HogTurnLeft(instructor, true) - - FollowGear(player) -end - -function onAmmoStoreInit() - SetAmmo(amBazooka, 9, 0, 0, 0) -end - -function onGearDelete(gear) - if GetGearType(gear) == gtTarget then - progress = 6 - end -end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/backstab.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/backstab.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/backstab.lua Sun Jun 10 19:12:26 2018 +0200 @@ -4,7 +4,7 @@ = SUMMARY = It is revealed that there's a traitor among the natives. Player decides whether to kill him or not. -After the natives must defeat 3 waves of cannibals. +After this, the natives must defeat 3 waves of cannibals. = FLOW CHART = @@ -244,7 +244,7 @@ AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Why would they do this?"), SAY_SAY, 6000}}) AnimInsertStepNext({func = AnimSay, args = {natives[wiseNum], loc("It must be the aliens' deed."), SAY_SAY, 5000}}) AnimInsertStepNext({func = AnimSay, args = {natives[wiseNum], loc("Do not laugh, inexperienced one, for he speaks the truth!"), SAY_SAY, 10000}}) - AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Yeah, sure! I died. Hillarious!"), SAY_SAY, 6000}}) + AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Yeah, sure! I died. Hilarious!"), SAY_SAY, 6000}}) AnimInsertStepNext({func = AnimSay, args = {gearr, loc("You're...alive!? But we saw you die!"), SAY_SAY, 6000}}) AnimInsertStepNext({func = AnimSay, args = {gearr, loc("Huh?"), SAY_SAY, 2000}}) AnimInsertStepNext({func = AnimSay, args = {natives[leaksNum], loc("Wow, what a dream!"), SAY_SAY, 3000}}) @@ -276,8 +276,8 @@ AnimSetGearPosition(cyborg, unpack(cyborgPos)) AnimInsertStepNext({func = AnimCustomFunction, args = {water, HideCyborg, {}}}) AnimInsertStepNext({func = AnimSwitchHog, args = {water}}) - AnimInsertStepNext({func = AnimSay, args = {cyborg, loc("The answer is...entertaintment. You'll see what I mean."), SAY_SAY, 8000}}) - AnimInsertStepNext({func = AnimSay, args = {cyborg, loc("You're probably wondering why I bought you back..."), SAY_SAY, 8000}}) + AnimInsertStepNext({func = AnimSay, args = {cyborg, loc("The answer is ... entertainment. You'll see what I mean."), SAY_SAY, 8000}}) + AnimInsertStepNext({func = AnimSay, args = {cyborg, loc("You're probably wondering why I brought you back ..."), SAY_SAY, 8000}}) end end @@ -617,12 +617,12 @@ end function SpawnPlatformCrates() - SpawnAmmoCrate(2494, 1262, amMine) - SpawnAmmoCrate(2574, 1279, amSMine) - SpawnAmmoCrate(2575, 1267, amMine) - SpawnAmmoCrate(2617, 1259, amSMine) - SpawnAmmoCrate(2579, 1254, amMine) - SpawnAmmoCrate(2478, 1243, amMine) + SpawnSupplyCrate(2494, 1262, amMine) + SpawnSupplyCrate(2574, 1279, amSMine) + SpawnSupplyCrate(2575, 1267, amMine) + SpawnSupplyCrate(2617, 1259, amSMine) + SpawnSupplyCrate(2579, 1254, amMine) + SpawnSupplyCrate(2478, 1243, amMine) end function AfterWave2DeadAnim() @@ -634,7 +634,7 @@ AddEvent(CheckWaveDead, {3}, DoWaveDead, {3}, 0) AddEvent(CheckDeployedDead, {}, DoDeployedDead, {}, 0) EndTurn(true) - ShowMission(loc("Backstab"), loc("Drills"), loc("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..."), 1, 12000) + ShowMission(loc("Backstab"), loc("Drills"), loc("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 ..."), 1, 12000) end function DoTurnsOver() @@ -847,21 +847,21 @@ -----------------------------Misc-------------------------------------- function SpawnCrates() - SpawnAmmoCrate(0, 0, amDrill) - SpawnAmmoCrate(0, 0, amGrenade) - SpawnAmmoCrate(0, 0, amBazooka) - SpawnAmmoCrate(0, 0, amDynamite) - SpawnAmmoCrate(0, 0, amGrenade) - SpawnAmmoCrate(0, 0, amMine) - SpawnAmmoCrate(0, 0, amShotgun) - SpawnAmmoCrate(0, 0, amFlamethrower) - SpawnAmmoCrate(0, 0, amMolotov) - SpawnAmmoCrate(0, 0, amSMine) - SpawnAmmoCrate(0, 0, amMortar) - SpawnUtilityCrate(0, 0, amRope) - SpawnUtilityCrate(0, 0, amRope) - SpawnUtilityCrate(0, 0, amParachute) - SpawnUtilityCrate(0, 0, amParachute) + SpawnSupplyCrate(0, 0, amDrill) + SpawnSupplyCrate(0, 0, amGrenade) + SpawnSupplyCrate(0, 0, amBazooka) + SpawnSupplyCrate(0, 0, amDynamite) + SpawnSupplyCrate(0, 0, amGrenade) + SpawnSupplyCrate(0, 0, amMine) + SpawnSupplyCrate(0, 0, amShotgun) + SpawnSupplyCrate(0, 0, amFlamethrower) + SpawnSupplyCrate(0, 0, amMolotov) + SpawnSupplyCrate(0, 0, amSMine) + SpawnSupplyCrate(0, 0, amMortar) + SpawnSupplyCrate(0, 0, amRope) + SpawnSupplyCrate(0, 0, amRope) + SpawnSupplyCrate(0, 0, amParachute) + SpawnSupplyCrate(0, 0, amParachute) SetHealth(SpawnHealthCrate(0, 0), 25) SetHealth(SpawnHealthCrate(0, 0), 25) SetHealth(SpawnHealthCrate(0, 0), 25) @@ -885,7 +885,7 @@ function GetVariables() progress = tonumber(GetCampaignVar("Progress")) m2DenseDead = tonumber(GetCampaignVar("M2DenseDead")) - m2Choice = tonumber(GetCampaignVar("M2Choice")) + m2Choice = tonumber(GetCampaignVar("M2Choice")) or choiceRefused m4DenseDead = tonumber(GetCampaignVar("M4DenseDead")) m4LeaksDead = tonumber(GetCampaignVar("M4LeaksDead")) m4ChiefDead = tonumber(GetCampaignVar("M4ChiefDead")) @@ -974,12 +974,12 @@ AddTeam(loc("Assault Team"), 14483456, "skull", "Island", "Pirate", "cm_vampire") for i = 1, 6 do - cannibals[i] = AddHog(cannibalNames[i], 1, 50, "vampirichog") + cannibals[i] = AddHog(cannibalNames[i], 3, 50, "vampirichog") end AddTeam(loc("Reinforcements"), 14483456, "skull", "Island", "Pirate", "cm_vampire") for i = 7, 9 do - cannibals[i] = AddHog(cannibalNames[i], 1, 50, "vampirichog") + cannibals[i] = AddHog(cannibalNames[i], 2, 50, "vampirichog") end AddTeam(loc("011101001"), 14483456, "ring", "UFO", "Robot", "cm_binary") @@ -1168,8 +1168,8 @@ end end -function onHogAttack(ammoType) - if stage == spyKillStage and ammoType == amSkip then +function onSkipTurn() + if stage == spyKillStage then highJumped = true end end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/dragon.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/dragon.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/dragon.lua Sun Jun 10 19:12:26 2018 +0200 @@ -5,6 +5,7 @@ Hero must collect an utility crate on the other side of the river. To accomplish that, hero must first collect a series of crates with the rope and wipe out the cyborgs. +The hero is one survivor of the previous missions. = GOALS = - Mission goal (leads to immediate victory): Collect utility crate at the right side of the river @@ -12,6 +13,7 @@ - Second sub-goal: Wipe out the cyborgs = FLOW CHART = +- Choose hog to be hero (read from m5DeployedNum) - Cut scene: Intro - TBS | Player accomplishes first sub-goal first: @@ -344,9 +346,9 @@ function SpawnCrateByID(id) if cratePos[id][2] == true then - crates[id] = SpawnUtilityCrate(unpack(cratePos[id][1])) + crates[id] = SpawnSupplyCrate(unpack(cratePos[id][1])) else - crates[id] = SpawnAmmoCrate(unpack(cratePos[id][1])) + crates[id] = SpawnSupplyCrate(unpack(cratePos[id][1])) end return crates[id] end @@ -396,12 +398,12 @@ HideHedge(cyborg) TurnTimeLeft = TurnTime SetGearMessage(native, 0) - SpawnUtilityCrate(1184, 399, amPortalGun, 100) - SpawnUtilityCrate(2259, 755, amTeleport, 2) + SpawnSupplyCrate(1184, 399, amPortalGun, 100) + SpawnSupplyCrate(2259, 755, amTeleport, 2) SpawnHealthCrate(secondPos[1][1] + 50, secondPos[1][2] - 20) ShowMission(loc("Dragon's Lair"), loc("The what?!"), loc("Use the portal gun to get to the next crate, then use the new gun to get to the final destination!|").. - loc("Portal hint: one goes to the destination, and one is the entrance.|").. - loc("Teleport hint: just use the mouse to select the destination!").."|".. + loc("Portal hint: One goes to the destination, the other one is the entrance.|").. + loc("Teleport hint: Just use the mouse to select the destination!").."|".. loc("Mines time: 5 seconds"), 1, 8000) end -----------------------------Events------------------------------------ @@ -549,7 +551,7 @@ function GetVariables() progress = tonumber(GetCampaignVar("Progress")) - m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) + m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) or leaksNum end function SetupPlace() @@ -561,7 +563,7 @@ end end HideHedge(cyborg) - jetCrate = SpawnUtilityCrate(3915, 1723, amJetpack) + jetCrate = SpawnSupplyCrate(3915, 1723, amJetpack) --[[ Block the left entrance. Otherwise the player could rope out of the map and @@ -588,12 +590,26 @@ AddGear(957, 1903, gtMine, 0, 0, 0, 0) AddGear(909, 1910, gtMine, 0, 0, 0, 0) AddGear(889, 1917, gtMine, 0, 0, 0, 0) + + -- Place misc. mines + AddGear(759, 878, gtMine, 0, 0, 0, 0) + AddGear(2388, 759, gtMine, 0, 0, 0, 0) + AddGear(2498, 696, gtMine, 0, 0, 0, 0) + AddGear(2936, 1705, gtMine, 0, 0, 0, 0) + AddGear(3119, 1366, gtMine, 0, 0, 0, 0) + AddGear(2001, 832, gtMine, 0, 0, 0, 0) + AddGear(2008, 586, gtMine, 0, 0, 0, 0) + AddGear(511, 1245, gtMine, 0, 0, 0, 0) + + -- And one barrel for fun + AddGear(719, 276, gtExplosives, 0, 0, 0, 0) + ------ STICKY MINE LIST ------ - tempG = AddGear(1199, 733, gtSMine, 0, 0, 0, 0) - tempG = AddGear(1195, 793, gtSMine, 0, 0, 0, 0) - tempG = AddGear(1201, 861, gtSMine, 0, 0, 0, 0) - tempG = AddGear(682, 878, gtSMine, 0, 0, 0, 0) - tempG = AddGear(789, 876, gtSMine, 0, 0, 0, 0) + AddGear(1199, 733, gtSMine, 0, 0, 0, 0) + AddGear(1195, 793, gtSMine, 0, 0, 0, 0) + AddGear(1201, 861, gtSMine, 0, 0, 0, 0) + AddGear(682, 878, gtSMine, 0, 0, 0, 0) + AddGear(789, 876, gtSMine, 0, 0, 0, 0) end function SetupEvents() @@ -609,20 +625,21 @@ end function AddHogs() - AddTeam(loc("Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy") + AddTeam(loc("Natives"), 0x4980C1, "Bone", "Island", "HillBilly", "cm_birdy") for i = 1, 7 do natives[i] = AddHog(nativeNames[i], 0, 200, nativeHats[i]) gearDead[natives[i]] = false end - AddTeam(loc("011101001"), 14483456, "ring", "UFO", "Robot", "cm_binary") + AddTeam(loc("011101001"), 0xFF0204, "ring", "UFO", "Robot", "cm_binary") cyborg = AddHog(loc("Unit 334a$7%;.*"), 0, 200, "cyborg1") gearDead[cyborg] = false - AddTeam(loc("011101000"), 14483455, "ring", "UFO", "Robot", "cm_binary") + AddTeam(loc("011101000"), 0xFFFF01, "ring", "UFO", "Robot", "cm_binary") for i = 1, 4 do cyborgs[i] = AddHog(cyborgNames[i], 2, 100, "cyborg2") gearDead[cyborgs[i]] = false + SetEffect(cyborgs[i], heArtillery, 1) end cyborgsLeft = 4 @@ -657,10 +674,9 @@ GameFlags = gfSolidLand + gfDisableLandObjects + gfDisableWind + gfDisableGirders TurnTime = 60000 CaseFreq = 0 - MinesNum = 20 + MinesNum = 0 MinesTime = 5000 - Explosives = 6 - Delay = 10 + Explosives = 0 MapGen = mgDrawn Theme = "City" SuddenDeathTurns = 25 @@ -725,16 +741,6 @@ firstTurn = false end if GetHogTeamName(CurrentHedgehog) == loc("011101000") then - SetInputMask(band(0xFFFFFFFF, bnot(gmLeft + gmRight + gmLJump + gmHJump))) - for i = 1, 4 do - if gearDead[CurrentHedgehog] ~= true and gearDead[native] ~= true then - if gearDead[cyborgs[i]] ~= true and GetX(cyborgs[i]) < GetX(native) then - HogTurnLeft(cyborgs[i], false) - else - HogTurnLeft(cyborgs[i], true) - end - end - end if TotalRounds % 6 == 0 then AddAmmo(CurrentHedgehog, amSniperRifle, 1) AddAmmo(CurrentHedgehog, amDEagle, 1) @@ -742,8 +748,6 @@ TurnTimeLeft = 30000 elseif GetHogTeamName(CurrentHedgehog) == loc("011101001") then EndTurn(true) - else - SetInputMask(0xFFFFFFFF) end end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/enemy.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/enemy.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/enemy.lua Sun Jun 10 19:12:26 2018 +0200 @@ -9,6 +9,9 @@ = FLOW CHART = - Cut scene: startAnim +- Player starts with 3-4 natives and 4 cannibals +- Player plays with 4 natives if m5DeployedNum ~= leaksNum and m8DeployedLeader == 0 +- Enemy starts with 5 cyborgs - TBS - Goal completed - Cut scene: finalAnim @@ -194,27 +197,34 @@ if m5LeaksDead == 1 then table.insert(startAnim, {func = AnimSay, args = {players[1], loc("And how am I alive?!"), SAY_SAY, 3000}}) end + local playerTalker + -- There are 3 or 4 natives in this mission. The last one takes part in the dialog + if nativesNum >= 4 then + playerTalker = players[4] + else + playerTalker = players[3] + end table.insert(startAnim, {func = AnimCustomFunction, args = {players[1], CondNeedToTurn, {players[1], players[2]}}}) table.insert(startAnim, {func = AnimSay, args = {players[2], loc("It must be the cyborgs again!"), SAY_SAY, 4000}}) table.insert(startAnim, {func = AnimSay, args = {players[3], loc("Looks like the whole world is falling apart!"), SAY_SAY, 6000}}) table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("Look out! We're surrounded by cannibals!"), SAY_SHOUT, 6000}}) - table.insert(startAnim, {func = AnimCustomFunction, args = {players[4], CondNeedToTurn, {players[4], cannibals[1]}}}) - table.insert(startAnim, {func = AnimCustomFunction, args = {players[4], CondNeedToTurn, {players[1], cannibals[1]}}}) - table.insert(startAnim, {func = AnimSay, args = {players[4], loc("Cannibals?! You're the cannibals!"), SAY_SHOUT, 4000}}) + table.insert(startAnim, {func = AnimCustomFunction, args = {playerTalker, CondNeedToTurn, {playerTalker, cannibals[1]}}}) + table.insert(startAnim, {func = AnimCustomFunction, args = {playerTalker, CondNeedToTurn, {players[1], cannibals[1]}}}) + table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("Cannibals?! You're the cannibals!"), SAY_SHOUT, 4000}}) table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("WHAT?! You're the ones attacking us!"), SAY_SHOUT, 5000}}) - table.insert(startAnim, {func = AnimSay, args = {players[4], loc("You have kidnapped our whole tribe!"), SAY_SHOUT, 4000}}) + table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("You have kidnapped our whole tribe!"), SAY_SHOUT, 4000}}) table.insert(startAnim, {func = AnimSay, args = {players[1], loc("You've been assaulting us, we have been just defending ourselves!"), SAY_SHOUT, 8000}}) table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("I can't believe this!"), SAY_SHOUT, 3000}}) table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("Have we ever attacked you first?"), SAY_SHOUT, 5000}}) - table.insert(startAnim, {func = AnimSay, args = {players[4], loc("Yes!"), SAY_SHOUT, 2000}}) + table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("Yes!"), SAY_SHOUT, 2000}}) table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("When?"), SAY_SHOUT, 2000}}) - table.insert(startAnim, {func = AnimSay, args = {players[4], loc("Uhmm...ok no."), SAY_SHOUT, 2000}}) + table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("Uhmm...ok no."), SAY_SHOUT, 2000}}) table.insert(startAnim, {func = AnimSay, args = {players[1], loc("But you're cannibals. It's what you do."), SAY_SHOUT, 5000}}) table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("Again with the 'cannibals' thing!"), SAY_SHOUT, 4000}}) table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("Where do you get that?!"), SAY_SHOUT, 3000}}) - table.insert(startAnim, {func = AnimSay, args = {players[4], loc("Everyone knows this."), SAY_SHOUT, 2500}}) + table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("Everyone knows this."), SAY_SHOUT, 2500}}) table.insert(startAnim, {func = AnimSay, args = {players[1], loc("I didn't until about a month ago."), SAY_SHOUT, 4000}}) - table.insert(startAnim, {func = AnimSay, args = {players[4], loc("Hmmm...actually...I didn't either."), SAY_SHOUT, 4000}}) + table.insert(startAnim, {func = AnimSay, args = {playerTalker, loc("Hmmm...actually...I didn't either."), SAY_SHOUT, 4000}}) table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("About a month ago, a cyborg came and told us that you're the cannibals!"), SAY_SHOUT, 8000}}) table.insert(startAnim, {func = AnimSay, args = {players[1], loc("A cy-what?"), SAY_SHOUT, 2000}}) table.insert(startAnim, {func = AnimSay, args = {cannibals[1], loc("Cyborg. It's what the aliens call themselves."), SAY_SHOUT, 5000}}) @@ -248,7 +258,13 @@ else gear = cyborgs[2] end - table.insert(startAnim, {func = AnimCustomFunction, args = {players[1], CondNeedToTurn, {players[4], gear}}}) + local turnPlayer + if nativesNum >= 4 then + turnPlayer = players[4] + else + turnPlayer = players[3] + end + table.insert(startAnim, {func = AnimCustomFunction, args = {players[1], CondNeedToTurn, {turnPlayer, gear}}}) table.insert(startAnim, {func = AnimCustomFunction, args = {players[1], CondNeedToTurn, {players[1], gear}}}) table.insert(startAnim, {func = AnimSay, args = {gear, loc("You have finally figured it out!"), SAY_SHOUT, 4500}}) table.insert(startAnim, {func = AnimSay, args = {gear, loc("You meatbags are pretty slow, you know!"), SAY_SHOUT, 5500}}) @@ -314,21 +330,21 @@ end function PutWeaponCrates() - SpawnAmmoCrate(2399, 622, amNapalm, 2) - SpawnAmmoCrate(2199, -18, amBee, 2) - SpawnAmmoCrate(2088, 430, amBee, 2) - SpawnAmmoCrate(237, 20, amMortar, 4) - SpawnAmmoCrate(312, 1107, amMolotov, 3) - SpawnAmmoCrate(531, 1123, amWatermelon, 2) - SpawnAmmoCrate(1253, 1444, amFlamethrower, 5) - SpawnAmmoCrate(994, 1364, amBaseballBat, 3) - SpawnAmmoCrate(1104, 1553, amMine, 6) - SpawnAmmoCrate(2277, 803, amDynamite, 2) - SpawnAmmoCrate(1106, 184, amRCPlane, 3) - SpawnAmmoCrate(1333, 28, amSMine, 4) - SpawnAmmoCrate(90, 279, amAirAttack, 2) - SpawnAmmoCrate(288, 269, amBee, 2) - SpawnAmmoCrate(818, 1633, amBaseballBat, 2) + SpawnSupplyCrate(2399, 622, amNapalm, 2) + SpawnSupplyCrate(2199, -18, amBee, 2) + SpawnSupplyCrate(2088, 430, amBee, 2) + SpawnSupplyCrate(237, 20, amMortar, 4) + SpawnSupplyCrate(312, 1107, amMolotov, 3) + SpawnSupplyCrate(531, 1123, amWatermelon, 2) + SpawnSupplyCrate(1253, 1444, amFlamethrower, 5) + SpawnSupplyCrate(994, 1364, amBaseballBat, 3) + SpawnSupplyCrate(1104, 1553, amMine, 6) + SpawnSupplyCrate(2277, 803, amDynamite, 2) + SpawnSupplyCrate(1106, 184, amRCPlane, 3) + SpawnSupplyCrate(1333, 28, amSMine, 4) + SpawnSupplyCrate(90, 279, amAirAttack, 2) + SpawnSupplyCrate(288, 269, amBee, 2) + SpawnSupplyCrate(818, 1633, amBaseballBat, 2) end -----------------------------Events------------------------------------ function CheckNativesDead() @@ -441,9 +457,9 @@ function GetVariables() progress = tonumber(GetCampaignVar("Progress")) - m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) - m2Choice = tonumber(GetCampaignVar("M2Choice")) - m5Choice = tonumber(GetCampaignVar("M5Choice")) + m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) or leaksNum + m2Choice = tonumber(GetCampaignVar("M2Choice")) or choiceRefused + m5Choice = tonumber(GetCampaignVar("M5Choice")) or choiceEliminate m2DenseDead = tonumber(GetCampaignVar("M2DenseDead")) m4DenseDead = tonumber(GetCampaignVar("M4DenseDead")) m5DenseDead = tonumber(GetCampaignVar("M5DenseDead")) @@ -461,10 +477,10 @@ m8PrincessDead = tonumber(GetCampaignVar("M8PrincessDead")) m8RamonDead = tonumber(GetCampaignVar("M8RamonDead")) m8SpikyDead = tonumber(GetCampaignVar("M8SpikyDead")) - m8DeployedLeader = tonumber(GetCampaignVar("M8DeployedLeader")) - m8PrincessLeader = tonumber(GetCampaignVar("M8PrincessLeader")) + m8DeployedLeader = tonumber(GetCampaignVar("M8DeployedLeader")) or 0 + m8PrincessLeader = tonumber(GetCampaignVar("M8PrincessLeader")) or 1 m8EnemyFled = tonumber(GetCampaignVar("M8EnemyFled")) - m8Scene = tonumber(GetCampaignVar("M8Scene")) + m8Scene = tonumber(GetCampaignVar("M8Scene")) or princessScene end function SetupPlace() @@ -503,10 +519,11 @@ end function AddHogs() - AddTeam(loc("011101001"), 14483456, "ring", "UFO", "Robot", "cm_binary") + AddTeam(loc("011101001"), 0xFF0204, "ring", "UFO", "Robot", "cm_binary") cyborg = AddHog(loc("Unit 334a$7%;.*"), 0, 200, "cyborg1") - AddTeam(loc("Natives"), 29439, "Bone", "Island", "HillBilly", "cm_birdy") + AddTeam(loc("Natives"), 0x4980C1, "Bone", "Island", "HillBilly", "cm_birdy") + -- There are 3-4 natives in this mission natives[1] = AddHog(nativeNames[leaksNum], 0, 100, nativeHats[leaksNum]) if m5DeployedNum ~= leaksNum and m8DeployedLeader == 0 then natives[2] = AddHog(nativeNames[m5DeployedNum], 0, 100, nativeHats[m5DeployedNum]) @@ -523,7 +540,7 @@ table.insert(players, natives[i]) end - AddTeam(loc("Cannibals"), 29439, "Bone", "Island", "HillBilly", "cm_birdy") + AddTeam(loc("Cannibals"), 0x4980C1, "Bone", "Island", "HillBilly", "cm_birdy") for i = 1, cannibalsNum do cannibals[i] = AddHog(cannibalNames[i], 0, 100, "Zombi") table.insert(players, cannibals[i]) @@ -531,13 +548,13 @@ playersNum = #players playersLeft = playersNum - AddTeam(loc("Hedge-cogs"), 14483455, "ring", "UFO", "Robot", "cm_cyborg") + AddTeam(loc("Hedge-cogs"), 0xFFFF01, "ring", "UFO", "Robot", "cm_cyborg") for i = 1, cyborgsNum do cyborgs[i] = AddHog(cyborgNames[i], 2, 80, "cyborg2") end if m8EnemyFled == 1 then - AddTeam(loc("Leader"), 14483455, "ring", "UFO", "Robot", "cm_cyborg") + AddTeam(loc("Leader"), 0xFFFF01, "ring", "UFO", "Robot", "cm_cyborg") if m8Scene == denseScene then leader = AddHog(loc("Dense Cloud"), 2, 200, nativeHats[denseNum]) elseif m8Scene == waterScene then diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/epil.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/epil.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/epil.lua Sun Jun 10 19:12:26 2018 +0200 @@ -285,7 +285,7 @@ {func = AnimVisualGear, args = {cannibals[hanniNum], cannibalPos[hanniNum][1], cannibalPos[hanniNum][2], vgtSmoke, 0, true}}, {func = AnimWait, args = {natives[1], 1000}}, {func = AnimSay, args = {natives[buffaloNum], loc("So I shook my fist in the air!"), SAY_SAY, 5000}}, - {func = AnimSay, args = {cannibals[brutalNum], loc("Well that was an unnecessary act of violence."), SAY_SAY, 7000}}, + {func = AnimSay, args = {cannibals[brutalNum], loc("Well, that was an unnecessary act of violence."), SAY_SAY, 7000}}, {func = AnimSay, args = {natives[waterNum], loc("… and then I took a stroll …"), SAY_SAY, 4000}}, {func = AnimSay, args = {natives[leaksNum], loc("I'm glad this is over!"), SAY_SAY, 4000}}, {func = AnimSay, args = {natives[girlNum], loc("I still can't believe you forgave her!"), SAY_SAY, 6000}}, @@ -306,8 +306,8 @@ end -----------------------------Misc-------------------------------------- function GetVariables() - m8Scene = tonumber(GetCampaignVar("M8Scene")) or waterScene - -- waterScene is for fallback if campaign var was not found + m8Scene = tonumber(GetCampaignVar("M8Scene")) or princessScene + -- princessScene is for fallback if campaign var was not found end function AddHogs() diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/family.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/family.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/family.lua Sun Jun 10 19:12:26 2018 +0200 @@ -130,6 +130,8 @@ cratesNum = 0 princessFreed = false +closeToPrincess = false +friendsEscaped = false -----------------------------Animations-------------------------------- function EmitDenseClouds(dir) local dif @@ -219,8 +221,16 @@ SetupPlace3() SetGearMessage(natives[1], 0) AddNewEvent(CheckPrincessFreed, {}, DoPrincessFreed, {}, 0) + AddNewEvent(CheckCloseToPrincess, {}, DoCloseToPrincess, {}, 0) + AddNewEvent(CheckFriendsEscaped, {}, DoFriendsEscaped, {}, 0) EndTurn(true) - ShowMission(loc("Family Reunion"), loc("Salvation"), loc("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!") .. "|" .. loc("Mines time: 5 seconds"), 1, 7000) + ShowMission(loc("Family Reunion"), loc("Salvation"), + loc("Get your teammates out of their natural prison and save the princess!") .."|".. + loc("All your hedgehogs must be above the marked height!") .."|".. + loc("Hint: Drilling holes should solve everything.").."|".. + loc("Hint: It might be a good idea to place a girder before starting to drill. Just saying.").."|".. + string.format(loc("Hint: %s needs to get really close to the princess!"), nativeNames[m5DeployedNum]).."|".. + loc("Mines time: 5 seconds"), 1, 7000) vCirc = AddVisualGear(0,0,vgtCircle,0,true) SetVisualGearValues(vCirc, 2625, 1500, 100, 255, 1, 10, 0, 120, 3, 0xff00ffff) end @@ -231,17 +241,18 @@ function SkipMidAnim() AnimTeleportGear(natives[1], unpack(nativeMidPos2)) - SkipStartAnim() + AnimSwitchHog(natives[1]) + AnimWait(natives[1], 1) end function SetupPlace3() - SpawnUtilityCrate(2086, 1887, amRope, 1) - SpawnAmmoCrate(2147, 728, amBlowTorch, 2) - SpawnAmmoCrate(2778, 1372, amPickHammer, 3) - SpawnAmmoCrate(2579, 1886, amPickHammer, 3) - SpawnUtilityCrate(2622, 1893, amGirder, 1) - SpawnUtilityCrate(2671, 1883, amPortalGun, 3) - SpawnUtilityCrate(2831, 1384, amGirder, 3) + SpawnSupplyCrate(2086, 1887, amRope, 1) + SpawnSupplyCrate(2147, 728, amBlowTorch, 2) + SpawnSupplyCrate(2778, 1372, amPickHammer, 4) + SpawnSupplyCrate(2579, 1886, amPickHammer, 3) + SpawnSupplyCrate(2622, 1893, amGirder, 1) + SpawnSupplyCrate(2671, 1883, amPortalGun, 3) + SpawnSupplyCrate(2831, 1384, amGirder, 3) SetTimer(AddGear(2725, 1387, gtMine, 0, 0, 0, 0), 5000) SetTimer(AddGear(2760, 1351, gtMine, 0, 0, 0, 0), 5000) @@ -299,32 +310,69 @@ PlaceGirder(648, 1427, 5) PlaceGirder(2110, 980, 0) - SpawnAmmoCrate(814, 407, amBazooka, 4) - clusterCrate = SpawnAmmoCrate(862, 494, amClusterBomb, 4) - SpawnAmmoCrate(855, 486, amBee, 3) - grenadeCrate1 = SpawnAmmoCrate(849, 459, amGrenade, 4) - SpawnAmmoCrate(2077, 847, amWatermelon, 3) - grenadeCrate2 = SpawnAmmoCrate(2122, 847, amGrenade, 3) + SpawnSupplyCrate(814, 407, amBazooka, 4) + clusterCrate = SpawnSupplyCrate(862, 494, amClusterBomb, 4) + SpawnSupplyCrate(855, 486, amBee, 3) + grenadeCrate1 = SpawnSupplyCrate(849, 459, amGrenade, 4) + SpawnSupplyCrate(2077, 847, amWatermelon, 3) + grenadeCrate2 = SpawnSupplyCrate(2122, 847, amGrenade, 3) - SpawnAmmoCrate(747, 1577, amPickHammer, 1) - SpawnUtilityCrate(496, 1757, amGirder, 2) - SpawnUtilityCrate(1809, 1880, amGirder, 1) - SpawnUtilityCrate(530, 1747, amPortalGun, 1) + SpawnSupplyCrate(747, 1577, amPickHammer, 1) + SpawnSupplyCrate(496, 1757, amGirder, 2) + SpawnSupplyCrate(1809, 1880, amGirder, 1) + SpawnSupplyCrate(530, 1747, amPortalGun, 1) end -----------------------------Events------------------------------------ -function CheckPrincessFreed() - if GetX(natives[1]) == nil or GetX(natives[2]) == nil or GetX(natives[3]) == nil or GetX(princess) == nil then +function CheckCloseToPrincess() + if GetX(natives[1]) == nil or GetX(princess) == nil then return false end - return math.abs(GetX(natives[1]) - GetX(princess)) <= 15 and math.abs(GetY(natives[1]) - GetY(princess)) <= 15 and StoppedGear(natives[1]) - and GetY(natives[2]) < 1500 and GetY(natives[3]) < 1500 and StoppedGear(natives[2]) and StoppedGear(natives[3]) + return math.abs(GetX(natives[1]) - GetX(princess)) <= 20 and math.abs(GetY(natives[1]) - GetY(princess)) <= 17 and StoppedGear(natives[1]) +end + +function CheckFriendsEscaped() + if GetX(natives[2]) == nil or GetX(natives[3]) == nil then + return false + end + return GetY(natives[2]) < 1500 and GetY(natives[3]) < 1500 and StoppedGear(natives[2]) and StoppedGear(natives[3]) +end + +function CheckPrincessFreed() + return CheckCloseToPrincess() and CheckFriendsEscaped() end function DoPrincessFreed() AddAnim(princessFreedAnim) end +function DoFriendsEscaped() + if friendsEscaped then + return + end + if not CheckCloseToPrincess() then + if GetX(natives[2]) == nil and GetX(natives[1]) == nil then + return + end + HogSay(natives[2], string.format(loc("Finally! We're out of this hellhole. Now go save the princess, %s!"), nativeNames[m5DeployedNum]), SAY_SAY) + end + friendsEscaped = true +end + +function DoCloseToPrincess() + if closeToPrincess then + return + end + if not CheckFriendsEscaped() then + if GetX(natives[2]) == nil then + return + end + HogSay(natives[2], loc("Hey, don't forget us! We still need to climb up!"), SAY_SHOUT) + FollowGear(natives[2]) + end + closeToPrincess = true +end + function Victory() if not princessFreed then if progress and progress<7 then @@ -353,17 +401,17 @@ return end if index == 1 then - SpawnAmmoCrate(1700, 407, amBazooka, 3) + SpawnSupplyCrate(1700, 407, amBazooka, 3) elseif index == 2 then - SpawnAmmoCrate(1862, 494, amClusterBomb, 3) + SpawnSupplyCrate(1862, 494, amClusterBomb, 3) elseif index == 3 then - SpawnAmmoCrate(1855, 486, amBee, 1) + SpawnSupplyCrate(1855, 486, amBee, 1) elseif index == 4 then - SpawnAmmoCrate(1849, 459, amGrenade, 3) + SpawnSupplyCrate(1849, 459, amGrenade, 3) elseif index == 5 then - SpawnAmmoCrate(2122, 847, amGrenade, 3) + SpawnSupplyCrate(2122, 847, amGrenade, 3) elseif index == 6 then - SpawnAmmoCrate(2077, 847, amWatermelon, 1) + SpawnSupplyCrate(2077, 847, amWatermelon, 1) end end @@ -383,6 +431,8 @@ function EndMission() if not princessFreed then + RemoveEventFunc(CheckFriendsEscaped) + RemoveEventFunc(CheckCloseToPrincess) RemoveEventFunc(CheckPrincessFreed) AddCaption(loc("So the princess was never heard of again ...")) DismissTeam(loc("Natives")) @@ -403,14 +453,14 @@ if (GetX(natives[1]) == nil) then return end - clusterCrate = SpawnAmmoCrate(GetX(natives[1]) - 50, GetY(natives[1]) - 50, amClusterBomb, 3) + clusterCrate = SpawnSupplyCrate(GetX(natives[1]) - 50, GetY(natives[1]) - 50, amClusterBomb, 3) end function DoOutOfGrenade() if (GetX(natives[1]) == nil) then return end - grenadeCrate2 = SpawnAmmoCrate(GetX(natives[1]) - 50, GetY(natives[1]) - 50, amGrenade, 3) + grenadeCrate2 = SpawnSupplyCrate(GetX(natives[1]) - 50, GetY(natives[1]) - 50, amGrenade, 3) end function CheckNeedToHide() @@ -440,9 +490,9 @@ function GetVariables() progress = tonumber(GetCampaignVar("Progress")) - m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) - m2Choice = tonumber(GetCampaignVar("M2Choice")) - m5Choice = tonumber(GetCampaignVar("M5Choice")) + m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) or leaksNum + m2Choice = tonumber(GetCampaignVar("M2Choice")) or choiceRefused + m5Choice = tonumber(GetCampaignVar("M5Choice")) or choiceEliminate end function SetupPlace() diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/first_blood.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/first_blood.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/first_blood.lua Sun Jun 10 19:12:26 2018 +0200 @@ -279,7 +279,7 @@ table.insert(challengeFailedAnim, {func = AnimSwitchHog, args = {youngh}}) AddSkipFunction(challengeCompletedAnim, Skipanim, {challengeCompletedAnim}) - table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, loc("The spirits of the ancerstors are surely pleased, Leaks A Lot."), SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = challengeCompletedAnim}) + table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, loc("The spirits of the ancestors are surely pleased, Leaks A Lot."), SAY_SAY, 4000}, skipFunc = Skipanim, skipArgs = challengeCompletedAnim}) table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, loc("You have proven yourself worthy to see our most ancient secret!"), SAY_SAY, 4000}}) table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, loc("The weapon in that last crate was bestowed upon us by the ancients!"), SAY_SAY, 4000}}) table.insert(challengeCompletedAnim, {func = AnimSay, args = {elderh, loc("Use it with precaution!"), SAY_SAY, 4000}}) @@ -418,7 +418,7 @@ end function DoOnShroom() - ropeCrate1 = SpawnUtilityCrate(2751, 1194, amRope, 100) + ropeCrate1 = SpawnSupplyCrate(2751, 1194, amRope, 100) SetGearMessage(CurrentHedgehog, 0) AddAnim(onShroomAnim) AddEvent(CheckOnFlower, {}, DoOnFlower, {}, 0) @@ -430,7 +430,7 @@ function DoOnFlower() AddAmmo(youngh, amRope, 100) - paraCrate = SpawnUtilityCrate(3245, 1758, amParachute, 100) + paraCrate = SpawnSupplyCrate(3245, 1758, amParachute, 100) SetGearMessage(CurrentHedgehog, 0) AddAnim(onFlowerAnim) AddEvent(CheckTookParaCrate, {}, DoTookParaCrate, {}, 0) @@ -462,7 +462,7 @@ function DoPastMoleHead() -- Initiate parachute challenge RemoveEventFunc(CheckOnMoleHead) - ropeCrate2 = SpawnUtilityCrate(2782, 1720, amRope, 100) + ropeCrate2 = SpawnSupplyCrate(2782, 1720, amRope, 100) rope2InProgress = true AddAmmo(youngh, amRope, 0) SetGearMessage(CurrentHedgehog, 0) @@ -475,7 +475,7 @@ function DoOnMoleHead() -- Initiate parachute challenge RemoveEventFunc(CheckPastMoleHead) - ropeCrate2 = SpawnUtilityCrate(2782, 1720, amRope, 100) + ropeCrate2 = SpawnSupplyCrate(2782, 1720, amRope, 100) rope2InProgress = true AddAmmo(youngh, amRope, 0) SetGearMessage(CurrentHedgehog, 0) @@ -493,7 +493,7 @@ AddAmmo(youngh, amRope, 100) SetGearMessage(CurrentHedgehog, 0) AddAnim(tookRope2Anim) - punchCrate = SpawnAmmoCrate(2460, 1321, amFirePunch, 100) + punchCrate = SpawnSupplyCrate(2460, 1321, amFirePunch, 100) AddEvent(CheckTookPunch, {}, DoTookPunch, {}) end @@ -524,7 +524,7 @@ AddAnim(challengeAnim) targetsDestroyed = 0 AddFunction({func = SetChoice, args = {}}) - ropeCrate3 = SpawnUtilityCrate(2000, 1200, amRope, 100) + ropeCrate3 = SpawnSupplyCrate(2000, 1200, amRope, 100) AddEvent(CheckTookRope3, {}, AddAmmo, {youngh, amRope, 100}, 0) AddEvent(CheckCratesColled, {}, DoCratesColled, {}, 0) AddEvent(CheckChallengeWon, {}, DoChallengeWon, {}, 0) @@ -555,7 +555,7 @@ end function DoChallengeWon() - desertCrate = SpawnAmmoCrate(1240, 1212, amDEagle, 100) + desertCrate = SpawnSupplyCrate(1240, 1212, amDEagle, 100) SetGearMessage(CurrentHedgehog, 0) AddAnim(challengeCompletedAnim) AddEvent(CheckDesertColled, {}, DoDesertColled, {}, 0) @@ -612,7 +612,7 @@ targsWave = targsWave + 1 if targsWave > 3 then RemoveEventFunc(CheckTargetsKilled) - SetState(cannibal, gstVisible) + RestoreHog(cannibal) cannibalVisible = true SetGearMessage(CurrentHedgehog, 0) AddAnim(beforeKillAnim) @@ -633,9 +633,9 @@ function DoCloseToCannibal() SetGearMessage(CurrentHedgehog, 0) AddAnim(closeCannim) - AddFunction({func = SpawnAmmoCrate, args = {targetPosX[1][1], targetPosY[1][1], amWhip}}) - AddFunction({func = SpawnAmmoCrate, args = {targetPosX[1][2], targetPosY[1][2], amBaseballBat}}) - AddFunction({func = SpawnAmmoCrate, args = {targetPosX[1][3], targetPosY[1][3], amHammer}}) + AddFunction({func = SpawnSupplyCrate, args = {targetPosX[1][1], targetPosY[1][1], amWhip}}) + AddFunction({func = SpawnSupplyCrate, args = {targetPosX[1][2], targetPosY[1][2], amBaseballBat}}) + AddFunction({func = SpawnSupplyCrate, args = {targetPosX[1][3], targetPosY[1][3], amHammer}}) end function CheckCannibalKilled() @@ -754,7 +754,7 @@ TurnTimeLeft = -1 FollowGear(youngh) ShowMission(loc("A Classic Fairytale"), loc("First Blood"), loc("Finish your training|Hint: Animations can be skipped with the [Precise] key."), -amSkip, 0) - SetState(cannibal, gstInvisible) + HideHog(cannibal) AddAnim(startDialogue) princessFace = "Right" @@ -842,7 +842,7 @@ function onNewTurn() if CurrentHedgehog == cannibal and cannibalVisible == false then - SetState(cannibal, gstInvisible) + RestoreHog(cannibal) end SwitchHog(youngh) FollowGear(youngh) @@ -862,7 +862,6 @@ elseif gear == cannibal then cannibalVisible = true cannibalDamaged = true - SetState(cannibal, 0) end end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/journey.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/journey.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/journey.lua Sun Jun 10 19:12:26 2018 +0200 @@ -250,7 +250,6 @@ function SkipMidAnimAlone() AnimSetGearPosition(leaks, 2656, 1842) AnimSwitchHog(leaks) - SetInputMask(0xFFFFFFFF) AnimWait(dense, 1) AddFunction({func = HideHedge, args = {princess}}) AddFunction({func = HideHedge, args = {cyborg}}) @@ -259,14 +258,14 @@ function AfterStartAnim() SetGearMessage(leaks, 0) TurnTimeLeft = TurnTime - local goal = loc("Get the crate on the other side of the island!|") - local hint = loc("Hint: you might want to stay out of sight and take all the crates...|") - local stuck = loc("If you get stuck, use your Desert Eagle or restart the mission!|") + local goal = loc("Get the crate on the other side of the island.") + local hint = loc("Hint: You might want to stay out of sight and take all the crates ...") + local stuck = loc("If you get stuck, use your Desert Eagle or restart the mission!") local conds = loc("Leaks A Lot must survive!") if m2DenseDead == 0 then conds = loc("Your hogs must survive!") end - ShowMission(loc("The Journey Back"), loc("Adventurous"), goal .. hint .. stuck .. conds, 0, 7000) + ShowMission(loc("The Journey Back"), loc("Adventurous"), goal .. "|" .. hint .. "|" .. stuck .. "|" .. conds, 0, 7000) end function SkipStartAnim() @@ -274,12 +273,12 @@ end function PlaceCratesDuo() - SpawnAmmoCrate(3090, 827, amBaseballBat) - girderCrate1 = SpawnUtilityCrate(2466, 1814, amGirder) - girderCrate2 = SpawnUtilityCrate(2630, 1278, amGirder) - SpawnUtilityCrate(2422, 1810, amParachute) - SpawnUtilityCrate(3157, 1009, amLowGravity) - sniperCrate = SpawnAmmoCrate(784, 1715, amSniperRifle) + SpawnSupplyCrate(3090, 827, amBaseballBat) + girderCrate1 = SpawnSupplyCrate(2466, 1814, amGirder) + girderCrate2 = SpawnSupplyCrate(2630, 1278, amGirder) + SpawnSupplyCrate(2422, 1810, amParachute) + SpawnSupplyCrate(3157, 1009, amLowGravity) + sniperCrate = SpawnSupplyCrate(784, 1715, amSniperRifle) end function PlaceMinesDuo() @@ -408,11 +407,11 @@ PlaceGirder(1033, 649, 0) PlaceGirder(952, 650, 0) - fireCrate = SpawnAmmoCrate(1846, 1100, amFirePunch) - SpawnAmmoCrate(1900, 1100, amPickHammer) - SpawnAmmoCrate(950, 674, amDynamite) - SpawnUtilityCrate(994, 825, amRope) - SpawnUtilityCrate(570, 1357, amLowGravity) + fireCrate = SpawnSupplyCrate(1846, 1100, amFirePunch) + SpawnSupplyCrate(1900, 1100, amPickHammer) + SpawnSupplyCrate(950, 674, amDynamite) + SpawnSupplyCrate(994, 825, amRope) + SpawnSupplyCrate(570, 1357, amLowGravity) end local trackedGears = {} @@ -429,41 +428,44 @@ end -- Dump mines in princess cage -function DumpMines() - AddGear(2261, 1835, gtMine, 0, 0, 0, 0) - AddGear(2280, 1831, gtMine, 0, 0, 0, 0) - AddGear(2272, 1809, gtMine, 0, 0, 0, 0) - AddGear(2290, 1815, gtMine, 0, 0, 0, 0) - AddGear(2278, 1815, gtMine, 0, 0, 0, 0) - AddGear(2307, 1811, gtMine, 0, 0, 0, 0) - AddGear(2286, 1820, gtMine, 0, 0, 0, 0) - AddGear(2309, 1813, gtMine, 0, 0, 0, 0) - AddGear(2303, 1822, gtMine, 0, 0, 0, 0) - AddGear(2317, 1827, gtMine, 0, 0, 0, 0) - AddGear(2312, 1816, gtMine, 0, 0, 0, 0) - AddGear(2316, 1812, gtMine, 0, 0, 0, 0) - AddGear(2307, 1802, gtMine, 0, 0, 0, 0) - AddGear(2276, 1818, gtMine, 0, 0, 0, 0) - AddGear(2284, 1816, gtMine, 0, 0, 0, 0) - AddGear(2292, 1811, gtMine, 0, 0, 0, 0) - AddGear(2295, 1814, gtMine, 0, 0, 0, 0) - AddGear(2306, 1811, gtMine, 0, 0, 0, 0) - AddGear(2292, 1815, gtMine, 0, 0, 0, 0) - AddGear(2314, 1815, gtMine, 0, 0, 0, 0) - AddGear(2286, 1813, gtMine, 0, 0, 0, 0) - AddGear(2275, 1813, gtMine, 0, 0, 0, 0) - AddGear(2269, 1814, gtMine, 0, 0, 0, 0) - AddGear(2273, 1812, gtMine, 0, 0, 0, 0) - AddGear(2300, 1808, gtMine, 0, 0, 0, 0) - AddGear(2322, 1812, gtMine, 0, 0, 0, 0) - AddGear(2323, 1813, gtMine, 0, 0, 0, 0) - AddGear(2311, 1811, gtMine, 0, 0, 0, 0) - AddGear(2303, 1809, gtMine, 0, 0, 0, 0) - AddGear(2287, 1808, gtMine, 0, 0, 0, 0) - AddGear(2282, 1808, gtMine, 0, 0, 0, 0) - AddGear(2277, 1809, gtMine, 0, 0, 0, 0) - AddGear(2296, 1809, gtMine, 0, 0, 0, 0) - AddGear(2314, 1818, gtMine, 0, 0, 0, 0) +function DumpMines(t) + if not t then + t = 0 + end + AddGear(2261, 1835, gtMine, 0, 0, 0, t) + AddGear(2280, 1831, gtMine, 0, 0, 0, t) + AddGear(2272, 1809, gtMine, 0, 0, 0, t) + AddGear(2290, 1815, gtMine, 0, 0, 0, t) + AddGear(2278, 1815, gtMine, 0, 0, 0, t) + AddGear(2307, 1811, gtMine, 0, 0, 0, t) + AddGear(2286, 1820, gtMine, 0, 0, 0, t) + AddGear(2309, 1813, gtMine, 0, 0, 0, t) + AddGear(2303, 1822, gtMine, 0, 0, 0, t) + AddGear(2317, 1827, gtMine, 0, 0, 0, t) + AddGear(2312, 1816, gtMine, 0, 0, 0, t) + AddGear(2316, 1812, gtMine, 0, 0, 0, t) + AddGear(2307, 1802, gtMine, 0, 0, 0, t) + AddGear(2276, 1818, gtMine, 0, 0, 0, t) + AddGear(2284, 1816, gtMine, 0, 0, 0, t) + AddGear(2292, 1811, gtMine, 0, 0, 0, t) + AddGear(2295, 1814, gtMine, 0, 0, 0, t) + AddGear(2306, 1811, gtMine, 0, 0, 0, t) + AddGear(2292, 1815, gtMine, 0, 0, 0, t) + AddGear(2314, 1815, gtMine, 0, 0, 0, t) + AddGear(2286, 1813, gtMine, 0, 0, 0, t) + AddGear(2275, 1813, gtMine, 0, 0, 0, t) + AddGear(2269, 1814, gtMine, 0, 0, 0, t) + AddGear(2273, 1812, gtMine, 0, 0, 0, t) + AddGear(2300, 1808, gtMine, 0, 0, 0, t) + AddGear(2322, 1812, gtMine, 0, 0, 0, t) + AddGear(2323, 1813, gtMine, 0, 0, 0, t) + AddGear(2311, 1811, gtMine, 0, 0, 0, t) + AddGear(2303, 1809, gtMine, 0, 0, 0, t) + AddGear(2287, 1808, gtMine, 0, 0, 0, t) + AddGear(2282, 1808, gtMine, 0, 0, 0, t) + AddGear(2277, 1809, gtMine, 0, 0, 0, t) + AddGear(2296, 1809, gtMine, 0, 0, 0, t) + AddGear(2314, 1818, gtMine, 0, 0, 0, t) end function SetupAnimRefusedDied() @@ -487,7 +489,7 @@ table.insert(midAnim, {func = AnimCustomFunction, args = {cyborg, TargetPrincess, {}}}) table.insert(midAnim, {func = AnimSay, args = {cyborg, loc("Welcome, Leaks A Lot!"), SAY_SAY, 3000}}) table.insert(midAnim, {func = AnimSay, args = {cyborg, loc("I want to play a game..."), SAY_SAY, 3000}}) - table.insert(midAnim, {func = AnimSay, args = {princess, loc("Help me, please!!!"), SAY_SHOUT, 3000}}) + table.insert(midAnim, {func = AnimSay, args = {princess, loc("Help me, please!"), SAY_SHOUT, 3000}}) table.insert(midAnim, {func = AnimSay, args = {cyborg, loc("If you can get that crate fast enough, your beloved \"princess\" may go free."), SAY_SAY, 7000}}) table.insert(midAnim, {func = AnimSay, args = {cyborg, loc("However, if you fail to do so, she dies a most violent death! Muahahaha!"), SAY_SAY, 8000}}) table.insert(midAnim, {func = AnimSay, args = {cyborg, loc("Good luck...or else!"), SAY_SAY, 4000}}) @@ -509,7 +511,7 @@ table.insert(midAnimAD, {func = AnimCustomFunction, args = {cyborg, TargetPrincess, {}}}) table.insert(midAnimAD, {func = AnimSay, args = {cyborg, loc("Welcome, Leaks A Lot!"), SAY_SAY, 3000}}) table.insert(midAnimAD, {func = AnimSay, args = {cyborg, loc("I want to play a game..."), SAY_SAY, 3000}}) - table.insert(midAnimAD, {func = AnimSay, args = {princess, loc("Help me, please!!!"), SAY_SHOUT, 3000}}) + table.insert(midAnimAD, {func = AnimSay, args = {princess, loc("Help me, please!"), SAY_SHOUT, 3000}}) table.insert(midAnimAD, {func = AnimSay, args = {cyborg, loc("If you can get that crate fast enough, your beloved \"princess\" may go free."), SAY_SAY, 7000}}) table.insert(midAnimAD, {func = AnimSay, args = {cyborg, loc("However, if you fail to do so, she dies a most violent death, just like your friend! Muahahaha!"), SAY_SAY, 8000}}) table.insert(midAnimAD, {func = AnimSay, args = {cyborg, loc("Good luck...or else!"), SAY_SAY, 4000}}) @@ -535,6 +537,7 @@ table.insert(failAnimAD, {func = AnimWait, args = {cyborg, 500}}) table.insert(failAnimAD, {func = AnimSay, args = {leaks, loc("No! What have I done?! What have YOU done?!"), SAY_SHOUT, 3000}}) table.insert(failAnimAD, {func = AnimSwitchHog, args = {princess}}) + AddSkipFunction(failAnimAD, SkipFailAnimAlone, {}) table.insert(endAnimAD, {func = AnimCustomFunction, swh = false, args = {leaks, RestoreCyborg, {437, 1700, 519, 1722}}}) table.insert(endAnimAD, {func = AnimTurn, swh = false, args = {cyborg, "Right"}}) @@ -717,14 +720,14 @@ function SetupPlaceAlone() ------ AMMO CRATE LIST ------ - SpawnAmmoCrate(3124, 952, amBaseballBat) - SpawnAmmoCrate(2508, 1110, amFirePunch) + SpawnSupplyCrate(3124, 952, amBaseballBat) + SpawnSupplyCrate(2508, 1110, amFirePunch) ------ UTILITY CRATE LIST ------ - blowCrate = SpawnAmmoCrate(3675, 1480, amBlowTorch) - gravityCrate = SpawnUtilityCrate(3448, 1349, amLowGravity) - SpawnUtilityCrate(3212, 1256, amGirder) - SpawnUtilityCrate(3113, 911, amParachute) - sniperCrate = SpawnAmmoCrate(784, 1715, amSniperRifle) + blowCrate = SpawnSupplyCrate(3675, 1480, amBlowTorch) + gravityCrate = SpawnSupplyCrate(3448, 1349, amLowGravity) + SpawnSupplyCrate(3212, 1256, amGirder) + SpawnSupplyCrate(3113, 911, amParachute) + sniperCrate = SpawnSupplyCrate(784, 1715, amSniperRifle) ------ MINE LIST ------ AddGear(3328, 1399, gtMine, 0, 0, 0, 0) AddGear(3028, 1262, gtMine, 0, 0, 0, 0) @@ -832,12 +835,12 @@ PlaceGirder(1135, 775, 1) ------ UTILITY CRATE LIST ------ - SpawnUtilityCrate(1590, 628, amParachute) - SpawnAmmoCrate(1540, 100, amDynamite) - SpawnUtilityCrate(2175, 1815, amLowGravity) - SpawnAmmoCrate(2210, 1499, amFirePunch) - girderCrate = SpawnUtilityCrate(2300, 1663, amGirder) - SpawnAmmoCrate(610, 1394, amPickHammer) + SpawnSupplyCrate(1590, 628, amParachute) + SpawnSupplyCrate(1540, 100, amDynamite) + SpawnSupplyCrate(2175, 1815, amLowGravity) + SpawnSupplyCrate(2210, 1499, amFirePunch) + girderCrate = SpawnSupplyCrate(2300, 1663, amGirder) + SpawnSupplyCrate(610, 1394, amPickHammer) ------ BARREL LIST ------ SetHealth(AddGear(1148, 736, gtExplosives, 0, 0, 0, 0), 20) @@ -1044,11 +1047,17 @@ AddFunction({func = AddFunction, args = {{func = AfterMidFailAnim, args = {}}}}) end +function SkipFailAnimAlone() + DumpMines(1) + KillPrincess() + AnimSwitchHog(princess) +end + --////////////////////////////Main Functions///////////////////////// function onGameInit() progress = tonumber(GetCampaignVar("Progress")) - m2Choice = tonumber(GetCampaignVar("M2Choice")) + m2Choice = tonumber(GetCampaignVar("M2Choice")) or choiceRefused m2DenseDead = tonumber(GetCampaignVar("M2DenseDead")) m2RamonDead = tonumber(GetCampaignVar("M2RamonDead")) m2SpikyDead = tonumber(GetCampaignVar("M2SpikyDead")) @@ -1082,11 +1091,13 @@ for i = 1, 4 do cannibals[i] = AddHog(cannibalNames[i], 3, 40, "Zombi") AnimSetGearPosition(cannibals[i], unpack(cannibalPos[i])) + SetEffect(cannibals[i], heArtillery, 1) end for i = 5, 8 do cannibals[i] = AddHog(cannibalNames[i], 3, 40, "Zombi") AnimSetGearPosition(cannibals[i], 0, 0) + SetEffect(cannibals[i], heArtillery, 1) end AddTeam(loc("011101001"), 14483456, "ring", "UFO", "Robot", "cm_binary") @@ -1177,20 +1188,12 @@ SetGearMessage(leaks, 0) TurnTimeLeft = -1 elseif GetHogTeamName(CurrentHedgehog) ~= loc("Natives") then - for i = 1, 4 do - if cannibalDead[i] ~= true and leaksDead ~= true then - if GetX(cannibals[i]) < GetX(leaks) then - HogTurnLeft(cannibals[i], false) - else - HogTurnLeft(cannibals[i], true) - end - end - end - SetInputMask(band(0xFFFFFFFF, bnot(gmLeft + gmRight + gmLJump + gmHJump))) TurnTimeLeft = 20000 else - SetInputMask(0xFFFFFFFF) TurnsLeft = TurnsLeft - 1 + if TurnsLeft >= 1 then + AddCaption(string.format(loc("Turns left: %d"), TurnsLeft), 0xFFFFFFFF, capgrpGameState) + end end end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/queen.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/queen.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/queen.lua Sun Jun 10 19:12:26 2018 +0200 @@ -298,7 +298,7 @@ table.insert(startAnim, {func = AnimSay, args = {enemy, loc("Why, why, why, why!"), SAY_SHOUT, 4000}}) table.insert(startAnim, {func = AnimSay, args = {enemy, loc("I grew sick of the oppression! I broke free!"), SAY_SHOUT, 6500}}) table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("What oppression? You were the most unoppressed member of the tribe!"), SAY_SHOUT, 10000}}) - table.insert(startAnim, {func = AnimSay, args = {enemy, loc("The opression of the elders, of course!"), SAY_SHOUT, 6500}}) + table.insert(startAnim, {func = AnimSay, args = {enemy, loc("The oppression of the elders, of course!"), SAY_SHOUT, 6500}}) if m5DeployedNum == leaksNum then table.insert(startAnim, {func = AnimSay, args = {enemy, loc("You should know this more than anyone, Leaks!"), SAY_SHOUT, 7000}}) elseif m5LeaksDead == 1 then @@ -342,7 +342,7 @@ table.insert(startAnim, {func = AnimSay, args = {enemy, loc("Why, why, why, why!"), SAY_SHOUT, 4000}}) table.insert(startAnim, {func = AnimSay, args = {enemy, loc("I grew sick of the oppression! I broke free!"), SAY_SHOUT, 6500}}) table.insert(startAnim, {func = AnimSay, args = {natives[1], loc("What oppression? You were the most unoppressed member of the tribe!"), SAY_SHOUT, 10000}}) - table.insert(startAnim, {func = AnimSay, args = {enemy, loc("The opression of the elders, of course!"), SAY_SHOUT, 6500}}) + table.insert(startAnim, {func = AnimSay, args = {enemy, loc("The oppression of the elders, of course!"), SAY_SHOUT, 6500}}) table.insert(startAnim, {func = AnimSay, args = {enemy, loc("Just look at Leaks, may he rest in peace!"), SAY_SHOUT, 6500}}) table.insert(startAnim, {func = AnimSay, args = {enemy, loc("We, the youth, have to constantly prove our value."), SAY_SHOUT, 7000}}) table.insert(startAnim, {func = AnimSay, args = {enemy, loc("We work and work until we sweat blood."), SAY_SHOUT, 5000}}) @@ -491,7 +491,7 @@ SetHealth(SpawnHealthCrate(2207, 44), 25) SetHealth(SpawnHealthCrate(519, 1519), 25) SetHealth(SpawnHealthCrate(826, 895), 25) - SpawnUtilityCrate(701, 1046, amGirder, 3) + SpawnSupplyCrate(701, 1046, amGirder, 3) TurnTimeLeft = TurnTime end @@ -612,9 +612,9 @@ function GetVariables() progress = tonumber(GetCampaignVar("Progress")) - m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) - m2Choice = tonumber(GetCampaignVar("M2Choice")) - m5Choice = tonumber(GetCampaignVar("M5Choice")) + m5DeployedNum = tonumber(GetCampaignVar("M5DeployedNum")) or leaksNum + m2Choice = tonumber(GetCampaignVar("M2Choice")) or choiceRefused + m5Choice = tonumber(GetCampaignVar("M5Choice")) or choiceEliminate m2DenseDead = tonumber(GetCampaignVar("M2DenseDead")) m4DenseDead = tonumber(GetCampaignVar("M4DenseDead")) m5DenseDead = tonumber(GetCampaignVar("M5DenseDead")) @@ -649,7 +649,6 @@ end function SetupPlace() - HideHedge(cyborg) SetHogHat(natives[1], nativeHats[m5DeployedNum]) SetHogName(natives[1], nativeNames[m5DeployedNum]) @@ -688,18 +687,18 @@ end end - SpawnAmmoCrate(34, 410, amBee, 2) - SpawnAmmoCrate(33, 374, amRCPlane, 1) - SpawnAmmoCrate(74, 410, amAirAttack, 3) - SpawnAmmoCrate(1313, 1481, amBazooka, 8) - SpawnAmmoCrate(80, 360, amSniperRifle, 4) - SpawnAmmoCrate(1037, 1508, amShotgun, 7) - SpawnAmmoCrate(1037, 1472, amMolotov, 3) - SpawnAmmoCrate(1146, 1576, amMortar, 8) + SpawnSupplyCrate(34, 410, amBee, 2) + SpawnSupplyCrate(33, 374, amRCPlane, 1) + SpawnSupplyCrate(74, 410, amAirAttack, 3) + SpawnSupplyCrate(1313, 1481, amBazooka, 8) + SpawnSupplyCrate(80, 360, amSniperRifle, 4) + SpawnSupplyCrate(1037, 1508, amShotgun, 7) + SpawnSupplyCrate(1037, 1472, amMolotov, 3) + SpawnSupplyCrate(1146, 1576, amMortar, 8) - SpawnUtilityCrate(1147, 1431, amPortalGun, 2) - SpawnUtilityCrate(1219, 1542, amRope, 5) - SpawnUtilityCrate(1259, 1501, amJetpack, 2) + SpawnSupplyCrate(1147, 1431, amPortalGun, 2) + SpawnSupplyCrate(1219, 1542, amRope, 5) + SpawnSupplyCrate(1259, 1501, amJetpack, 2) if not nativeAwaitingDeletion then AfterSetupPlace() @@ -748,6 +747,7 @@ AddTeam(loc("011101001"), 14483456, "ring", "UFO", "Robot", "cm_binary") cyborg = AddHog(loc("Unit 334a$7%;.*"), 0, 200, "cyborg1") + HideHedge(cyborg) SetGearPosition(cyborg, 0, 0) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/shadow.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/shadow.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/shadow.lua Sun Jun 10 19:12:26 2018 +0200 @@ -150,10 +150,10 @@ if stage == loseStage then return end - SpawnUtilityCrate(2045, 1575, amSwitch) - SpawnAmmoCrate(2365, 1495, amShotgun) - SpawnAmmoCrate(2495, 1519, amGrenade) - SpawnUtilityCrate(2620, 1524, amRope) + SpawnSupplyCrate(2045, 1575, amSwitch) + SpawnSupplyCrate(2365, 1495, amShotgun) + SpawnSupplyCrate(2495, 1519, amGrenade) + SpawnSupplyCrate(2620, 1524, amRope) ShowMission(loc("The Shadow Falls"), loc("The Showdown"), loc("Save Leaks A Lot!|Hint: The switch hedgehog utility might be of help to you."), 1, 6000) RemoveEventFunc(CheckDenseDead) AddEvent(CheckStronglingsDead, {}, DoStronglingsDeadRefused, {}, 0) @@ -200,7 +200,6 @@ SetState(cannibals[1], 0) AnimTurn(leaks, "Right") AnimSwitchHog(leaks) - SetInputMask(0xFFFFFFFF) end function AfterWeaklingsAnim() @@ -240,7 +239,6 @@ AnimSetGearPosition(cannibals[i], unpack(cannibalPos[i])) SetState(cannibals[i], 0) end - SetInputMask(0xFFFFFFFF) end function AfterStronglingsAnim() @@ -285,7 +283,6 @@ HogTurnLeft(dense, true) AnimSetGearPosition(cyborg, 1250, 1315) SwitchHog(dense) - SetInputMask(0xFFFFFFFF) end function AfterAcceptedAnim() @@ -293,8 +290,8 @@ return end stage = acceptedReturnStage - SpawnUtilityCrate(1370, 810, amGirder) - SpawnUtilityCrate(1300, 810, amParachute) + SpawnSupplyCrate(1370, 810, amGirder) + SpawnSupplyCrate(1300, 810, amParachute) ShowMission(loc("The Shadow Falls"), loc("The walk of Fame"), loc("Return to Leaks A Lot!"), 1, 6000) AddEvent(CheckReadyForStronglings, {}, DoReadyForStronglings, {}, 0) AddEvent(CheckNeedGirder, {}, DoNeedGirder, {}, 0) @@ -312,7 +309,6 @@ AnimSetGearPosition(cyborg, unpack(cyborgPos)) SetState(cyborg, gstInvisible) AnimSwitchHog(dense) - SetInputMask(0xFFFFFFFF) end function AfterAttackedAnim() @@ -320,7 +316,7 @@ return end stage = aloneStage - ShowMission(loc("The Shadow Falls"), loc("The Individualist"), loc("Defeat the cannibals!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"), 1, 8000) + ShowMission(loc("The Shadow Falls"), loc("The Individualist"), loc("Defeat the cannibals!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power"), 1, 8000) AddAmmo(cannibals[6], amGrenade, 1) AddAmmo(cannibals[6], amFirePunch, 0) AddAmmo(cannibals[6], amBaseballBat, 0) @@ -348,24 +344,23 @@ if denseDead == false then DeleteGear(dense) end - SpawnAmmoCrate(2551, 994, amGrenade) - SpawnAmmoCrate(3551, 994, amGrenade) - SpawnAmmoCrate(3392, 1101, amShotgun) - SpawnAmmoCrate(3192, 1101, amShotgun) + SpawnSupplyCrate(2551, 994, amGrenade) + SpawnSupplyCrate(3551, 994, amGrenade) + SpawnSupplyCrate(3392, 1101, amShotgun) + SpawnSupplyCrate(3192, 1101, amShotgun) AnimSetGearPosition(cyborg, unpack(cyborgPos)) SetState(cyborg, gstInvisible) AnimSwitchHog(leaks) - SetInputMask(0xFFFFFFFF) end -----------------------------Animations-------------------------------- function SpawnCrates() - SpawnAmmoCrate(2551, 994, amGrenade) - SpawnAmmoCrate(3551, 994, amGrenade) - SpawnAmmoCrate(3392, 1101, amShotgun) - SpawnAmmoCrate(3192, 1101, amShotgun) + SpawnSupplyCrate(2551, 994, amGrenade) + SpawnSupplyCrate(3551, 994, amGrenade) + SpawnSupplyCrate(3392, 1101, amShotgun) + SpawnSupplyCrate(3192, 1101, amShotgun) return true end @@ -537,7 +532,7 @@ table.insert(acceptedDiedFinalAnim, {func = AnimSay, args = {dense, loc("You will be avenged!"), SAY_SAY, 3000}}) table.insert(refusedAnim, {func = AnimSay, args = {cyborg, loc("I see..."), SAY_SAY, 2000}}) - table.insert(refusedAnim, {func = AnimSay, args = {cyborg, loc("Remember this, pathetic animal: when the day comes, you will regret your blind loyalty!"), SAY_SAY, 8000}}) + table.insert(refusedAnim, {func = AnimSay, args = {cyborg, loc("Remember this, pathetic animal: When the day comes, you will regret your blind loyalty!"), SAY_SAY, 8000}}) table.insert(refusedAnim, {func = AnimSay, args = {cyborg, loc("You just committed suicide..."), SAY_SAY, 5000}}) table.insert(refusedAnim, {func = AnimDisappear, args = {cyborg, unpack(cyborgPos)}}) table.insert(refusedAnim, {func = AnimGiveState, args = {cyborg, gstInvisible}}) @@ -619,14 +614,14 @@ cannibals[1] = AddHog(loc("Brainiac"), 5, 20, "Zombi") for i = 2, 5 do - cannibals[i] = AddHog(HogNames[i], 1, 20, "Zombi") + cannibals[i] = AddHog(HogNames[i], 5, 20, "Zombi") hogNr[cannibals[i]] = i - 2 end AddTeam(loc("Stronglings"), 14483456, "skull", "Island", "Pirate","cm_vampire") for i = 6, 9 do - cannibals[i] = AddHog(HogNames[i], 2, 30, "vampirichog") + cannibals[i] = AddHog(HogNames[i], 4, 30, "vampirichog") hogNr[cannibals[i]] = i - 2 end @@ -863,8 +858,8 @@ if stage == loseStage then return end - grenadeCrate = SpawnAmmoCrate(2550, 800, amGrenade) - shotgunCrate = SpawnAmmoCrate(2610, 850, amShotgun) + grenadeCrate = SpawnSupplyCrate(2550, 800, amGrenade) + shotgunCrate = SpawnSupplyCrate(2610, 850, amShotgun) AddCaption(loc("A little gift from the cyborgs")) end @@ -879,7 +874,7 @@ if stage == loseStage then return end - ShowMission(loc("The Shadow Falls"), loc("The guardian"), loc("Protect yourselves!|Grenade hint: set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power").."|"..loc("Leaks A Lot must survive!"), 1, 8000) + ShowMission(loc("The Shadow Falls"), loc("The guardian"), loc("Protect yourselves!|Grenade hint: Set the timer with [1-5], aim with [Up]/[Down] and hold [Space] to set power").."|"..loc("Leaks A Lot must survive!"), 1, 8000) AddAmmo(dense, amSkip, 100) AddAmmo(dense, amSwitch, 100) AddAmmo(leaks, amSkip, 100) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/united.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/united.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Classic_Fairytale/united.lua Sun Jun 10 19:12:26 2018 +0200 @@ -26,9 +26,9 @@ HedgewarsScriptLoad("/Scripts/Animate.lua") -----------------------------Constants--------------------------------- -choiceAccept = 1 -choiceRefuse = 2 -choiceAttack = 3 +choiceAccepted = 1 +choiceRefused = 2 +choiceAttacked = 3 leaksPos = {2067, 509} densePos = {1882, 503} @@ -289,7 +289,7 @@ if m2DenseDead == 1 then denseDead = true end - m2Choice = tonumber(GetCampaignVar("M2Choice")) + m2Choice = tonumber(GetCampaignVar("M2Choice")) or choiceRefused end function SetupPlace() @@ -379,20 +379,20 @@ function SpawnCrates(index) if index == 1 then - SpawnAmmoCrate(1943, 408, amBazooka) - SpawnAmmoCrate(1981, 464, amGrenade) - SpawnAmmoCrate(1957, 459, amShotgun) - SpawnAmmoCrate(1902, 450, amDynamite) - SpawnAmmoCrate(1982, 405, amPickHammer) - SpawnUtilityCrate(2028, 455, amRope) - SpawnUtilityCrate(2025, 464, amTeleport) + SpawnSupplyCrate(1943, 408, amBazooka) + SpawnSupplyCrate(1981, 464, amGrenade) + SpawnSupplyCrate(1957, 459, amShotgun) + SpawnSupplyCrate(1902, 450, amDynamite) + SpawnSupplyCrate(1982, 405, amPickHammer) + SpawnSupplyCrate(2028, 455, amRope) + SpawnSupplyCrate(2025, 464, amTeleport) else - SpawnAmmoCrate(1982, 405, amBlowTorch) - SpawnAmmoCrate(2171, 428, amMolotov) - SpawnAmmoCrate(2364, 346, amFlamethrower) - SpawnAmmoCrate(2521, 303, amBazooka) - SpawnAmmoCrate(2223, 967, amGrenade) - SpawnAmmoCrate(1437, 371, amShotgun) + SpawnSupplyCrate(1982, 405, amBlowTorch) + SpawnSupplyCrate(2171, 428, amMolotov) + SpawnSupplyCrate(2364, 346, amFlamethrower) + SpawnSupplyCrate(2521, 303, amBazooka) + SpawnSupplyCrate(2223, 967, amGrenade) + SpawnSupplyCrate(1437, 371, amShotgun) end cratesSpawned[index] = true end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/cosmos.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/cosmos.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/cosmos.lua Sun Jun 10 19:12:26 2018 +0200 @@ -91,8 +91,18 @@ -------------- LuaAPI EVENT HANDLERS ------------------ function onGameInit() + -- get the check point + if tonumber(GetCampaignVar("CosmosCheckPoint")) then + checkPointReached = tonumber(GetCampaignVar("CosmosCheckPoint")) + end + Seed = 35 - GameFlags = gfSolidLand + gfDisableWind + gfTagTeam + ClearGameFlags() + EnableGameFlags(gfSolidLand, gfDisableWind, gfTagTeam) + if checkPointReached == 4 then + -- Disable walking as long we're stuck on the moon + EnableGameFlags(gfArtillery) + end TurnTime = 20000 CaseFreq = 0 MinesNum = 0 @@ -126,14 +136,6 @@ AnimSetGearPosition(guard1.gear, guard1.x, guard1.y) guard2.gear = AddHog(guard2.name, 1, 100, "policecap") AnimSetGearPosition(guard2.gear, guard2.x, guard2.y) - -- get the check point - if tonumber(GetCampaignVar("CosmosCheckPoint")) then - checkPointReached = tonumber(GetCampaignVar("CosmosCheckPoint")) - end - if checkPointReached == 4 then - -- Disable walking as long we're stuck on the moon - GameFlags = bor(GameFlags, gfArtillery) - end -- Whether to start with an animation local startSequence -- do checkpoint stuff needed before game starts @@ -199,7 +201,7 @@ AddAmmo(hero.gear, amRope, 1) AddAmmo(guard1.gear, amDEagle, 100) AddAmmo(guard2.gear, amDEagle, 100) - SpawnUtilityCrate(saucerX, saucerY, amJetpack) + SpawnSupplyCrate(saucerX, saucerY, amJetpack) -- EVENT HANDLERS AddEvent(onHeroBeforeTreePosition, {hero.gear}, heroBeforeTreePosition, {hero.gear}, 0) AddEvent(onHeroAcquiredSaucer, {hero.gear}, heroAcquiredSaucer, {hero.gear}, 1) @@ -307,9 +309,9 @@ TurnTimeLeft = -1 end end - elseif CurrentHedgehog == director.gear or CurrentHedgehog == doctor.gear then + elseif not onHeroDeath() and CurrentHedgehog == director.gear or CurrentHedgehog == doctor.gear then EndTurn(true) - elseif (CurrentHedgehog == guard1.gear or CurrentHedgehog == guard2.gear) and guard1.keepTurning then + elseif not onHeroDeath() and (CurrentHedgehog == guard1.gear or CurrentHedgehog == guard2.gear) and guard1.keepTurning then EndTurn(true) end @@ -703,7 +705,7 @@ table.insert(dialog07, {func = AnimSay, args = {hero.gear, loc("I am not ready for this planet yet. I should visit it when I have found all the other device parts."), SAY_THINK, 4000}}) -- DIALOG 08 - Hero wins death01 AddSkipFunction(dialog08, Skipanim, {dialog08}) - table.insert(dialog08, {func = AnimCaption, args = {hero.gear, loc("Under the meteorites shadow ..."), 4000}}) + table.insert(dialog08, {func = AnimCaption, args = {hero.gear, loc("Under the meteorite’s shadow ..."), 4000}}) table.insert(dialog08, {func = AnimSay, args = {doctor.gear, loc("You did great, Hog Solo! However, we aren't out of danger yet!"), SAY_SHOUT, 4500}}) table.insert(dialog08, {func = AnimSay, args = {doctor.gear, loc("The meteorite has come too close and the anti-gravity device isn't powerful enough to stop it now."), SAY_SHOUT, 5000}}) table.insert(dialog08, {func = AnimSay, args = {doctor.gear, loc("We need it to get split into at least two parts."), SAY_SHOUT, 3000}}) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death01.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death01.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death01.lua Sun Jun 10 19:12:26 2018 +0200 @@ -145,14 +145,14 @@ AddEvent(onEnemiesDeath, {hero.gear}, enemiesDeath, {hero.gear}, 0) -- add crates - SpawnUtilityCrate(teleportCrate.x, teleportCrate.y, amTeleport) - SpawnUtilityCrate(drillCrate.x, drillCrate.y, amTeleport) - SpawnAmmoCrate(drillCrate.x, drillCrate.y, amDrill) - SpawnAmmoCrate(batCrate.x, batCrate.y, amBaseballBat) - SpawnAmmoCrate(blowtorchCrate.x, blowtorchCrate.y, amBlowTorch) - SpawnAmmoCrate(cakeCrate.x, cakeCrate.y, amCake) - SpawnUtilityCrate(ropeCrate.x, ropeCrate.y, amRope) - SpawnAmmoCrate(pickHammerCrate.x, pickHammerCrate.y, amPickHammer) + SpawnSupplyCrate(teleportCrate.x, teleportCrate.y, amTeleport) + SpawnSupplyCrate(drillCrate.x, drillCrate.y, amTeleport) + SpawnSupplyCrate(drillCrate.x, drillCrate.y, amDrill) + SpawnSupplyCrate(batCrate.x, batCrate.y, amBaseballBat) + SpawnSupplyCrate(blowtorchCrate.x, blowtorchCrate.y, amBlowTorch) + SpawnSupplyCrate(cakeCrate.x, cakeCrate.y, amCake) + SpawnSupplyCrate(ropeCrate.x, ropeCrate.y, amRope) + SpawnSupplyCrate(pickHammerCrate.x, pickHammerCrate.y, amPickHammer) SpawnHealthCrate(cakeCrate.x + 40, cakeCrate.y) SpawnHealthCrate(blowtorchCrate.x + 40, blowtorchCrate.y) -- add explosives diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death02.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death02.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/death02.lua Sun Jun 10 19:12:26 2018 +0200 @@ -11,13 +11,13 @@ -- globals local missionName = loc("Killing the specialists") local challengeObjectives = loc("Use your available weapons in order to eliminate the enemies.").."|".. - loc("Each time you play this missions enemy hogs will play in a random order.").."|".. + loc("The enemy hogs play in a random order.").."|".. loc("At the start of the game each enemy hog has only the weapon that he is named after.").."|".. loc("A random hedgehog will inherit the weapons of his deceased team-mates.").."|".. - loc("If you kill a hedgehog with the respective weapon your health points will be set to 100.").."|".. - loc("If you injure a hedgehog you'll get 35% of the damage dealt.").."|".. - loc("Every time you kill an enemy hog your ammo will get reset next turn.").."|".. - loc("The rope won't get reset.") + loc("After you killed an enemy, you'll lose the weapon that he is named after.").."|".. + loc("If only one enemy is left, you'll get bonus ammo.").."|".. + loc("If you hurt an enemy, you'll get one third of the damage dealt.").."|".. + loc("If you kill an enemy, your health will be set to 100.") -- mission objectives local goals = { ["init"] = {missionName, loc("Challenge objectives"), challengeObjectives, 1, 35000}, @@ -33,6 +33,7 @@ bazookaAmmo = 2, grenadeAmmo = 4, } +local heroTurns = 0 local enemies = { { name = GetAmmoName(amMortar), x = 1890, y = 520, weapon = amMortar, additionalWeapons = {}}, { name = GetAmmoName(amDEagle), x = 1390, y = 790, weapon = amDEagle, additionalWeapons = {}}, @@ -65,6 +66,7 @@ Explosives = 0 Map = "death02_map" Theme = "Hell" + Delay = 600 -- this makes the messages between turns more readable -- Disable Sudden Death WaterRise = 0 HealthDecrease = 0 @@ -111,14 +113,20 @@ end if CurrentHedgehog ~= hero.gear then enemyWeapons() - elseif heroWeaponResetPending then - refreshHeroAmmo() + else + heroTurns = heroTurns + 1 end end function onGearDelete(gear) if isHog(gear) then - SetHealth(hero.gear, 100) + -- Set health to 100 (with heal effect, if health was smaller) + local healthDiff = 100 - GetHealth(hero.gear) + if healthDiff > 1 then + HealHog(hero.gear, healthDiff, true, 0x00FF00FF) + else + SetHealth(hero.gear, 100) + end local deadHog = getHog(gear) if deadHog.weapon == amMortar then hero.mortarAmmo = 0 @@ -145,7 +153,8 @@ function onGearDamage(gear, damage) if isHog(gear) and GetHealth(hero.gear) then - SetHealth(hero.gear, GetHealth(hero.gear) + damage/3) + local bonusHealth = div(damage, 3) + HealHog(hero.gear, bonusHealth, true, 0xFF0000FF) end end @@ -158,6 +167,13 @@ CheckEvents() end +function onGameTick20() + -- Refresh hero ammo immediately after its not his turn anymore + if CurrentHedgehog ~= hero.gear and heroWeaponResetPending then + refreshHeroAmmo() + end +end + -- Hide mission panel when player does anything function hideMissionOnAction() if battleStarted then @@ -203,17 +219,20 @@ function heroWin(gear) saveBonus(3, 4) SendStat(siGameResult, loc("Congratulations, you won!")) - SendStat(siCustomAchievement, string.format(loc("You completed the mission in %d rounds."), TotalRounds)) - local record = tonumber(GetCampaignVar("FastestSpecialistsKill")) - if record ~= nil and TotalRounds >= record then + SendStat(siCustomAchievement, string.format(loc("You completed the mission in %d rounds."), heroTurns)) + local record = tonumber(GetCampaignVar("FastestSpecialistsWin")) + if record ~= nil and heroTurns >= record then SendStat(siCustomAchievement, string.format(loc("Your fastest victory so far: %d rounds"), record)) end - if record == nil or TotalRounds < record then - SaveCampaignVar("FastestSpecialistsKill", tostring(TotalRounds)) + if record == nil or heroTurns < record then + SaveCampaignVar("FastestSpecialistsWin", tostring(heroTurns)) if record ~= nil then SendStat(siCustomAchievement, loc("This is a new personal best, congratulations!")) end end + -- An old version of this mission was buggy and stored a turn record WAY too low. + -- Let's clear the broken variable (FastestSpecialistsKill) here. + SaveCampaignVar("FastestSpecialistsKill", "") SendStat(siCustomAchievement, loc("The next 4 times you play the \"The last encounter\" mission you'll get 20 more hit points and a laser sight.")) sendSimpleTeamRankings({teamA.name, teamB.name}) SaveCampaignVar("Mission11Won", "true") @@ -235,6 +254,8 @@ local extraAmmo = 0 if getAliveEnemiesCount() == 1 then extraAmmo = 2 + PlaySound(sndShotgunReload) + AddCaption(loc("Reinforcements! +2 of each weapon!"), GetClanColor(GetHogClan(hero.gear)), capgrpAmmoinfo) end AddAmmo(hero.gear, amMortar, hero.mortarAmmo + extraAmmo) AddAmmo(hero.gear, amFirePunch, hero.firepunchAmmo + extraAmmo) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert01.lua Sun Jun 10 19:12:26 2018 +0200 @@ -26,7 +26,7 @@ -- mission objectives local goals = { [dialog01] = {missionName, loc("Getting ready"), loc("The device part is hidden in one of the crates! Go and get it!").."|".. - loc("Most of the destructible terrain in marked with blue color").."|"..loc("Mines time: 0 seconds"), 1, 6000}, + loc("Most of the destructible terrain is marked with dashed lines.").."|"..loc("Mines time: 0 seconds"), 1, 6000}, } -- crates local btorch1Y = 60 @@ -142,16 +142,16 @@ AddAmmo(smuggler3.gear, amRope, 2) -- spawn crates - SpawnAmmoCrate(btorch3X, btorch3Y, amBlowTorch) - SpawnUtilityCrate(rope1X, rope1Y, amRope) - SpawnUtilityCrate(rope2X, rope2Y, amRope) - SpawnUtilityCrate(rope3X, rope3Y, amRope) - SpawnUtilityCrate(portalX, portalY, amPortalGun) + SpawnSupplyCrate(btorch3X, btorch3Y, amBlowTorch) + SpawnSupplyCrate(rope1X, rope1Y, amRope) + SpawnSupplyCrate(rope2X, rope2Y, amRope) + SpawnSupplyCrate(rope3X, rope3Y, amRope) + SpawnSupplyCrate(portalX, portalY, amPortalGun) SpawnHealthCrate(3300, 970) -- the win crates, collect both to win - btorch2.gear = SpawnAmmoCrate(btorch2X, btorch2Y, amBlowTorch) - girder.gear = SpawnUtilityCrate(girderX, girderY, amGirder) + btorch2.gear = SpawnSupplyCrate(btorch2X, btorch2Y, amBlowTorch) + girder.gear = SpawnSupplyCrate(girderX, girderY, amGirder) -- adding mines - BOOM! AddGear(1280, 460, gtMine, 0, 0, 0, 0) @@ -186,7 +186,7 @@ AddEvent(onHeroAtBattlePoint1, {hero.gear}, heroAtBattlePoint1, {hero.gear}, 0) AddEvent(onHeroAtBattlePoint2, {hero.gear}, heroAtBattlePoint2, {hero.gear}, 0) -- crates - SpawnAmmoCrate(btorch1X, btorch1Y, amBlowTorch) + SpawnSupplyCrate(btorch1X, btorch1Y, amBlowTorch) SpawnHealthCrate(680, 460) -- hero ammo AddAmmo(hero.gear, amRope, 2) @@ -515,7 +515,7 @@ heroIsInBattle = true AddAmmo(hero.gear, amSkip, 100) ongoingBattle = 2 - AnimSay(smuggler2.gear, loc("This is seems like a wealthy hedgehog, nice ..."), SAY_THINK, 5000) + AnimSay(smuggler2.gear, loc("This seems like a wealthy hedgehog, nice ..."), SAY_THINK, 5000) AnimSwitchHog(smuggler2.gear) EndTurn(true) SetGearVelocity(hero.gear, dx, dy) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert03.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert03.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/desert03.lua Sun Jun 10 19:12:26 2018 +0200 @@ -91,7 +91,7 @@ AddEvent(onLose, {hero.gear}, lose, {hero.gear}, 0) -- original crates and targets - SpawnAmmoCrate(rcCrates[1].x, rcCrates[1].y, amRCPlane) + SpawnSupplyCrate(rcCrates[1].x, rcCrates[1].y, amRCPlane) targets[1].gear = AddGear(targets[1].x, targets[1].y, gtTarget, 0, 0, 0, 0) -- hero ammo @@ -207,13 +207,13 @@ function setTargets(ct) if ct == 2 then - SpawnAmmoCrate(rcCrates[2].x, rcCrates[2].y, amRCPlane) + SpawnSupplyCrate(rcCrates[2].x, rcCrates[2].y, amRCPlane) for i=2,3 do targets[i].gear = AddGear(targets[i].x, targets[i].y, gtTarget, 0, 0, 0, 0) end elseif ct == 3 then SpawnUtilityCrate(rcCrates[4].x, rcCrates[4].y, amNothing) - SpawnAmmoCrate(rcCrates[3].x, rcCrates[3].y, amRCPlane, 2) + SpawnSupplyCrate(rcCrates[3].x, rcCrates[3].y, amRCPlane, 2) for i=4,13 do targets[i].gear = AddGear(targets[i].x, targets[i].y, gtTarget, 0, 0, 0, 0) end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/final.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/final.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/final.lua Sun Jun 10 19:12:26 2018 +0200 @@ -81,9 +81,9 @@ -- health crate SpawnHealthCrate(910, 5) -- ammo crates - SpawnAmmoCrate(930, 1000, amRCPlane) - SpawnUtilityCrate(1260, 652, amGirder) - SpawnAmmoCrate(1220, 652, amPickHammer) + SpawnSupplyCrate(930, 1000, amRCPlane) + SpawnSupplyCrate(1260, 652, amGirder) + SpawnSupplyCrate(1220, 652, amPickHammer) -- ammo AddAmmo(hero.gear, amPortalGun, 1) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit01.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit01.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit01.lua Sun Jun 10 19:12:26 2018 +0200 @@ -197,7 +197,7 @@ -- crates SpawnHealthCrate(health1X, health1Y) - SpawnAmmoCrate(crateWMX, crateWMY, amWatermelon) + SpawnSupplyCrate(crateWMX, crateWMY, amWatermelon) AddAnim(dialog01) SendHealthStatsOff() @@ -489,7 +489,6 @@ SendStat(siGameResult, loc("Hog Solo couldn't escape, try again!")) SendStat(siCustomAchievement, loc("You have to get to the left-most land and remove any enemy hog from there.")) SendStat(siCustomAchievement, loc("You will play every 3 turns.")) - SendStat(siCustomAchievement, loc("Green hogs won't intentionally hurt you.")) end sendSimpleTeamRankings({teamC.name, teamA.name, teamD.name, teamB.name}) EndGame() diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit02.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit02.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit02.lua Sun Jun 10 19:12:26 2018 +0200 @@ -180,17 +180,17 @@ end -- place crates - SpawnUtilityCrate(girderCrate.x, girderCrate.y, girderCrate.name) - SpawnAmmoCrate(eagleCrate.x, eagleCrate.y, eagleCrate.name) + SpawnSupplyCrate(girderCrate.x, girderCrate.y, girderCrate.name) + SpawnSupplyCrate(eagleCrate.x, eagleCrate.y, eagleCrate.name) deviceCrate.gear = SpawnFakeUtilityCrate(deviceCrate.x, deviceCrate.y, false, false) -- anti-gravity device -- Rope crate is placed after device crate has been collected. -- This is done so it is impossible the player can rope before getting -- the device part. if tookPartInBattle then - SpawnAmmoCrate(weaponCrate.x, weaponCrate.y, amWatermelon) + SpawnSupplyCrate(weaponCrate.x, weaponCrate.y, amWatermelon) else - SpawnAmmoCrate(weaponCrate.x, weaponCrate.y, amSniperRifle) + SpawnSupplyCrate(weaponCrate.x, weaponCrate.y, amSniperRifle) end SendHealthStatsOff() @@ -255,7 +255,7 @@ deviceCrate.collected = true deviceCrate.collector = CurrentHedgehog -- Spawn rope crate - SpawnUtilityCrate(ropeCrate.x, ropeCrate.y, ropeCrate.name) + SpawnSupplyCrate(ropeCrate.x, ropeCrate.y, ropeCrate.name) end end end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit03.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit03.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/fruit03.lua Sun Jun 10 19:12:26 2018 +0200 @@ -35,6 +35,7 @@ x = 1100, y = 560 } +local heroTurns = 0 local enemiesOdd = { {name = loc("Hog 1"), x = 2000 , y = 175}, {name = loc("Hog III"), x = 1950 , y = 1110}, @@ -135,6 +136,8 @@ AddAmmo(enemiesEven[1].gear, amWatermelon, 1) AddAmmo(enemiesEven[1].gear, amGrenade, 5) + turnHogs() + SendHealthStatsOff() end @@ -152,8 +155,8 @@ TurnTimeLeft = TurnTime + timeLeft end timeLeft = 0 + heroTurns = heroTurns + 1 end - turnHogs() end function onGameTick() @@ -171,15 +174,45 @@ end end +-- Display ammo icon above gear. i = offset (start at 1) +local function displayAmmoIcon(gear, ammoType, i) + if not GetHealth(gear) then + return + end + local x = GetX(gear) + 2 + local y = GetY(gear) + 32 * i + local vgear = AddVisualGear(x, y, vgtAmmo, 0, true) + if vgear ~= nil then + local vgtX,vgtY,vgtdX,vgtdY,vgtAngle,vgtFrame,vgtFrameTicks,vgtState,vgtTimer,vgtTint = GetVisualGearValues(vgear) + local vgtFrame = ammoType + SetVisualGearValues(vgear,vgtX,vgtY,vgtdX,vgtdY,vgtAngle,vgtFrame,vgtFrameTicks,vgtState,vgtTimer,vgtTint) + end +end + function onGearDelete(gear) - if (isHog(gear)) then + if (isEnemyHog(gear) and GetHealth(hero.gear)) then local availableTeleports = GetAmmoCount(hero.gear,amTeleport) local availableSniper = GetAmmoCount(hero.gear,amSniperRifle) + local ammolist = "" + local tele = false if availableTeleports < 2 then AddAmmo(hero.gear, amTeleport, availableTeleports + 1 ) + displayAmmoIcon(hero.gear, amTeleport, 1) + tele = true + ammolist = ammolist .. string.format(loc("%s (+1)"), GetAmmoName(amTeleport)) end if availableSniper < 4 then AddAmmo(hero.gear, amSniperRifle, availableSniper + 1 ) + displayAmmoIcon(hero.gear, amSniperRifle, 2) + if tele then + ammolist = ammolist .. " • " + end + ammolist = ammolist .. string.format(loc("%s (+1)"), GetAmmoName(amSniperRifle)) + end + -- Show collected ammo + if ammolist ~= "" then + PlaySound(sndShotgunReload) + AddCaption(ammolist, GetClanColor(GetHogClan(hero.gear)), capgrpAmmoinfo) end end end @@ -238,13 +271,13 @@ function heroWin(gear) saveBonus(2, 1) SendStat(siGameResult, loc("Congratulations, you won!")) - SendStat(siCustomAchievement, string.format(loc("You completed the mission in %d rounds."), TotalRounds)) + SendStat(siCustomAchievement, string.format(loc("You completed the mission in %d rounds."), heroTurns)) local record = tonumber(GetCampaignVar("FastestPreciseShooting")) - if record ~= nil and TotalRounds >= record then + if record ~= nil and heroTurns >= record then SendStat(siCustomAchievement, string.format(loc("Your fastest victory so far: %d rounds"), record)) end - if record == nil or TotalRounds < record then - SaveCampaignVar("FastestPreciseShooting", tostring(TotalRounds)) + if record == nil or heroTurns < record then + SaveCampaignVar("FastestPreciseShooting", tostring(heroTurns)) if record ~= nil then SendStat(siCustomAchievement, loc("This is a new personal best, congratulations!")) end @@ -281,21 +314,16 @@ end end -function isHog(gear) - local hog = false - for i=1,table.getn(enemiesOdd) do +function isEnemyHog(gear) + for i=1, table.getn(enemiesOdd) do if gear == enemiesOdd[i].gear then - hog = true - break + return true end end - if not hog then - for i=1,table.getn(enemiesEven) do - if gear == enemiesEven then - hog = true - break - end + for i=1, table.getn(enemiesEven) do + if gear == enemiesEven then + return true end end - return hog + return false end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice01.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice01.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice01.lua Sun Jun 10 19:12:26 2018 +0200 @@ -212,7 +212,7 @@ if checkPointReached == 1 then AddAmmo(hero.gear, amBazooka, 1) - SpawnAmmoCrate(icegunX, icegunY, amIceGun) + SpawnSupplyCrate(icegunX, icegunY, amIceGun) AddEvent(onColumnCheckPoint, {hero.gear}, columnCheckPoint, {hero.gear}, 0) AddEvent(onHeroAtIceGun, {hero.gear}, heroAtIceGun, {hero.gear}, 0) AddAnim(dialog01) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice02.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice02.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/ice02.lua Sun Jun 10 19:12:26 2018 +0200 @@ -23,12 +23,9 @@ "|"..loc("You'll get extra time in case you need it when you pass a ring.").."|".. loc("Every 2 rings, the ring color will be green and you'll get an extra flying saucer.").."|".. loc("Use the attack key twice to change the flying saucer while floating in mid-air.") +local timeRecord -- dialogs local dialog01 = {} --- mission objectives -local goals = { - ["init"] = {missionName, loc("Getting ready"), challengeObjectives, 1, 25000}, -} -- hogs local hero = {} local ally = {} @@ -94,16 +91,28 @@ AnimSetGearPosition(ally.gear, ally.x, ally.y) HogTurnLeft(ally.gear, true) + timeRecord = tonumber(GetCampaignVar("IceStadiumBestTime")) + initCheckpoint("ice02") AnimInit(true) AnimationSetup() end +function ShowGoals() + -- mission objectives + local goalStr = challengeObjectives + if timeRecord ~= nil then + local personalBestStr = string.format(loc("Personal best: %.3f seconds"), timeRecord/1000) + goalStr = goalStr .. "|" .. personalBestStr + end + ShowMission(missionName, loc("Getting ready"), goalStr, 1, 25000) +end + function onGameStart() AnimWait(hero.gear, 3000) FollowGear(hero.gear) - ShowMission(unpack(goals["init"])) + ShowGoals() HideMission() AddEvent(onHeroDeath, {hero.gear}, heroDeath, {hero.gear}, 0) @@ -145,25 +154,25 @@ local saucersUsed = totalSaucers - saucersLeft SendStat(siGameResult, loc("Hooray! You are a champion!")) SendStat(siCustomAchievement, string.format(loc("You completed the mission in %.3f seconds."), totalTimePrinted)) - local record = tonumber(GetCampaignVar("IceStadiumBestTime")) - if record ~= nil and totalTime >= record then - SendStat(siCustomAchievement, string.format(loc("Your personal best time so far: %.3f seconds"), record/1000)) + if timeRecord ~= nil and totalTime >= timeRecord then + SendStat(siCustomAchievement, string.format(loc("Your personal best time so far: %.3f seconds"), timeRecord/1000)) end - if record == nil or totalTime < record then + if timeRecord == nil or totalTime < timeRecord then SaveCampaignVar("IceStadiumBestTime", tostring(totalTime)) - if record ~= nil then + if timeRecord ~= nil then SendStat(siCustomAchievement, loc("This is a new personal best time, congratulations!")) end end SendStat(siCustomAchievement, string.format(loc("You have used %d flying saucers."), saucersUsed)) SendStat(siCustomAchievement, string.format(loc("You had %d additional flying saucers left."), saucersLeft)) - record = tonumber(GetCampaignVar("IceStadiumLeastSaucersUsed")) - if record == nil or saucersUsed < record then + local leastSaucersRecord = tonumber(GetCampaignVar("IceStadiumLeastSaucersUsed")) + if leastSaucersRecord == nil or saucersUsed < leastSaucersRecord then SaveCampaignVar("IceStadiumLeastSaucersUsed", tostring(saucersUsed)) end - sendSimpleTeamRankings({teamA.name}) + SendStat(siPointType, loc("milliseconds")) + SendStat(siPlayerKills, totalTime, GetHogTeamName(hero.gear)) SaveCampaignVar("Mission6Won", "true") checkAllMissionsCompleted() EndGame() @@ -207,7 +216,7 @@ -------------- ANIMATIONS ------------------ function Skipanim(anim) - ShowMission(unpack(goals["init"])) + ShowGoals() startFlying() end @@ -215,13 +224,13 @@ -- DIALOG 01 - Start, some story telling AddSkipFunction(dialog01, Skipanim, {dialog01}) table.insert(dialog01, {func = AnimWait, args = {hero.gear, 3000}}) - table.insert(dialog01, {func = AnimCaption, args = {hero.gear, loc("In the Ice Planet Flying Saucer Stadium ..."), 5000}}) - table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("This is the Olympic stadium of saucer flying."), SAY_SAY, 4000}}) + table.insert(dialog01, {func = AnimCaption, args = {hero.gear, loc("In the stadium, where the best pilots compete ..."), 5000}}) + table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("This is the Olympic Stadium of Saucer Flying."), SAY_SAY, 4000}}) table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("All the saucer pilots dream to come here one day in order to compete with the best!"), SAY_SAY, 5000}}) table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("Now you have the chance to try and claim the place that you deserve among the best."), SAY_SAY, 6000}}) table.insert(dialog01, {func = AnimSay, args = {ally.gear, loc("Can you do it?"), SAY_SAY, 2000}}) table.insert(dialog01, {func = AnimWait, args = {hero.gear, 500}}) - table.insert(dialog01, {func = ShowMission, args = goals["init"]}) + table.insert(dialog01, {func = ShowGoals, args = {}}) table.insert(dialog01, {func = startFlying, args = {hero.gear}}) end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon01.lua --- a/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon01.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Campaign/A_Space_Adventure/moon01.lua Sun Jun 10 19:12:26 2018 +0200 @@ -196,10 +196,10 @@ if checkPointReached == 1 then AddAmmo(hero.gear, amRope, 2) AddAmmo(hero.gear, amSkip, 0) - SpawnAmmoCrate(bazookaX, weaponsY, amBazooka) - SpawnUtilityCrate(parachuteX, weaponsY, amParachute) - SpawnAmmoCrate(grenadeX, weaponsY, amGrenade) - SpawnAmmoCrate(deserteagleX, weaponsY, amDEagle) + SpawnSupplyCrate(bazookaX, weaponsY, amBazooka) + SpawnSupplyCrate(parachuteX, weaponsY, amParachute) + SpawnSupplyCrate(grenadeX, weaponsY, amGrenade) + SpawnSupplyCrate(deserteagleX, weaponsY, amDEagle) AddEvent(onWeaponsPlatform, {hero.gear}, weaponsPlatform, {hero.gear}, 0) EndTurn(true) AddAnim(dialog01) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Challenge/Basic_Training_-_Sniper_Rifle.lua --- a/share/hedgewars/Data/Missions/Challenge/Basic_Training_-_Sniper_Rifle.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Challenge/Basic_Training_-_Sniper_Rifle.lua Sun Jun 10 19:12:26 2018 +0200 @@ -51,6 +51,9 @@ -- Position for delayed targets local delayedTargetTargetX, delayedTargetY +-- Team name of the player's team +local playerTeamName = loc("Sniperz") + -- This is a custom function to make it easier to -- spawn more targets with just one line of code -- You may define as many custom functions as you @@ -68,6 +71,12 @@ function spawnTargetDelayed(x, y) delayedTargetX = x delayedTargetY = y + -- The previous target always counts double after destruction + score_bonus = score_bonus + 1 +end + +function getTargetScore() + return score_bonus * 200 end -- Cut sequence to blow up land with dynamite @@ -104,7 +113,8 @@ -- The base number for the random number generator Seed = 0 -- Game settings and rules - GameFlags = gfMultiWeapon + gfOneClanMode + gfArtillery + ClearGameFlags() + EnableGameFlags(gfMultiWeapon, gfOneClanMode, gfArtillery) -- The time the player has to move each round (in ms) TurnTime = 150000 -- The frequency of crate drops @@ -124,7 +134,7 @@ HealthDecrease = 0 -- Create the player team - AddTeam(loc("Sniperz"), 14483456, "Simple", "Island", "Default", "cm_crosshair") + AddTeam(playerTeamName, 0xFF0204, "Simple", "Island", "Default", "cm_crosshair") -- And add a hog to it player = AddHog(loc("Hunter"), 0, 1, "Sniper") SetGearPosition(player, 602, 1465) @@ -146,6 +156,9 @@ -- A positive icon paramter (n) represents the (n+1)-th mission icon -- A timeframe of 0 is replaced with the default time to show. ShowMission(loc("Sniper Training"), loc("Aiming Practice"), loc("Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."), -amSniperRifle, 0) + + -- Displayed initial player score + SetTeamLabel(playerTeamName, "0") end -- This function is called every game tick. @@ -245,8 +258,6 @@ cinematic = false SetCinematicMode(false) end - -- Add bonus score for the previuos target - score_bonus = score_bonus + 1 -- Now *actually* spawn the delayed target spawnTarget(delayedTargetX, delayedTargetY) end @@ -381,14 +392,16 @@ PlaySound(sndVictory, CurrentHedgehog) FollowGear(CurrentHedgehog) - -- Disable hog controls + -- Unselect sniper rifle and disable hog controls SetInputMask(0) + SetWeapon(amNothing) AddAmmo(CurrentHedgehog, amSniperRifle, 0) -- Save the time left so we may keep it. time_goal = TurnTimeLeft end end + SetTeamLabel(playerTeamName, getTargetScore()) end end @@ -399,12 +412,13 @@ if shots > 0 then accuracy = (score/shots)*100 end - local end_score_targets = (score_bonus * 200) + local end_score_targets = getTargetScore() local end_score_overall if not game_lost then local end_score_time = math.ceil(time_goal/5) local end_score_accuracy = math.ceil(accuracy * 100) end_score_overall = end_score_time + end_score_targets + end_score_accuracy + SetTeamLabel(playerTeamName, tostring(end_score_overall)) SendStat(siGameResult, loc("You have successfully finished the sniper rifle training!")) SendStat(siCustomAchievement, string.format(loc("You have destroyed %d of %d targets (+%d points)."), score, score_goal, end_score_targets)) @@ -419,6 +433,6 @@ end_score_overall = end_score_targets end SendStat(siPointType, loc("points")) - SendStat(siPlayerKills, tostring(end_score_overall), loc("Sniperz")) + SendStat(siPlayerKills, tostring(end_score_overall), playerTeamName) end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Challenge/CMakeLists.txt --- a/share/hedgewars/Data/Missions/Challenge/CMakeLists.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Challenge/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -2,4 +2,5 @@ install(FILES ${Scripts} + order.cfg DESTINATION ${SHAREPATH}Data/Missions/Challenge) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Challenge/Target_Practice_-_Cluster_Bomb.lua --- a/share/hedgewars/Data/Missions/Challenge/Target_Practice_-_Cluster_Bomb.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Challenge/Target_Practice_-_Cluster_Bomb.lua Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,7 @@ local params = { ammoType = amClusterBomb, gearType = gtClusterBomb, + secGearType = gtCluster, missionTitle = loc("Cluster Bomb Training"), solidLand = false, map = "Trash", diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Challenge/User_Mission_-_RCPlane_Challenge.lua --- a/share/hedgewars/Data/Missions/Challenge/User_Mission_-_RCPlane_Challenge.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Challenge/User_Mission_-_RCPlane_Challenge.lua Sun Jun 10 19:12:26 2018 +0200 @@ -53,6 +53,7 @@ loc("Compete to use as few planes as possible!") .. "|" .. "", -amRCPlane, 4000 ) + SetTeamLabel(loc("Wannabe Flyboys"), "0") PlaceGirder(2192, 508, 6) PlaceGirder(2192, 670, 6) @@ -140,43 +141,25 @@ PlaceGirder(2803, 1373, 2) PlaceGirder(2811, 1559, 2) - tempG = SpawnHealthCrate(930, 557) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(979, 692) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(876, 703) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2309, 1260) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(1733, 1127) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(1738, 1320) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(3249, 1460) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(3051, 617) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2972, 353) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2548, 358) + SpawnFakeHealthCrate(930, 557, false, false) + SpawnFakeHealthCrate(979, 692, false, false) + SpawnFakeHealthCrate(876, 703, false, false) + SpawnFakeHealthCrate(2309, 1260, false, false) + SpawnFakeHealthCrate(1733, 1127, false, false) + SpawnFakeHealthCrate(1738, 1320, false, false) + SpawnFakeHealthCrate(3249, 1460, false, false) + SpawnFakeHealthCrate(3051, 617, false, false) + SpawnFakeHealthCrate(2972, 353, false, false) + SpawnFakeHealthCrate(2548, 358, false, false) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2090, 1580) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(1752, 1753) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(1865, 1758) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(1985, 1760) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2429, 1760) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2810, 1480) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2800, 1277) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2806, 1107) - SetHealth(tempG, 25) + SpawnFakeHealthCrate(2090, 1580, false, false) + SpawnFakeHealthCrate(1752, 1753, false, false) + SpawnFakeHealthCrate(1865, 1758, false, false) + SpawnFakeHealthCrate(1985, 1760, false, false) + SpawnFakeHealthCrate(2429, 1760, false, false) + SpawnFakeHealthCrate(2810, 1480, false, false) + SpawnFakeHealthCrate(2800, 1277, false, false) + SpawnFakeHealthCrate(2806, 1107, false, false) PlaceGirder(1897, 903, 6) PlaceGirder(1916, 784, 3) @@ -247,58 +230,29 @@ PlaceGirder(3210, 179, 2) PlaceGirder(2932, 181, 2) - tempG = SpawnHealthCrate(3804, 1461) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(3269, 1742) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(3066, 121) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(3207, 104) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2928, 103) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(1997, 202) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2253, 159) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2132, 774) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(2549, 490) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(3527, 694) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(3777, 78) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(1124, 1746) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(1056, 1740) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(993, 1742) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(799, 1298) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(577, 1126) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(596, 1463) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(3854, 1043) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(1944, 567) - SetHealth(tempG, 25) - tempG = SpawnHealthCrate(338, 1748) - SetHealth(tempG, 25) - + SpawnFakeHealthCrate(3804, 1461, false, false) + SpawnFakeHealthCrate(3269, 1742, false, false) + SpawnFakeHealthCrate(3066, 121, false, false) + SpawnFakeHealthCrate(3207, 104, false, false) + SpawnFakeHealthCrate(2928, 103, false, false) + SpawnFakeHealthCrate(1997, 202, false, false) + SpawnFakeHealthCrate(2253, 159, false, false) + SpawnFakeHealthCrate(2132, 774, false, false) + SpawnFakeHealthCrate(2549, 490, false, false) + SpawnFakeHealthCrate(3527, 694, false, false) + SpawnFakeHealthCrate(3777, 78, false, false) + SpawnFakeHealthCrate(1124, 1746, false, false) + SpawnFakeHealthCrate(1056, 1740, false, false) + SpawnFakeHealthCrate(993, 1742, false, false) + SpawnFakeHealthCrate(799, 1298, false, false) + SpawnFakeHealthCrate(577, 1126, false, false) + SpawnFakeHealthCrate(596, 1463, false, false) + SpawnFakeHealthCrate(3854, 1043, false, false) + SpawnFakeHealthCrate(1944, 567, false, false) + SpawnFakeHealthCrate(338, 1748, false, false) end ---function onGameTick() - - --if RCGear ~= nil then - -- AddCaption(GetTimer(RCGear)) - --end - ---end - function onGameTick20() if RCGear ~= nil then if(GetTimer(RCGear) < 3000 and planeUhOh == false) then @@ -332,6 +286,7 @@ if GetGearType(gear) == gtRCPlane then RCGear = gear planesUsed = planesUsed + 1 + SetTeamLabel(loc("Wannabe Flyboys"), tostring(planesUsed)) planeTimer = 0 missiles = 0 end @@ -352,7 +307,6 @@ RCGear = nil planeUhOh = false missiles = 0 - AddCaption(string.format(loc("Planes used: %d"), planesUsed)) if(planeTimer < 2000 and crateStreak == 0) then nextComment = sndStupid @@ -381,6 +335,10 @@ longestCrateStreak = crateStreak end + if band(GetGearMessage(gear), gmDestroy) ~= 0 then + -- Crate collection sound + PlaySound(sndShotgunReload) + end AddCaption(string.format(loc("Crates left: %d"), cratesLeft)) if cratesLeft == 0 then diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Challenge/User_Mission_-_Rope_Knock_Challenge.lua --- a/share/hedgewars/Data/Missions/Challenge/User_Mission_-_Rope_Knock_Challenge.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Challenge/User_Mission_-_Rope_Knock_Challenge.lua Sun Jun 10 19:12:26 2018 +0200 @@ -23,7 +23,7 @@ {"cri.the.grinch", "sf_blanka",false}, {"eldiablo", "Evil",false}, {"Displacer", "fr_lemon",false}, - {"doomy ", "NoHat",false}, + {"doomy", "NoHat",false}, {"Falkenauge", "NoHat",false}, {"FadeOne", "NoHat",false}, {"hayaa", "NoHat",false}, @@ -70,18 +70,24 @@ } +local playerTeamName = loc("Wannabe Shoppsta") + function GenericEnd() EndGame() end +function GetKillScore() + return math.ceil((hogsKilled / 16)*6000) +end + function GameOverMan() missionWon = false ShowMission(loc("Rope-knocking Challenge"), loc("Challenge over!"), loc("Oh no! Just try again!"), -amSkip, 0) SendStat(siGameResult, loc("Challenge over!")) - local score = math.ceil((hogsKilled / 16)*6000) + local score = GetKillScore() SendStat(siCustomAchievement, string.format(loc("You have killed %d of 16 hedgehogs (+%d points)."), hogsKilled, score)) SendStat(siPointType, loc("points")) - SendStat(siPlayerKills, tostring(score), loc("Wannabe Shoppsta")) + SendStat(siPlayerKills, tostring(score), playerTeamName) PlaySound(sndHellish) end @@ -91,13 +97,14 @@ ShowMission(loc("Rope-knocking Challenge"), loc("Challenge completed!"), loc("Congratulations!") .. "|" .. string.format(loc("Completion time: %.2fs"), completeTime), 0, 0) PlaySound(sndHomerun) SendStat(siGameResult, loc("Challenge completed!")) - local hogScore = math.ceil((hogsKilled / 16)*6000) + local hogScore = GetKillScore() local timeScore = math.ceil((finishTime/TurnTime)*6000) local score = hogScore + timeScore SendStat(siCustomAchievement, string.format(loc("You have killed %d of 16 hedgehogs (+%d points)."), hogsKilled, hogScore)) SendStat(siCustomAchievement, string.format(loc("You have completed this challenge in %.2f s (+%d points)."), completeTime, timeScore)) SendStat(siPointType, loc("points")) - SendStat(siPlayerKills, tostring(score), loc("Wannabe Shoppsta")) + SendStat(siPlayerKills, tostring(score), playerTeamName) + SetTeamLabel(playerTeamName, tostring(score)) end function AssignCharacter(p) @@ -144,16 +151,17 @@ MinesNum = 0 Explosives = 0 - AddTeam(loc("Wannabe Shoppsta"), 0x11F12B, "money", "Island", "Default", "cm_shoppa") + AddTeam(playerTeamName, 0xFF0204, "money", "Island", "Default", "cm_shoppa") hhs[0] = AddHog(loc("Ace"), 0, 1, "Gasmask") SetGearPosition(player, 1380, 1500) - AddTeam(loc("Unsuspecting Louts"), 0xDD0000, "Simple", "Island", "Default", "cm_face") + AddTeam(loc("Unsuspecting Louts"), 0x4980C1, "Simple", "Island", "Default", "cm_face") for i = 1, 8 do + -- The name "generic" is a placeholder and will be replaced in AssignCharacter hhs[i] = AddHog("generic", 0, 1, "NoHat") end - AddTeam(loc("Unlucky Sods"), 0xDD0000, "Simple", "Island", "Default", "cm_balrog") + AddTeam(loc("Unlucky Sods"), 0x4980C1, "Simple", "Island", "Default", "cm_balrog") for i = 9, 16 do hhs[i] = AddHog("generic", 0, 1, "NoHat") end @@ -171,6 +179,7 @@ loc("Use the rope to knock your enemies to their doom.") .. "|" .. loc("Finish this challenge as fast as possible to earn bonus points."), -amRope, 4000) + SetTeamLabel(playerTeamName, "0") PlaceGirder(46,1783, 0) @@ -235,6 +244,8 @@ AddCaption(string.format(knockTaunt(), GetHogName(gear)), 0xFFFFFFFF, capgrpMessage) hogsKilled = hogsKilled +1 + SetTeamLabel(playerTeamName, tostring(GetKillScore())) + if hogsKilled == 15 then PlaySound(sndRideOfTheValkyries) elseif hogsKilled == 16 then @@ -270,7 +281,7 @@ elseif r == 18 then taunt = loc("%s is eliminated!") elseif r == 19 then taunt = loc("%s fell too fast.") elseif r == 20 then taunt = loc("%s flew like a rock.") - elseif r == 21 then taunt = loc("%s stumpled.") + elseif r == 21 then taunt = loc("%s stumbled.") elseif r == 22 then taunt = loc("%s was shoved away.") elseif r == 23 then taunt = loc("%s didn't expect that.") end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Challenge/User_Mission_-_That_Sinking_Feeling.lua --- a/share/hedgewars/Data/Missions/Challenge/User_Mission_-_That_Sinking_Feeling.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Challenge/User_Mission_-_That_Sinking_Feeling.lua Sun Jun 10 19:12:26 2018 +0200 @@ -78,8 +78,8 @@ HogTurnLeft(hh[0], false) HogTurnLeft(hh[1], true) - SpawnUtilityCrate(148,265,amLowGravity) - SpawnUtilityCrate(2124,1516,amJetpack) + SpawnSupplyCrate(148,265,amLowGravity) + SpawnSupplyCrate(2124,1516,amJetpack) end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Challenge/order.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Missions/Challenge/order.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,15 @@ +Target_Practice_-_Bazooka_easy +Target_Practice_-_Bazooka_hard +Target_Practice_-_Homing_Bee +Target_Practice_-_Grenade_easy +Target_Practice_-_Grenade_hard +Target_Practice_-_Cluster_Bomb +Target_Practice_-_Shotgun +Basic_Training_-_Sniper_Rifle +Challenge_-_Speed_Shoppa_-_Hedgelove +Challenge_-_Speed_Shoppa_-_Ropes +Challenge_-_Speed_Shoppa_-_ShoppaKing +User_Mission_-_Rope_Knock_Challenge +User_Mission_-_RCPlane_Challenge +User_Mission_-_That_Sinking_Feeling +ClimbHome diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/Bazooka_Battlefield.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Missions/Scenario/Bazooka_Battlefield.lua Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,80 @@ +HedgewarsScriptLoad("/Scripts/SimpleMission.lua") +HedgewarsScriptLoad("/Scripts/Locale.lua") + +SimpleMission({ + missionTitle = loc("Bazooka Battlefield"), + initVars = { + TurnTime = 15000, + Map = "Battlefield", + Theme = "Castle", + SuddenDeathTurns = 15, + WaterRise = 33, + }, + ammoConfig = { + [amBazooka] = { count = 9 }, + }, + teams = { + { name = loc("Pincer Knights"), + flag = "cm_swordshield", + grave = "Grave", + hogs = { + { + name = loc("Left Tong"), + health = 100, + x = 276, y = 825, + botLevel = 0, + hat = "knight", + ammo = { [amSwitch] = 100 }, + }, + { + name = loc("Right Tong"), + health = 100, + x = 1794, y = 716, + botLevel = 0, + hat = "knight", + faceLeft = true, + }, + }, }, + { name = loc("Hill Guard"), + flag = "cm_balrog", + grave = "Rip", + hogs = { + { name = loc("Bushes"), + faceLeft = true, + health = 30, + x = 706, y = 698, + hat = "Viking", + botLevel = 3, + faceLeft = true, + ammo = { [amGrenade] = 100, [amFirePunch] = 100, [amWhip] = 100 }, + }, + { name = loc("Skulls"), + faceLeft = true, + health = 30, + x = 1033, y = 518, + hat = "Viking", + botLevel = 3, + }, + { name = loc("Swords"), + health = 30, + x = 606, y = 348, + hat = "Viking", + botLevel = 3, + }, + { name = loc("Sneaks"), + faceLeft = true, + health = 30, + x = 1330, y = 509, + hat = "Viking", + botLevel = 3, + }, + { name = loc("Axes"), + faceLeft = true, + health = 30, + x = 1424, y = 374, + hat = "Viking", + botLevel = 3, + } + }, }, + }, +}) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/Big_Armory.lua --- a/share/hedgewars/Data/Missions/Scenario/Big_Armory.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/Big_Armory.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,310 +1,60 @@ -HedgewarsScriptLoad("/Scripts/Locale.lua") - -local playerHog -local playerTeamName = loc("Pro Killers") -local enemyTeamName = loc("Galaxy Guardians") -local enemyTeam1 = { - {name=loc("Rocket"), x=796, y=1184}, - {name=loc("Star"), x=733, y=1525}, - {name=loc("Asteroid"), x=738, y=1855}, - {name=loc("Comet"), x=937, y=1318}, - {name=loc("Sunflame"), x=3424, y=1536}, - {name=loc("Eclipse"), x=3417, y=1081}, - {name=loc("Jetpack"), x=2256, y=1246}, - {name=loc("Void"), x=1587, y=1231}, -} -local gameStarted = false -local turnNo = 0 -local toleranceTimer = nil -local enemyHogsLeft = #enemyTeam1 -local pendingDeaths = {} -local enemyHogs = {} -local gameEnded = false -local waitGears = 0 -local hasAttacked = false -local minePlaced = false -local delayGear = nil - -function onGameInit() - Seed = "{7e34a56b-ee7b-4fe1-8f30-352a998f3f6a}" - GameFlags = gfDisableWind + gfDisableLandObjects - TurnTime= 45000 - CaseFreq = 0 - MinesNum = 0 - Explosives = 0 - Theme = "EarthRise" - MapGen = mgRandom - MapFeatureSize = 12 - -- Disable Sudden Death - WaterRise = 0 - HealthDecrease = 0 - - AddTeam(playerTeamName, 0xFF0000, "Bone", "Island", "Default", "cm_scout") - playerHog = AddHog(loc("Ultrasoldier"), 0, 100, "Terminator_Glasses") - SetGearPosition(playerHog, 543, 1167) - - AddTeam(enemyTeamName, 0xF5F808, "Earth", "Island", "Default", "cm_galaxy") - for i=1,8 do - local hogID = AddHog(enemyTeam1[i].name, 0, 100, "NoHat") - table.insert(enemyHogs, hogID) - SetGearPosition(hogID, enemyTeam1[i].x, enemyTeam1[i].y) - end -end - -function onAmmoStoreInit() - - SetAmmo(amGrenade, 9, 0, 0, 1) - SetAmmo(amClusterBomb, 9, 0, 0, 1) - SetAmmo(amBazooka, 9, 0, 0, 1) - SetAmmo(amBee, 9, 0, 0, 1) - SetAmmo(amShotgun, 9, 0, 0, 1) - SetAmmo(amPickHammer, 9, 0, 0, 1) - SetAmmo(amSkip, 9, 0, 0, 1) - SetAmmo(amRope, 9, 0, 0, 1) - SetAmmo(amMine, 9, 0, 0, 1) - SetAmmo(amDEagle, 9, 0, 0, 1) - SetAmmo(amDynamite, 9, 0, 0, 1) - SetAmmo(amFirePunch, 9, 0, 0, 1) - SetAmmo(amWhip, 9, 0, 0, 1) - SetAmmo(amBaseballBat, 9, 0, 0, 1) - SetAmmo(amParachute, 9, 0, 0, 1) - SetAmmo(amAirAttack, 9, 0, 0, 1) - SetAmmo(amMineStrike, 9, 0, 0, 1) - SetAmmo(amBlowTorch, 9, 0, 0, 1) - SetAmmo(amGirder, 9, 0, 0, 1) - SetAmmo(amTeleport, 9, 0, 0, 1) - SetAmmo(amSwitch, 9, 0, 0, 1) - SetAmmo(amMortar, 9, 0, 0, 1) - SetAmmo(amKamikaze, 9, 0, 0, 1) - SetAmmo(amCake, 9, 0, 0, 1) - SetAmmo(amSeduction, 9, 0, 0, 1) - SetAmmo(amWatermelon, 9, 0, 0, 1) - SetAmmo(amHellishBomb, 9, 0, 0, 1) - SetAmmo(amNapalm, 9, 0, 0, 1) - SetAmmo(amDrill, 9, 0, 0, 1) - SetAmmo(amBallgun, 9, 0, 0, 1) - SetAmmo(amRCPlane, 9, 0, 0, 1) - SetAmmo(amLowGravity, 9, 0, 0, 1) - SetAmmo(amExtraDamage, 9, 0, 0, 1) - SetAmmo(amInvulnerable, 9, 0, 0, 1) - SetAmmo(amLaserSight, 9, 0, 0, 1) - SetAmmo(amVampiric, 9, 0, 0, 1) - SetAmmo(amSniperRifle, 9, 0, 0, 1) - SetAmmo(amJetpack, 9, 0, 0, 1) - SetAmmo(amMolotov, 9, 0, 0, 1) - SetAmmo(amBirdy, 9, 0, 0, 1) - SetAmmo(amPortalGun, 9, 0, 0, 1) - SetAmmo(amPiano, 9, 0, 0, 1) - SetAmmo(amGasBomb, 9, 0, 0, 1) - SetAmmo(amSineGun, 9, 0, 0, 1) - SetAmmo(amFlamethrower, 9, 0, 0, 1) - SetAmmo(amSMine, 9, 0, 0, 1) - SetAmmo(amHammer, 9, 0, 0, 1) - SetAmmo(amResurrector, 9, 0, 0, 1) - SetAmmo(amDrillStrike, 9, 0, 0, 1) - SetAmmo(amSnowball, 9, 0, 0, 1) - SetAmmo(amTardis, 9, 0, 0, 1) - SetAmmo(amLandGun, 9, 0, 0, 1) - SetAmmo(amIceGun, 9, 0, 0, 1) - SetAmmo(amKnife, 9, 0, 0, 1) - SetAmmo(amRubber, 9, 0, 0, 1) - SetAmmo(amAirMine, 9, 0, 0, 1) - SetAmmo(amDuck, 9, 0, 0, 1) - - SetAmmo(amExtraTime, 2, 0, 0, 0) - -end - -function onGameStart() - SendHealthStatsOff() - ShowMission(loc("Big Armory"), loc("Scenario"), loc("Kill all enemy hedgehogs in a single turn."), -amBazooka, 0) - SetWind(15) -end - -function onGameTick20() - if not gameStarted and turnNo == 1 and TurnTimeLeft < TurnTime then - gameStarted = true - elseif gameStarted and not gameEnded then - if isPlayerAlive() then - if enemyHogsLeft - countPending() <= 0 then - TurnTimeLeft = 0 - if delayGear then - DeleteGear(delayGear) - end - return - elseif (enemyHogsLeft > 0) and TurnTimeLeft < 40 then - if not toleranceTimer and waitGears <= 0 then - SetInputMask(0) - SetGearMessage(playerHog, 0) - if not minePlaced then - TurnTimeLeft = 10000000 - end - if hasAttacked then - if minePlaced then - toleranceTimer = 12000 - else - toleranceTimer = 7500 - end - else - PlaySound(sndBoring, playerHog) - toleranceTimer = 5020 - end - return - end - end - if toleranceTimer ~= nil then - if toleranceTimer % 1000 == 0 and toleranceTimer > 0 and toleranceTimer <= 5000 then - AddCaption(string.format(loc("Mission failure in %d s"), div(toleranceTimer, 1000)), 0xFFFFFFFF, capgrpGameState) - end - if waitGears <= 0 then - if toleranceTimer <= 0 then - lose() - return - end - toleranceTimer = toleranceTimer - 20 - end - return - end - end - end -end - -function onGearAdd(gear) - local gt = GetGearType(gear) - if gt == gtIceGun or gt == gtPickHammer or gt == gtSineGunShot or gt == gtCake - or gt == gtTeleport or gt == gtFlamethrower or gt == gtBallGun or gt == gtSeduction - or gt == gtAirAttack or gt == gtMine or gt == gtSMine or gt == gtAirMine - or (isWaitGear(gear) and gt ~= gtFlame) then - --[[ This is a hack to prevent the turn from instantly ending - after using a weapon with a retreat time of 0. For some reason, there would be - are also problems with the hellish-hand grenade without this hack. - It spawns an invisible grenade with disabled gravity at (0,0) with a - high timer, which will delay the end of the turn. ]] - if delayGear == nil then - delayGear = AddGear(0, 0, gtGrenade, gstNoGravity + gstInvisible, 0, 0, 2147483647) - end - end - if gt == gtMine or gt == gtSMine or gt == gtAirMine then - minePlaced = true - end - if isWaitGear(gear) then - waitGears = waitGears + 1 - end - if gt == gtAirAttack then - hasAttacked = true - end -end - -function onGearDelete(gear) - if isWaitGear(gear) then - waitGears = waitGears - 1 - end - if GetGearType(gear) == gtHedgehog then - if GetHogTeamName(gear) == enemyTeamName then - enemyHogsLeft = enemyHogsLeft - 1 - pendingDeaths[gear] = nil - if enemyHogsLeft <= 0 then - win() - end - end - end -end - -function countPending() - local p = 0 - for h, v in pairs(pendingDeaths) do - if v then - p = p + 1 - end - end - return p -end - -function isPlayerAlive() - if GetGearType(playerHog) == gtHedgehog then - if GetHealth(playerHog) == 0 then - return false - else - local _, gearDamage - _, _, _, _, _, _, _, _, _, _, _, gearDamage = GetGearValues(playerHog) - return (GetHealth(playerHog) - gearDamage) > 0 - end - else - return false - end -end - -function onGearDamage(gear, damage) - if GetGearType(gear) == gtHedgehog then - if GetHogTeamName(gear) == enemyTeamName then - local _, gearDamage - _, _, _, _, _, _, _, _, _, _, _, gearDamage = GetGearValues(gear) - if (GetHealth(gear) - gearDamage) <= 0 then - pendingDeaths[gear] = true - end - end - end -end - -function isWaitGear(gear) - local gt = GetGearType(gear) - return gt == gtBall or gt == gtHellishBomb or gt == gtWatermelon or gt == gtMelonPiece - or (gt == gtFlame and band(GetState(gear), gsttmpFlag) == 0) - or gt == gtDrill or gt == gtAirAttack or gt == gtAirBomb or gt == gtCluster - or gt == gtEgg or gt == gtHammerHit or gt == gtNapalmBomb or gt == gtPoisonCloud - or gt == gtGasBomb -end - -function onNewTurn() - turnNo = turnNo + 1 - if turnNo > 1 then - PlaySound(sndBoring, playerHog) - lose() - end -end - -function onHogAttack(ammoType) - -- Set hasAttacked if hog attacked NOT with a non-turn ending weapon - if ammoType ~= amNothing and ammoType ~= amSkip and ammoType ~= amJetpack and ammoType ~= amGirder and ammoType ~= amRubber - and ammoType ~= amLandGun and ammoType ~= amParachute and ammoType ~= amResurrector and ammoType ~= amRope and ammoType ~= amSwitcher - and ammoType ~= amExtraDamage and ammoType ~= amExtraTime and ammoType ~= amLowGravity and ammoType ~= amInvulnerable - and ammoType ~= amLaserSight and ammoType ~= amVampiric and ammoType ~= amPortalGun and ammoType ~= amSnowball then - hasAttacked = true - end - if ammoType == amSkip and enemyHogsLeft > 0 then - PlaySound(sndCoward, playerHog) - lose() - return - end -end - -function lose() - if not gameEnded then - PlaySound(sndStupid, playerHog) - local mission, achievement - mission = loc("You failed to kill all enemies in this turn.") - achievement = loc("You failed to kill all enemies in a single turn.") - AddCaption(loc("Mission failed!"), 0xFFFFFFFF, capgrpGameState) - ShowMission(loc("Big Armory"), loc("Scenario"), mission, -amBazooka, 5000) - SendStat(siGameResult, loc("You lose!")) - SendStat(siCustomAchievement, achievement) - SendStat(siPlayerKills, tostring(0), enemyTeamName) - SendStat(siPlayerKills, tostring(8-enemyHogsLeft), playerTeamName) - gameEnded = true - EndGame() - end -end - -function win() - if not gameEnded then - AddCaption(loc("Victory!"), 0xFFFFFFFF, capgrpGameState) - ShowMission(loc("Big Armory"), loc("Scenario"), loc("Congratulations! You win."), 4, 5000) - PlaySound(sndVictory, playerHog) - SendStat(siGameResult, loc("You win!")) - SendStat(siCustomAchievement, loc("You have killed all enemies.")) - SendStat(siPlayerKills, tostring(8-enemyHogsLeft), playerTeamName) - SendStat(siPlayerKills, tostring(0), enemyTeamName) - gameEnded = true - EndGame() - end -end +HedgewarsScriptLoad("/Scripts/SimpleMission.lua") +HedgewarsScriptLoad("/Scripts/Locale.lua") + +local heroAmmo = {} +for a=0, amDuck do + if a == amExtraTime then + heroAmmo[a] = 2 + elseif a ~= amNothing then + heroAmmo[a] = 100 + end +end + +SimpleMission({ + missionTitle = loc("Big Armory"), + missionIcon = -amBazooka, + wind = 15, + initVars = { + TurnTime = 45000, + Seed = "{7e34a56b-ee7b-4fe1-8f30-352a998f3f6a}", + GameFlags = gfDisableWind + gfDisableLandObjects, + Theme = "EarthRise", + MapGen = mgRandom, + MapFeatureSize = 12, + }, + teams = { + { name = loc("Pro Killers"), + clanID = 0, + flag = "cm_scout", + grave = "Bone", + hogs = { + { + name = loc("Ultrasoldier"), + health = 100, + x = 543, y = 1167, + hat = "Terminator_Glasses", + ammo = heroAmmo, + } + }, }, + + { name = loc("Galaxy Guardians"), + clanID = 8, + flag = "cm_galaxy", + grave = "Earth", + hogs = { + {name=loc("Rocket"), x=796, y=1184, faceLeft=true}, + {name=loc("Star"), x=733, y=1525, faceLeft=true}, + {name=loc("Asteroid"), x=738, y=1855, faceLeft=true}, + {name=loc("Comet"), x=937, y=1318, faceLeft=true}, + {name=loc("Sunflame"), x=3424, y=1536}, + {name=loc("Eclipse"), x=3417, y=1081}, + {name=loc("Jetpack"), x=2256, y=1246}, + {name=loc("Void"), x=1587, y=1231, faceLeft=true}, + }, }, + }, + customNonGoals = { + { type = "turns", turns = 1, failText = loc("You failed to kill all enemies in a single turn.") } + }, + customGoalCheck = "turnEnd", + goalText = loc("Kill all enemy hedgehogs in a single turn."), +}) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/CMakeLists.txt --- a/share/hedgewars/Data/Missions/Scenario/CMakeLists.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -2,4 +2,5 @@ install(FILES ${Scripts} + order.cfg DESTINATION ${SHAREPATH}Data/Missions/Scenario) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/Tentacle_Terror.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Missions/Scenario/Tentacle_Terror.lua Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,115 @@ +HedgewarsScriptLoad("/Scripts/SimpleMission.lua") +HedgewarsScriptLoad("/Scripts/Locale.lua") +SimpleMission({ + missionTitle = loc("Tentacle Terror"), + initVars = { + TurnTime = 25000, + MinesTime = 0, + Map = "SB_Tentacles", + Theme = "Hell", + GameFlags = gfDisableWind + }, + ammoConfig = { + [amParachute] = { count = 1 }, + [amRope] = { count = 1, weaponsInCrate = 1 }, + [amBazooka] = { weaponsInCrate = 2 }, + }, + wind = -50, + teams = { + { name = loc("Hell Army"), + flag = "cm_hellish", + grave = "Simple_reversed", + hogs = { { + name = loc("Lord Evil"), + faceLeft = true, + health = 30, + x = 1210, y = 1446, + hat = "Evil", + botLevel = 0 } } + }, + { name = loc("Heavenly Defense"), + flag = "cm_fcw", + grave = "Ghost", + hogs = { { + name = loc("Fallen Angel"), + health = 100, + x = 1723, y = 1484, + hat = "angel", + botLevel = 1, + ammo = { [amAirAttack] = 100 } } } + } + }, + gears = { + { type = gtMine, x=2205, y=1230 }, + { type = gtMine, x=2339, y=1274 }, + { type = gtMine, x=2372, y=1239 }, + { type = gtMine, x=2405, y=1228 }, + { type = gtMine, x=2437, y=1204 }, + { type = gtMine, x=2463, y=1190 }, + { type = gtMine, x=2488, y=1180 }, + { type = gtMine, x=2517, y=1169 }, + { type = gtMine, x=2546, y=1161 }, + { type = gtMine, x=2574, y=1154 }, + { type = gtMine, x=2604, y=1148 }, + { type = gtMine, x=2636, y=1141 }, + { type = gtMine, x=2176, y=1211 }, + { type = gtMine, x=2152, y=1198 }, + { type = gtMine, x=2120, y=1184 }, + { type = gtMine, x=2090, y=1174 }, + { type = gtMine, x=2058, y=1166 }, + { type = gtMine, x=2036, y=1162 }, + { type = gtMine, x=1995, y=1158 }, + { type = gtMine, x=1957, y=1157 }, + { type = gtMine, x=1891, y=1162 }, + { type = gtMine, x=1838, y=1173 }, + { type = gtMine, x=1799, y=1181 }, + { type = gtMine, x=1763, y=1192 }, + { type = gtMine, x=1722, y=1210 }, + { type = gtMine, x=1676, y=1232 }, + { type = gtMine, x=1653, y=1247 }, + { type = gtMine, x=1626, y=1269 }, + { type = gtMine, x=1595, y=1303 }, + { type = gtMine, x=1563, y=1287 }, + { type = gtMine, x=1536, y=1258 }, + { type = gtMine, x=1522, y=1231 }, + { type = gtMine, x=1508, y=1184 }, + { type = gtMine, x=1496, y=1139 }, + { type = gtMine, x=2729, y=1285 }, + { type = gtMine, x=2799, y=1329 }, + { type = gtMine, x=2851, y=1383 }, + { type = gtMine, x=2912, y=1369 }, + { type = gtMine, x=2668, y=1261 }, + { type = gtMine, x=2903, y=1219 }, + { type = gtMine, x=2916, y=1171 }, + { type = gtMine, x=3143, y=1186 }, + { type = gtMine, x=3074, y=1202 }, + { type = gtMine, x=1046, y=1644 }, + { type = gtMine, x=989, y=1719 }, + { type = gtMine, x=850, y=1827 }, + { type = gtMine, x=1000, y=1203 }, + { type = gtMine, x=3047, y=1040 }, + { type = gtMine, x=3200, y=1592 }, + { type = gtMine, x=3257, y=1638 }, + { type = gtMine, x=3314, y=1698 }, + { type = gtMine, x=3364, y=1769 }, + { type = gtMine, x=3423, y=1905 }, + { type = gtMine, x=1750, y=1584 }, + { type = gtMine, x=1768, y=1590 }, + { type = gtMine, x=1801, y=1725 }, + { type = gtMine, x=1832, y=1698 }, + { type = gtMine, x=1854, y=1660 }, + { type = gtMine, x=1888, y=1701 }, + { type = gtMine, x=1917, y=1675 }, + { type = gtMine, x=1957, y=1637 }, + { type = gtMine, x=1985, y=1573 }, + { type = gtMine, x=2004, y=1545 }, + { type = gtMine, x=2051, y=1524 }, + { type = gtMine, x=2075, y=1487 }, + { type = gtMine, x=1796, y=1670 }, + { type = gtCase, crateType = "supply", x = 3484, y = 1950, ammoType = amBazooka }, + { type = gtCase, crateType = "supply", x = 1139, y = 1062, ammoType = amBazooka }, + { type = gtCase, crateType = "supply", x = 2613, y = 1545, ammoType = amDrillStrike }, + { type = gtCase, crateType = "supply", x = 3029, y = 1601, ammoType = amBlowTorch }, + { type = gtCase, crateType = "supply", x = 707, y = 1957, ammoType = amRope }, + }, +}) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/User_Mission_-_Bamboo_Thicket.lua --- a/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Bamboo_Thicket.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Bamboo_Thicket.lua Sun Jun 10 19:12:26 2018 +0200 @@ -21,6 +21,7 @@ -- Disable Sudden Death HealthDecrease = 0 WaterRise = 0 + GameFlags = gfDisableWind AddTeam(loc("Pathetic Resistance"), 14483456, "Plinko", "Island", "Default", "cm_yinyang") player = AddHog(loc("Ikeda"), 0, 10, "StrawHat") @@ -33,23 +34,23 @@ end - function onGameStart() ShowMission(loc("Bamboo Thicket"), loc("Scenario"), loc("Eliminate the enemy."), -amBazooka, 0) - --WEAPON CRATE LIST. WCRATES: 2 - SpawnAmmoCrate(891,852,amBazooka) - SpawnAmmoCrate(962,117,amBlowTorch) - --UTILITY CRATE LIST. UCRATES: 1 - SpawnUtilityCrate(403,503,amParachute) + -- CRATE LIST. + SpawnSupplyCrate(891,852,amBazooka) + SpawnSupplyCrate(962,117,amBlowTorch) + + SpawnSupplyCrate(403,503,amParachute) AddAmmo(enemy, amGrenade, 100) + + SetWind(100) end function onNewTurn() - SetWind(100) turnNumber = turnNumber + 1 end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/User_Mission_-_Dangerous_Ducklings.lua --- a/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Dangerous_Ducklings.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Dangerous_Ducklings.lua Sun Jun 10 19:12:26 2018 +0200 @@ -49,8 +49,8 @@ function onGameStart() - SpawnAmmoCrate(475,476,amRope) - SpawnAmmoCrate(1729,476,amFirePunch) + SpawnSupplyCrate(475,476,amRope) + SpawnSupplyCrate(1729,476,amFirePunch) FollowGear(player) @@ -66,10 +66,10 @@ if (notListening == false) and (gameLost == false) then if (TurnTimeLeft == 58000) and (speechStage == 0) then - HogSay(instructor, loc("Listen up, maggot!!"), SAY_SHOUT) + HogSay(instructor, loc("Listen up, maggot!"), SAY_SHOUT) speechStage = 1 elseif (TurnTimeLeft == 57000) and (speechStage == 1) then - HogSay(player,loc("!!!"),SAY_SHOUT) + HogSay(player,loc("!"),SAY_SHOUT) elseif (TurnTimeLeft == 55000) and (speechStage == 1) then HogSay(instructor, loc("The enemy is hiding out on yonder ducky!"), SAY_SAY) speechStage = 2 diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/User_Mission_-_Diver.lua --- a/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Diver.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Diver.lua Sun Jun 10 19:12:26 2018 +0200 @@ -42,10 +42,10 @@ function onGameStart() - SpawnUtilityCrate(426,886,amJetpack) - SpawnAmmoCrate(1544,690,amFirePunch) - SpawnAmmoCrate(950,851,amBlowTorch) - SpawnUtilityCrate(1032,853,amParachute) + SpawnSupplyCrate(426,886,amJetpack) + SpawnSupplyCrate(1544,690,amFirePunch) + SpawnSupplyCrate(950,851,amBlowTorch) + SpawnSupplyCrate(1032,853,amParachute) AddGear(579, 296, gtMine, 0, 0, 0, 0) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/User_Mission_-_Newton_and_the_Hammock.lua --- a/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Newton_and_the_Hammock.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Newton_and_the_Hammock.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,134 +1,83 @@ - +HedgewarsScriptLoad("/Scripts/SimpleMission.lua") HedgewarsScriptLoad("/Scripts/Locale.lua") -local player = nil -local enemy = nil -local failed = false - -local hhs = {} -local numhhs = 0 - -function onGameInit() - - Seed = 0 - TurnTime = 60000 - CaseFreq = 0 - MinesTime = 1000 - -- Disable Sudden Death - HealthDecrease = 0 - WaterRise = 0 - HealthCaseProb = 35 - Explosives = 0 - MinesNum = 0 - Map = "Hammock" - Theme = "Nature" - - AddTeam(loc("Pathetic Resistance"), 14483456, "Statue", "Island", "Default", "cm_duckhead") - player = AddHog(loc("Ikeda"), 0, 48, "StrawHat") - - AddTeam(loc("Cybernetic Empire"), 1175851, "ring", "Island", "Robot", "cm_cyborg") - enemy = AddHog(loc("Unit") .. " 811", 1, 100, "cyborg1") - - SetGearPosition(player,430,1540) - SetGearPosition(enemy,1464,1960) - -end - - -function onGameStart() - - AddAmmo(enemy, amShotgun, 100) - AddAmmo(enemy, amFirePunch, 100) +SimpleMission({ + missionTitle = loc("Newton and the Hammock"), + missionIcon = -amJetpack, + initVars = { + TurnTime = 60000, + MinesTime = 1000, + Map = "Hammock", + Theme = "Nature", + MapGen = mgRandom, + MapFeatureSize = 12, + }, + teams = { + { name = loc("Pathetic Resistance"), + clanID = 0, + flag = "cm_yinyang", + grave = "Plinko", + hogs = { + {name = loc("Ikeda"), health = 48, x = 397, y = 865, hat = "StrawHat"} + }, }, - --GIRDER LIST. - PlaceGirder(1073,2009,0) - PlaceGirder(524,1487,3) - PlaceGirder(638,1453,4) - PlaceGirder(761,1453,0) - PlaceGirder(840,1421,3) - PlaceGirder(302,1388,6) - PlaceGirder(327,1506,1) - PlaceGirder(1669,1832,3) - --MINE LIST. - AddGear(1056,1987,gtMine, 0, 0, 0, 0) - AddGear(1086,1988,gtMine, 0, 0, 0, 0) - --STICKY MINE LIST. - AddGear(1089,965,gtSMine, 0, 0, 0, 0) - AddGear(1133,945,gtSMine, 0, 0, 0, 0) - AddGear(1010,1081,gtSMine, 0, 0, 0, 0) - AddGear(1036,1049,gtSMine, 0, 0, 0, 0) - AddGear(1057,1004,gtSMine, 0, 0, 0, 0) - AddGear(784,1252,gtSMine, 0, 0, 0, 0) - AddGear(841,1257,gtSMine, 0, 0, 0, 0) - AddGear(902,1263,gtSMine, 0, 0, 0, 0) - AddGear(952,1281,gtSMine, 0, 0, 0, 0) - AddGear(517,1546,gtSMine, 0, 0, 0, 0) - AddGear(559,1597,gtSMine, 0, 0, 0, 0) - AddGear(613,1650,gtSMine, 0, 0, 0, 0) - AddGear(674,1705,gtSMine, 0, 0, 0, 0) - AddGear(746,1692,gtSMine, 0, 0, 0, 0) - AddGear(810,1692,gtSMine, 0, 0, 0, 0) - AddGear(872,1673,gtSMine, 0, 0, 0, 0) - AddGear(933,1666,gtSMine, 0, 0, 0, 0) - AddGear(981,1662,gtSMine, 0, 0, 0, 0) - AddGear(1016,1634,gtSMine, 0, 0, 0, 0) - AddGear(1063,1595,gtSMine, 0, 0, 0, 0) - AddGear(1100,1574,gtSMine, 0, 0, 0, 0) - AddGear(1002,1461,gtSMine, 0, 0, 0, 0) - AddGear(1052,1438,gtSMine, 0, 0, 0, 0) - AddGear(1102,1464,gtSMine, 0, 0, 0, 0) - --WEAPON CRATE LIST. - SpawnAmmoCrate(1565,642,amSineGun) - SpawnAmmoCrate(548,858,amBazooka) - --UTILITY CRATE LIST. - SpawnUtilityCrate(479,847,amJetpack) - SpawnAmmoCrate(1550,1715,amBlowTorch) - SpawnUtilityCrate(1227,1941,amJetpack) - SpawnUtilityCrate(1070,1964,amInvulnerable) - SpawnUtilityCrate(1070,1875,amTeleport) - --HOG POSITION LIST. - if hhs[0] ~= nil then - SetGearPosition(hhs[0],397,865) - end - if hhs[1] ~= nil then - SetGearPosition(hhs[1],561,1365) - end - - ShowMission(loc("Newton and the Hammock"), loc("Scenario"), loc("Eliminate the enemy.") .. "|" .. loc("Mines time: 1 second"), -amParachute, 0) - -end - -function onAmmoStoreInit() - SetAmmo(amSkip, 9, 0, 0, 1) - SetAmmo(amBazooka, 0, 0, 0, 1) - SetAmmo(amJetpack, 0, 0, 0, 1) - SetAmmo(amTeleport, 0, 0, 0, 1) - SetAmmo(amSineGun, 0, 0, 0, 1) - SetAmmo(amInvulnerable, 0, 0, 0, 1) - SetAmmo(amBlowTorch, 0, 0, 0, 1) -end - -function onGearDamage(gear, damage) - if (gear == player) and (damage >= 48) then - failed = true - end -end - -function onGearAdd(gear) - - if GetGearType(gear) == gtHedgehog then - hhs[numhhs] = gear - numhhs = numhhs + 1 - end - -end - -function onGearDelete(gear) - - if (gear == enemy) and (failed == false) then - ShowMission(loc("Newton and the Hammock"), loc("MISSION SUCCESSFUL"), loc("Congratulations!"), 0, 0) - elseif gear == player then - ShowMission(loc("Newton and the Hammock"), loc("MISSION FAILED"), loc("Oh no! Just try again!"), -amSkip, 0) - end - -end + { name = loc("Cybernetic Empire"), + clanID = 5, + flag = "cm_cyborg", + grave = "ring", + voice = "Robot", + hogs = { + {name=loc("Unit 881"), x=561, y=1365, health=100, hat="cyborg1", botLevel=1, + ammo = { + [amShotgun] = 100, + [amFirePunch] = 100, + },}, + }, + } + }, + girders = { + { x=1073, y=2009, frameIdx=0, }, + { x=524, y=1487, frameIdx=3, }, + { x=638, y=1453, frameIdx=4, }, + { x=761, y=1453, frameIdx=0, }, + { x=840, y=1421, frameIdx=3, }, + { x=302, y=1388, frameIdx=6, }, + { x=327, y=1506, frameIdx=1, }, + { x=1669, y=1832, frameIdx=3, }, + }, + gears = { + { type = gtMine, x = 1056, y = 1987 }, + { type = gtMine, x = 1086, y = 1988 }, + { type = gtSMine, x = 1089, y =965 }, + { type = gtSMine, x = 1133, y =945 }, + { type = gtSMine, x = 1010, y =1081 }, + { type = gtSMine, x = 1036, y =1049 }, + { type = gtSMine, x = 1057, y =1004 }, + { type = gtSMine, x = 784, y =1252 }, + { type = gtSMine, x = 841, y =1257 }, + { type = gtSMine, x = 902, y =1263 }, + { type = gtSMine, x = 952, y =1281 }, + { type = gtSMine, x = 517, y =1546 }, + { type = gtSMine, x = 559, y =1597 }, + { type = gtSMine, x = 613, y =1650 }, + { type = gtSMine, x = 674, y =1705 }, + { type = gtSMine, x = 746, y =1692 }, + { type = gtSMine, x = 810, y =1692 }, + { type = gtSMine, x = 872, y =1673 }, + { type = gtSMine, x = 933, y =1666 }, + { type = gtSMine, x = 981, y =1662 }, + { type = gtSMine, x = 1016, y =1634 }, + { type = gtSMine, x = 1063, y =1595 }, + { type = gtSMine, x = 1100, y =1574 }, + { type = gtSMine, x = 1002, y =1461 }, + { type = gtSMine, x = 1052, y =1438 }, + { type = gtSMine, x = 1102, y =1464 }, + { type = gtCase, x = 1565, y = 642, crateType="supply", ammoType = amSineGun }, + { type = gtCase, x = 548, y = 858, crateType="supply", ammoType = amBazooka }, + { type = gtCase, x = 479, y = 847, crateType="supply", ammoType = amJetpack }, + { type = gtCase, x = 1550, y = 1715, crateType="supply", ammoType = amBlowTorch }, + { type = gtCase, x = 1227, y = 1941, crateType="supply", ammoType = amJetpack }, + { type = gtCase, x = 1070, y = 1964, crateType="supply", ammoType = amInvulnerable }, + { type = gtCase, x = 1070, y = 1875, crateType="supply", ammoType = amTeleport }, + }, +}) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/User_Mission_-_Nobody_Laugh.lua --- a/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Nobody_Laugh.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Nobody_Laugh.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,134 +1,97 @@ --------------------------------------- --- NOBODY LAUGH --- a hilarious (not really) adventure --------------------------------------- - +HedgewarsScriptLoad("/Scripts/SimpleMission.lua") HedgewarsScriptLoad("/Scripts/Locale.lua") -HedgewarsScriptLoad("/Scripts/Tracker.lua") - -local hhs = {} - -function onGameInit() - - Seed = 0 - GameFlags = gfInfAttack + gfPerHogAmmo +gfDisableWind - -- Disable Sudden Death - HealthDecrease = 0 - WaterRise = 0 - TurnTime = 180000 - CaseFreq = 0 - MinesNum = 0 - Explosives = 0 - Map = "Bath" - Theme = "Nature" - - AddTeam(loc("Nameless Heroes"), 14483456, "eyecross", "Wood", "HillBilly", "cm_crossedswords") - hhs[1] = AddHog(loc( "Hunter" ), 0, 1, "Skull") - SetGearPosition(hhs[1], 1267, 451) - hhs[2] = AddHog(loc("Drowner"), 0, 31, "mp3") - SetGearPosition(hhs[2], 1332, 451) - AddTeam(loc("Clowns"), 1175851, "Duck2", "Tank", "Mobster", "cm_face") - hhs[3] = AddHog(loc("Poison"), 1, 100, "WhySoSerious") - SetGearPosition(hhs[3], 1133, 446) - hhs[4] = AddHog(loc("Bobo"), 1, 100, "clown") - SetGearPosition(hhs[4], 1215, 553) - hhs[5] = AddHog(loc("Copper"), 1, 10, "clown-copper") - SetGearPosition(hhs[5], 414, 376) - hhs[6] = AddHog(loc("Derp"), 1, 100, "clown-crossed") - SetGearPosition(hhs[6], 1590, 886) - hhs[7] = AddHog(loc("Eckles"), 1, 100, "clown-copper") - SetGearPosition(hhs[7], 772, 754) - hhs[8] = AddHog(loc("Frank"), 1, 50, "clown-copper") - SetGearPosition(hhs[8], 1688, 714) - hhs[9] = AddHog(loc("Harry"), 1, 50, "clown-copper") - SetGearPosition(hhs[9], 1932, 837) - hhs[10] = AddHog(loc("Igmund"), 1, 50, "WhySoSerious") - SetGearPosition(hhs[10], 1601, 733) - -end - -function onGameStart() - - AddAmmo(enemy, amAirAttack, 100) - - ShowMission( loc("Nobody Laugh"), - loc("Scenario"), - loc("Eliminate the enemy.") .. "|" .. - loc("Unlimited Attacks: Attacks don't end your turn") .. "|".. - loc("Per-hog Ammo: Weapons are not shared between hogs") - , 0, 0 - ) +local enemyAmmo = { + [amDEagle] = 100, [amShotgun] = 100, [amGrenade] = 100, [amBazooka] = 100, [amDrill] = 100 +} - -- GIRDERS - PlaceGirder(1212, 710, 7) - PlaceGirder(1215, 570, 4) - PlaceGirder(1288, 520, 2) - PlaceGirder(1184, 468, 4) - PlaceGirder(1344, 468, 4) - PlaceGirder(1247, 346, 4) - - PlaceGirder(667, 438, 4) - PlaceGirder(507, 438, 4) - PlaceGirder(434, 487, 2) - PlaceGirder(505, 537, 4) - PlaceGirder(665, 537, 4) - PlaceGirder(737, 487, 2) - - PlaceGirder(416, 465, 6) - PlaceGirder(1415, 378, 6) - PlaceGirder(1300, 625, 3) - PlaceGirder(1359, 566, 3) - PlaceGirder(1436, 538, 0) - PlaceGirder(1505, 468, 4) - - ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(1242, 315, amBaseballBat) - tempG = SpawnAmmoCrate(1309, 315, amAirAttack) - tempG = SpawnAmmoCrate(144, 895, amAirAttack) - tempG = SpawnAmmoCrate(664, 699, amIceGun) - tempG = SpawnAmmoCrate(1572, 444, amFirePunch) - tempG = SpawnAmmoCrate(1574, 382, amDynamite) - - ------ UTIL CRATE LIST ------ - tempG = SpawnUtilityCrate(654, 513, amParachute) - tempG = SpawnUtilityCrate(1569, 413, amParachute) +SimpleMission({ + missionTitle = loc("Nobody Laugh"), + missionIcon = 0, + goalText = + loc("Eliminate the enemy.") .. "|" .. + loc("Unlimited Attacks: Attacks don't end your turn") .. "|".. + loc("Per-hog Ammo: Weapons are not shared between hogs"), + wind = 100, + initVars = { + TurnTime = 180000, + Map = "Bath", + Theme = "Nature", + Seed = 0, + GameFlags = gfInfAttack + gfPerHogAmmo + gfDisableWind, + }, + ammoConfig = { + [amSwitch] = { count = 9 }, + }, + teams = { + { name = loc("Nameless Heroes"), + flag = "cm_crossedswords", + grave = "eyecross", + voice = "HillBilly", + clanID = 0, + hogs = { + { + name = loc("Hunter"), + health = 1, + x = 1267, y = 451, + hat = "Skull", + botLevel = 0, + ammo = { [amParachute] = 1, [amHammer] = 1 }, + }, + { + name = loc("Drowner"), + health = 31, + x = 1332, y = 451, + hat = "mp3", + botLevel = 0, + ammo = { [amWhip] = 1 }, + }, + }}, + { name = loc("Clowns"), + flag = "cm_face", + grave = "Duck2", + voice = "Mobster", + clanID = 5, + hogs = { + { name = loc("Poison"), health = 100, x = 1133, y = 446, hat = "WhySoSerious", botLevel = 1, ammo = enemyAmmo }, + { name = loc("Bobo"), health = 100, x = 1215, y = 553, hat = "clown", botLevel = 1, ammo = enemyAmmo }, + { name = loc("Copper"), health = 10, x = 414, y = 376, hat = "clown-copper", botLevel = 1, ammo = enemyAmmo }, + { name = loc("Derp"), health = 100, x = 1590, y = 886, hat = "clown-crossed", botLevel = 1, ammo = enemyAmmo }, + { name = loc("Eckles"), health = 100, x = 772, y = 754, hat = "clown-copper", botLevel = 1, ammo = enemyAmmo }, + { name = loc("Frank"), health = 50, x = 1688, y = 714, hat = "clown-copper", botLevel = 1, ammo = enemyAmmo }, + { name = loc("Harry"), health = 50, x = 1932, y = 837, hat = "clown-copper", botLevel = 1, ammo = enemyAmmo }, + { name = loc("Igmund"), health = 50, x = 1601, y = 733, hat = "WhySoSerious", botLevel = 1, ammo = enemyAmmo }, + }}, + }, + girders = { + { x = 1212, y = 710, frameIdx = 7 }, + { x = 1215, y = 570, frameIdx = 4 }, + { x = 1288, y = 520, frameIdx = 2 }, + { x = 1184, y = 468, frameIdx = 4 }, + { x = 1344, y = 468, frameIdx = 4 }, + { x = 1247, y = 346, frameIdx = 4 }, + { x = 667, y = 438, frameIdx = 4 }, + { x = 507, y = 438, frameIdx = 4 }, + { x = 434, y = 487, frameIdx = 2 }, + { x = 505, y = 537, frameIdx = 4 }, + { x = 665, y = 537, frameIdx = 4 }, + { x = 737, y = 487, frameIdx = 2 }, + { x = 416, y = 465, frameIdx = 6 }, + { x = 1415, y = 378, frameIdx = 6 }, + { x = 1300, y = 625, frameIdx = 3 }, + { x = 1359, y = 566, frameIdx = 3 }, + { x = 1436, y = 538, frameIdx = 0 }, + { x = 1505, y = 468, frameIdx = 4 }, + }, - -- HOG AMMO - AddAmmo(hhs[1],amParachute,1) - AddAmmo(hhs[1],amHammer,1) - AddAmmo(hhs[2],amWhip,1) - - for i = 3, 10 do - AddAmmo(hhs[i], amDEagle, 100) - AddAmmo(hhs[i], amShotgun, 100) - AddAmmo(hhs[i], amGrenade, 100) - AddAmmo(hhs[i], amBazooka, 100) - AddAmmo(hhs[i], amDrill, 100) - end - -end - -function onNewTurn() - SetWind(100) -end - -function onAmmoStoreInit() - - SetAmmo(amBaseballBat, 0, 0, 0, 1) - SetAmmo(amAirAttack, 0, 0, 0, 1) - SetAmmo(amFirePunch, 0, 0, 0, 1) - SetAmmo(amDynamite, 0, 0, 0, 1) - SetAmmo(amHammer, 0, 0, 0, 1) - SetAmmo(amIceGun, 0, 0, 0, 1) - - SetAmmo(amParachute, 0, 0, 0, 1) - - SetAmmo(amSwitch, 9, 0, 0, 0) - SetAmmo(amSkip, 9, 0, 0, 0) - -end - ------------------------------- --- I'm in whitesppaaaaaaaaaacceeeee :D ------------------------------- + gears = { + { type = gtCase, crateType = "supply", x = 1242, y = 315, ammoType = amBaseballBat }, + { type = gtCase, crateType = "supply", x = 1309, y = 315, ammoType = amAirAttack }, + { type = gtCase, crateType = "supply", x = 144, y = 895, ammoType = amAirAttack }, + { type = gtCase, crateType = "supply", x = 664, y = 699, ammoType = amIceGun }, + { type = gtCase, crateType = "supply", x = 1572, y = 444, ammoType = amFirePunch }, + { type = gtCase, crateType = "supply", x = 1574, y = 382, ammoType = amDynamite }, + { type = gtCase, crateType = "supply", x = 654, y = 513, ammoType = amParachute }, + { type = gtCase, crateType = "supply", x = 1569, y = 413, ammoType = amParachute }, + } +}) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/User_Mission_-_Spooky_Tree.lua --- a/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Spooky_Tree.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Spooky_Tree.lua Sun Jun 10 19:12:26 2018 +0200 @@ -71,16 +71,16 @@ AddGear(640,412,gtMine, 0, 0, 0, 0) -- crates crates and more crates - SpawnAmmoCrate(1208,576,amBlowTorch) - SpawnAmmoCrate(1467,376,amPickHammer) - SpawnUtilityCrate(373,165,amGirder) - SpawnUtilityCrate(704,623,amJetpack) - SpawnUtilityCrate(1646,749,amLaserSight) + SpawnSupplyCrate(1208,576,amBlowTorch) + SpawnSupplyCrate(1467,376,amPickHammer) + SpawnSupplyCrate(373,165,amGirder) + SpawnSupplyCrate(704,623,amJetpack) + SpawnSupplyCrate(1646,749,amLaserSight) - SpawnAmmoCrate(745,418,amShotgun) --shotgun1 - SpawnAmmoCrate(833,432,amFirePunch) --fire punch - GirderCrate = SpawnAmmoCrate(1789,514,amShotgun) -- final shotgun - SpawnAmmoCrate(1181,419,amBee) + SpawnSupplyCrate(745,418,amShotgun) --shotgun1 + SpawnSupplyCrate(833,432,amFirePunch) --fire punch + GirderCrate = SpawnSupplyCrate(1789,514,amShotgun) -- final shotgun + SpawnSupplyCrate(1181,419,amBee) ShowMission(loc("Spooky Tree"), loc("Scenario"), loc("Eliminate the enemy before the time runs out.") .. "|" .. diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/User_Mission_-_Teamwork.lua --- a/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Teamwork.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Teamwork.lua Sun Jun 10 19:12:26 2018 +0200 @@ -59,12 +59,12 @@ AddGear(1001,356,gtMine, 0, 0, 0, 0) -- crates crates and more crates - bCrate = SpawnAmmoCrate(1688,476,amBaseballBat) - SpawnUtilityCrate(572,143,amGirder) - SpawnAmmoCrate(1704,954,amPickHammer) - SpawnAmmoCrate(704,623,amBlowTorch) - SpawnUtilityCrate(1543,744,amJetpack) - SpawnAmmoCrate(227,442,amDrill) + bCrate = SpawnSupplyCrate(1688,476,amBaseballBat) + SpawnSupplyCrate(572,143,amGirder) + SpawnSupplyCrate(1704,954,amPickHammer) + SpawnSupplyCrate(704,623,amBlowTorch) + SpawnSupplyCrate(1543,744,amJetpack) + SpawnSupplyCrate(227,442,amDrill) ShowMission(loc("Teamwork"), loc("Scenario"), loc("Eliminate Unit 3378.") .. "|" .. loc("Both your hedgehogs must survive.") .. "|" .. loc("Mines time: 0 seconds"), 0, 0) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/User_Mission_-_Teamwork_2.lua --- a/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Teamwork_2.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/User_Mission_-_Teamwork_2.lua Sun Jun 10 19:12:26 2018 +0200 @@ -39,13 +39,13 @@ end function onGameStart() - Pack = SpawnAmmoCrate(40, 888, amPickHammer) - SpawnAmmoCrate(90, 888, amBaseballBat) - SpawnAmmoCrate(822, 750, amBlowTorch) - SpawnUtilityCrate(700, 580, amJetpack) - SpawnUtilityCrate(1400, 425, amParachute) - SpawnAmmoCrate(1900, 770, amDynamite) - SpawnAmmoCrate(1794, 970, amDynamite) + Pack = SpawnSupplyCrate(40, 888, amPickHammer) + SpawnSupplyCrate(90, 888, amBaseballBat) + SpawnSupplyCrate(822, 750, amBlowTorch) + SpawnSupplyCrate(700, 580, amJetpack) + SpawnSupplyCrate(1400, 425, amParachute) + SpawnSupplyCrate(1900, 770, amDynamite) + SpawnSupplyCrate(1794, 970, amDynamite) ShowMission(loc("Teamwork 2"), loc("Scenario"), loc("Eliminate WatchBot 4000.") .. "|" .. loc("Both your hedgehogs must survive.") .. "|" .. loc("Land mines explode instantly."), -amBaseballBat, 0) @@ -97,7 +97,7 @@ function onGearDelete(gear) if gear == Pack then - HogSay(CurrentHedgehog, loc("This will certianly come in handy."), SAY_THINK) + HogSay(CurrentHedgehog, loc("This will certainly come in handy."), SAY_THINK) end -- Note: The victory sequence is done automatically by Hedgewars if ( ((gear == player) or (gear == hlayer)) and (GameOver == false)) then diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/User_Mission_-_The_Great_Escape.lua --- a/share/hedgewars/Data/Missions/Scenario/User_Mission_-_The_Great_Escape.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/User_Mission_-_The_Great_Escape.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,122 +1,81 @@ +HedgewarsScriptLoad("/Scripts/SimpleMission.lua") HedgewarsScriptLoad("/Scripts/Locale.lua") - -local player = nil -local enemy = nil - -function onGameInit() - - Map = "Castle" - Theme = "Nature" - Seed = 0 - GameFlags = gfInfAttack - - TurnTime = 45 * 1000 - - CaseFreq = 0 - MinesNum = 0 - Explosives = 0 - - AddTeam(loc("Hero Team"), 14483456, "star", "Island", "Default", "cm_swordshield") - player = AddHog(loc("Good Dude"), 0, 80, "NoHat") --NoHat - - AddTeam(loc("Bad Team"), 1175851, "dragonball", "Island", "Default", "cm_dragonrb") - enemy = AddHog(loc("Bad Guy"), 1, 40, "NoHat") - -end - -function onGameStart() - -ShowMission(loc("The Great Escape"), loc("Scenario"), loc("Elimate your captor.") .. "|" .. loc("Mines time: 0 seconds"), -amGrenade, 0) +SimpleMission({ + missionTitle = loc("The Great Escape"), + goalText = loc("Eliminate your captor.") .."|".. loc("Unlimited Attacks: Attacks don't end your turn"), + missionIcon = -amGrenade, + wind = 100, + initVars = { + TurnTime = 45000, + Map = "Castle", + Theme = "Nature", + MinesTime = 0, + Seed = 0, + GameFlags = gfInfAttack + gfDisableWind, + }, + ammoConfig = { + [amGrenade] = { count = 1 }, + [amParachute] = { count = 1 }, + [amFirePunch] = { ammoInCrate = 3 }, + }, + teams = { + { name = loc("Hero Team"), + flag = "cm_swordshield", + grave = "star", + hogs = {{ name = loc("Good Dude"), health = 1, x = 1050, y = 534 }}, + }, + { name = loc("Bad Team"), + flag = "cm_dragonrb", + grave = "dragonball", + hogs = {{ name = loc("Bad Guy"), health = 1, x = 1512, y = 158, botLevel = 1 }} + }, + }, + girders = { + { x = 1042, y = 564, frameIdx = 0 }, + { x = 1028, y = 474, frameIdx = 6 }, + { x = 1074, y = 474, frameIdx = 6 }, + { x = 1050, y = 385, frameIdx = 0 }, + { x = 1175, y = 731, frameIdx = 7 }, + { x = 1452, y = 905, frameIdx = 2 }, + { x = 1522, y = 855, frameIdx = 4 }, + { x = 1496, y = 900, frameIdx = 3 }, + { x = 1682, y = 855, frameIdx = 4 }, + { x = 1773, y = 887, frameIdx = 2 }, + { x = 1647, y = 901, frameIdx = 1 }, + { x = 1871, y = 883, frameIdx = 6 }, + { x = 1871, y = 723, frameIdx = 6 }, + { x = 1774, y = 768, frameIdx = 6 }, + { x = 1773, y = 767, frameIdx = 6 }, + { x = 1821, y = 904, frameIdx = 1 }, + { x = 1822, y = 802, frameIdx = 3 }, + { x = 1820, y = 723, frameIdx = 1 }, + { x = 1782, y = 678, frameIdx = 4 }, + { x = 1822, y = 661, frameIdx = 0 }, + { x = 1822, y = 644, frameIdx = 0 }, + { x = 1742, y = 644, frameIdx = 0 }, + { x = 1742, y = 661, frameIdx = 0 }, + { x = 1694, y = 676, frameIdx = 2 }, + { x = 1903, y = 635, frameIdx = 0 }, + }, + gears = { + { type = gtMine, x = 1010, y = 680 }, + { type = gtMine, x = 1031, y = 720 }, + { type = gtMine, x = 1039, y = 748 }, + { type = gtMine, x = 1051, y = 777 }, + { type = gtMine, x = 1065, y = 796 }, ------- GIRDER LIST ------ -PlaceGirder(1042,564,0) -PlaceGirder(1028,474,6) -PlaceGirder(1074,474,6) -PlaceGirder(1050,385,0) -PlaceGirder(1175,731,7) -PlaceGirder(1452,905,2) -PlaceGirder(1522,855,4) -PlaceGirder(1496,900,3) -PlaceGirder(1682,855,4) -PlaceGirder(1773,887,2) -PlaceGirder(1647,901,1) -PlaceGirder(1871,883,6) -PlaceGirder(1871,723,6) -PlaceGirder(1774,768,6) -PlaceGirder(1773,767,6) -PlaceGirder(1821,904,1) -PlaceGirder(1822,802,3) -PlaceGirder(1820,723,1) -PlaceGirder(1782,678,4) -PlaceGirder(1822,661,0) -PlaceGirder(1822,644,0) -PlaceGirder(1742,644,0) -PlaceGirder(1742,661,0) -PlaceGirder(1694,676,2) -PlaceGirder(1903,635,0) ------- HEALTH CRATE LIST ------ -SpawnHealthCrate(1476,169) -SpawnHealthCrate(1551,177) -SpawnHealthCrate(1586,200) -SpawnHealthCrate(1439,189) -SpawnHealthCrate(1401,211) -SpawnHealthCrate(1633,210) ------- MINE LIST ------ -tempG = AddGear(1010,680,gtMine, 0, 0, 0, 0) -SetTimer(tempG, 1) -tempG = AddGear(1031,720,gtMine, 0, 0, 0, 0) -SetTimer(tempG, 1) -tempG = AddGear(1039,748,gtMine, 0, 0, 0, 0) -SetTimer(tempG, 1) -tempG = AddGear(1051,777,gtMine, 0, 0, 0, 0) -SetTimer(tempG, 1) -tempG = AddGear(1065,796,gtMine, 0, 0, 0, 0) -SetTimer(tempG, 1) -tempG = AddGear(1094,800,gtMine, 0, 0, 0, 0) -SetTimer(tempG, 1) ------- REPOSITION LIST ------ -SetGearPosition(player,1050,534) -SetGearPosition(enemy,1512,158) -SetHealth(player, 1) -SetHealth(enemy, 1) ------- AMMO CRATE LIST ------ -SpawnAmmoCrate(1632,943,amShotgun) -SpawnAmmoCrate(1723,888,amFirePunch) -SpawnAmmoCrate(1915,599,amGrenade) -SpawnAmmoCrate(1416,913,amBlowTorch) -SpawnAmmoCrate(1227,640,amPickHammer) ------- UTILITY CRATE LIST ------ -SpawnUtilityCrate(1519,945,amParachute) ------- END LOADING DATA ------ + { type = gtCase, crateType = "supply", x = 1632, y = 943, ammoType = amShotgun }, + { type = gtCase, crateType = "supply", x = 1723, y = 888, ammoType = amFirePunch }, + { type = gtCase, crateType = "supply", x = 1915, y = 599, ammoType = amGrenade }, + { type = gtCase, crateType = "supply", x = 1416, y = 913, ammoType = amBlowTorch }, + { type = gtCase, crateType = "supply", x = 1227, y = 640, ammoType = amPickHammer }, + { type = gtCase, crateType = "supply", x = 1519, y = 945, ammoType = amParachute}, -end - -function onGameTick() - - if TurnTimeLeft == TurnTime-1 then - SetWind(100) - end - -end - -function onGearDelete(gear) - if (GetGearType(gear) == gtCase) and (CurrentHedgehog == player) then - if GetHealth(gear) > 0 then - AddGear(GetX(gear), GetY(gear), gtGrenade, 0, 0, 0, 1) - end - elseif gear == player then - ShowMission(loc("The Great Escape"), loc("MISSION FAILED"), loc("Oh no! Just try again!"), -amSkip, 0) - elseif gear == enemy then - ShowMission(loc("The Great Escape"), loc("MISSION SUCCESSFUL"), loc("Congratulations!"), 0, 0) - end -end - -function onAmmoStoreInit() - SetAmmo(amGrenade, 1, 0, 0, 1) - SetAmmo(amParachute, 1, 0, 0, 1) - SetAmmo(amFirePunch, 0, 0, 0, 3) - SetAmmo(amPickHammer, 0, 0, 0, 1) - SetAmmo(amBlowTorch, 0, 0, 0, 1) - SetAmmo(amShotgun, 0, 0, 0, 1) - SetAmmo(amSkip, 9, 0, 0, 0) -end + { type = gtCase, crateType = "health", x = 1476, y = 169 }, + { type = gtCase, crateType = "health", x = 1551, y = 177 }, + { type = gtCase, crateType = "health", x = 1586, y = 200 }, + { type = gtCase, crateType = "health", x = 1439, y = 189 }, + { type = gtCase, crateType = "health", x = 1401, y = 211 }, + { type = gtCase, crateType = "health", x = 1633, y = 210 }, + }, +}) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/order.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Missions/Scenario/order.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,13 @@ +User_Mission_-_Dangerous_Ducklings +Bazooka_Battlefield +User_Mission_-_Bamboo_Thicket +User_Mission_-_The_Great_Escape +User_Mission_-_Teamwork +User_Mission_-_Teamwork_2 +User_Mission_-_Newton_and_the_Hammock +User_Mission_-_Diver +User_Mission_-_Spooky_Tree +User_Mission_-_Nobody_Laugh +portal +Tentacle_Terror +Big_Armory diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Scenario/portal.lua --- a/share/hedgewars/Data/Missions/Scenario/portal.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Scenario/portal.lua Sun Jun 10 19:12:26 2018 +0200 @@ -125,33 +125,32 @@ end --needed this MineArray cause timer didn't work, its was always 3sec, i wanna instant mines - --UTILITY CRATE-- - parachute = SpawnUtilityCrate(1670, 1165, amParachute) - girder = SpawnUtilityCrate(2101, 1297, amGirder) - SpawnUtilityCrate(1375, 900, amTeleport) - SpawnUtilityCrate(1660,1820, amLaserSight) - SpawnUtilityCrate(4070,1840, amLaserSight) - portalgun = SpawnUtilityCrate(505, 1943, amPortalGun, 1000) - extratime = SpawnUtilityCrate(4020, 785, amExtraTime, 2) + --CRATES + parachute = SpawnSupplyCrate(1670, 1165, amParachute) + girder = SpawnSupplyCrate(2101, 1297, amGirder) + SpawnSupplyCrate(1375, 900, amTeleport) + SpawnSupplyCrate(1660,1820, amLaserSight) + SpawnSupplyCrate(4070,1840, amLaserSight) + portalgun = SpawnSupplyCrate(505, 1943, amPortalGun, 1000) + extratime = SpawnSupplyCrate(4020, 785, amExtraTime, 2) - --AMMO CRATE-- - SpawnAmmoCrate(425, 613, amSnowball) - SpawnAmmoCrate(861, 633, amHellishBomb) - SpawnAmmoCrate(2510, 623, amSnowball) - SpawnAmmoCrate(2900, 1600, amGrenade) - SpawnAmmoCrate(2680, 320, amGrenade) - SpawnAmmoCrate(2650, 80, amDEagle) - SpawnAmmoCrate(3000, 100, amDEagle) - SpawnAmmoCrate(2900, 1400, amRope) - SpawnAmmoCrate(4025, 1117, amFirePunch) - SpawnAmmoCrate(3965, 625, amBlowTorch) - SpawnAmmoCrate(2249, 93, amBlowTorch) - SpawnAmmoCrate(2181, 829, amBlowTorch) - SpawnAmmoCrate(1820, 567, amBlowTorch) - SpawnAmmoCrate(130, 600, amPickHammer) + SpawnSupplyCrate(425, 613, amSnowball) + SpawnSupplyCrate(861, 633, amHellishBomb) + SpawnSupplyCrate(2510, 623, amSnowball) + SpawnSupplyCrate(2900, 1600, amGrenade) + SpawnSupplyCrate(2680, 320, amGrenade) + SpawnSupplyCrate(2650, 80, amDEagle) + SpawnSupplyCrate(3000, 100, amDEagle) + SpawnSupplyCrate(2900, 1400, amRope) + SpawnSupplyCrate(4025, 1117, amFirePunch) + SpawnSupplyCrate(3965, 625, amBlowTorch) + SpawnSupplyCrate(2249, 93, amBlowTorch) + SpawnSupplyCrate(2181, 829, amBlowTorch) + SpawnSupplyCrate(1820, 567, amBlowTorch) + SpawnSupplyCrate(130, 600, amPickHammer) --HEALTH CRATE-- - SpawnHealthCrate(2000, 780) + SpawnHealthCrate(2000, 880) --GIRDER-- PlaceGirder(3363, 1323, 4) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Training/Basic_Training_-_Bazooka.lua --- a/share/hedgewars/Data/Missions/Training/Basic_Training_-_Bazooka.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Bazooka.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,246 +1,289 @@ --- Hedgewars Bazooka Training --- Scripting Example +--[[ + Basic Bazooka Training --- Lines such as this one are comments - they are ignored --- by the game, no matter what kind of text is in there. --- It's also possible to place a comment after some real --- instruction as you see below. In short, everything --- following "--" is ignored. - ---------------------------------------------------------------- --- At first we implement the localization library using loadfile. --- This allows us to localize strings without needing to think --- about translations. --- We can use the function loc(text) to localize a string. + This training missions teaches players how to use the bazooka. + Lesson plan: + - Selecting bazooka + - Aiming and shooting + - Wind + - Limited ammo + - “Bouncing bomb” / water skip + - Precise aiming +]] HedgewarsScriptLoad("/Scripts/Locale.lua") --- This variable will hold the number of destroyed targets. -local score = 0 --- This variable represents the number of targets to destroy. -local score_goal = 5 --- This variable controls how many milliseconds/ticks we'd --- like to wait before we end the round once all targets --- have been destroyed. -local end_timer = 1000 -- 1000 ms = 1 s --- This variable is set to true if the game is lost (i.e. --- time runs out). -local game_lost = false --- This variable will point to the hog's gear -local player = nil --- This variable will grab the time left at the end of the round -local time_goal = 0 --- This variable stores the number of bazooka shots -local shots = 0 +local hog -- Hog gear +local weaponSelected = false -- Player has selected the weapon +local gamePhase = 0 -- Used to track progress +local targetsLeft = 0 -- # of targets left in this round +local targetGears = {} -- list of target gears +local bazookasInGame = 0 -- # of bazookas currently flying +local bazookaGears = {} -- list of bazooka gears +local limitedAmmo = 10 -- amount of ammo for the limited ammo challenge +local limitedAmmoReset = -1 -- Timer for resetting ammo if player fails in + -- limited ammo challenge. -1 = no-op +local gameOver = false -- If true, game has ended +local shotsFired = 0 -- Total # of bazookas fired +local maxTargets = 0 -- Target counter, used together with flawless +local flawless = true -- track flawless victory (100% accuracy, no hurt, no death) +local missedTauntTimer = -1 -- Wait timer for playing sndMissed. -1 = no-op + +function onGameInit() + + ClearGameFlags() + EnableGameFlags(gfDisableWind, gfOneClanMode, gfInfAttack, gfSolidLand) + Map = "" + Seed = 0 + Theme = "Nature" + MapGen = mgDrawn + TurnTime = 9999000 + Explosives = 0 + MinesNum = 0 + CaseFreq = 0 + WaterRise = 0 + HealthDecrease = 0 + + ------ TEAM LIST ------ + + AddTeam(loc("Bazooka Team"), 0xFF0204, "Flower", "Earth", "Default", "hedgewars") + hog = AddHog(loc("Greenhorn"), 0, 100, "NoHat") + SetGearPosition(hog, 1485, 2001) + SetEffect(hog, heResurrectable, 1) --- This is a custom function to make it easier to --- spawn more targets with just one line of code --- You may define as many custom functions as you --- like. -function spawnTarget() - -- add a new target gear - gear = AddGear(0, 0, gtTarget, 0, 0, 0, 0) - - -- move it to a random position within 0 and - -- LAND_WIDTH - the width of the map - FindPlace(gear, true, 0, LAND_WIDTH) - - -- move the target to a higher vertical position - -- to ensure it's not somewhere down below - x, y = GetGearPosition(gear) - SetGearPosition(gear, x, 0) + SendHealthStatsOff() +end + +function onGearResurrect(gear) + if gear == hog then + flawless = false + SetGearPosition(hog, 1485, 2001) + AddCaption(loc("Your hedgehog has been revived!")) + end +end + +function placeGirders() + PlaceGirder(1520, 2018, 4) + PlaceGirder(1449, 1927, 6) + PlaceGirder(1341, 1989, 0) + PlaceGirder(1141, 1990, 0) + PlaceGirder(2031, 1907, 6) + PlaceGirder(2031, 1745, 6) + PlaceGirder(2398, 1985, 4) + PlaceGirder(2542, 1921, 7) + PlaceGirder(2617, 1954, 6) + PlaceGirder(2565, 2028, 0) + PlaceGirder(2082, 1979, 0) + PlaceGirder(2082, 1673, 0) + PlaceGirder(1980, 1836, 0) + PlaceGirder(1716, 1674, 0) + PlaceGirder(1812, 1832, 0) + PlaceGirder(1665, 1744, 6) + PlaceGirder(2326, 1895, 6) + PlaceGirder(2326, 1734, 6) + PlaceGirder(2326, 1572, 6) + PlaceGirder(2275, 1582, 0) + PlaceGirder(1738, 1714, 7) + PlaceGirder(1818, 1703, 0) + PlaceGirder(1939, 1703, 4) + PlaceGirder(2805, 1781, 3) + PlaceGirder(2905, 1621, 3) + PlaceGirder(3005, 1441, 3) + PlaceGirder(945, 1340, 5) end --- This function is called before the game loads its --- resources. --- It's one of the predefined function names that will --- be called by the game. They give you entry points --- where you're able to call your own code using either --- provided instructions or custom functions. -function onGameInit() - -- At first we have to overwrite/set some global variables - -- that define the map, the game has to load, as well as - -- other things such as the game rules to use, etc. - -- Things we don't modify here will use their default values. +function spawnTargets(phase) + if not phase then + phase = gamePhase + end + if phase == 0 then + AddGear(1734, 1656, gtTarget, 0, 0, 0, 0) + AddGear(1812, 1814, gtTarget, 0, 0, 0, 0) + AddGear(1974, 1818, gtTarget, 0, 0, 0, 0) + elseif phase == 2 then + AddGear(2102, 1655, gtTarget, 0, 0, 0, 0) + AddGear(2278, 1564, gtTarget, 0, 0, 0, 0) + AddGear(2080, 1961, gtTarget, 0, 0, 0, 0) + elseif phase == 3 then + AddGear(1141, 1972, gtTarget, 0, 0, 0, 0) + AddGear(1345, 1971, gtTarget, 0, 0, 0, 0) + AddGear(1892, 1680, gtTarget, 0, 0, 0, 0) + elseif phase == 4 then + AddGear(2584, 2010, gtTarget, 0, 0, 0, 0) + elseif phase == 5 then + AddGear(955, 1320, gtTarget, 0, 0, 0, 0) + elseif phase == 6 then + AddGear(2794, 1759, gtTarget, 0, 0, 0, 0) + AddGear(2894, 1599, gtTarget, 0, 0, 0, 0) + AddGear(2994, 1419, gtTarget, 0, 0, 0, 0) + end +end - -- The base number for the random number generator - Seed = 1 - -- Game settings and rules - EnableGameFlags(gfMultiWeapon, gfOneClanMode, gfSolidLand, gfDisableWind) - -- Uncommenting this wouldn't do anything - --EnableGameFlags(gfMultiWeapon, gfOneClanMode, gfSolidLand) - -- Neither this - --DisableGameFlags(gfArtillery) - -- Uncommenting this would make the terrain damageable - --DisableGameFlags(gfSolidLand) - -- Uncommenting this would remove all flags set previously - --ClearGameFlags() - -- The time the player has to move each round (in ms) - TurnTime = 60000 - -- The frequency of crate drops - CaseFreq = 0 - -- The number of mines being placed - MinesNum = 0 - -- The number of explosives being placed - Explosives = 0 - -- The delay between each round - Delay = 0 - -- The map to be played - Map = "Bamboo" - -- The theme to be used - Theme = "Bamboo" - -- Setting these 2 values to 0 is the official way to disable Sudden Death cleanly - HealthDecrease = 0 -- Sudden Death damage - WaterRise = 0 -- Water rise in Sudden Death - - -- Create the player team - AddTeam(loc("'Zooka Team"), 14483456, "Simple", "Island", "Default", "cm_crosshair") - -- And add a hog to it - player = AddHog(loc("Hunter"), 0, 1, "NoHat") - SetGearPosition(player, 936, 136) +function onGameStart() + placeGirders() + spawnTargets() + ShowMission(loc("Basic Bazooka Training"), loc("Basic Training"), loc("Destroy all the targets!"), -amBazooka, 0) end --- This function is called when the round starts --- it spawns the first target that has to be destroyed. --- In addition it shows the scenario goal(s). -function onGameStart() - -- Disable the graph in the stats screen, we don't need it - SendHealthStatsOff() - -- Spawn the first target. - spawnTarget() - SetWind(-20) - - -- Show some nice mission goals. - -- Parameters are: caption, sub caption, description, - -- extra text, icon and time to show. - -- A negative icon parameter (-n) represents the n-th weapon icon - -- A positive icon paramter (n) represents the (n+1)-th mission icon - -- A timeframe of 0 is replaced with the default time to show. - ShowMission(loc("Bazooka Training"), loc("Aiming Practice"), loc("Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."), -amBazooka, 0) +function newGamePhase() + -- Spawn targets, update wind and ammo, show instructions + if gamePhase == 0 then + ShowMission(loc("Basic Bazooka Training"), loc("Select Weapon"), loc("To begin with the training, select the bazooka from the ammo menu!").."|".. + loc("Open ammo menu: [Right click]").."|".. + loc("Select weapon: [Left click]"), 2, 5000) + elseif gamePhase == 1 then + ShowMission(loc("Basic Bazooka Training"), loc("My First Bazooka"), loc("Let's get started!").."|".. + loc("Launch some bazookas to destroy the targets!").."|".. + loc("Hold the Attack key pressed for more power.").."|".. + loc("Don't hit yourself!").."|".. + loc("Attack: [Space]").."|".. + loc("Aim: [Up]/[Down]").."|".. + loc("Walk: [Left]/[Right]"), 2, 10000) + spawnTargets() + elseif gamePhase == 2 then + ShowMission(loc("Basic Bazooka Training"), loc("Wind"), loc("Bazookas are influenced by wind.").."|".. + loc("You see the wind strength at the bottom right corner.").."|".. + loc("Destroy the targets!"), 2, 5000) + SetWind(50) + spawnTargets() + elseif gamePhase == 3 then + -- Vaporize any bazookas still in the air + for gear, _ in pairs(bazookaGears) do + AddVisualGear(GetX(gear), GetY(gear), vgtSteam, 0, false) + DeleteGear(gear) + PlaySound(sndVaporize) + end + ShowMission(loc("Basic Bazooka Training"), loc("Limited Ammo"), loc("Your ammo is limited this time.").."|".. + loc("Destroy all targets with no more than 10 bazookas."), + 2, 8000) + SetWind(-20) + AddAmmo(hog, amBazooka, limitedAmmo) + spawnTargets() + elseif gamePhase == 4 then + ShowMission(loc("Basic Bazooka Training"), loc("Bouncing Bomb"), loc("The next target can only be reached by something called “bouncing bomb”.").."|".. + loc("Hint: Launch the bazooka horizontally at full power."), + 2, 8000) + SetWind(90) + spawnTargets() + AddAmmo(hog, amBazooka, 100) + if GetCurAmmoType() ~= amBazooka then + SetWeapon(amBazooka) + end + elseif gamePhase == 5 then + ShowMission(loc("Basic Bazooka Training"), loc("High Target"), + loc("By the way, not only bazookas will bounce on water, but also grenades and many other things.").."|".. + loc("The next target is high in the sky."), + 2, 8000) + SetWind(-33) + spawnTargets() + elseif gamePhase == 6 then + ShowMission(loc("Basic Bazooka Training"), loc("Final Targets"), + loc("The final targets are quite tricky. You need to aim well.").."|".. + loc("Precise Aim: [Left Shift] + [Up]/[Down]").."|".. + loc("Hint: It might be easier if you vary the angle only slightly."), + 2, 12000) + SetWind(75) + spawnTargets() + elseif gamePhase == 7 then + ShowMission(loc("Basic Bazooka Training"), loc("Training complete!"), loc("Congratulations!"), 0, 0) + SetInputMask(0) + AddAmmo(CurrentHedgehog, amBazooka, 0) + if shotsFired > maxTargets then + flawless = false + end + if flawless then + PlaySound(sndFlawless, hog) + else + PlaySound(sndVictory, hog) + end + SendStat(siCustomAchievement, loc("Good job!")) + SendStat(siGameResult, loc("You have completed the Basic Bazooka Training!")) + SendStat(siPlayerKills, "0", loc("Bazooka Team")) + EndGame() + gameOver = true + end + gamePhase = gamePhase + 1 end function onNewTurn() - SetWeapon(amBazooka) + if gamePhase == 0 then + newGamePhase() + end end --- This function is called every game tick. --- Note that there are 1000 ticks within one second. --- You shouldn't try to calculate too complicated --- code here as this might slow down your game. -function onGameTick20() - -- If time's up, set the game to be lost. - -- We actually check the time to be "1 ms" as it - -- will be at "0 ms" right at the start of the game. - if TurnTimeLeft < 40 and TurnTimeLeft > 0 and score < score_goal and not game_lost then - game_lost = true - -- ... and show a short message. - ShowMission(loc("Bazooka Training"), loc("Aiming Practice"), loc("Oh no! Time's up! Just try again."), -amSkip, 0) - -- How about killing our poor hog due to his poor performance? - SetHealth(player, 0) - -- Just to be sure set the goal time to 1 ms - time_goal = 1 - end - - if band(GetState(player), gstDrowning) == gstDrowning and game_lost == false and score < score_goal then - game_lost = true - time_goal = 1 - AddCaption(loc("You lose!"), 0xFFFFFFFF, capgrpGameState) - ShowMission(loc("Bazooka Training"), loc("Aiming Practice"), loc("Oh no! You failed! Just try again."), -amSkip, 0) - end - - -- If the goal is reached or we've lost ... - if score == score_goal or game_lost then - -- ... check to see if the time we'd like to - -- wait has passed and then ... - if end_timer == 0 then - -- Let’s create some stats for the stats screen! - -- We will expose the number of hit targets hit, launched bazooka and the accuracy - - SendStat(siPointType, loc("hits")) - SendStat(siPlayerKills, tostring(score), loc("'Zooka Team")) - SendStat(siCustomAchievement, string.format(loc("You have destroyed %d of %d targets."), score, score_goal)) - SendStat(siCustomAchievement, string.format(loc("You have launched %d bazookas."), shots)) - - -- We must avoid a division by zero - if(shots > 0) then - SendStat(siCustomAchievement, string.format(loc("Your accuracy was %.1f%%."), (score/shots)*100)) - end - if score == score_goal then - SendStat(siGameResult, loc("You have finished the bazooka training!")) - SendStat(siCustomAchievement, string.format(loc("%.1f seconds were remaining."), (time_goal/1000), math.ceil(time_goal/12))) - end - if game_lost then - SendStat(siGameResult, loc("You lose!")) - end - - -- Finally we end the game ... - EndGame() - else - -- ... or just lower the timer by 20ms. - -- Reset the time left to stop the timer - TurnTimeLeft = time_goal - end - end_timer = end_timer - 20 +function onHogAttack(ammoType) + if ammoType == amBazooka then + HideMission() end end --- This function is called when the game is initialized --- to request the available ammo and probabilities -function onAmmoStoreInit() - -- add an unlimited supply of bazooka ammo - SetAmmo(amBazooka, 9, 0, 0, 0) +function onGearAdd(gear) + if GetGearType(gear) == gtTarget then + targetsLeft = targetsLeft + 1 + maxTargets = maxTargets + 1 + targetGears[gear] = true + elseif GetGearType(gear) == gtShell then + bazookasInGame = bazookasInGame + 1 + bazookaGears[gear] = true + shotsFired = shotsFired + 1 + end end --- This function is called when a new gear is added. --- We don't need it for this training, so we can --- keep it empty. --- function onGearAdd(gear) --- end - --- This function is called before a gear is destroyed. --- We use it to count the number of targets destroyed. function onGearDelete(gear) - -- We're only interested in target gears. if GetGearType(gear) == gtTarget then - -- Add one point to our score/counter - score = score + 1 - -- If we haven't reached the goal ... - if score < score_goal then - -- ... spawn another target. - spawnTarget() - else - if not game_lost then - -- Otherwise show that the goal was accomplished - ShowMission(loc("Bazooka Training"), loc("Aiming Practice"), loc("Congratulations! You've eliminated all targets|within the allowed time frame."), 0, 0) - -- Also let the hogs shout "victory!" - PlaySound(sndVictory) - -- Save the time left so we may keep it. - time_goal = TurnTimeLeft - end + targetsLeft = targetsLeft - 1 + targetGears[gear] = nil + if targetsLeft <= 0 then + newGamePhase() + end + elseif GetGearType(gear) == gtShell then + bazookasInGame = bazookasInGame - 1 + bazookaGears[gear] = nil + if bazookasInGame == 0 and GetAmmoCount(hog, amBazooka) == 0 then + limitedAmmoReset = 20 + flawless = false end end end --- This function is called when a gear has been damaged. --- We only use it to determine wheather our hog took damage in order to abort the mission. -function onGearDamage(gear, damage) - if GetGearType(gear) == gtHedgehog then - if not game_lost then - game_lost = true - AddCaption(loc("You lose!"), 0xFFFFFFFF, capgrpGameState) - ShowMission(loc("Bazooka Training") , loc("Aiming Practice"), loc("Oh no! You failed! Just try again."), -amSkip, 0) - - time_goal = 1 - end +function onGearDamage(gear) + if gear == hog then + flawless = false end end +function onGameTick20() + -- Reset targets and ammo if ammo depleted + if limitedAmmoReset > 0 then + limitedAmmoReset = limitedAmmoReset - 20 + end + if limitedAmmoReset == 0 then + if not gameOver and bazookasInGame == 0 and GetAmmoCount(hog, amBazooka) == 0 then + for gear, _ in pairs(targetGears) do + DeleteGear(gear) + end + spawnTargets(3) + AddCaption(loc("Out of ammo! Try again!")) + AddAmmo(hog, amBazooka, limitedAmmo) + SetWeapon(amBazooka) + missedTauntTimer = 1000 + end + limitedAmmoReset = -1 + end + if missedTauntTimer > 0 then + missedTauntTimer = missedTauntTimer - 20 + end + if missedTauntTimer == 0 then + PlaySound(sndMissed, hog) + missedTauntTimer = -1 + end --- This function is called after a gear is added. --- We use it to count the number of bazooka shots. -function onGearAdd(gear) - -- Count the number of bazooka shots for our stats - if GetGearType(gear) == gtShell then - shots = shots + 1 + if not weaponSelected and gamePhase == 1 and GetCurAmmoType() == amBazooka then + newGamePhase() + weaponSelected = true end end + +function onAmmoStoreInit() + SetAmmo(amBazooka, 9, 0, 0, 0) +end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Training/Basic_Training_-_Flying_Saucer.lua --- a/share/hedgewars/Data/Missions/Training/Basic_Training_-_Flying_Saucer.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Flying_Saucer.lua Sun Jun 10 19:12:26 2018 +0200 @@ -62,7 +62,7 @@ InfFuel = true, MessageTime = 10000, Message = loc("Get to the crate using your flying saucer!") .. "|" .. - loc("Press [Attack] (space bar by default) to start,|repeadedly tap the up, left and right movement keys to accelerate.") .. "|" .. + loc("Press [Attack] (space bar by default) to start,|repeatedly tap the up, left and right movement keys to accelerate.") .. "|" .. loc("Try to land softly, as you can still take fall damage!"), } TargetPos[3] = { Targets = {{ X = 689, Y = 58 }}, @@ -140,7 +140,7 @@ loc("You have to destroy two targets, but the previous technique would be very difficult or dangerous to use.") .. "|" .. loc("So you are able to launch projectiles into your aiming direction, always at full power.") .."|".. loc("To launch a projectile in mid-flight, hold [Precise] and press [Long jump].") .. "|" .. - loc("You can even change your aiming direction in mid-flight if you first hold [Precice] and then press [Up] or [Down].") .. "|" .. + loc("You can even change your aiming direction in mid-flight if you first hold [Precise] and then press [Up] or [Down].") .. "|" .. loc("Tip: Changing your aim while flying is very difficult, so adjust it before you take off."), Ammo = { [amJetpack] = 1, }, Respawn = { X = 1764, Y = 916 }, @@ -430,6 +430,9 @@ if (TargetNumber == LaunchTarget or TargetNumber == UnderwaterAttackTarget) and BazookasLeft > 0 then AddAmmo(Player, amBazooka, BazookasLeft) end + -- If player starts using saucer, the player probably finished reading and the mission panel + -- would just get in the way. So we hide it! + HideMission() end if GetGearType(Gear) == gtGrenade then GrenadeThrown = true @@ -491,7 +494,9 @@ function onNewTurn() - SetWeapon(amJetpack) + if GetAmmoCount(CurrentHedgehog, amJetpack) > 0 then + SetWeapon(amJetpack) + end end function onGameTick20() @@ -550,9 +555,7 @@ end end -function onHogAttack(ammoType) - if ammoType == amSkip then - AddCaption(loc("Try again!"), 0xFFFFFFFF, capgrpMessage2) - ResetCurrentTarget() - end +function onSkipTurn() + AddCaption(loc("Try again!"), 0xFFFFFFFF, capgrpMessage2) + ResetCurrentTarget() end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Training/Basic_Training_-_Grenade.lua --- a/share/hedgewars/Data/Missions/Training/Basic_Training_-_Grenade.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Grenade.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,193 +1,223 @@ --- Hedgewars Grenade Training --- Scripting Example +--[[ + Basic Grenade Training --- Lines such as this one are comments - they are ignored --- by the game, no matter what kind of text is in there. --- It's also possible to place a comment after some real --- instruction as you see below. In short, everything --- following "--" is ignored. - ---------------------------------------------------------------- --- At first we implement the localization library using loadfile. --- This allows us to localize strings without needing to think --- about translations. --- We can use the function loc(text) to localize a string. + This training mission teaches players how to use the grenade. + Lesson plan: + - Selecting grenade + - Aiming and shooting + - Timer + - No wind + - Bounciness +]] HedgewarsScriptLoad("/Scripts/Locale.lua") --- This variable will hold the number of destroyed targets. -local score = 0 --- This variable represents the number of targets to destroy. -local score_goal = 5 --- This variable controls how many milliseconds/ticks we'd --- like to wait before we end the round once all targets --- have been destroyed. -local end_timer = 4000 -- 5000 ms = 5 s --- This variable is set to true if the game is lost (i.e. --- time runs out). -local game_lost = false --- This variable ensures that the death function isn't called --- repeatedly when game is over. -local team_death = false --- This variable will point to the hog's gear -local player = nil --- This variable will grab the time left at the end of the round -local time_goal = 0 +local hog -- Hog gear +local weaponSelected = false -- Player has selected the weapon +local gamePhase = 0 -- Used to track progress +local targetsLeft = 0 -- # of targets left in this round +local targetGears = {} -- list of target gears +local gameOver = false -- If true, game has ended +local shotsFired = 0 -- Total # of grenades fired +local maxTargets = 0 -- Target counter, used together with flawless +local flawless = true -- track flawless victory (100% accuracy, no hurt, no death) +local missedTauntTimer = -1 -- Wait timer for playing sndMissed. -1 = no-op + +function onGameInit() + + ClearGameFlags() + EnableGameFlags(gfDisableWind, gfOneClanMode, gfInfAttack, gfSolidLand, gfArtillery) + Map = "Mushrooms" + Seed = 0 + Theme = "Nature" + TurnTime = 9999000 + Explosives = 0 + MinesNum = 0 + CaseFreq = 0 + WaterRise = 0 + HealthDecrease = 0 + + ------ TEAM LIST ------ + + AddTeam(loc("Grenade Team"), 0xFF0204, "Flower", "Earth", "Default", "cm_grenade") + hog = AddHog(loc("Greenhorn"), 0, 1, "NoHat") + SetGearPosition(hog, 570, 157) + SetEffect(hog, heResurrectable, 1) --- This is a custom function to make it easier to --- spawn more targets with just one line of code --- You may define as many custom functions as you --- like. -function spawnTarget() - -- add a new target gear - gear = AddGear(0, 0, gtTarget, 0, 0, 0, 0) - - -- move it to a random position within 0 and - -- LAND_WIDTH - the width of the map - FindPlace(gear, true, 0, LAND_WIDTH-326) - - -- move the target to a higher vertical position - -- to ensure it's not somewhere down below - x, y = GetGearPosition(gear) - SetGearPosition(gear, x, 0) + SendHealthStatsOff() +end + +function onGearResurrect(gear) + if gear == hog then + flawless = false + SetGearPosition(hog, 570, 157) + AddCaption(loc("Your hedgehog has been revived!")) + end +end + +local function placeGirders() + PlaceGirder(918, 248, 1) + PlaceGirder(888, 129, 6) + PlaceGirder(844, 35, 1) + PlaceGirder(932, 37, 3) + PlaceGirder(926, 148, 6) + PlaceGirder(73, 812, 5) + PlaceGirder(189, 930, 5) + PlaceGirder(15, 669, 6) + PlaceGirder(15, 507, 6) + PlaceGirder(15, 344, 6) + PlaceGirder(62, 27, 0) + PlaceGirder(229, 115, 0) + PlaceGirder(1195, 250, 7) + PlaceGirder(1285, 205, 1) + PlaceGirder(1358, 201, 3) + PlaceGirder(1756, 415, 6) + PlaceGirder(1893, 95, 6) + PlaceGirder(1005, 333, 5) + PlaceGirder(1860, 187, 0) end --- This function is called before the game loads its --- resources. --- It's one of the predefined function names that will --- be called by the game. They give you entry points --- where you're able to call your own code using either --- provided instructions or custom functions. -function onGameInit() - -- At first we have to overwrite/set some global variables - -- that define the map, the game has to load, as well as - -- other things such as the game rules to use, etc. - -- Things we don't modify here will use their default values. +local function spawnTargets() + -- Warm-up + if gamePhase == 0 then + AddGear(882, 39, gtTarget, 0, 0, 0, 0) + -- Timer + elseif gamePhase == 2 then + AddGear(233, 97, gtTarget, 0, 0, 0, 0) + AddGear(333, 255, gtTarget, 0, 0, 0, 0) + AddGear(753, 225, gtTarget, 0, 0, 0, 0) + -- No Wind + elseif gamePhase == 3 then + AddGear(15, 240, gtTarget, 0, 0, 0, 0) + AddGear(61, 9, gtTarget, 0, 0, 0, 0) + AddGear(945, 498, gtTarget, 0, 0, 0, 0) + -- Bounciness + elseif gamePhase == 4 then + AddGear(323, 960, gtTarget, 0, 0, 0, 0) + AddGear(1318, 208, gtTarget, 0, 0, 0, 0) + AddGear(1697, 250, gtTarget, 0, 0, 0, 0) + AddGear(1852, 100, gtTarget, 0, 0, 0, 0) + -- Grand Final + elseif gamePhase == 5 then + AddGear(186, 473, gtTarget, 0, 0, 0, 0) + AddGear(950, 250, gtTarget, 0, 0, 0, 0) + AddGear(1102, 345, gtTarget, 0, 0, 0, 0) + AddGear(1556, 297, gtTarget, 0, 0, 0, 0) + end +end - -- The base number for the random number generator - Seed = 1 - -- Game settings and rules - GameFlags = gfInfAttack + gfOneClanMode - -- The time the player has to move each round (in ms) - TurnTime = 60000 - -- The frequency of crate drops - CaseFreq = 0 - -- The number of mines being placed - MinesNum = 0 - -- The number of explosives being placed - Explosives = 0 - -- The delay between each round - Delay = 1 - -- The map to be played - Map = "Battlefield" - -- The theme to be used - Theme = "Castle" - -- Setting these 2 values to 0 is the official way to disable Sudden Death cleanly - HealthDecrease = 0 -- Sudden Death damage - WaterRise = 0 -- Water rise in Sudden Death - - -- Create the player team - AddTeam(loc("Grenadiers"), 14483456, "Simple", "Island", "Default", "cm_grenade") - -- And add a hog to it - player = AddHog(loc("Nade Boy"), 0, 1, "war_grenadier1") - SetGearPosition(player, 506, 76) +function onGameStart() + placeGirders() + spawnTargets() + ShowMission(loc("Basic Grenade Training"), loc("Basic Training"), loc("Destroy all the targets!"), -amGrenade, 0) end --- This function is called when the round starts --- it spawns the first target that has to be destroyed. --- In addition it shows the scenario goal(s). -function onGameStart() - -- Spawn the first target. - spawnTarget() - - -- Show some nice mission goals. - -- Parameters are: caption, sub caption, description, - -- extra text, icon and time to show. - -- A negative icon parameter (-n) represents the n-th weapon icon - -- A positive icon paramter (n) represents the (n+1)-th mission icon - -- A timeframe of 0 is replaced with the default time to show. - ShowMission(loc("Grenade Training"), loc("Aiming Practice"), loc("Eliminate all targets before your time runs out.|You have unlimited ammo for this mission."), -amGrenade, 0) +function newGamePhase() + -- Spawn targets, update wind and ammo, show instructions + if gamePhase == 0 then + ShowMission(loc("Basic Grenade Training"), loc("Select Weapon"), loc("To begin with the training, select the grenade from the ammo menu!").."|".. + loc("Open ammo menu: [Right click]").."|".. + loc("Select weapon: [Left click]"), 2, 5000) + elseif gamePhase == 1 then + ShowMission(loc("Basic Grenade Training"), loc("Warming Up"), + loc("Throw a grenade to destroy the target!").."|".. + loc("Hold the Attack key pressed for more power.").."|".. + loc("Attack: [Space]").."|".. + loc("Aim: [Up]/[Down]").."|".. + loc("Change direction: [Left]/[Right]").."|".. + loc("Note: Walking is disabled in this mission."), 2, 20000) + spawnTargets() + elseif gamePhase == 2 then + ShowMission(loc("Basic Grenade Training"), loc("Timer"), + loc("You can change the detonation timer of grenades.").."|".. + loc("Grenades explode after 1 to 5 seconds (you decide).").."|".. + loc("Set detonation timer: [1]-[5]"), 2, 15000) + spawnTargets() + elseif gamePhase == 3 then + ShowMission(loc("Basic Grenade Training"), loc("No Wind Influence"), loc("Unlike bazookas, grenades are not influenced by wind.").."|".. + loc("Destroy the targets!"), 2, 6000) + SetWind(50) + spawnTargets() + elseif gamePhase == 4 then + ShowMission(loc("Basic Grenade Training"), loc("Bounciness"), + loc("You can set the bounciness of grenades (and grenade-like weapons).").."|".. + loc("Grenades with high bounciness bounce a lot and behave chaotic.").."|".. + loc("With low bounciness, it barely bounces at all, but it is much more predictable.").."|".. + loc("Try out different bounciness levels to reach difficult targets.").."|".. + loc("Set bounciness: [Left Shift] + [1]-[5]"), + 2, 20000) + spawnTargets() + elseif gamePhase == 5 then + ShowMission(loc("Basic Grenade Training"), loc("Final Targets"), loc("Good job! Now destroy the final targets to finish the training.").."|".. + loc("Precise Aim: [Left Shift] + [Up]/[Down]"), + 2, 7000) + spawnTargets() + elseif gamePhase == 6 then + ShowMission(loc("Basic Grenade Training"), loc("Training complete!"), loc("Congratulations!"), 0, 0) + SetInputMask(0) + AddAmmo(CurrentHedgehog, amGrenade, 0) + if shotsFired > maxTargets then + flawless = false + end + if flawless then + PlaySound(sndFlawless, hog) + else + PlaySound(sndVictory, hog) + end + SendStat(siCustomAchievement, loc("Good job!")) + SendStat(siGameResult, loc("You have completed the Basic Grenade Training!")) + SendStat(siPlayerKills, "0", loc("Grenade Team")) + EndGame() + gameOver = true + end + gamePhase = gamePhase + 1 end function onNewTurn() - SetWeapon(amGrenade) + if gamePhase == 0 then + newGamePhase() + end +end + +function onGameTick20() + if not weaponSelected and gamePhase == 1 and GetCurAmmoType() == amGrenade then + newGamePhase() + weaponSelected = true + end end --- This function is called every game tick. --- Note that there are 1000 ticks within one second. --- You shouldn't try to calculate too complicated --- code here as this might slow down your game. -function onGameTick20() - -- If time's up, set the game to be lost. - -- We actually check the time to be "1 ms" as it - -- will be at "0 ms" right at the start of the game. - if TurnTimeLeft < 40 and TurnTimeLeft > 0 and score < score_goal then - game_lost = true - -- ... and show a short message. - ShowMission(loc("Grenade Training"), loc("Aiming Practice"), loc("Oh no! Time's up! Just try again."), -amSkip, 0) - -- How about killing our poor hog due to his poor performance? - SetHealth(player, 0) - -- Just to be sure set the goal time to 1 ms - time_goal = 1 +function onHogAttack(ammoType) + if ammoType == amGrenade then + HideMission() end - -- If the goal is reached or we've lost ... - if score == score_goal or game_lost then - -- ... check to see if the time we'd like to - -- wait has passed and then ... - if end_timer == 0 then - -- Override the 'Draw' message with the appropriate message. - if game_lost then - AddCaption(loc("Mission lost!"), 0xffba00ff,capgrpGameState) - else - AddCaption(loc("Mission won!"), 0xffba00ff,capgrpGameState) - end - -- Remove the team to end the game. Only do this once. - if team_death == false then - team_death = true - DismissTeam(loc("Grenadiers")) - end - else - -- ... or just lower the timer by 1. - end_timer = end_timer - 20 - -- Reset the time left to stop the timer - TurnTimeLeft = time_goal +end + +function onGearAdd(gear) + if GetGearType(gear) == gtTarget then + targetsLeft = targetsLeft + 1 + maxTargets = maxTargets + 1 + targetGears[gear] = true + elseif GetGearType(gear) == gtGrenade then + shotsFired = shotsFired + 1 + end +end + +function onGearDelete(gear) + if GetGearType(gear) == gtTarget then + targetsLeft = targetsLeft - 1 + targetGears[gear] = nil + if targetsLeft <= 0 then + newGamePhase() end end end --- This function is called when the game is initialized --- to request the available ammo and probabilities -function onAmmoStoreInit() - -- add an unlimited supply of bazooka ammo - SetAmmo(amGrenade, 9, 0, 0, 0) +function onGearDamage(gear) + if gear == hog then + flawless = false + end end --- This function is called when a new gear is added. --- We don't need it for this training, so we can --- keep it empty. --- function onGearAdd(gear) --- end - --- This function is called before a gear is destroyed. --- We use it to count the number of targets destroyed. -function onGearDelete(gear) - -- We're only interested in target gears. - if GetGearType(gear) == gtTarget then - -- Add one point to our score/counter - score = score + 1 - -- If we haven't reached the goal ... - if score < score_goal then - -- ... spawn another target. - spawnTarget() - else - if not game_lost then - -- Otherwise show that the goal was accomplished - ShowMission(loc("Grenade Training"), loc("Aiming Practice"), loc("Congratulations! You've eliminated all targets|within the allowed time frame."), 0, 0) - -- Also let the hogs shout "victory!" - PlaySound(sndVictory) - -- Save the time left so we may keep it. - time_goal = TurnTimeLeft - end - end - end +function onAmmoStoreInit() + SetAmmo(amGrenade, 9, 0, 0, 0) end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Training/Basic_Training_-_Movement.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Movement.lua Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,447 @@ +-- Basic Movement Training +-- Teaches the basic movement controls. + +--[[ Lessons: +* How to show the mission panel again +* Walking +* Collecting crates +* Health basics +* Jumping +* Fall damage +* Walking and staying on ice +* Switching hedgehogs +* Bouncing on rubber +]] + +HedgewarsScriptLoad("/Scripts/Locale.lua") +HedgewarsScriptLoad("/Scripts/Tracker.lua") + +local hhs = {} +local hog_greenhorn, hog_cappy +local crates = {} +local switcherGear +local tookDamage = false +local switchTextDelay = -1 +local missionPanelConfirmed = false +local turnStarted = false + +local map = { +"\1\74\7\29\135\1\74\8\11\0\1\83\7\135\135", +"\1\250\7\135\0\1\204\7\137\135\1\238\7\135\0", +"\2\17\7\130\0\2\42\7\110\0\2\74\7\94\0", +"\2\106\7\89\0\2\99\7\121\0\2\76\7\128\0", +"\2\115\7\98\135\2\147\7\98\0\2\179\7\94\0", +"\2\147\7\96\0\2\174\7\89\0\2\145\7\91\135", +"\2\115\7\87\0\2\122\7\89\135\2\154\7\89\0", +"\2\170\7\89\0\2\179\7\105\135\2\179\7\107\135", +"\2\177\7\142\135\2\177\8\105\0\3\74\7\94\135", +"\3\74\8\50\0\3\88\7\89\135\3\129\7\89\0", +"\3\161\7\91\0\3\193\7\98\0\3\225\7\100\0", +"\4\1\7\91\0\4\33\7\89\0\4\65\7\98\0", +"\4\97\7\100\0\4\134\7\103\0\4\166\7\100\0", +"\4\200\7\98\0\4\232\7\96\0\5\8\7\96\0", +"\5\40\7\98\0\5\72\7\98\0\5\107\7\100\0", +"\5\139\7\98\0\5\173\7\89\0\5\207\7\94\0", +"\5\239\7\100\0\6\15\7\100\0\6\47\7\100\0", +"\6\86\7\100\0\6\118\7\100\0\6\153\7\94\0", +"\6\185\7\91\0\6\219\7\91\0\6\251\7\98\0", +"\7\27\7\103\0\7\61\7\100\0\7\94\7\96\0", +"\7\126\7\91\0\7\160\7\94\0\7\192\7\105\0", +"\7\224\7\116\0\7\254\7\126\0\8\34\7\123\0", +"\8\66\7\119\0\8\98\7\114\0\8\133\7\119\0", +"\8\165\7\132\0\8\195\7\142\0\8\229\7\146\0", +"\9\5\7\151\0\9\37\7\155\0\9\69\7\164\0", +"\9\101\7\174\0\9\131\7\190\0\9\160\7\208\0", +"\9\186\7\226\0\9\215\7\240\0\9\250\7\238\0", +"\10\26\7\233\0\10\58\7\233\0\10\90\7\235\0", +"\10\122\7\238\0\10\154\7\238\0\10\186\7\249\0", +"\10\213\8\14\0\10\245\8\9\0\11\3\8\39\0", +"\11\24\8\66\0\11\10\8\62\0\10\213\8\5\135", +"\10\245\8\7\0\11\21\8\14\0\11\56\8\25\0", +"\11\92\8\37\0\11\106\8\43\0\9\85\8\0\147", +"\9\83\8\0\0\8\208\7\233\147\3\168\7\197\147", +"\8\94\7\197\0\2\83\7\210\147\1\179\7\238\0", +"\1\44\7\84\139\1\12\7\87\0\0\238\7\98\0", +"\0\211\7\119\0\0\190\7\144\0\0\165\7\164\0", +"\0\146\7\190\0\0\140\7\222\0\0\142\7\254\0", +"\0\153\8\30\0\0\156\8\37\0\1\7\7\178\139", +"\0\247\7\210\0\0\224\7\238\0\0\215\8\14\0", +"\0\215\8\18\0\1\5\7\238\139\1\19\8\11\0", +"\1\32\8\43\0\1\39\8\62\0\1\67\7\32\136", +"\1\69\6\253\0\1\69\6\219\0\1\69\6\187\0", +"\1\74\6\155\0\1\80\6\123\0\1\51\6\109\0", +"\1\35\6\80\0\1\12\6\105\0\0\243\6\132\0", +"\0\233\6\176\0\0\252\6\212\0\1\14\6\240\0", +"\0\252\7\13\0\0\233\6\219\0\0\238\6\182\0", +"\0\238\6\148\0\1\12\6\164\0\1\9\6\201\0", +"\0\236\6\224\0\0\206\6\251\0\0\165\7\32\0", +"\0\144\7\57\0\0\124\7\82\0\0\103\7\107\0", +"\0\96\7\144\0\0\92\7\176\0\0\112\7\139\0", +"\0\121\7\105\0\0\130\7\61\0\0\142\7\25\0", +"\0\156\6\251\0\0\188\6\247\0\0\201\6\217\0", +"\0\167\6\224\0\0\146\6\251\0\0\130\7\25\0", +"\0\112\7\66\0\0\98\7\110\0\0\98\7\142\0", +"\0\98\7\174\0\0\101\7\206\0\0\101\7\238\0", +"\0\126\8\7\0\0\137\8\14\0\10\46\7\245\136", +"\10\14\7\247\0\9\241\7\229\0\9\209\7\222\0", +"\9\176\7\226\0\9\138\7\233\0\9\94\7\233\0", +"\9\62\7\233\0\9\46\7\235\0\2\53\7\139\136", +"\2\21\7\137\0\1\250\7\119\0\1\218\7\116\0", +"\1\186\7\119\0\1\151\7\119\0\1\119\7\114\0", +"\1\92\7\135\0\1\78\7\132\0" } + +local function drawMap() + for m=1, #map do + ParseCommand("draw "..map[m]) + end +end + +function onGameInit() + GameFlags = gfDisableWind + gfDisableGirders + gfDisableLandObjects + gfOneClanMode + gfInfAttack + Map = "" + Seed = 0 + Theme = "Brick" + MapGen = mgDrawn + TurnTime = 9999000 + Explosives = 0 + MinesNum = 0 + CaseFreq = 0 + WaterRise = 0 + HealthDecrease = 0 + + -- DRAW MAP -- + drawMap() + + ------ HOG LIST ------ + AddTeam(loc("Training Team"), 0xFF0204, "deadhog", "SteelTower", "Default", "hedgewars") + + hhs[1] = AddHog(loc("Greenhorn"), 0, 100, "NoHat") + SetGearPosition(hhs[1], 404, 1714) + SetEffect(hhs[1], heResurrectable, 1) + + hhs[2] = AddHog(loc("Rhombus"), 0, 100, "NoHat") + SetGearPosition(hhs[2], 620, 1538) + SetEffect(hhs[2], heResurrectable, 1) + HogTurnLeft(hhs[2], true) + + hhs[3] = AddHog(loc("Trapped"), 0, 100, "NoHat") + SetGearPosition(hhs[3], 1573, 1824) + SetEffect(hhs[3], heResurrectable, 1) + + hhs[4] = AddHog(loc("Cappy"), 0, 100, "cap_red") + SetGearPosition(hhs[4], 2114, 1411) + SetEffect(hhs[4], heResurrectable, 1) + HogTurnLeft(hhs[4], true) + + hhs[5] = AddHog(loc("Ice"), 0, 100, "NoHat") + SetGearPosition(hhs[5], 1813, 1285) + SetEffect(hhs[5], heResurrectable, 1) + + hog_greenhorn = hhs[1] + hog_cappy = hhs[4] + + SendHealthStatsOff() +end + +local function LoadGearData() + + --BEGIN CORE DATA-- + + local iceColor = 0x00FAFAFA + + ------ GIRDER LIST ------ + PlaceSprite(292, 1488, sprAmGirder, 6, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(454, 1731, sprAmGirder, 4, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(467, 1653, sprAmGirder, 4, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(611, 1702, sprAmGirder, 5, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(426, 1558, sprAmGirder, 7, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(555, 1558, sprAmGirder, 5, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(649, 1600, sprAmGirder, 7, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1072, 1809, sprAmGirder, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1040, 1831, sprAmGirder, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1124, 1805, sprAmGirder, 2, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1175, 1772, sprAmGirder, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1226, 1738, sprAmGirder, 2, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1275, 1705, sprAmGirder, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1325, 1683, sprAmGirder, 6, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1368, 1560, sprAmGirder, 3, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1390, 1665, sprAmGirder, 6, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1481, 1716, sprAmGirder, 4, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1625, 1652, sprAmGirder, 7, iceColor, nil, nil, nil, lfIce) + PlaceSprite(1729, 1596, sprAmGirder, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1762, 1545, sprAmGirder, 2, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1563, 1536, sprAmGirder, 5, iceColor, nil, nil, nil, lfIce) + PlaceSprite(1506, 1392, sprAmGirder, 6, iceColor, nil, nil, nil, lfIce) + PlaceSprite(1591, 1450, sprAmGirder, 3, iceColor, nil, nil, nil, lfIce) + PlaceSprite(1650, 1463, sprAmGirder, 1, iceColor, nil, nil, nil, lfIce) + PlaceSprite(1766, 1492, sprAmGirder, 4, iceColor, nil, nil, nil, lfIce) + PlaceSprite(1925, 1492, sprAmGirder, 4, iceColor, nil, nil, nil, lfIce) + PlaceSprite(2114, 1428, sprAmGirder, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2187, 1435, sprAmGirder, 6, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2135, 1478, sprAmGirder, 2, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2284, 1650, sprAmGirder, 4, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2005, 1724, sprAmGirder, 4, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1885, 1562, sprAmGirder, 7, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2252, 1700, sprAmGirder, 2, iceColor, nil, nil, nil, lfIce) + PlaceSprite(2308, 1803, sprAmGirder, 5, iceColor, nil, nil, nil, lfIce) + PlaceSprite(2394, 1893, sprAmGirder, 1, iceColor, nil, nil, nil, lfIce) + PlaceSprite(605, 1761, sprAmGirder, 2, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1813, 1312, sprAmGirder, 4, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1742, 1260, sprAmGirder, 2, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1812, 1210, sprAmGirder, 4, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1884, 1260, sprAmGirder, 2, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1545, 1811, sprAmGirder, 2, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1577, 1761, sprAmGirder, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1610, 1811, sprAmGirder, 2, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1440, 1531, sprAmGirder, 6, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2082, 1337, sprAmGirder, 6, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2187, 1273, sprAmGirder, 6, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2097, 1246, sprAmGirder, 4, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(593, 1465, sprAmGirder, 7, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(684, 1505, sprAmGirder, 5, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2046, 1492, sprAmGirder, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2064, 1442, sprAmGirder, 2, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1849, 1426, sprAmGirder, 4, iceColor, nil, nil, nil, lfIce) + PlaceSprite(3051, 1957, sprAmGirder, 6, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(3101, 1956, sprAmGirder, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(3150, 1954, sprAmGirder, 6, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(3233, 1962, sprAmGirder, 5, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(3322, 2004, sprAmGirder, 3, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(3391, 2001, sprAmGirder, 1, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(3483, 1982, sprAmGirder, 7, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2770, 1980, sprAmGirder, 4, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2886, 2005, sprAmGirder, 1, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2698, 1891, sprAmGirder, 6, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2843, 1891, sprAmGirder, 6, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2834, 1771, sprAmGirder, 5, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2706, 1771, sprAmGirder, 7, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2768, 1818, sprAmGirder, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(2768, 1899, sprAmGirder, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(1760, 1393, sprAmGirder, 2, 0xFFFFFFFF, nil, nil, nil, lfNormal) + PlaceSprite(516, 1795, sprAmGirder, 4, 0xFFFFFFFF, nil, nil, nil, lfNormal) + + ------ RUBBER LIST ------ + PlaceSprite(2151, 1659, sprAmRubber, 3, 0xFFFFFFFF, nil, nil, nil, lfBouncy) + PlaceSprite(2399, 1698, sprAmRubber, 3, 0xFFFFFFFF, nil, nil, nil, lfBouncy) + PlaceSprite(2467, 1553, sprAmRubber, 2, 0xFFFFFFFF, nil, nil, nil, lfBouncy) + PlaceSprite(2279, 1497, sprAmRubber, 0, 0xFFFFFFFF, nil, nil, nil, lfBouncy) + PlaceSprite(2414, 1452, sprAmRubber, 0, 0xFFFFFFFF, nil, nil, nil, lfBouncy) + PlaceSprite(1860, 1687, sprAmRubber, 1, 0xFFFFFFFF, nil, nil, nil, lfBouncy) + + ------ SPRITE LIST ------ + PlaceSprite(1297, 1732, sprTargetBee, 0, 0xFFFFFFFF, nil, nil, nil, lfNormal) + + ------ CRATE LIST ------ + crates[1] = SpawnHealthCrate(401, 1850) -- Jumping + crates[2] = SpawnHealthCrate(2639, 1973) -- Final crate + crates[3] = SpawnHealthCrate(1969, 1698) -- Rubber + crates[4] = SpawnHealthCrate(889, 1829) -- Back Jumping + crates[5] = SpawnHealthCrate(1486, 1694) -- Walking on Ice + crates[6] = SpawnHealthCrate(2033, 1470) -- Walking on Ice completed + crates[7] = SpawnHealthCrate(1297, 1683) -- Back Jumping 2 + crates[8] = SpawnSupplyCrate(1851, 1402, amSwitch, 100) -- Switch Hedgehog + crates[9] = SpawnHealthCrate(564, 1772) -- Health + crates[10] = SpawnHealthCrate(2290, 1622) -- Turning Around +end + +local function victory() + ShowMission(loc("Basic Movement Training"), loc("Training complete!"),loc("Congratulations! You have completed the obstacle course!"), 0, 0) + SendStat(siGameResult, loc("You have completed the Basic Movement Training!")) + SendStat(siCustomAchievement, loc("Congratulations!")) + SendStat(siPlayerKills, "0", loc("Training Team")) + PlaySound(sndVictory, CurrentHedgehog) + -- Disable controls, end game + SetInputMask(0) + SetWeapon(amNothing) + SetGearMessage(CurrentHedgehog, band(GetGearMessage(CurrentHedgehog), bnot(gmAllStoppable))) + EndGame() +end + +local function switchHedgehogText() + if CurrentHedgehog == hog_cappy then + ShowMission(loc("Basic Movement Training"), loc("Switch Hedgehog (3/3)"), + loc("This is Cappy.").."|".. + loc("To finish hedgehog selection, just do anything|with him, like walking."), + 2, 20000) + else + ShowMission(loc("Basic Movement Training"), loc("Switch Hedgehog (2/3)"), + loc("You have activated Switch Hedgehog!").."|".. + loc("The spinning arrows above your hedgehog show|which hedgehog is selected right now.").."|".. + loc("Hit the “Switch Hedgehog” key until you have|selected Cappy, the hedgehog with the cap!").."|".. + loc("Switch hedgehog: [Tabulator]"), 2, 20000) + end +end + +function onGearAdd(gear) + if GetGearType(gear) == gtSwitcher then + switcherGear = gear + switchHedgehogText() + end +end + +function onGearDelete(gear) + -- Switching done + if GetGearType(gear) == gtSwitcher then + switcherGear = nil + if CurrentHedgehog == hog_cappy then + ShowMission(loc("Basic Movement Training"), loc("Leap of Faith"), + loc("Good! You now control Cappy.").."|".. + loc("Collect the remaining crates to complete the training."), + 2, 0) + else + ShowMission(loc("Basic Movement Training"), loc("Switch Hedgehog (Failed!)"), + loc("Oops! You have selected the wrong hedgehog! Just try again.").."|".. + loc("Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key to proceed.").."|".. + loc("Open ammo menu: [Right click]").."|".. + loc("Attack: [Space]"), 2, 0) + end + + -- Crate collected (or destroyed, but this should not be possible) + elseif gear == crates[1] then + ShowMission(loc("Basic Movement Training"), loc("Jumping"), + loc("Get the next crate by jumping over the abyss.").."|".. + loc("Careful, hedgehogs can't swim!").."|".. + loc("Long Jump: [Enter]"), 2, 5000) + elseif gear == crates[2] then + victory() + elseif gear == crates[4] then + ShowMission(loc("Basic Movement Training"), loc("Back Jumping (1/2)"), + loc("For the next crate, you have to do back jumps.") .. "|" .. + loc("To reach higher ground, walk to a ledge, look to the left, then do a back jump.") .. "|" .. + loc("High Jump: [Backspace]").."|"..loc("Back Jump: [Backspace] ×2"), 2, 6600) + elseif gear == crates[7] then + ShowMission(loc("Basic Movement Training"), loc("Back Jumping (2/2)"), + loc("To get over the next obstacle, you need to perform your back jump precisely.").."|".. + loc("Hint: Hit “High Jump” again when you're close to the highest point of a high jump.").."|".. + loc("Hint: Don't stand too close at the wall before you jump!").."|".. + loc("Hint: Use the flower for orientation.").."|".. + loc("High Jump: [Backspace]").."|"..loc("Back Jump: [Backspace] ×2"), 2, 15000) + elseif gear == crates[5] then + ShowMission(loc("Basic Movement Training"), loc("Walking on Ice"), + loc("These girders are slippery, like ice.").."|".. + loc("And you need to move to the top!").."|".. + loc("If you don't want to slip away, you have to keep moving!").."|".. + loc("You can also hold down the key for “Precise Aim” to prevent slipping.").."|".. + loc("Precise Aim: [Left Shift]"), 2, 9000) + elseif gear == crates[6] then + ShowMission(loc("Basic Movement Training"), loc("A mysterious Box"), + loc("The next crate is an utility crate.").."|"..loc("What's in the box, you ask? Let's find out!").."|".. + loc("Remember: Hold down [Left Shift] to prevent slipping"), 2, 6000) + elseif gear == crates[8] then + ShowMission(loc("Basic Movement Training"), loc("Switch Hedgehog (1/3)"), + loc("You have collected the “Switch Hedgehog” utility!").."|".. + loc("This allows to select any hedgehog in your team!").."|".. + loc("Select “Switch Hedgehog” from the ammo menu and|hit the “Attack” key.").."|".. + loc("Open ammo menu: [Right click]").."|".. + loc("Attack: [Space]"), 2, 30000) + elseif gear == crates[3] then + ShowMission(loc("Basic Movement Training"), loc("Rubber"), loc("As you probably noticed, these rubber bands|are VERY elastic. Hedgehogs and many other|things will bounce off without taking any damage.").."|".. + loc("Now try to get out of this bounce house|and take the next crate."), 2, 8000) + elseif gear == crates[9] then + ShowMission(loc("Basic Movement Training"), loc("Health"), loc("You just got yourself some extra health.|The more health your hedgehogs have, the better!").."|".. + loc("Now go to the next crate.").."|".. + loc("Look around: [Mouse movement]"), 2, 10000) + elseif gear == crates[10] then + ShowMission(loc("Basic Movement Training"), loc("Turning Around"), + loc("By the way, you can turn around without walking|by holding down Precise when you hit a walk control.").."|".. + loc("Get the final crate to the right to complete the training.").."|".. + loc("Turn around: [Left Shift] + [Left]/[Right]") + , 2, 8000) + end +end + +function onGearDamage(gear) + if GetGearType(gear) == gtHedgehog and tookDamage == false then + ShowMission(loc("Basic Movement Training"), loc("Fall Damage"), loc("Ouch! You just took fall damage.").."|".. + loc("Better get yourself another health crate to heal your wounds."), 2, 5000) + tookDamage = true + end +end + +function onSwitch() + -- Update help while switching hogs + if switcherGear then + -- Delay for CurrentHedgehog to update + switchTextDelay = 1 + end +end + +local function firstMission() + -- This part is CRITICALLY important for all future missions. + -- Because the player must know how to show the current mission texts again. + -- We force the player to hit Attack before the actual training begins. + ShowMission(loc("Basic Movement Training"), loc("Mission Panel"), + loc("This is the mission panel.").."|".. + loc("Here you will find the current mission instructions.").."|".. + loc("Normally, the mission panel disappears after a few seconds.").."|".. + loc("IMPORTANT: To see the mission panel again, use the quit or pause key.").."| |".. + loc("Note: This basic training assumes default controls.").."|".. + loc("Quit: [Esc]").."|".. + loc("Pause: [P]").."| |".. + loc("To begin with the training, hit the attack key!").."|".. + loc("Attack: [Space]"), 2, 900000) + + -- TODO: This and other training missions are currently hardcoding control names. + -- This should be fixed eventually. +end + +function onGameTick20() + if switchTextDelay > 0 then + switchTextDelay = switchTextDelay - 1 + elseif switchTextDelay == 0 then + switchHedgehogText() + switchTextDelay = -1 + end + if turnStarted and GameTime % 10000 == 0 and not missionPanelConfirmed then + -- Forces the first mission panel to be displayed without time limit + firstMission() + end +end + +function onGearResurrect(gear) + AddCaption(loc("Your hedgehog has been revived!")) + if gear == hog_cappy then + SetGearPosition(gear, 404, 1714) + elseif gear == hog_greenhorn then + SetGearPosition(gear, 401, 1850) + else + -- Generic teleport to Rhombus' cage + SetGearPosition(gear, 619, 1559) + end + FollowGear(gear) +end + +function onNewTurn() + SwitchHog(hog_greenhorn) + FollowGear(hog_greenhorn) + if not missionPanelConfirmed then + turnStarted = true + PlaySound(sndHello, hog_greenhorn) + firstMission() + end +end + +function onAttack() + if not missionPanelConfirmed then + -- Mission panel confirmed, release controls + PlaySound(sndPlaced) + SetInputMask(0xFFFFFFFF) + SetSoundMask(sndYesSir, false) + PlaySound(sndYesSir, hog_greenhorn) + -- First mission: How to walk + ShowMission(loc("Basic Movement Training"), loc("First Steps"), loc("Complete the obstacle course.") .."|".. + loc("To begin, walk to the crate to the right.").."|".. + loc("Walk: [Left]/[Right]"), 2, 7000) + missionPanelConfirmed = true + end +end + +function onGameStart() + -- Disable input to force player to confirm first message + SetInputMask(0) + SetSoundMask(sndYesSir, true) + LoadGearData() + ShowMission(loc("Basic Movement Training"), loc("Basic Training"), loc("Complete the obstacle course."), 1, 0) + FollowGear(hog_greenhorn) +end + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Training/Basic_Training_-_Rope.lua --- a/share/hedgewars/Data/Missions/Training/Basic_Training_-_Rope.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Training/Basic_Training_-_Rope.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,205 +1,399 @@ ---Created by Patrick Nielsen ---It's been so fun to create this, your welcome to contact me at Trivkz@gmail.com --- ---I've tried to keep the code as clear as possible and with comments. ---But as English is not my first language there may be spelling / grammar mistakes. --- ---I know there need to be more "tutorial" specefic messages, but I had a hard timer figuring out what to type / what would be the best technical description. +--[[ + Basic Rope Training + Teaches the player how to rope! No advanced tricks, just the basics. But fun! (I hope) + Lesson plan: + - Select rope + - Shoot rope, attach, detach + - Extend, retract, swing to reach easy target + - Multiple shots / rope re-use to go over water hazard + - Drop grenade from rope + - Special rules when you only got 1 rope (i.e. when the rope is officially used up) + - Rope around obstacles and mines +]] HedgewarsScriptLoad("/Scripts/Locale.lua") -HedgewarsScriptLoad("/Scripts/Utils.lua") -- For the gearIsInBox function, wrote my own, but decided it was a waste to include it +HedgewarsScriptLoad("/Scripts/Utils.lua") + +-- Map definition automatically converted from HWMAP file by hwmap2lua.sh +local map = +{'\2\30\7\126\135\2\28\5\52\0\1\211\6\203\135\3\207\6\189\0\3\1\5\205\135\4\120\5\203\0\2\30\5\31\135\2\35\4\173\0\1\170\4\216\135\4\150\4\248\0\3\230\4\138\135\4\54\6\22\0\3\205\6\189\135\4\154\7\91\0\4\154\7\91\135\6\57\7\41\0\4\79\6\38\135\4\221\6\112\0\4\221\6\112\135\6\27\6\70\0\3\175\6\196\135\4\51\5\235\0\3\17\6\178\135\3\161\5\226\0\4\33\7\4\135\4\191\6\93\0\4\200\7\75\135\5\45\6\137\0\6\29\6\66\135\6\98\5\123\0\6\107\7\32\135\6\237\5\249\0\6\102\5\95\135\7\169\5\6\0\7\0\5\237\135\7\235\6\20\0\7\233\6\13\135\7\226\8\43\0\13\66\6\47\135\13\100\8\57\0\7\167\5\15\135\7\164\4\51\0\7\71\4\109\135\13\235\4\132\0\13\4\6\75\135\14\242\6\57\0\14\169\6\166\135\15\183\4\86\0', +'\15\208\5\13\135\15\96\2\248\0\15\206\3\104\135\13\175\2\88\0\14\171\5\17\140\14\219\4\77\138\14\166\3\136\136\13\219\3\31\136\13\184\4\228\136\13\173\3\250\0\14\2\4\19\136\7\36\3\211\0\14\52\2\85\137\7\57\2\76\0\12\196\2\245\137\11\195\3\127\137\10\174\2\223\137\9\174\3\113\137\8\160\2\211\137\8\11\3\111\137\6\249\3\218\131\6\66\3\209\0\5\88\3\202\131\4\38\3\193\0\5\33\3\207\131\5\31\5\31\0\4\235\4\228\131\6\125\4\251\0\6\98\3\214\131\6\80\5\1\0\7\41\2\104\136\3\253\2\72\0\4\31\3\207\133\1\149\3\166\0\2\243\4\15\133\1\117\2\202\0\1\149\3\60\133\1\211\1\87\0\1\138\1\138\133\3\42\0\71\0\2\131\0\96\133\4\168\0\149\0\5\116\1\124\141\7\41\0\204\141\8\252\2\42\141\10\39\0\135\141\11\40\1\124\141\10\17\1\186\141', +'\12\104\0\151\141\4\29\0\156\137\14\160\0\69\0\13\182\1\133\137\13\171\2\78\0\13\201\0\78\137\13\189\0\197\0\13\194\1\195\137\15\148\2\147\0\14\189\0\59\137\15\222\0\217\0\15\226\0\215\137\15\164\2\145\0\13\217\1\211\137\15\167\1\220\0\14\208\2\37\164\8\89\1\92\139\6\146\1\211\139\8\174\2\39\203\10\19\2\7\203\11\56\1\167\203\12\106\0\217\203\7\36\1\12\203\5\182\1\163\203\6\141\1\165\203\8\71\1\135\203\8\151\3\19\203\8\7\3\70\203\9\227\3\118\203\13\66\3\113\133\13\54\4\104\0\11\200\3\26\133\11\191\4\84\0\9\160\2\255\133\9\160\4\84\0\8\16\3\163\133\8\18\4\109\0\9\108\3\53\197\10\19\3\70\0\14\25\5\228\132\14\43\4\253\130\13\237\3\241\210\13\217\3\225\210\13\95\4\74\140\7\137\4\40\0\2\209\6\75\207\3\255\6\102\0\4\1\6\107\207', +'\4\182\6\228\0\4\182\6\226\207\6\36\6\189\0\6\36\6\201\207\6\166\5\191\0\4\138\4\100\158\1\183\4\68\0\4\145\5\8\158\4\203\5\201\0\5\141\5\198\158\5\180\5\139\0\7\116\4\230\142\5\49\5\52\0\6\185\4\47\148\6\182\4\186\0\7\64\4\88\153\4\216\4\10\143\13\255\2\42\146\15\100\2\216\0\4\1\6\20\199\2\142\6\29\0\3\255\6\22\199\5\22\6\224\0\7\231\5\198\133\7\235\6\31\0\13\70\6\68\133\13\54\5\237\0\14\36\4\253\197\4\90\2\223\133\4\239\3\97\0\2\181\2\252\133\3\95\2\156\0\2\216\1\90\133\3\113\1\218\0\4\200\1\32\133\4\122\1\167\0\7\169\1\106\133\4\10\4\106\213\1\30\4\86\0\4\58\5\54\219\1\119\5\6\139\1\119\5\157\0\1\238\5\189\139\0\85\5\164\0\0\105\6\63\139\0\119\3\182\0\0\37\3\188\134\1\231\3\195\0', +'\1\142\5\13\145\1\188\5\102\0\1\199\5\59\145\3\209\5\198\134\5\59\5\102\0\4\63\5\111\134\0\121\3\225\134\4\111\3\234\0\2\255\4\106\134\3\12\4\228\0\2\58\4\120\132\13\148\2\60\132\13\146\1\106\0'} -local Player = nil -- Pointer to hog created in: onGameInit -local Target = nil -- Pointer to target hog -local GameLost = false -- You lost the game -local Objective = false -- Get to the target -local RopeMaster = false -- Achievement -local StatsSent = false -- Remember whether the stats have been sent already +local function drawMap() + for m=1, #map do + ParseCommand("draw "..map[m]) + end +end + +-- Gears +local hog +local ropeGear +local mines = {} -local WaitTime = 1000 -- Wait 1sec before quit -local FollowTime = 1500 -- For use with FollowGear -local FollowingGear = false -local BaseballIntro = false -- Fail safe for ticker -local TargetNumber = 0 -- The current target number +-- Status vars +local ropeSelected = false -- rope was selected the first time, used for msg +local ropeAttached = false -- rope was attached, used for msg +local target1Reached = false -- hog near 1st first target +local barrelsBoom = false -- barrels exploded +local wasFirstTurn = false -- first turn msg was displayed +local gameOver = false -- game over (only victory possible) +local currentTarget = 0 -- current target ID. First target = 1 + +local cpX, cpY = 208, 1384 -- hog checkpoint, initialized with start coords -local TargetPos = {} -- Tabel of targets -local Timers = {} -local GetTime = 0 +-- "Constants" +local initHogHealth = 50 +local teamName = loc("Wannabe Ropers") + +local girderData = { + {2012, 1366, 6}, -- water gate + {1156, 678, 2}, -- post-barrel gate + {1206, 905, 2}, -- post-barrel gate + {1064, 288, 6}, -- top level gate + {1064, 455, 6}, -- top level gate + {1557, 1009, 0}, -- barrel pit protection + {1436, 1003, 4}, -- barrel pit protection + {3607, 1307, 4}, -- post-water gate + {3809, 1375, 0}, -- post-water gate +} -TargetPos[ 1 ] = { X = 1100, Y = 1100, Message = loc("Now find the next target! |Tip: Normally you lose health by falling down, so be careful!") } -TargetPos[ 2 ] = { X = 1500, Y = 1490, Message = loc("You're getting pretty good! |Tip: When you shorten you rope, you move faster!|And when you lengthen it, you move slower.") } -TargetPos[ 3 ] = { X = 2200, Y = 800, Message = loc("The next one is pretty hard! |Tip: You have to do multiple swings!") } -TargetPos[ 4 ] = { X = 2870, Y = 400, Message = loc("I don't know how you did that. But good work!|The next one should be easy as cake for you!") } -TargetPos[ 5 ] = { X = 4000, Y = 1750, Message = "" } -TargetPos[ 6 ] = { Modifier = true, Func = function() -- Last target is ALWAYS the "winning" target! - Info( loc("Congratulations"), loc("Congratulations! You've completed the Basic Rope Training!"), 0 ) -- Congrats - PlaySound( sndVictory, Player ) +local mineData = { + {1261, 549}, + {1395, 554}, + {1719, 458}, + {1489, 558}, + {1686, 565}, + {1581, 561}, + {1904, 539}, + {2047, 539}, + {2226, 608}, + {2387, 541}, + {2523, 396}, + {2899, 324}, + {3428, 546}, + {3373, 546}, + {3271, 546}, + {3123, 545}, + {3012, 544}, + {2907, 544}, + {2793, 543}, +} - AddCaption( loc( "Victory!" ), 0xFFFFFFFF, capgrpGameState) - if TurnTimeLeft >= 250000 then -- If you very fast, unlock the ahievement "Rope Master!" - RopeMaster = true - AddCaption( string.format(loc("Achievement gotten: %s"), loc("Rope Master") ), 0xffba00ff, capgrpMessage2) - PlaySound( sndHomerun ) - end - Objective = true -end } +local targetData = { + -- 1: Start + {504, 1215}, + -- 2: Start 2 + {1082, 1348}, + -- 3: Before the water + {1941, 1490}, + -- 4: After the water + {3504, 1557}, + -- 5: Barrel pit + {2060, 885}, + -- 6: Grand Finale + {834, 381}, + -- 7: Goal + {3802, 356}, +} + +function onGameInit() -function Info( Title, Text, Icon ) -- I made a small wrapper to ease the process - ShowMission( loc("Rope Training"), Title, Text, Icon, 0 ) + ClearGameFlags() + EnableGameFlags(gfDisableGirders, gfDisableLandObjects, gfOneClanMode, gfInfAttack, gfSolidLand, gfDisableWind) + Seed = "{386439b4-748a-48b1-945a-eba6a817ca83}" + Theme = "Bamboo" + MapGen = mgDrawn + MapFeatureSize = 12 + TemplateFilter = 0 + TemplateNumber = 0 + TurnTime = 9999000 + Explosives = 0 + MinesNum = 0 + CaseFreq = 0 + MinesTime = 0 + WaterRise = 0 + HealthDecrease = 0 + + AddTeam(teamName, 0xFF0204, "Plinko", "Snail", "Default", "cm_yinyang") + hog = AddHog(loc("Roper"), 0, initHogHealth, "StrawHat") + SetGearPosition(hog, cpX, cpY) + SetEffect(hog, heResurrectable, 1) + + drawMap() + + SendHealthStatsOff() + end -function NewFollowGear( Gear ) - FollowingGear = true - FollowGear( Gear ) +-- The final challenge is to rope through a mined obstacle course with only 1 rope. +-- If the player screws up, this functinon will restart it. +local function resetMineChallenge(setPos) + if setPos == nil then + setPos = true + end + SetHealth(hog, initHogHealth) + AddAmmo(hog, amRope, 1) + for gear, _ in pairs(mines) do + DeleteGear(gear) + end + + for m=1, #mineData do + AddGear(mineData[m][1], mineData[m][2], gtMine, 0, 0, 0, 0) + end + if setPos then + SetGearPosition(hog, cpX, cpY) + FollowGear(hog) + end end -function SpawnTarget( PosX, PosY ) - Target = AddGear( 0, 0, gtTarget, 0, 0, 0, 0 ) -- Create a new target - SetGearPosition( Target, PosX, PosY ) -- Set the position of the target - NewFollowGear( Target ) +-- Deletes girder with given girderData ID +local function eraseGirder(id) + EraseSprite(girderData[id][1], girderData[id][2], sprAmGirder, girderData[id][3], false, false, false, false) + PlaySound(sndVaporize) + AddVisualGear(girderData[id][1], girderData[id][2], vgtSteam, false, 0) + AddCaption(loc("Barrier unlocked!")) end -function AutoSpawn() -- Auto spawn the next target after you've killed the current target! - TargetNumber = TargetNumber + 1 +local function loadGearData() + ------ GIRDERS ------ + for g=1, #girderData do + PlaceGirder(unpack(girderData[g])) + end - if TargetPos[ TargetNumber ].Modifier then -- If there is a modifier, run the function, only used in the winning target! - TargetPos[ TargetNumber ].Func() - return true + ------ BARRELS ------ + local barrels = {} + table.insert(barrels, AddGear(1370, 1223, gtExplosives, 0, 0, 0, 0)) + table.insert(barrels, AddGear(1430, 1226, gtExplosives, 0, 0, 0, 0)) + table.insert(barrels, AddGear(1489, 1218, gtExplosives, 0, 0, 0, 0)) + table.insert(barrels, AddGear(1537, 1211, gtExplosives, 0, 0, 0, 0)) + table.insert(barrels, AddGear(1578, 1206, gtExplosives, 0, 0, 0, 0)) + for b=1, #barrels do + SetHealth(barrels[b], 1) + end + + ------ MINES ------ + for m=1, #mineData do + AddGear(mineData[m][1], mineData[m][2], gtMine, 0, 0, 0, 0) end - if TargetNumber > 1 then - Info(loc("Training"), TargetPos[ TargetNumber - 1 ].Message, -amRope ) + ------ FIRST TARGET ------ + currentTarget = 1 + AddGear(targetData[currentTarget][1], targetData[currentTarget][2], gtTarget, 0, 0, 0, 0) +end + +function onGameStart() + loadGearData() + + ShowMission(loc("Basic Rope Training"), loc("Basic Training"), + loc("Use the rope to complete the obstacle course!"), -amRope, 0) + FollowGear(hog) +end + +function onNewTurn() + if not wasFirstTurn then + ShowMission(loc("Basic Rope Training"), loc("Select Rope"), + loc("Select the rope to begin!").."|".. + loc("Open ammo menu: [Right click]"), 2, 7500) + wasFirstTurn = true end - - SpawnTarget( TargetPos[ TargetNumber ].X, TargetPos[ TargetNumber ].Y ) -- Spawn target on the next position + if isInMineChallenge then + resetMineChallenge() + end end -function InRange( Gear, PosX, PosY, Distance ) -- Fix as the default function didn't do quite what I needed - GearX, GearY = GetGearPosition( Gear ) +function onGameTick() + if gameOver or (not CurrentHedgehog) then + return + end - return GearX >= PosX - Distance and GearX <= PosX + Distance and GearY >= PosY and GearY - Distance <= PosY + Distance + -- First rope selection + if not ropeSelected and GetCurAmmoType() == amRope then + ShowMission(loc("Basic Rope Training"), loc("Getting Started"), + loc("You can use the rope to reach new places.").."|".. + loc("Aim at the ceiling and hold [Attack] pressed until the rope attaches.").."|".. + loc("Aim: [Up]/[Down]").."|".. + loc("Attack: [Space]"), 2, 15000) + ropeSelected = true + -- Rope attach + elseif ropeGear and band(GetState(ropeGear), gstCollision) ~= 0 then + -- First rope attach + if not ropeAttached and not target1Reached then + ShowMission(loc("Basic Rope Training"), loc("How to Rope"), + loc("Great!").."|".. + loc("Use the rope to get to the target!").."|".. + loc("Retract/Extend rope: [Up]/[Down]").."|".. + loc("Swing: [Left]/[Right]").."|".. + loc("Release rope: [Attack]"), 2, 15000) + ropeAttached = true + elseif currentTarget > 1 then + HideMission() + end + end + + -- Prevent grenade being thrown by hand (must use from rope instead) + local allowAttack = true + if GetCurAmmoType() == amGrenade and ropeGear == nil then + allowAttack = false + end + if allowAttack then + SetInputMask(bor(GetInputMask(), gmAttack)) + else + SetInputMask(band(GetInputMask(), bnot(gmAttack))) + end end -function CheckPosition( Hog, Distance ) -- Show a message when you get close to the current target! - if (not BaseballIntro and not Objective) and (CurrentHedgehog ~= nil) then --Fail safe check - if InRange( Hog, 1100, 1100, Distance ) then -- Check if the player is within predefined position of the first target - BaseballIntro = true - Info(loc("Training"), loc("Great work! Now hit it with your Baseball Bat! |Tip: You can change weapon with 'Right Click'!"), -amRope ) -- Guide them - Timer( 10000, loc("Remember: The rope only bend around objects, |if it doesn't hit anything it's always stright!")) +function onGameTick20() + if not gameOver and not target1Reached and CurrentHedgehog and gearIsInCircle(CurrentHedgehog, targetData[1][1], targetData[1][2], 48, false) then + ShowMission(loc("Basic Rope Training"), loc("Target Puncher"), + loc("Okay, now destroy the target|using the baseball bat.").."|".. + loc("Release rope: [Attack]"), 2, 9000) + target1Reached = true + end +end + +function onGearAdd(gear) + if GetGearType(gear) == gtRope then + ropeGear = gear + elseif GetGearType(gear) == gtMine then + mines[gear] = true + elseif GetGearType(gear) == gtGrenade then + if not ropeGear then + DeleteGear(gear) end end end -function Timer( Delay, Message ) - local Timer = {} - Timer.End = GetTime + Delay - Timer.Message = Message - - table.insert( Timers, Timer ) -end - -function onGameInit() -- Called when the game loads - Seed = 1 -- The base number for the random number generator - GameFlags = gfInfAttack + gfOneClanMode + gfSolidLand + gfInvulnerable + gfBorder -- Game settings and rules, going with a border to make it easier - TurnTime = 300000 -- Player can move for 5min each round - CaseFreq = 0 -- No random crate drops - MinesNum = 0 -- Never place any mines on the map - Explosives = 0 -- Never place any explosives - Delay = 1 -- We don't wont to wait between each round ( as the only is one ) - Map = "Ropes" -- Map name - Theme = "Nature" -- Map theme - -- Disable Sudden Death - SuddenDeathTurns = 50 - WaterRise = 0 - HealthDecrease = 0 - - AddTeam( loc( "Rope Team" ), 14483456, "Simple", "Island", "Default", "cm_shoppa" ) -- Lets make the team - Player = AddHog( loc( "Hunter" ), 0, 1, "StrawHat" ) -- Add a hog for it, and name it "Hunter" - SetGearPosition( Player, 420, 1750 ) -- Set player position - - SetEffect( Player, heResurrectable, 1 ) -- By Suggestion :) -end - -function onGameStart() -- Called when the game starts - SendHealthStatsOff() - AutoSpawn() -- Spawn our 1st target using the wrapper function - - SetHealth( Player, 100 ) -- Give the player 100 Health points - - PlaceGirder(46,1783, 0) -- Place a girder to prevent the player falling into the water - - local message = loc("Get to the target using your rope!") .. "|" .. loc("Controls: Hold the Attack key (space by default) to|fire the rope, then, once attached use:|Left and Right to swing the rope;|Up and Down to contract and expand.") - Info(loc("Training"), message, -amRope ) -- Short intro to tell the player what to do - Timer( 10000, message .. "|" .. loc("Tip: The rope physics are different than in the real world, |use it to your advantage!") ) -- After 15 sec, give them more help -end - -function onNewTurn() - SetWeapon(amRope) -- Set the default weapon to Rope +function onGearResurrect(gear) + -- Teleport hog to previous checkpoint + if gear == hog then + SetGearPosition(hog, cpX, cpY) + FollowGear(hog) + AddCaption(loc("Your hedgehog has been revived!")) + if isInMineChallenge then + resetMineChallenge(false) + end + end end -function onGameTick20() - if TurnTimeLeft < 40 and TurnTimeLeft > 0 then -- Round starts at 0, so we check if the round is finished by using 1 - GameLost = true -- You lost the game - Info(loc("Training"), loc("You did not make it in time, try again!"), -amSkip ) - if not StatsSent then - SendStat(siGameResult, loc("You failed!")) - SendStat(siCustomAchievement, loc("You did not make it in time, try again!")) - StatsSent = true - end - SetHealth( Player, 0 ) -- Kill the player so he can't keep moving! +function onGearDelete(gear) + if GetGearType(gear) == gtTarget then + -- Update checkpoint + cpX, cpY = GetGearPosition(gear) - SetEffect( Player, heResurrectable, 0 ) - - end - - -- If the player gets to the last target, they win OR - -- If round is finished and your not at the target you lose - -- in either case, end the game - if (Objective == true) or (GameLost == true) then - if (WaitTime == 0 and not StatsSent) then + -- New message + if currentTarget == 1 then + ShowMission(loc("Basic Rope Training"), loc("Obstacle"), + loc("Well done! Let's destroy the next target!").."|".. + loc("The targets will guide you through the training.").."|".. + loc("Use your rope to get to the next target, then destroy it!"), 2, 8000) + elseif currentTarget == 2 then + ShowMission(loc("Basic Rope Training"), loc("Speed Roping"), + loc("Try to reach and destroy the next target quickly.").."|".. + loc("Hint: When you shorten the rope, you move faster!|And when you lengthen it, you move slower."), 2, 15000) + elseif currentTarget == 3 then + ShowMission(loc("Basic Rope Training"), loc("Over the Water"), + loc("When you're in mid-air, you can continue to aim|and fire another rope if you're not attached.").."|".. + loc("To get over the water, you have to do multiple|rope shots and swings.").."|".. + loc("It needs some practice, but you have infinite lives.").."|".. + loc("Good luck!"), 2, 22500) + eraseGirder(1) + elseif currentTarget == 4 then + ShowMission(loc("Basic Rope Training"), loc("Little Obstacle Course"), + loc("Well done! The next target awaits.").."|".. + loc("Hint: The rope only bends around objects.|When it doesn't hit anything, it's always straight."), 2, 7000) + eraseGirder(8) + eraseGirder(9) + elseif currentTarget == 5 then + ShowMission(loc("Basic Rope Training"), loc("Rope Weapons"), + loc("Some weapons can be dropped from the rope.").."|".. + loc("Collect the weapon crate and drop|a grenade from rope to destroy the barrels.").."|".. + loc("Step 1: Start roping").."|".. + loc("Step 2: Select grenade").."|".. + loc("Step 3: Drop the grenade").."| |".. + loc("Drop weapon (while on rope): [Long Jump]"), 2, 20000) + AddAmmo(hog, amBaseballBat, 0) + SpawnAmmoCrate(1849, 920, amGrenade, 100) + elseif currentTarget == 6 then + ShowMission(loc("Basic Rope Training"), loc("Finite Ropes"), + loc("So far, you had infinite ropes, but in the|real world, ropes are usually limited.").."|".. + loc("Rules:").." |".. + loc("As long you don't touch the ground, you can|re-use the same rope as often as you like.").."|".. + loc("If you miss a shot while trying to|re-attach, your rope is gone, too!").."| |".. + loc("Final Challenge:").." |".. + loc("Reach and destroy the final target to win.").."|".. + loc("You only get 1 rope this time, don't waste it!").."|".. + loc("Avoid the mines!").."|".. + loc("Skip your turn to try again."), 2, 25000) + eraseGirder(4) + eraseGirder(5) + AddAmmo(hog, amRope, 1) + AddAmmo(hog, amSkip, 100) + isInMineChallenge = true + elseif currentTarget == 7 then + ShowMission(loc("Basic Rope Training"), loc("Training complete!"), + loc("Congratulations!"), 0, 0) + PlaySound(sndVictory, hog) + AddAmmo(hog, amBaseballBat, 0) + AddAmmo(hog, amGrenade, 0) + AddAmmo(hog, amRope, 0) + SendStat(siCustomAchievement, loc("Oh yeah! You sure know how to rope!")) SendStat(siGameResult, loc("You have finished the Basic Rope Training!")) - SendStat(siCustomAchievement, loc("Good job!")) - SendStat(siPlayerKills, "0", loc("Rope Team")) - if RopeMaster then - SendStat(siCustomAchievement, loc("You earned the \"Rope Master\" achievement for finishing in under 50 seconds.")) - end - StatsSent = true + SendStat(siPlayerKills, "0", teamName) EndGame() - else - WaitTime = WaitTime - 20 + gameOver = true + SetInputMask(0) end - end + currentTarget = currentTarget + 1 + + if currentTarget <= #targetData then + AddGear(targetData[currentTarget][1], targetData[currentTarget][2], gtTarget, 0, 0, 0, 0) + end - if FollowingGear == true then - if FollowTime == 0 then - FollowingGear = false - FollowTime = 1500 - FollowGear( Player ) - else - FollowTime = FollowTime - 20 + elseif GetGearType(gear) == gtExplosives then + if not barrelsBoom then + barrelsBoom = true + AddAmmo(hog, amGrenade, 0) + AddAmmo(hog, amBaseballBat, 100) + eraseGirder(2) + eraseGirder(3) end + elseif GetGearType(gear) == gtRope then + ropeGear = nil + if ropeAttached and not target1Reached then + ShowMission(loc("Basic Rope Training"), loc("How to Rope"), + loc("Go to the target.").."|".. + loc("Hold [Attack] to attach the rope.").."|".. + loc("Aim: [Up]/[Down]").."|".. + loc("Attack: [Space]"), 2, 13000) + ropeAttached = false + end + elseif GetGearType(gear) == gtMine then + mines[gear] = nil + elseif GetGearType(gear) == gtCase then + eraseGirder(6) + eraseGirder(7) end - - for k, v in pairs( Timers ) do - if v.End <= GetTime then - Info(loc("Training"), v.Message, -amRope ) - Timers[ k ] = nil - end - end - - GetTime = GetTime + 20 - - CheckPosition( Player, 70 ) -- Run the CheckPosition function to check if the player is close to a target end function onAmmoStoreInit() - SetAmmo( amRope, 9, 2, 0, 0 ) -- Player ammo, Rope - SetAmmo( amBaseballBat, 9, 2, 0, 0 ) --Baseball bat + SetAmmo(amRope, 9, 0, 0, 1) + SetAmmo(amBaseballBat, 9, 0, 0, 1) end -function onGearDelete( Gear ) - if GetGearType( Gear ) == gtTarget then - AutoSpawn() -- When a target is deleted / destroyed, spawn a new one! +function onHogAttack(ammoType) + -- Allow to manually reset final challenge with skip + if ammoType == amSkip then + resetMineChallenge() end end + +function onAttack() + if GetCurAmmoType() == amGrenade and not ropeGear then + AddCaption(loc("You have to drop the grenade from rope!"), 0xFF4000FF, capgrpMessage) + PlaySound(sndDenied) + end +end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Training/CMakeLists.txt --- a/share/hedgewars/Data/Missions/Training/CMakeLists.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Missions/Training/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -1,5 +1,6 @@ file(GLOB Scripts *.lua) install(FILES + order.cfg ${Scripts} DESTINATION ${SHAREPATH}Data/Missions/Training) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Missions/Training/order.cfg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Missions/Training/order.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,5 @@ +Basic_Training_-_Movement +Basic_Training_-_Bazooka +Basic_Training_-_Grenade +Basic_Training_-_Rope +Basic_Training_-_Flying_Saucer diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Animate.lua --- a/share/hedgewars/Data/Scripts/Animate.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Animate.lua Sun Jun 10 19:12:26 2018 +0200 @@ -425,6 +425,11 @@ -------------------------------------Misc--------------------------------- function StoppedGear(gear) + -- GetHealth returns nil if gear does not exist + if not GetHealth(gear) then + -- We consider the gear to be “stopped” if it has been destroyed + return true + end dx,dy = GetGearVelocity(gear) return math.abs(dx) <= 1 and math.abs(dy) <= 1 end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Locale.lua --- a/share/hedgewars/Data/Scripts/Locale.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Locale.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,6 +1,6 @@ -- Library for localizing strings in lua scripts -local lang = HedgewarsScriptLoad("Locale/" .. tostring(L) .. ".lua") +local lang = HedgewarsScriptLoad("Locale/" .. tostring(LOCALE) .. ".lua") function loc(text) if locale ~= nil and locale[text] ~= nil then return locale[text] diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Balanced_Random_Weapon.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Balanced_Random_Weapon.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Balanced_Random_Weapon.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,10 +1,10 @@ HedgewarsScriptLoad("/Scripts/Locale.lua") HedgewarsScriptLoad("/Scripts/Tracker.lua") -local weapons = { amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amMine, amDEagle, amDynamite, amFirePunch, amWhip, amPickHammer, amBaseballBat, amMortar, amCake, amSeduction, amWatermelon, amHellishBomb, amDrill, amBallgun, amRCPlane, amSniperRifle, amMolotov, amBirdy, amBlowTorch, amGasBomb, amFlamethrower, amSMine, amKamikaze, amDuck } +local weapons = { amGrenade, amClusterBomb, amBazooka, amBee, amShotgun, amMine, amDEagle, amDynamite, amFirePunch, amWhip, amPickHammer, amBaseballBat, amMortar, amCake, amSeduction, amWatermelon, amHellishBomb, amDrill, amBallgun, amRCPlane, amSniperRifle, amMolotov, amBirdy, amBlowTorch, amGasBomb, amFlamethrower, amSMine, amKamikaze, amMinigun, amAirMine, amKnife } --- G,C,B,B,S,M,D,D,F,W,P,B,M,C,S,W,H,D,B,R,S,M,B,B,G,F,S,K,D -local weapons_values = {1,1,1,2,1,1,1,2,1,1,1,2,1,3,1,3,3,2,3,3,1,1,2,1,1,2,2,1,1} +-- G,C,B,B,S,M,D,D,F,W,P,B,M,C,S,W,H,D,B,R,S,M,B,B,G,F,S,K,M,A,K +local weapons_values = {1,1,1,2,1,1,1,2,1,1,1,2,1,3,1,3,3,2,3,3,1,1,2,1,1,2,2,1,3,1,2} local airweapons = { amAirAttack, amMineStrike, amNapalm, amDrillStrike } diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Battalion.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Battalion.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Battalion.lua Sun Jun 10 19:12:26 2018 +0200 @@ -15,7 +15,7 @@ --[[ ######################################################################## - Todo/Idea-List + TODO / ideas list ######################################################################## - Make Hogs sorted by rareness for teams with less hogs (more fair) @@ -42,9 +42,8 @@ -- hitpoints, chances and more local variants = {} local varName = "" -local newLine = ""--string.char(0x0A) +local newLine = "" local gmAny = 0xFFFFFFFF -local version = "0.33" --[[ ############################################################################## @@ -243,12 +242,14 @@ local CurHog = nil -- Current Hedgehog local LastTeam = nil -- Last Team local CurTeam = nil -- Current Team -local TurnEnded = true -- Boolean whether current turn ended or not local mode = 'default' -- Which game type to play +local modeExplicit = false -- Whether the mode was set in script param local luck = 100 -- Multiplier for bonuses like crates local strength = 1 -- Multiplier for more weapons -local mutate = false -- Whether or not to mutate the hogs +local useVariantHats = true -- Whether to overwrite the hog hats to those of their variants + -- In King Mode, crowns are always enforced regardless of this setting +local useVariantNames = false -- Whether to overwrite the hog names to those of their variants local highHasBonusWeps = false -- whether or not a hog got bonus weapons on current turn local highHasBonusHelp = false -- whether or not a hog got bonus helpers on current turn @@ -334,6 +335,7 @@ local wepPoints = {} local hlpPoints = {} +local firstTurnOver = false local suddenDeath = false local healthCrateChance = 7 @@ -409,13 +411,7 @@ ]]-- function clearHogAmmo(hog) - local lastNum = amRubber - - if amAirMine ~= nil then - lastNum = amAirMine - end - - for val=0,lastNum do + for val=0, AmmoTypeMax do AddAmmo(hog, val, 0) end end @@ -432,9 +428,7 @@ function AddHogAmmo(hog, ammo) -- Add weapons of variant - --for key, val in pairs(variants[var]["weapons"]) do for key, val in pairs(ammo) do - --AddAmmo(hog, val, 1) AddAmmo(hog, val, GetAmmoCount(hog, val) +1) end end @@ -505,6 +499,10 @@ return ammo end +function updatePointsLabel(team) + SetTeamLabel(team, string.format(loc("%d / %d"), pointsPerTeam[team]["weapons"], pointsPerTeam[team]["helpers"])) +end + function addTurnAmmo(hog) -- Check if hog is valid if hog == nil then @@ -635,11 +633,28 @@ ############################################################################## ]]-- -function MutateHog(hog) +-- Overwrite hog hat to that of its variant +function SetHogVariantHat(hog) local var = getHogInfo(hog, 'variant') + SetHogHat(hog, variants[var]["hat"]) +end +-- Give a crown if the hog is a king. +-- Strip the hog from its crown if +-- it is not a king. +function SetHogVariantHatKingMode(hog) + local var = getHogInfo(hog, 'variant') + if var == "King" then + SetHogHat(hog, variants[var]["hat"]) + elseif GetHogHat(hog) == "crown" then + SetHogHat(hog, "NoHat") + end +end + +-- Overwrite hog name to that of its variant +function SetHogVariantName(hog) + local var = getHogInfo(hog, 'variant') SetHogName(hog, variants[var]["name"]) - SetHogHat(hog, variants[var]["hat"]) end function GetRandomVariant() @@ -738,8 +753,8 @@ function getHogInfo(hog, info) if hog == nil then - AddCaption(loc("ERROR [getHogInfo]: Hog is nil!"), 0xFFFFFFFF, capgrpMessage) - WriteLnToConsole(loc("ERROR [getHogInfo]: Hog is nil!"), 0xFFFFFFFF, capgrpMessage) + WriteLnToChat("ERROR [getHogInfo]: hog is nil!") + WriteLnToConsole("ERROR [getHogInfo]: hog is nil!") return end @@ -752,8 +767,8 @@ function setHogInfo(hog) if hog == nil then - AddCaption(loc("ERROR [getHogInfo]: Hog is nil!"), 0xFFFFFFFF, capgrpMessage) - WriteLnToConsole(loc("ERROR [getHogInfo]: Hog is nil!"), 0xFFFFFFFF, capgrpMessage) + WriteLnToChat("ERROR [setHogInfo]: hog is nil!") + WriteLnToConsole("ERROR [setHogInfo]: hog is nil!") return end @@ -798,13 +813,9 @@ -- Add extra 10% of hogs base hp to heal healHp = healHp + div(getHogInfo(CurHog, 'maxHp'), 10) - AddCaption(string.format(loc("+%d"), healHp), msgColor, capgrpMessage) + HealHog(CurHog, healHp) SetEffect(CurHog, hePoisoned, 0) - SetHealth(CurHog, hogHealth + healHp) - local effect = AddVisualGear(GetX(CurHog), GetY(CurHog) +cratePickupGap, vgtHealthTag, healHp, false) - -- (vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint) - SetVisualGearValues(effect, nil, nil, nil, nil, nil, nil, nil, nil, nil, msgColor) end --[[ @@ -812,7 +823,7 @@ : : Has a 7% chance to be empty. ]]-- -function onWeaponCratePickup() +function onWeaponCratePickup(crate) local factor = 1 * strength local msgColor = GetClanColor(GetHogClan(CurHog)) PlaySound(sndShotgunReload) @@ -848,8 +859,8 @@ AddAmmo(CurHog, randAmmo, GetAmmoCount(CurHog, randAmmo) +factor) if IsHogLocal(CurHog) then - AddCaption(string.format(loc("+%d ammo"), factor), msgColor, capgrpMessage) - local effect = AddVisualGear(GetX(CurHog), GetY(CurHog) +cratePickupGap, vgtAmmo, 0, true) + AddCaption(string.format(loc("%s (+%d)"), GetAmmoName(randAmmo), factor), msgColor, capgrpMessage) + local effect = AddVisualGear(GetX(crate), GetY(crate) +cratePickupGap, vgtAmmo, 0, true) SetVisualGearValues(effect, nil, nil, nil, nil, nil, randAmmo, nil, nil, nil, msgColor) end end @@ -858,7 +869,7 @@ : : Has a 7% chance to be empty. ]]-- -function onUtilityCratePickup() +function onUtilityCratePickup(crate) local factor = 1 * strength local msgColor = GetClanColor(GetHogClan(CurHog)) PlaySound(sndShotgunReload) @@ -891,8 +902,8 @@ AddAmmo(CurHog, randUtility, GetAmmoCount(CurHog, randUtility) +factor) if IsHogLocal(CurHog) then - AddCaption(string.format(loc("+%d ammo"), factor), msgColor, capgrpMessage) - local effect = AddVisualGear(GetX(CurHog), GetY(CurHog) +cratePickupGap, vgtAmmo, 0, true) + AddCaption(string.format(loc("%s (+%d)"), GetAmmoName(randUtility), factor), msgColor, capgrpMessage) + local effect = AddVisualGear(GetX(crate), GetY(crate) +cratePickupGap, vgtAmmo, 0, true) SetVisualGearValues(effect, nil, nil, nil, nil, nil, randUtility, nil, nil, nil, msgColor) end end @@ -903,11 +914,11 @@ -- Check if the crate is fake if pos % posCaseDummy >= 1 then if pos % posCaseDummy == posCaseAmmo then - onWeaponCratePickup() + onWeaponCratePickup(crate) elseif pos % posCaseDummy == posCaseHealth then onHealthCratePickup() elseif pos % posCaseDummy == posCaseUtility then - onUtilityCratePickup() + onUtilityCratePickup(crate) end end end @@ -1017,13 +1028,13 @@ elseif gearType == gtRCPlane then SetHealth(gear, 2) elseif gearType == gtAirBomb then - -- gearUid, Angle, Power, WDTimer, Radius, Density, Karma, DirAngle, AdvBounce, ImpactSound, ImpactSounds, Tint, Damage, Boom + -- Set Boom SetGearValues(gear, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 20) elseif gearType == gtCake then - -- gearUid, Angle, Power, WDTimer, Radius, Density, Karma, DirAngle, AdvBounce, ImpactSound, ImpactSounds, Tint, Damage, Boom + -- Set Boom SetGearValues(gear, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 50) elseif gearType == gtDEagleShot then - -- gearUid, Angle, Power, WDTimer, Radius, Density, Karma, DirAngle, AdvBounce, ImpactSound, ImpactSounds, Tint, Damage, Boom + -- Set Boom SetGearValues(gear, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 12) end end @@ -1127,12 +1138,9 @@ hpDiff = div(deathMaxHP * highEnemyKillHPBonus, 100) newHP = curHP + hpDiff - SetHealth(CurHog, newHP) - - local effect = AddVisualGear(GetX(CurHog), GetY(CurHog) - cratePickupGap, vgtHealthTag, hpDiff, false) - -- (vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint) - SetVisualGearValues(effect, nil, nil, nil, nil, nil, nil, nil, nil, nil, GetClanColor(GetHogClan(CurHog))) - -- Friendly fire! Remove all weapons and helpers from pool + HealHog(CurHog, newHP) + -- Friendly fire! Punish hog by removing weapons and helpers from pool + -- and reduce health else highWeapons[CurHog] = {} highHelpers[CurHog] = {} @@ -1146,7 +1154,7 @@ end local effect = AddVisualGear(GetX(CurHog), GetY(CurHog) - cratePickupGap, vgtHealthTag, hpDiff, false) - -- (vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint) + -- Set Tint SetVisualGearValues(effect, nil, nil, nil, nil, nil, nil, nil, nil, nil, GetClanColor(GetHogClan(CurHog))) end end @@ -1156,19 +1164,21 @@ local msgColor = getHogInfo(KingHog, 'clanColor') AddCaption(string.format(loc("The king of %s has died!"), team), 0xFFFFFFFF, capgrpGameState) - PlaySound(sndByeBye) - DismissTeam(team) - -- for hog, val in pairs(hogInfo) do - -- if getHogInfo(hog, 'team') == team then - -- hp = GetHealth(hog) - -- if hp ~= nil and hp > 0 then - -- SetState(KingHog, gstHHDeath) - -- SetHealth(hog, 0) - -- SetGearValues(hog, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 0) - -- end - -- end - -- end + -- Kill the rest of the team normally, just like the official King Mode game modifier + for hog, val in pairs(hogInfo) do + if getHogInfo(hog, 'team') == team then + hp = GetHealth(hog) + if hp ~= nil and hp > 0 then + SetState(KingHog, gstHHDeath) + SetHealth(hog, 0) + SetGearValues(hog, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 0) + end + end + end + + -- We don't use DismissTeam, it causes a lot of problems and nasty side-effects. + end function onPointsKill(gear) @@ -1197,13 +1207,14 @@ pointsPerTeam[team]['weapons'] = pointsPerTeam[team]['weapons'] + 2 pointsPerTeam[team]['helpers'] = pointsPerTeam[team]['helpers'] + 1 + updatePointsLabel(team) local effect = AddVisualGear(GetX(CurHog) - (cratePickupGap / 2), GetY(CurHog), vgtHealthTag, 2, false) - -- (vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint) + -- Set Tint SetVisualGearValues(effect, nil, nil, nil, nil, nil, nil, nil, nil, nil, 0xFFFFFFFF) local effect = AddVisualGear(GetX(CurHog) + (cratePickupGap / 2), GetY(CurHog), vgtHealthTag, 1, false) - -- (vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint) + -- Set Tint SetVisualGearValues(effect, nil, nil, nil, nil, nil, nil, nil, nil, nil, 0x444444FF) end @@ -1242,7 +1253,10 @@ ############################################################################## ]]-- -function calcKingHP() +function calcKingHP(doEffects) + if doEffects == nil then + doEffects = true + end local teamKings = {} local teamHealth = {} @@ -1267,23 +1281,30 @@ for team, hog in pairs(teamKings) do local hp = GetHealth(hog) local newHP = div(teamHealth[team] * kingLinkPerc, 100) - local diff = newHP - hp -- Set hitpoints to 1 if no other hog is alive or only has 1 hitpoint if newHP <= 0 then newHP = 1 - diff = 0 end - if diff < 0 then - diff = -diff - end + local diff = math.abs(newHP - hp) - if hp ~= newHP then - SetHealth(hog, newHP) - local effect = AddVisualGear(GetX(hog), GetY(hog) - cratePickupGap, vgtHealthTag, diff, false) - -- (vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint) - SetVisualGearValues(effect, nil, nil, nil, nil, nil, nil, nil, nil, nil, GetClanColor(GetHogClan(hog))) + -- Change HP and do some nice effects + if newHP ~= hp then + if not doEffects then + SetHealth(hog, newHP) + else + if newHP > hp then + HealHog(hog, diff, false) + elseif newHP < hp then + SetHealth(hog, newHP) + if doEffects then + local effect = AddVisualGear(GetX(hog), GetY(hog) - cratePickupGap, vgtHealthTag, diff, false) + -- Set Tint + SetVisualGearValues(effect, nil, nil, nil, nil, nil, nil, nil, nil, nil, GetClanColor(GetHogClan(hog))) + end + end + end end end end @@ -1293,7 +1314,10 @@ addTurnAmmo(hog) end -function onTurnEnd() +function onEndTurn() + if not firstTurnOver then + firstTurnOver = true + end local anyHog = nil for team, val in pairs(teamNames) do -- Count amount of alive hogs in team @@ -1327,7 +1351,7 @@ local hogWepPoints = 0 local hogHlpPoints = 0 - for ammoType=0,amAirMine do + for ammoType=0, AmmoTypeMax do local ammoCount = GetAmmoCount(hog, ammoType) if pointsWeaponVal[ammoType] ~= nil then @@ -1362,12 +1386,14 @@ pointsPerTeam[team]['helpers'] = pointsPerTeam[team]['helpersRem'] + hlpWoTax + div(hlpToTax * pointsKeepSDPerc, 100) end + updatePointsLabel(team) + local effect = AddVisualGear(GetX(hog) - (cratePickupGap / 2), GetY(hog), vgtHealthTag, pointsPerTeam[team]['weapons'], false) - -- (vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint) + -- Set Tint SetVisualGearValues(effect, nil, nil, nil, nil, nil, nil, nil, nil, nil, 0xFFFFFFFF) local effect = AddVisualGear(GetX(hog) + (cratePickupGap / 2), GetY(hog), vgtHealthTag, pointsPerTeam[team]['helpers'], false) - -- (vgUid, X, Y, dX, dY, Angle, Frame, FrameTicks, State, Timer, Tint) + -- Set Tint SetVisualGearValues(effect, nil, nil, nil, nil, nil, nil, nil, nil, nil, 0x444444FF) end @@ -1415,12 +1441,15 @@ LastTeam = CurTeam CurHog = CurrentHedgehog CurTeam = getHogInfo(CurHog, 'team') - TurnEnded = false if suddenDeath == true then onSuddenDeathTurn() - elseif (TotalRounds + 1 >= 1) then - AddCaption(string.format(loc("Round %d (Sudden Death in round %d)"), (TotalRounds +1), (SuddenDeathTurns +2)), 0xFFFFFFFF, capgrpGameState) + else + local RoundsTillSD = (SuddenDeathTurns+2) - (TotalRounds+1) + -- Show SD reminder every couple of turns, and in the first turn + if (not firstTurnOver) or (RoundsTillSD <= 6) or (RoundsTillSD <= 25 and RoundsTillSD % 5 == 0) or (RoundsTillSD % 10 == 0) then + AddCaption(string.format(loc("Rounds until Sudden Death: %d"), RoundsTillSD), 0xFFFFFFFF, capgrpGameState) + end end -- Generate new weapons for last hog if it's still alive @@ -1448,13 +1477,6 @@ LastWaterLine = WaterLine end -function onGameTick20() - if TurnEnded == false and TurnTimeLeft <= 0 then - TurnEnded = true - onTurnEnd() - end -end - --[[ ############################################################################## ### GAME START FUNCTIONS ### @@ -1462,9 +1484,7 @@ ]]-- function onAmmoStoreInit() - local lastNum = amAirMine - - for val=0,lastNum do + for val=0, AmmoTypeMax do SetAmmo(val, 0, 0, 0, 0) end end @@ -1474,10 +1494,16 @@ if params['mode'] ~= nil then mode = params['mode'] + if mode == "default" or mode == "king" or mode == "points" or mode == "highland" then + modeExplicit = true + end end + if params['mutatenames'] ~= nil then + useVariantNames = params['mutatenames'] + end if params['mutate'] ~= nil then - mutate = params['mutate'] + useVariantHats = params['mutate'] end if params['strength'] ~= nil and tonumber(params['strength']) > 0 then @@ -1553,11 +1579,6 @@ shuffle(group['all']) -- We are in points mode, setup other weapons elseif mode == 'points' then - --variants['King']['chance'] = 0 - --if variants['Air General'] ~= nil then - -- variants['Air General']['chance'] = 0 - --end - -- Translate [ammo] -> points to [points] -> {ammo1, ammo2} for ammoType, ammoPoints in pairs(pointsWeaponVal) do if pointsToWep[ammoPoints] == nil then @@ -1585,10 +1606,6 @@ table.sort(wepPoints) table.sort(hlpPoints) - - -- All done, sort the table - --table.sort(pointsToWep) - --table.sort(pointsToHlp) end -- Initial Hog Setup @@ -1599,6 +1616,7 @@ pointsPerTeam[key] = {} pointsPerTeam[key]['weapons'] = pointsWepBase pointsPerTeam[key]['helpers'] = pointsHlpBase + updatePointsLabel(key) else setTeamHogs(key) end @@ -1609,8 +1627,16 @@ if mode ~= 'points' then runOnGears(setHogVariant) runOnGears(setupHogTurn) - if mutate ~= false and mutate ~= 'false' then - runOnGears(MutateHog) + if useVariantNames ~= false and useVariantNames ~= 'false' then + runOnGears(SetHogVariantName) + end + if useVariantHats ~= false and useVariantHats ~= 'false' then + runOnGears(SetHogVariantHat) + elseif mode == 'king' then + -- If variant hats are disabled but we're in King Mode, + -- we still change *some* hats to make sure only kings + -- wear crows. Otherwise, you don't know who's the king! + runOnGears(SetHogVariantHatKingMode) end end @@ -1622,7 +1648,7 @@ end if mode == 'king' then - calcKingHP() + calcKingHP(false) end local txt = '' @@ -1634,10 +1660,10 @@ txt = txt .. loc("Helpers: Hogs will get 1 out of 2 helpers randomly each turn") .. "|" txt = txt .. loc("Crates: Crates drop randomly with chance of being empty") .. "|" txt = txt .. loc("Last Resort: Having less than 25% base health gives kamikaze") .. "|" - txt = txt .. loc("Modifiers: Unlimited ammo, per-hog ammo") .. "|" + txt = txt .. loc("Modifiers: Unlimited attacks, per-hog ammo") .. "|" else txt = txt .. loc("Crates: Crates drop randomly and may be empty") .. "|" - txt = txt .. loc("Modifiers: Unlimited ammo, shared clan ammo") .. "|" + txt = txt .. loc("Modifiers: Unlimited attacks, shared clan ammo") .. "|" end if luck ~= 100 then @@ -1650,7 +1676,7 @@ if mode == 'highland' then txt = txt .. " |" - txt = txt .. loc("--- Highland ---").."|" + txt = txt .. loc("--- Highland Mode ---").."|" txt = txt .. string.format(loc("Enemy kills: Collect victim's weapons and +%d%% of its base health"), highEnemyKillHPBonus).."|" txt = txt .. string.format(loc("Friendly kills: Clear killer's pool and -%d%% of its base health"), highFriendlyKillHPBonus).."|" txt = txt .. string.format(loc("Turns: Hogs get %d random weapon(s) from their pool"), highPickupCount).."|" @@ -1659,13 +1685,13 @@ icon = 1 -- Target elseif mode == 'king' then txt = txt .. " |" - txt = txt .. loc("--- King ---").."|" - txt = txt .. loc("Variants: The last hog of each team will be a king").."|" + txt = txt .. loc("--- King Mode ---").."|" + txt = txt .. loc("Protect the King: When the king dies, so does the team").."|" txt = txt .. string.format(loc("Turns: King's health is set to %d%% of the team health"), kingLinkPerc).."|" - icon = 0 -- Golen Crown + icon = 0 -- Golden Crown elseif mode == 'points' then txt = txt .. " |" - txt = txt .. loc("--- Points ---").."|" + txt = txt .. loc("--- Points Mode ---").."|" txt = txt .. loc("Variants: Kings and air generals are disabled").."|" txt = txt .. string.format(loc("Weapons: Each team starts with %d weapon points"), pointsWepBase).."|" txt = txt .. string.format(loc("Helpers: Each team starts with %d helper points"), pointsHlpBase).."|" @@ -1675,7 +1701,6 @@ icon = -amGrenade -- Grenade end - --txt = txt .. "Switch: Max. 3 times a game per team, cooldown of 5 turns|" txt = txt .. " |" txt = txt .. loc("--- Sudden Death ---").."|" txt = txt .. loc("Weapons: Nearly every hog variant gets 1 kamikaze").."|" @@ -1683,7 +1708,8 @@ txt = txt .. loc("Water: Rises by 37 per turn").."|" txt = txt .. loc("Health: Hogs lose up to 7% base health per turn").."|" - if mode == 'default' then + -- Add hint if mode was not set in script parameter, or set incorrectly + if not modeExplicit then txt = txt .. " |" txt = txt .. loc("--- Hint ---").."|" txt = txt .. loc("Modes: Activate “highland”, “king” or “points” mode by putting mode=|into the script parameter").."|" diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Capture_the_Flag.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Capture_the_Flag.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Capture_the_Flag.lua Sun Jun 10 19:12:26 2018 +0200 @@ -88,7 +88,7 @@ ------------------ "Oh well, they probably have the memory" local gameStarted = false -local gameTurns = 0 +local gameOver = false local captureLimit = 3 -------------------------- @@ -98,22 +98,24 @@ local numhhs = 0 -- store number of hedgehogs local hhs = {} -- store hedgehog gears -local numTeams -- store the number of teams in the game -local teamNameArr = {} -- store the list of teams local teamSize = {} -- store how many hogs per team local teamIndex = {} -- at what point in the hhs{} does each team begin +local mostCapturesHogName = nil -- name of hog who holds the record of most flags captured +local mostCapturesHogTeam = nil -- name of team who holds the record of most flags captured +local mostCaptures = 0 -- number of most per-hog captures +local capturesPerHog = {} + ------------------- -- flag variables ------------------- -local fPlaced = {} -- has the flag been placed TRUE/FALSE - local fGear = {} -- pointer to the visual gears that represent the flag local fGearX = {} local fGearY = {} local fThief = {} -- pointer to the hogs who stole the flags +local fThiefFlag = {} -- contains the stolen flag type of fThief local fIsMissing = {} -- have the flags been destroyed or captured local fNeedsRespawn = {} -- do the flags need to be respawned local fCaptures = {} -- the team "scores" how many captures @@ -122,7 +124,6 @@ local fThiefX = {} local fThiefY = {} -local FTTC = 0 -- flag thief tracker counter local fSpawnC = {} -- spawn circle marker local fCirc = {} -- flag/carrier marker circles @@ -137,83 +138,111 @@ --flag methods ------------------------ -function CheckScore(teamID) +function CheckScore(clanID) - if teamID == 0 then - alt = 1 - elseif teamID == 1 then - alt = 0 - end - - if fCaptures[teamID] == captureLimit then + if fCaptures[clanID] == captureLimit then + gameOver = true + -- Capture limit reached! We have a winner! for i = 0, (numhhs-1) do if hhs[i] ~= nil then - if GetHogClan(hhs[i]) == alt then + -- Kill all losers + if GetHogClan(hhs[i]) ~= clanID then SetEffect(hhs[i], heResurrectable, 0) SetHealth(hhs[i],0) end end end if CurrentHedgehog ~= nil then - AddCaption(string.format(loc("Victory for %s!"), GetHogTeamName(CurrentHedgehog))) - showMissionAndScorebar() + AddCaption(string.format(loc("Victory for %s!"), GetHogTeamName(CurrentHedgehog)), 0xFFFFFFFF, capgrpGameState) + updateScores() + end + + -- Calculate team rankings + + local teamList = {} + for i=0, TeamsCount-1 do + local name = GetTeamName(i) + local clan = GetTeamClan(name) + table.insert(teamList, { score = fCaptures[clan], name = name, clan = clan }) + end + local teamRank = function(a, b) + return a.score > b.score + end + table.sort(teamList, teamRank) + + for i=1, #teamList do + SendStat(siPointType, loc("point(s)")) + SendStat(siPlayerKills, tostring(teamList[i].score), teamList[i].name) + end + + if mostCaptures >= 2 then + SendStat(siCustomAchievement, string.format(loc("%s (%s) has captured the flag %d times."), mostCapturesHogName, mostCapturesHogTeam, mostCaptures)) end end end -function DoFlagStuff(gear) +function DoFlagStuff(flag, flagClan) - if (gear == fGear[0]) then - wtf = 0 - bbq = 1 - elseif (gear == fGear[1]) then - wtf = 1 - bbq = 0 + if not CurrentHedgehog then + return + end + local wtf = flagClan + + local thiefClan + for i=0, ClansCount - 1 do + if CurrentHedgehog == fThief[i] then + thiefClan = i + end end -- player has successfully captured the enemy flag - if (GetHogClan(CurrentHedgehog) == wtf) and (CurrentHedgehog == fThief[bbq]) and (fIsMissing[wtf] == false) then - - DeleteVisualGear(fGear[wtf]) - fGear[wtf] = nil -- the flag has now disappeared + if (GetHogClan(CurrentHedgehog) == flagClan) and (thiefClan ~= nil) and (fIsMissing[flagClan] == false) then - fIsMissing[wtf] = false - fNeedsRespawn[wtf] = true - fIsMissing[bbq] = false - fNeedsRespawn[bbq] = true - fCaptures[wtf] = fCaptures[wtf] +1 - AddCaption(string.format(loc("%s has scored!"), GetHogName(CurrentHedgehog))) - showMissionAndScorebar() + fIsMissing[thiefClan] = false + fNeedsRespawn[thiefClan] = true + fCaptures[flagClan] = fCaptures[flagClan] +1 + AddCaption(string.format(loc("%s has scored!"), GetHogName(CurrentHedgehog)), 0xFFFFFFFF, capgrpGameState) + updateScores() PlaySound(sndHomerun) - fThief[bbq] = nil -- player no longer has the enemy flag - CheckScore(wtf) + fThief[thiefClan] = nil -- player no longer has the enemy flag + fThiefFlag[flagClan] = nil + + capturesPerHog[CurrentHedgehog] = capturesPerHog[CurrentHedgehog] + 1 + if capturesPerHog[CurrentHedgehog] > mostCaptures then + mostCaptures = capturesPerHog[CurrentHedgehog] + mostCapturesHogName = GetHogName(CurrentHedgehog) + mostCapturesHogTeam = GetHogTeamName(CurrentHedgehog) + end + + CheckScore(flagClan) --if the player is returning the flag - elseif (GetHogClan(CurrentHedgehog) == wtf) and (fIsMissing[wtf] == true) then + elseif (GetHogClan(CurrentHedgehog) == flagClan) and (fIsMissing[flagClan] == true) then - DeleteVisualGear(fGear[wtf]) - fGear[wtf] = nil -- the flag has now disappeared + DeleteVisualGear(fGear[flagClan]) + fGear[flagClan] = nil -- the flag has now disappeared - fNeedsRespawn[wtf] = true - HandleRespawns() -- this will set fIsMissing[wtf] to false :) - AddCaption(loc("Flag returned!")) + fNeedsRespawn[flagClan] = true + HandleRespawns() -- this will set fIsMissing[flagClan] to false :) + AddCaption(loc("Flag returned!"), 0xFFFFFFFF, capgrpMessage2) - --if the player is taking the enemy flag - elseif GetHogClan(CurrentHedgehog) == bbq then + --if the player is taking the enemy flag (not possible if already holding a flag) + elseif GetHogClan(CurrentHedgehog) ~= flagClan and (thiefClan == nil) then - DeleteVisualGear(fGear[wtf]) - fGear[wtf] = nil -- the flag has now disappeared + DeleteVisualGear(fGear[flagClan]) + fGear[flagClan] = nil -- the flag has now disappeared - fIsMissing[wtf] = true + fIsMissing[flagClan] = true for i = 0,numhhs-1 do if CurrentHedgehog ~= nil then if CurrentHedgehog == hhs[i] then - fThief[wtf] = hhs[i] + fThief[flagClan] = hhs[i] + fThiefFlag[flagClan] = flagClan end end end - AddCaption(loc("Flag captured!")) + AddCaption(loc("Flag captured!"), 0xFFFFFFFF, capgrpMessage2) end @@ -221,20 +250,20 @@ function CheckFlagProximity() - for i = 0, 1 do + for i = 0, ClansCount-1 do if fGear[i] ~= nil then - g1X = fGearX[i] - g1Y = fGearY[i] + local g1X = fGearX[i] + local g1Y = fGearY[i] - g2X, g2Y = GetGearPosition(CurrentHedgehog) + local g2X, g2Y = GetGearPosition(CurrentHedgehog) - q = g1X - g2X - w = g1Y - g2Y - dist = (q*q) + (w*w) + local q = g1X - g2X + local w = g1Y - g2Y + local dist = (q*q) + (w*w) - if dist < 500 then --1600 - DoFlagStuff(fGear[i]) + if dist < 500 then + DoFlagStuff(fGear[i], i) end end end @@ -244,7 +273,7 @@ function HandleRespawns() - for i = 0, 1 do + for i = 0, ClansCount-1 do if fNeedsRespawn[i] == true then fGear[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true) @@ -253,39 +282,53 @@ fNeedsRespawn[i] = false fIsMissing[i] = false -- new, this should solve problems of a respawned flag being "returned" when a player tries to score - AddCaption(loc("Flag respawned!")) + AddCaption(loc("Flag respawned!"), 0xFFFFFFFF, capgrpMessage2) end end end +-- Advance the clan score graph by one step +function DrawScores() + local clansUsed = {} + for i=0, TeamsCount-1 do + local team = GetTeamName(i) + local clan = GetTeamClan(team) + if not clansUsed[clan] then + local captures = fCaptures[clan] + SendStat(siClanHealth, captures, team) + clansUsed[clan] = true + end + end +end function FlagThiefDead(gear) - if (gear == fThief[0]) then - wtf = 0 - bbq = 1 - elseif (gear == fThief[1]) then - wtf = 1 - bbq = 0 + local thiefClan + local stolenFlagClan + for i=0, ClansCount-1 do + if (gear == fThief[i]) then + thiefClan = i + stolenFlagClan = fThiefFlag[i] + break + end end - if fThief[wtf] ~= nil then + if stolenFlagClan ~= nil then -- falls into water - --ShowMission(LAND_HEIGHT, fThiefY[wtf], (LAND_HEIGHT - fThiefY[wtf]), 0, 0) - if (LAND_HEIGHT - fThiefY[wtf]) < 15 then - fIsMissing[wtf] = true - fNeedsRespawn[wtf] = true + if (LAND_HEIGHT - fThiefY[thiefClan]) < 15 then + fIsMissing[stolenFlagClan] = true + fNeedsRespawn[stolenFlagClan] = true HandleRespawns() else --normally - fGearX[wtf] = fThiefX[wtf] - fGearY[wtf] = fThiefY[wtf] - fGear[wtf] = AddVisualGear(fGearX[wtf],fGearY[wtf],vgtCircle,0,true) + fGearX[stolenFlagClan] = fThiefX[thiefClan] + fGearY[stolenFlagClan] = fThiefY[thiefClan] + fGear[stolenFlagClan] = AddVisualGear(fGearX[stolenFlagClan], fGearY[stolenFlagClan], vgtCircle, 0, true) end - AddVisualGear(fThiefX[wtf], fThiefY[wtf], vgtBigExplosion, 0, false) - fThief[wtf] = nil + AddVisualGear(fThiefX[thiefClan], fThiefY[thiefClan], vgtBigExplosion, 0, false) + fThief[thiefClan] = nil end end @@ -301,9 +344,7 @@ end end - for i = 0, 1 do - - --SetVisualGearValues(fSpawnC[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, 50, 3, fCol[i]) -- draw a circ for spawning area + for i = 0, ClansCount-1 do if fIsMissing[i] == false then -- draw a flag marker at the flag's spawning place SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 20, 0, 10, 0, 33, 3, fCol[i]) @@ -313,23 +354,16 @@ elseif (fIsMissing[i] == true) and (fNeedsRespawn[i] == false) then if fThief[i] ~= nil then -- draw circle round flag carrier -- 33 SetVisualGearValues(fCirc[i], fThiefX[i], fThiefY[i], 20, 200, 0, 0, 100, 50, 3, fCol[i]) - --AddCaption("circle marking carrier") elseif fThief[i] == nil then -- draw cirle round dropped flag - --g1X,g1Y,g4,g5,g6,g7,g8,g9,g10,g11 = GetVisualGearValues(fGear[i]) - --SetVisualGearValues(fCirc[i], g1X, g1Y, 20, 200, 0, 0, 100, 33, 2, fCol[i]) SetVisualGearValues(fCirc[i], fGearX[i], fGearY[i], 20, 200, 0, 0, 100, 33, 3, fCol[i]) - --AddCaption('dropped circle marker') if fGear[i] ~= nil then -- flag gear itself - --SetVisualGearValues(fGear[i], g1X, g1Y, 20, 200, 0, 0, 100, 10, 4, fCol[i]) SetVisualGearValues(fGear[i], fGearX[i], fGearY[i], 20, 200, 0, 0, 100, fGearRad, 2, fCol[i]) - --AddCaption('dropped flag itself') end end end if fNeedsRespawn[i] == true then -- if the flag has been destroyed, no need for a circle SetVisualGearValues(fCirc[i], fSpawnX[i],fSpawnY[i], 20, 200, 0, 0, 100, 0, 0, fCol[i]) - --AddCaption("needs respawn = true. flag 'destroyed'?") end end @@ -341,14 +375,12 @@ function CheckDistance(gear1, gear2) - g1X, g1Y = GetGearPosition(gear1) - g2X, g2Y = GetGearPosition(gear2) + local g1X, g1Y = GetGearPosition(gear1) + local g2X, g2Y = GetGearPosition(gear2) g1X = g1X - g2X g1Y = g1Y - g2Y - z = (g1X*g1X) + (g1Y*g1Y) - - dist = z + local dist = (g1X*g1X) + (g1Y*g1Y) return dist @@ -356,48 +388,16 @@ function RebuildTeamInfo() - - -- make a list of individual team names + -- make a list of teams for i = 0, (TeamsCount-1) do - teamNameArr[i] = i teamSize[i] = 0 teamIndex[i] = 0 end - numTeams = 0 - - for i = 0, (numhhs-1) do - - z = 0 - unfinished = true - while(unfinished == true) do - - newTeam = true - tempHogTeamName = GetHogTeamName(hhs[i]) -- this is the new name - - if tempHogTeamName == teamNameArr[z] then - newTeam = false - unfinished = false - end - - z = z + 1 - - if z == TeamsCount then - unfinished = false - if newTeam == true then - teamNameArr[numTeams] = tempHogTeamName - numTeams = numTeams + 1 - end - end - - end - - end -- find out how many hogs per team, and the index of the first hog in hhs - for i = 0, numTeams-1 do - + for i = 0, (TeamsCount-1) do for z = 0, numhhs-1 do - if GetHogTeamName(hhs[z]) == teamNameArr[i] then + if GetHogTeamName(hhs[z]) == GetTeamName(i) then if teamSize[i] == 0 then teamIndex[i] = z -- should give starting index end @@ -405,7 +405,6 @@ --add a pointer so this hog appears at i in hhs end end - end end @@ -413,17 +412,9 @@ function StartTheGame() gameStarted = true - AddCaption(loc("Game Started!")) - - for i = 0, 1 do + AddCaption(loc("Game Started!"), 0xFFFFFFFF, capgrpGameState) - -- if someone uses kamikaze downwards, this can happen as the hog won't respawn - if (LAND_HEIGHT - fSpawnY[i]) < 0 then - tempG = AddGear(0, 0, gtTarget, 0, 0, 0, 0) - FindPlace(tempG, true, 0, LAND_WIDTH, true) - fSpawnX[i], fSpawnY[i] = GetGearPosition(tempG) - DeleteGear(tempG) - end + for i = 0, ClansCount-1 do fGear[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true) fCirc[i] = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true) @@ -437,8 +428,6 @@ fNeedsRespawn[i] = false fCaptures[i] = 0 - --SetVisualGearValues(zxc, 1000,1000, 20, 100, 0, 10, 1, 100, 5, GetClanColor(0)) - SetVisualGearValues(fSpawnC[i], fSpawnX[i],fSpawnY[i], 20, 100, 0, 10, 0, 75, 5, fCol[i]) end @@ -461,27 +450,24 @@ function onGameInit() - DisableGameFlags(gfKing) + DisableGameFlags(gfKing, gfAISurvival) EnableGameFlags(gfDivideTeams) -- Disable Sudden Death WaterRise = 0 HealthDecrease = 0 - - Delay = 10 - end -function showMissionAndScorebar(instaHide) +function showCTFMission() local captures if captureLimit == 1 then - captures = string.format(loc("- First team to capture the flag wins"), captureLimit) + captures = string.format(loc("- First clan to capture the flag wins"), captureLimit) else - captures = string.format(loc("- First team to score %d captures wins"), captureLimit) + captures = string.format(loc("- First clan to score %d captures wins"), captureLimit) end - local rules = loc("Rules:") .. " |" .. - loc("- Place your team flag at the end of your first turn") .. "|" .. + local rules = loc("Rules:") .. "|" .. + loc("- Place your clan flag at the end of your first turn") .. "|" .. loc("- Return the enemy flag to your base to score") .."|".. captures .. "|" .. loc("- You may only score when your flag is in your base") .."|".. @@ -489,153 +475,115 @@ loc("- Dropped flags may be returned or recaptured").."|".. loc("- Hogs will be revived") - local scoreboard = "" + ShowMission(loc("Capture The Flag"), loc("A Hedgewars minigame"), rules, 0, 0) +end - if gameStarted then - scoreboard = "|" .. loc("Scores: ") .. "|" - for i=0, 1 do - scoreboard = scoreboard .. string.format(loc("%s: %d"), teamNameArr[i], fCaptures[i]) - if i~=1 then scoreboard = scoreboard .. "|" end - end - end - local mission = rules .. scoreboard - - ShowMission(loc("Capture The Flag"), loc("A Hedgewars minigame"), mission, 0, 0) - if instaHide then - HideMission() +function updateScores() + for i=0, TeamsCount-1 do + local team = GetTeamName(i) + local clan = GetTeamClan(team) + SetTeamLabel(team, tostring(fCaptures[clan])) end end function onGameStart() - showMissionAndScorebar() + showCTFMission() RebuildTeamInfo() - -- should gfDivideTeams do this automatically? - --[[for i = 0, (TeamsCount-1) do - for g = teamIndex[i], (teamIndex[i]+teamSize[i]-1) do - if GetHogClan(hhs[g]) == 0 then - FindPlace(hhs[g], false, 0, LAND_WIDTH/2) - elseif GetHogClan(hhs[g]) == 1 then - FindPlace(hhs[g], false, LAND_WIDTH/2, LAND_WIDTH) - end - end - end]] + for i=0, ClansCount-1 do + fCaptures[i] = 0 + end - fPlaced[0] = false - fPlaced[1] = false + for h=1, numhhs do + -- Hogs are resurrected for free, so this is pointless + AddAmmo(hhs[h], amResurrector, 0) + end - --zxc = AddVisualGear(fSpawnX[i],fSpawnY[i],vgtCircle,0,true) - + updateScores() - --SetVisualGearValues(zxc, 1000,1000, 20, 255, 1, 10, 0, 200, 1, GetClanColor(0)) - --minO,max0 -glowyornot --pulsate timer -- fuckall -- radius -- width -- colour + SendStat(siGraphTitle, loc("Score graph")) + SendHealthStatsOff() + SendRankingStatsOff() + end function onNewTurn() - gameTurns = gameTurns + 1 - - if lastTeam ~= GetHogTeamName(CurrentHedgehog) then - lastTeam = GetHogTeamName(CurrentHedgehog) + if gameStarted == true and not gameOver then + HandleRespawns() end - --AddCaption("Handling respawns") - if gameStarted == true then - HandleRespawns() - --new method of placing starting flags - elseif gameTurns == 1 then - showMissionAndScorebar() - elseif gameTurns == 2 then - fPlaced[0] = true - elseif gameTurns == 3 then - fPlaced[1] = true + local flagsPlaced = 0 + for i=0, ClansCount-1 do + if fSpawnX[i] and fSpawnY[i] then + flagsPlaced = flagsPlaced + 1 + end + end + if not gameStarted and flagsPlaced == ClansCount then StartTheGame() end +end +function onEndTurn() + -- if the game hasn't started yet, keep track of where we are gonna put the flags on turn end + if not gameStarted and CurrentHedgehog ~= nil then + local clan = GetHogClan(CurrentHedgehog) + + if GetX(CurrentHedgehog) and not fSpawnX[clan] then + fSpawnX[clan] = GetX(CurrentHedgehog) + fSpawnY[clan] = GetY(CurrentHedgehog) + end + end + + if gameStarted == true then + DrawScores() + end end function onGameTick() - -- onRessurect calls AFTER you have resurrected, - -- so keeping track of x,y a few milliseconds before - -- is useful - --FTTC = FTTC + 1 - --if FTTC == 100 then - -- FTTC = 0 - for i = 0,1 do - if fThief[i] ~= nil then - fThiefX[i] = GetX(fThief[i]) - fThiefY[i] = GetY(fThief[i]) - end + for i = 0, ClansCount-1 do + if fThief[i] ~= nil then + fThiefX[i] = GetX(fThief[i]) + fThiefY[i] = GetY(fThief[i]) end - --end - - -- things we wanna check often - if (CurrentHedgehog ~= nil) then - --AddCaption(LAND_HEIGHT - GetY(CurrentHedgehog)) - --AddCaption(GetX(CurrentHedgehog) .. "; " .. GetY(CurrentHedgehog)) - --CheckTeleporters() - end - if gameStarted == true then + if gameStarted == true and not gameOver then HandleCircles() if CurrentHedgehog ~= nil then CheckFlagProximity() end - elseif CurrentHedgehog ~= nil then -- if the game hasn't started yet, keep track of where we are gonna put the flags on turn end - - if GetHogClan(CurrentHedgehog) == 0 then - i = 0 - elseif GetHogClan(CurrentHedgehog) == 1 then - i = 1 - end - - if TurnTimeLeft == 0 then - fSpawnX[i] = GetX(CurrentHedgehog) - fSpawnY[i] = GetY(CurrentHedgehog) - end - end end function onGearResurrect(gear) - --AddCaption("A gear has been resurrected!") - - -- mark the flag thief as dead if he needed a respawn - for i = 0,1 do - if gear == fThief[i] then - FlagThiefDead(gear) + if GetGearType(gear) == gtHedgehog then + -- mark the flag thief as dead if he needed a respawn + for i = 0, ClansCount-1 do + if gear == fThief[i] then + FlagThiefDead(gear) + end end + AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false) end - -- should be covered by gfDivideTeams, actually - -- place hogs belonging to each clan either left or right side of map - --if GetHogClan(gear) == 0 then - -- FindPlace(gear, false, 0, LAND_WIDTH/2) - --elseif GetHogClan(gear) == 1 then - -- FindPlace(gear, false, LAND_WIDTH/2, LAND_WIDTH) - --end - - AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false) - end function InABetterPlaceNow(gear) - for i = 0, (numhhs-1) do - if gear == hhs[i] then - - for i = 0,1 do + for h = 0, (numhhs-1) do + if gear == hhs[h] then + for i = 0, ClansCount-1 do if gear == fThief[i] then FlagThiefDead(gear) end end - hhs[i] = nil + hhs[h] = nil end end end @@ -645,29 +593,34 @@ end function onHogRestore(gear) - match = false for i = 0, (numhhs-1) do - if (hhs[i] == nil) and (match == false) then + if (hhs[i] == nil) then hhs[i] = gear - --AddCaption(GetHogName(gear) .. " has reappeared it seems!") - match = true + break end end end +function onHogAttack(ammoType) + if not gameStarted and ammoType == amTardis then + local i = GetHogClan(CurrentHedgehog) + fSpawnX[i] = GetX(CurrentHedgehog) + fSpawnY[i] = GetY(CurrentHedgehog) + end +end function onGearAdd(gear) if GetGearType(gear) == gtHedgehog then hhs[numhhs] = gear + capturesPerHog[gear] = 0 numhhs = numhhs + 1 SetEffect(gear, heResurrectable, 1) elseif GetGearType(gear) == gtPiano then - - for i = 0, 1 do + for i = 0, ClansCount-1 do if CurrentHedgehog == fThief[i] then - FlagThiefDead(gear) + FlagThiefDead(CurrentHedgehog) end end @@ -679,6 +632,12 @@ if GetGearType(gear) == gtHedgehog then InABetterPlaceNow(gear) + elseif GetGearType(gear) == gtKamikaze and not gameStarted then + local i = GetHogClan(CurrentHedgehog) + if i <= 1 then + fSpawnX[i] = GetX(CurrentHedgehog) + fSpawnY[i] = GetY(CurrentHedgehog) + end end end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Construction_Mode.hwp Binary file share/hedgewars/Data/Scripts/Multiplayer/Construction_Mode.hwp has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Construction_Mode.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Construction_Mode.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Construction_Mode.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,250 +1,330 @@ ---------------------------------------------------------- ---- LE CONSTRUCTION MODE 0.7+ (badly adapted from Hedge Editor 0.5) +--[[----------------------------------------------------- +-- CONSTRUCTION MODE -- --------------------------------------------------------- --- a hedgewars gameplay mode by mikade --- special thanks to all who helped test and offered suggestions --- additional thanks to sheepluva/nemo for adding some extra hooks - --- (to do) --- investigate loc not working on addcaptions --- check for parsecommands before porting to dev --- test onUpDown more extensively as it may need revision (check for amRubber etc) --- test localization of weapons and utils and stuff - --- try posistion grenades in Harmer so it blows hogs away from the struc --- and don't explode too close to the struc - --- additional/previous balance ideas --- based on your money? --- based on the number of strucs/gens you own? --- based on your existing arsenal? --- limit number of crates spawned per round perhaps (done) --- limit number of generators? +A Hedgewars gameplay mode by mikade. +Special thanks to all who helped test and offered suggestions. +Additional thanks to sheepluva/nemo for adding some extra hooks. ------------------------------------------------------------------------------- --- SCRIPT PARAMETER ------------------------------------------------------------------------------- --- The script parameter can be used to configure the energy --- of the game. It is a comma-seperated list of key=value pairs, where each --- key is a word and each value is an integer between 0 and 4294967295. --- --- Possible keys: ---- initialenergy: Amount of energy that each team starts with (default: 550) ---- Note: Must be smaller than or equal to maxenergy ---- energyperround: Amount of energy that each team gets per round (default: 50) ---- maxenergy: Maximum amount of energy each team can hold (default: 1000) ---- cratesperround: Maximum number of crates you can place per round (default: 5) - --- For the previous 2 keys, you can use the value “inf” for an unlimited amount - --- Example: “initialenergy=750, maxenergy=2000” starts thee game with 750 energy --- and sets the maximum energy to 2000. --- Example: “craterperround=inf” disables the crate placement limit. +--------------------- +-- STRUCTURES LIST -- +--------------------- ------------------------------------------------------------------------------- ---version history ------------------------------------------------------------------------------- ---v0.1 --- concept test - ---v0.2 --- improved documentation (in script and in game) --- improved localisation (or is it? at any rate, crate placement should now say e.g. Bazooka and not amBazooka) --- added variable weapon costs (based on the values from Vatten's Consumerism script) - --- added reflector shield (still needs work and balancing) --- added weapon-filter (probably ok) - --- enabled super weapons like ballgun, rcplane, watermelon, hellish to test balance --- reduce max money to 1000 - ---v0.3 --- some /s removed - ---v0.4 --- added support for per hog ammo (hopefully) +* Healing Station: Heals hogs to 150 health +* Teleportation Node: Allows teleporting to any other teleporter nodes +* Bio-filter: Explodes enemy hogs +* Respawner: If you have one of these, any slain hogs are resurrected here +* Generator: Generates power (used to buy stuff) +* Support Station: Allows purchasing crates +* Construction Station: Allows purchasing girders, rubber, mines, sticky mines, barrels +* Reflector Shield: Reflect projectiles +* Weapon Filter: Removes all equipement of enemy hogs passing through this area ---v0.5 (dev) --- added somewhat horribly implemented support for different structure sprites --- added override pictures for ammo menu --- added override message on wep select to aid understanding --- split menu into/between weps/parts: struc, crates, gears --- add a limit on crates per turn --- add a limit on extra time per turn --- add a test level --- restored rubber placement --- cleaned up some of the code a bit and removed about 280 lines of code I didn't need, lol - ---v0.6 (dev) --- added magic dance +--------------------------------------------------------- +-- SCRIPT PARAMETER +--------------------------------------------------------- +The script parameter can be used to configure the energy +of the game. It is a comma-seperated list of key=value pairs, where each +key is a word and each value is an integer between 0 and 4294967295. ---v0.7 (pushed to repo) --- added a cfg file --- removed another 903 lines of code we weren't using (lol) +Possible keys: +* initialenergy: Amount of energy that each team starts with (default: 550) + Note: Must be smaller than or equal to maxenergy +* energyperround: Amount of energy that each team gets per round (default: 50) +* maxenergy: Maximum amount of energy each team can hold (default: 1000) +* cratesperround: Maximum number of crates you can place per round (default: 5) ---v0.7+ (merged in repo) --- applied Wuzzy's patches: --- script parameters: initialenergy, energyperround, maxenergy --- fix crate costs --- various minor tweaks and fixes --- (see commits in official repo) --- make Construction Mode play well together with fort mode (clan order = fort order) - --------------------------------- --- STRUCTURES LIST / IDEAS --------------------------------- +For the previous 2 keys, you can use the value “inf” for an unlimited amount. ---Healing Station: heals hogs to 150 life ---Teleportation Node: allows teleporting to any other teleporter nodes ---Bio-filter: explodes enemy hogs ---Respawner: if you have one of these, any slain hogs are resurrected here :D ---Generator: generates energy (used to buy stuff, and possibly later other strucs might have upkeep costs) ---Support Station: allows purchasing of weapons, utilities, and med-crates ---Construction Station: allows purchasing of girders, rubber, mines, sticky mines, barrels ---Reflector Shield: reflect projectiles ---Weapon Filter: kill all equipement of enemy hogs passing through this area. +Example: “initialenergy=750, maxenergy=2000” starts thee game with 750 energy + and sets the maximum energy to 2000. +Example: “craterperround=inf” disables the crate placement limit. - ---to make the grill more attractive make it vaporize flying saucers ---and also rope, and maybe incoming gears - --- make healing thing also cure poison --- maybe make poison more virulent and dangerous +--------------------------------------------------------- +-- Ideas list -- +--------------------------------------------------------- ---(not implemented / abandoned ideas) --- Core: allows construction of other structures. --- Automated Turret (think red drones from space invasion) --- Canon (gives access to 3 fireballs per turn while near) --- something that allows control of wind/water --- Gravity Field generator : triggers world gravity change - --- structures consume power over time and --- maybe you can turn structures OFF/ON, manually to save power. +* To make the weapon filter more attractive, make it vaporize flying saucers + and also rope, and maybe incoming gears --- hacking --- allow hacking of structures, either being able to use enemy structures, --- or turning a team's structures against them. +* Make healing thing also cure poison? +* Maybe make poison more virulent and dangerous --- pylons --- allow hogs to put down a pylon-like gear which then allows the core --- to place other structures/objects within the pylon's sphere of influence --- this would allow aggressive structure advancement - --- resouce mining? --- you could designate something like mines, that you could get close to, --- "pick up", and then "drop" back at a central location to simulate --- resource mining. bit complicated/meh, normal power generators probably easier - --- it would be cool to have a red mask we could apply over girders --- that would indicate they were Indestructible +]] HedgewarsScriptLoad("/Scripts/Locale.lua") HedgewarsScriptLoad("/Scripts/Tracker.lua") HedgewarsScriptLoad("/Scripts/Params.lua") ----------------------------------------------- --- STRUC CRAP ----------------------------------------------- +-- Structures stuff +local strucID = {} +local strucGear = {} +local strucClan = {} +local strucType = {} +local strucCost = {} +local strucHealth = {} -strucID = {} -strucGear = {} -strucClan = {} -strucType = {} -strucCost = {} -strucHealth = {} +local strucCirc = {} +local strucCircCol = {} +local strucCircRadius = {} +local strucAltDisplay = {} + +-- Clan stuff +local clanPower = {} -- current power for each clan. Used to build stuff +local clanPowerTag = nil -- visual gear ID of displayed clan power -strucCirc = {} -strucCircCol = {} -strucCircRadius = {} -strucCircType = {} -strucAltDisplay = {} - -fortMode = false +local clanUsedExtraTime = {} -- has used extra time in this round? +local clanCratesSpawned = {} -- number of crates spawned in this round +local clanFirstTurn = {} -placedExpense = 0 - -tempID = nil +local clanBoundsSX = {} +local clanBoundsSY = {} +local clanBoundsEX = {} +local clanBoundsEY = {} -sUID = 0 - -colorRed = 0xff0000ff -colorGreen = 0x00ff00ff +-- For tracking previous mode selection per-team +local teamLStructIndex = {} +local teamLObjectMode = {} +local teamLCrateMode = {} +local teamLMineIndex = {} +local teamLWeapIndex = {} +local teamLUtilIndex = {} -clanBoundsSX = {} -clanBoundsSY = {} -clanBoundsEX = {} -clanBoundsEY = {} +-- Wall stuff +local wallsVisible = false +local wX = {} +local wY = {} +local wWidth = {} +local wHeight = {} +local wCol = {} +local wMargin = 20 +local borderEffectTimer = 0 -- timer for border clan sparkles -clanPower = {} -clanID = {} -clanLStrucIndex = {} +-- Other stuff +local placedExpense = 0 -- Cost of current selected thing +local curWep = amNothing -- current weapon, used to reduce # of calls to GetCurAmmoType() + +local fortMode = false -- is using a fort map? +local tempID_CheckProximity = nil -- temporary structure variable for CheckProximity +local cGear = nil -- detects placement of girders and objects (using airattack) +local uniqueStructureID = 0 -- Counter and ID for structures. Is incremented each time a structure spawns -clanLWepIndex = {} -- for ease of use let's track this stuff -clanLUtilIndex = {} -clanLGearIndex = {} -clanUsedExtraTime = {} -clanCratesSpawned = {} -clanFirstTurn = {} - -effectTimer = 0 +-- Colors +local colorSupportStation = 0xFFFF00FF +local colorConstructionStation = 0xFFFFFFFF +local colorTeleportationNode = 0x0000FFFF +local colorHealingStation = 0xFF808040 -- Just a slight glow +local colorBioFilter = 0xFF0000FF +local colorReflectorShield = 0xFFAE00FF +local colorWeaponFilter = 0xA800FFFF -wallsVisible = false -wX = {} -wY = {} -wWidth = {} -wHeight = {} -wCol = {} -margin = 20 +local colorHealingStationParticle = 0x00FF0080 +local colorGeneratorParticle = 0xFFFF00FF + +local colorMessageError = 0xFFFFFFFF -clanPowerTag = nil -lastWep = nil - -checkForSpecialWeaponsIn = -1 +-- Fake ammo types, for the overwritten weapons in Construction Mode +local amCMStructurePlacer = amAirAttack +local amCMCratePlacer = amMineStrike +local amCMObjectPlacer = amNapalm -- Config variables (script parameter) -conf_initialEnergy = 550 -conf_energyPerRound = 50 -conf_maxEnergy = 1000 -conf_cratesPerRound = 5 +-- NOTE: If you change this, also change the default game scheme “Construction Mode” +local conf_initialEnergy = 550 +local conf_energyPerRound = 50 +local conf_maxEnergy = 1000 +local conf_cratesPerRound = 5 + +----------------------- +-- CRATE DEFINITIONS -- +----------------------- +-- format: +-- { ammoType, cost } + +local costFactor = 20 + +-- WEAPON CRATES +-- Weapons which shouldn't be aded: +-- Air attack, napalm, drillstrike: Overwritten weapons for the Construction Mode tools +-- Mine strike: Is currently broken +-- Piano strike: Hog is resurrected by respawner. Not strictly prohibited, however. +local atkArray = { + {amBazooka, 2*costFactor}, + --{amBee, 4*costFactor}, + {amMortar, 1*costFactor}, + {amDrill, 3*costFactor}, + {amSnowball, 3*costFactor}, + {amDuck, 2*costFactor}, + + {amGrenade, 2*costFactor}, + {amClusterBomb, 3*costFactor}, + {amWatermelon, 25*costFactor}, + {amHellishBomb, 25*costFactor}, + {amMolotov, 3*costFactor}, + {amGasBomb, 3*costFactor}, + + {amShotgun, 2*costFactor}, + {amDEagle, 2*costFactor}, + {amSniperRifle, 3*costFactor}, + --{amSineGun, 6*costFactor}, + {amFlamethrower, 4*costFactor}, + {amIceGun, 15*costFactor}, + {amMinigun, 13*costFactor}, + + {amFirePunch, 3*costFactor}, + {amWhip, 1*costFactor}, + {amBaseballBat, 7*costFactor}, + --{amKamikaze, 1*costFactor}, + {amSeduction, 1*costFactor}, + {amHammer, 1*costFactor}, + + {amMine, 1*costFactor}, + {amDynamite, 9*costFactor}, + {amCake, 25*costFactor}, + {amBallgun, 40*costFactor}, + --{amRCPlane, 25*costFactor}, + {amSMine, 5*costFactor}, + + --{amPiano, 40*costFactor}, + + {amPickHammer, 2*costFactor}, + {amBlowTorch, 4*costFactor}, + {amKnife, 2*costFactor}, + + {amBirdy, 7*costFactor}, +} + +-- UTILITY CRATES -- + +-- Utilities which shouldn't be added: +-- * Teleport: We have teleportation node +-- * Switch: Infinite in default Construction Mode weapons scheme +-- * Girder, rubber: Requires construction station +-- * Resurrector: We have the resurrector structure for this + +-- Utilities which might be weird for this mode: +-- * Tardis: Randomly teleports hog, maybe even into enemy clan's area +local utilArray = { + {amLandGun, 5*costFactor}, + + {amRope, 7*costFactor}, + {amParachute, 2*costFactor}, + {amJetpack, 8*costFactor}, + {amPortalGun, 15*costFactor}, + + {amInvulnerable, 5*costFactor}, + {amLaserSight, 2*costFactor}, + {amVampiric, 6*costFactor}, + + {amLowGravity, 4*costFactor}, + {amExtraDamage, 6*costFactor}, + {amExtraTime, 8*costFactor} +} + +---------------------------- +-- Placement stuff +---------------------------- + +-- primary placement categories +local cIndex = 1 -- category index +local cat = { + loc_noop("Girder Placement Mode"), + loc_noop("Rubber Placement Mode"), + loc_noop("Mine Placement Mode"), + loc_noop("Sticky Mine Placement Mode"), + loc_noop("Barrel Placement Mode"), + loc_noop("Weapon Crate Placement Mode"), + loc_noop("Utility Crate Placement Mode"), + loc_noop("Health Crate Placement Mode"), + loc_noop("Structure Placement Mode"), +} + +-- Frames in sprTarget for the structure images +local catFrames = { + ["Respawner"] = 1, + ["Generator"] = 2, + ["Healing Station"] = 3, + ["Support Station"] = 4, + ["Weapon Filter"] = 5, + ["Teleportation Node"] = 6, + ["Bio-Filter"] = 7, + ["Construction Station"] = 8, + ["Reflector Shield"] = 9, +} + +local catReverse = {} +for c=1, #cat do + catReverse[cat[c]] = c +end + +-- Track girders in proximity of CurrentHedgehog +local sProx = { + ["Girder Placement Mode"] = false, + ["Rubber Placement Mode"] = false, + ["Mine Placement Mode"] = false, + ["Sticky Mine Placement Mode"] = false, + ["Barrel Placement Mode"] = false, + ["Weapon Crate Placement Mode"] = false, + ["Utility Crate Placement Mode"] = false, + ["Health Crate Placement Mode"] = false, + ["Structure Placement Mode"] = false, + ["Teleportation Mode"] = false, +} + +local pMode = {} -- pMode contains custom subsets of the main categories +local pIndex = 1 + +local currentGirderRotation = 1 -- current girder rotation, we actually need this as HW remembers what rotation you last used + +-- Returns true if ammoType is an ammo type with a special meaning +-- in Construction Mode. +function IsConstructionModeAmmo(ammoType) + return ammoType == amCMStructurePlacer or + ammoType == amCMObjectPlacer or + ammoType == amCMCratePlacer or + ammoType == amGirder or + ammoType == amRubber or + ammoType == amTeleport +end + +function RenderClanPower() + for i=0, TeamsCount-1 do + local name = GetTeamName(i) + SetTeamLabel(name, clanPower[GetTeamClan(name)]) + end + + DrawClanPowerTag() +end function DrawClanPowerTag() - zoomL = 1.3 - - xOffset = 40 - - zoomL = 1.1 - xOffset = 45 - yOffset = 70 - tCol = 0x00ff00ff - tValue = clanPower[GetHogClan(CurrentHedgehog)] + local zoomL = 1.1 + local xOffset = 45 + local yOffset = 70 + local tValue = clanPower[GetHogClan(CurrentHedgehog)] + local tCol = GetClanColor(GetHogClan(CurrentHedgehog)) DeleteVisualGear(clanPowerTag) - clanPowerTag = AddVisualGear(0, 0, vgtHealthTag, 0, false) - g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(clanPowerTag) - SetVisualGearValues ( - clanPowerTag, --id - -div(ScreenWidth,2) + xOffset, --xoffset - ScreenHeight - yOffset, --yoffset - 0, --dx - 0, --dy - zoomL, --zoom - 1, --~= 0 means align to screen - g7, --frameticks - tValue, --value - 240000, --timer - tCol --GetClanColor( GetHogClan(CurrentHedgehog) ) - ) + clanPowerTag = AddVisualGear(-div(ScreenWidth, 2) + xOffset, ScreenHeight - yOffset, vgtHealthTag, tValue, false) + + SetVisualGearValues( + clanPowerTag, -- id + nil, -- x offset (set above) + nil, -- y offset (set above) + 0, -- dx + 0, -- dy + zoomL, -- zoom + 1, -- ~= 0 means align to screen + nil, -- frameticks + nil, -- value (set above) + 240000, -- timer + tCol -- color + ) end -function onScreenResize() - - -- redraw Tags so that their screen locations are updated - if (CurrentHedgehog ~= nil) then - DrawClanPowerTag() - end - +function DeleteClanPowerTag() + DeleteVisualGear(clanPowerTag) + clanPowerTag = nil end function XYisInRect(px, py, psx, psy, pex, pey) @@ -257,7 +337,7 @@ end -function AddWall(zXMin,zYMin, zWidth, zHeight, zCol) +function AddWall(zXMin, zYMin, zWidth, zHeight, zCol) table.insert(wX, zXMin) table.insert(wY, zYMin) @@ -269,21 +349,20 @@ function BorderSpark(zXMin,zYMin, zWidth, zHeight, bCol) - eX = zXMin + GetRandom(zWidth+10) - eY = zYMin + GetRandom(zHeight+10) - tempE = AddVisualGear(eX, eY, vgtDust, 0, false) + local eX = zXMin + GetRandom(zWidth+10) + local eY = zYMin + GetRandom(zHeight+10) + local tempE = AddVisualGear(eX, eY, vgtDust, 0, false) if tempE ~= 0 then - g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE) - SetVisualGearValues(tempE, eX, eY, g3, g4, g5, g6, g7, 1, g9, bCol ) + SetVisualGearValues(tempE, eX, eY, nil, nil, nil, nil, nil, 1, nil, bCol) end end function HandleBorderEffects() - effectTimer = effectTimer + 1 - if effectTimer > 15 then - effectTimer = 1 + borderEffectTimer = borderEffectTimer + 1 + if borderEffectTimer > 15 then + borderEffectTimer = 1 for i = 1, #wX do BorderSpark(wX[i],wY[i],wWidth[i],wHeight[i], wCol[i]) end @@ -312,13 +391,13 @@ (GetGearType(gear) == gtDrill) or (GetGearType(gear) == gtBall) or (GetGearType(gear) == gtExplosives) or - (GetGearType(gear) == gtFlame) or - (GetGearType(gear) == gtPortal) or - (GetGearType(gear) == gtDynamite) or - (GetGearType(gear) == gtSMine) or + (GetGearType(gear) == gtFlame) or + (GetGearType(gear) == gtPortal) or + (GetGearType(gear) == gtDynamite) or + (GetGearType(gear) == gtSMine) or (GetGearType(gear) == gtKnife) or - (GetGearType(gear) == gtJetpack) or -- test this and birdy plz - (GetGearType(gear) == gtBirdy) or -- test this and birdy plz + (GetGearType(gear) == gtJetpack) or + (GetGearType(gear) == gtBirdy) or (GetGearType(gear) == gtSnowball) or (GetGearType(gear) == gtMolotov) then @@ -331,6 +410,7 @@ function getThreatDamage(gear) + local dmg --- damage amounts for weapons if (GetGearType(gear) == gtGrenade) or (GetGearType(gear) == gtClusterBomb) or @@ -340,8 +420,7 @@ (GetGearType(gear) == gtMolotov) or (GetGearType(gear) == gtHellishBomb) or (GetGearType(gear) == gtWatermelon) or - (GetGearType(gear) == gtSMine) - then + (GetGearType(gear) == gtSMine) then dmg = 30 elseif (GetGearType(gear) == gtMelonPiece) then @@ -355,14 +434,13 @@ elseif (GetGearType(gear) == gtFlame) or (GetGearType(gear) == gtPortal) or - (GetGearType(gear) == gtDynamite) - then + (GetGearType(gear) == gtDynamite) then dmg = 0 elseif (GetGearType(gear) == gtBall) then dmg = 1 - else --normal shell, snowball etc + else -- normal shell, snowball etc dmg = 65 end @@ -372,7 +450,7 @@ function setGearReflectionValues(gear) - dmg = getThreatDamage(gear) + local dmg = getThreatDamage(gear) setGearValue(gear,"damage",dmg) setGearValue(gear,"deflects",0) @@ -384,82 +462,86 @@ end +function isATrackedGear(gear) + if (GetGearType(gear) == gtHedgehog) or + (GetGearType(gear) == gtTarget) or + (GetGearType(gear) == gtCase) + then + return(true) + else + return(false) + end +end + function AddStruc(pX,pY, pType, pClan) - sUID = sUID + 1 + uniqueStructureID = uniqueStructureID + 1 - tempG = AddGear(0, 0, gtTarget, 0, 0, 0, 0) + local tempG = AddGear(0, 0, gtTarget, 0, 0, 0, 0) SetGearPosition(tempG, pX, pY) - setGearValue(tempG, "sUID", sUID) + setGearValue(tempG, "uniqueStructureID", uniqueStructureID) + + local tempCirc = AddVisualGear(0,0,vgtCircle,0,true) - tempCirc = AddVisualGear(0,0,vgtCircle,0,true) + if pType ~= "Respawner" and pType ~= "Generator" then + SetVisualGearValues(tempCirc, 0, 0, 100, 255, 1, 100, 0, 500, 1, 0xFFFFFF00) + table.insert(strucCirc, tempCirc) + else + table.insert(strucCirc, false) + end - SetVisualGearValues(tempCirc, 0, 0, 100, 255, 1, 100, 0, 500, 1, 0xFFFFFF00) - - table.insert(strucID, sUID) + table.insert(strucID, uniqueStructureID) table.insert(strucType, pType) table.insert(strucGear,tempG) table.insert(strucClan,pClan) table.insert(strucCost,2) - frameID = 0 - visualSprite = sprTarget - madness = AddVisualGear(GetX(tempG), GetY(tempG), vgtStraightShot, 1, true,1) - g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(madness) --g9 + local frameID = 0 + local visualSprite = sprTarget + local madness = AddVisualGear(GetX(tempG), GetY(tempG), vgtStraightShot, 1, true,1) - - if pType == loc("Reflector Shield") then + if pType == "Reflector Shield" then table.insert(strucHealth,255) else table.insert(strucHealth,1) end - table.insert(strucCirc,tempCirc) - - table.insert(strucCircType, 1) - if pType == loc("Bio-Filter") then - table.insert(strucCircCol,colorRed) + if pType == "Bio-Filter" then + table.insert(strucCircCol, colorBioFilter) table.insert(strucCircRadius,1000) - frameID = 7 - elseif pType == loc("Healing Station") then - table.insert(strucCircCol,0xFF00FF00) + elseif pType == "Healing Station" then + table.insert(strucCircCol, colorHealingStation) table.insert(strucCircRadius,500) - frameID = 3 - elseif pType == loc("Respawner") then - table.insert(strucCircCol,0xFF00FF00) - table.insert(strucCircRadius,75) + elseif pType == "Respawner" then + table.insert(strucCircCol, 0) + table.insert(strucCircRadius,0) runOnHogs(EnableHogResurrectionForThisClan) - frameID = 1 - elseif pType == loc("Teleportation Node") then - table.insert(strucCircCol,0x0000FFFF) + elseif pType == "Teleportation Node" then + table.insert(strucCircCol, colorTeleportationNode) table.insert(strucCircRadius,350) - frameID = 6 - elseif pType == loc("Generator") then - table.insert(strucCircCol,0xFFFF00FF) - table.insert(strucCircRadius,75) + elseif pType == "Generator" then + table.insert(strucCircCol, 0) + table.insert(strucCircRadius,0) setGearValue(tempG, "power", 0) - frameID = 2 - elseif pType == loc("Support Station") then - table.insert(strucCircCol,0xFFFF00FF) + elseif pType == "Support Station" then + table.insert(strucCircCol, colorSupportStation) + table.insert(strucCircRadius,500) + elseif pType == "Construction Station" then + table.insert(strucCircCol, colorConstructionStation) table.insert(strucCircRadius,500) - frameID = 4 - elseif pType == loc("Construction Station") then - table.insert(strucCircCol,0xFFFFFFFF) - table.insert(strucCircRadius,500) - frameID = 8 - elseif pType == loc("Reflector Shield") then - table.insert(strucCircCol,0xffae00ff) + elseif pType == "Reflector Shield" then + table.insert(strucCircCol, colorReflectorShield) table.insert(strucCircRadius,750) - frameID = 9 - elseif pType == loc("Weapon Filter") then - table.insert(strucCircCol,0xa800ffff) + elseif pType == "Weapon Filter" then + table.insert(strucCircCol, colorWeaponFilter) table.insert(strucCircRadius,750) - frameID = 5 + end + if catFrames[pType] then + frameID = catFrames[pType] end - - SetVisualGearValues(madness, g1, g2, 0, 0, g5, frameID, g7, visualSprite, g9, g10 ) + SetVisualGearValues(madness, nil, nil, 0, 0, nil, frameID, nil, visualSprite, nil, nil) SetState(tempG, bor(GetState(tempG),gstInvisible) ) table.insert(strucAltDisplay, madness) @@ -469,12 +551,12 @@ -- we may need to expand it for non-gear structures later function CheckGearForStructureLink(gear) - respawnerDestroyed = false + local respawnerDestroyed = false for i = 1, #strucID do - if strucID[i] == getGearValue(gear,"sUID") then + if strucID[i] == getGearValue(gear,"uniqueStructureID") then - if strucType[i] == loc("Respawner") then + if strucType[i] == "Respawner" then respawnerDestroyed = true end @@ -490,7 +572,6 @@ table.remove(strucCircCol,i) table.remove(strucCircRadius,i) - table.remove(strucCircType,i) if strucAltDisplay[i] ~= 1 then DeleteVisualGear(strucAltDisplay[i]) @@ -516,9 +597,9 @@ -- this is called when a respawner blows up function RecalibrateRespawn(gear) - respawnerList = {} + local respawnerList = {} for i = 1, #strucID do - if (strucType[i] == loc("Respawner")) and (strucClan[i] == GetHogClan(gear)) then + if (strucType[i] == "Respawner") and (strucClan[i] == GetHogClan(gear)) then table.insert(respawnerList, i) end end @@ -534,17 +615,26 @@ --resposition dead hogs at a respawner if they own one function FindRespawner(gear) - respawnerList = {} + local respawnerList = {} for i = 1, #strucID do - if (strucType[i] == loc("Respawner")) and (strucClan[i] == GetHogClan(gear)) then + if (strucType[i] == "Respawner") and (strucClan[i] == GetHogClan(gear)) then table.insert(respawnerList, i) end end if #respawnerList >= 1 then - i = GetRandom(#respawnerList)+1 + local i = GetRandom(#respawnerList)+1 SetGearPosition(gear,GetX(strucGear[respawnerList[i]]),GetY(strucGear[respawnerList[i]])-25) AddVisualGear(GetX(gear), GetY(gear), vgtExplosion, 0, false) + local msgs = { + loc("The respawner respawns %s"), + loc("%s died … and lives again!"), + loc("%s gets an extra life"), + loc("%s is now a zombie hedgehog"), + loc("%s has been rescued from death"), + } + local r = math.random(1, #msgs) + AddCaption(string.format(msgs[r], GetHogName(gear))) else -- (this should never happen, but just in case) SetEffect(gear, heResurrectable, 0) DeleteGear(gear) @@ -552,37 +642,24 @@ end -function onGearResurrect(gear) - AddVisualGear(GetX(gear), GetY(gear), vgtExplosion, 0, false) - FindRespawner(gear) -end - - function CheckTeleport(gear, tX, tY) - teleportOriginSuccessful = false - teleportDestinationSuccessful = false + local teleportOriginSuccessful = false + local teleportDestinationSuccessful = false for i = 1, #strucID do - if (strucType[i] == loc("Teleportation Node")) and (strucClan[i] == GetHogClan(CurrentHedgehog)) then + if (strucType[i] == "Teleportation Node") and (strucClan[i] == GetHogClan(CurrentHedgehog)) then - dist = GetDistFromGearToXY(CurrentHedgehog,GetX(strucGear[i]), GetY(strucGear[i])) - if strucCircType[i] == 0 then - NR = strucCircRadius[i] - else - NR = (48/100*strucCircRadius[i])/2 - end + local dist = GetDistFromGearToXY(CurrentHedgehog,GetX(strucGear[i]), GetY(strucGear[i])) + local NR + NR = (48/100*strucCircRadius[i])/2 if dist <= NR*NR then teleportOriginSuccessful = true end dist = GetDistFromXYtoXY(tX,tY,GetX(strucGear[i]), GetY(strucGear[i])) - if strucCircType[i] == 0 then - NR = strucCircRadius[i] - else - NR = (48/100*strucCircRadius[i])/2 - end + NR = (48/100*strucCircRadius[i])/2 if dist <= NR*NR then teleportDestinationSuccessful = true end @@ -593,7 +670,9 @@ end if ((teleportDestinationSuccessful == false) or (teleportOriginSuccessful == false)) then - AddCaption(loc("Teleport Unsuccessful. Please teleport within a clan teleporter's sphere of influence.")) + if IsHogLocal(CurrentHedgehog) then + AddCaption(loc("Teleport unsuccessful. Please teleport within a clan teleporter's sphere of influence."), colorMessageError, capgrpMessage) + end SetGearTarget(gear, GetX(CurrentHedgehog), GetY(CurrentHedgehog)) end @@ -602,90 +681,120 @@ --Check for proximity of gears to structures, and make structures behave accordingly function CheckProximity(gear) - dist = GetDistFromGearToXY(gear, GetX(strucGear[tempID]), GetY(strucGear[tempID])) + local sID = tempID_CheckProximity + + local dist = GetDistFromGearToXY(gear, GetX(strucGear[sID]), GetY(strucGear[sID])) if not dist then return end -- calculate my real radius if I am an aura - if strucCircType[tempID] == 0 then - NR = strucCircRadius[tempID] - else - NR = (48/100*strucCircRadius[tempID])/2 - end + local NR + NR = (48/100*strucCircRadius[sID])/2 -- we're in business if dist <= NR*NR then - -- heal clan hogs - if strucType[tempID] == loc("Healing Station") then + if strucType[sID] == "Healing Station" then if GetGearType(gear) == gtHedgehog then - if GetHogClan(gear) == strucClan[tempID] then + if GetHogClan(gear) == strucClan[sID] then - hogLife = GetHealth(gear) + 1 - if hogLife > 150 then - hogLife = 150 + local hogLife = GetHealth(gear) + -- Heal hog by 1 HP, up to 150 HP total + if hogLife < 150 then + if ((hogLife + 1) % 5) == 0 then + -- Health anim every 5 HP + HealHog(gear, 1, false) + else + SetHealth(gear, hogLife+1) + end end - SetHealth(gear, hogLife) - -- change this to the med kit sprite health ++++s later - tempE = AddVisualGear(GetX(strucGear[tempID]), GetY(strucGear[tempID]), vgtSmoke, 0, true) - g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE) - SetVisualGearValues(tempE, g1, g2, g3, g4, g5, g6, g7, g8, g9, colorGreen ) + -- Maybe find better animation? + local tempE = AddVisualGear(GetX(strucGear[sID]), GetY(strucGear[sID]), vgtSmoke, 0, false) + SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, nil, colorHealingStationParticle) end end -- explode enemy clan hogs - elseif strucType[tempID] == loc("Bio-Filter") then + elseif strucType[sID] == "Bio-Filter" then if GetGearType(gear) == gtHedgehog then - if (GetHogClan(gear) ~= strucClan[tempID]) and (GetHealth(gear) > 0) then + if (GetHogClan(gear) ~= strucClan[sID]) and (GetHealth(gear) > 0) then AddGear(GetX(gear), GetY(gear), gtGrenade, 0, 0, 0, 1) end end -- were those weapons in your pocket, or were you just happy to see me? - elseif strucType[tempID] == loc("Weapon Filter") then + elseif strucType[sID] == "Weapon Filter" then if GetGearType(gear) == gtHedgehog then - if (GetHogClan(gear) ~= strucClan[tempID]) then + if (GetHogClan(gear) ~= strucClan[sID]) then + + -- Vaporize (almost) all of the hog's ammo - for wpnIndex = 1, #atkArray do - AddAmmo(gear, atkArray[wpnIndex][1], 0) + local ammosDestroyed = 0 + for wpnIndex = 0, AmmoTypeMax do + if (not IsConstructionModeAmmo(wpnIndex)) and wpnIndex ~= amSkip and wpnIndex ~= amNothing then + local count = GetAmmoCount(gear, wpnIndex) + -- Infinite ammos are spared + if count ~= 100 then + ammosDestroyed = ammosDestroyed + count + AddAmmo(gear, wpnIndex, 0) + end + end end - for wpnIndex = 1, #utilArray do - AddAmmo(gear, utilArray[wpnIndex][1], 0) - end + if ammosDestroyed > 0 then + -- Vaporize effects + if gear == CurrentHedgehog then + local r = math.random(1, 2) + if r == 1 then + PlaySound(sndNutter, gear) + else + PlaySound(sndOops, gear) + end + end + PlaySound(sndVaporize) + for i=1, 5 do + AddVisualGear(GetX(gear), GetY(gear), vgtSmoke, 0, false) + end - AddAmmo(gear, amAirAttack, 100) - AddAmmo(gear, amSwitch, 100) - AddAmmo(gear, amSkip, 100) + local msgs = { + loc("%s lost all the weapons"), + loc("The ammo of %s has been vaporized"), + loc("%s fell victim to a weapon filter"), + loc("%s is suddenly low on ammo"), + loc("%s is now as poor as a church mouse"), + } + local r = math.random(1, #msgs) + AddCaption(string.format(msgs[r], GetHogName(gear)), 0xFFFFFFFF, capgrpAmmoinfo) + end end end -- BOUNCE! POGO! POGO! POGO! POGO! - elseif strucType[tempID] == loc("Reflector Shield") then + elseif strucType[sID] == "Reflector Shield" then -- add check for whose projectile it is if gearCanBeDeflected(gear) == true then - gOwner = getGearValue(gear,"owner") - gDeflects = getGearValue(gear,"deflects") - gDmg = getGearValue(gear,"damage") + local gOwner = getGearValue(gear,"owner") + local gDeflects = getGearValue(gear,"deflects") + local gDmg = getGearValue(gear,"damage") if gDeflects >= 3 then DeleteGear(gear) AddVisualGear(GetX(gear), GetY(gear), vgtSmoke, 0, false) PlaySound(sndVaporize) - elseif gOwner ~= strucClan[tempID] then + elseif gOwner ~= strucClan[sID] then --whether to vaporize gears or bounce them if gDmg ~= 0 then - dx, dy = GetGearVelocity(gear) + local dx, dy = GetGearVelocity(gear) if (dx == 0) and (dy == 0) then -- static mine, explosive, etc encountered @@ -702,12 +811,14 @@ AddVisualGear(GetX(gear), GetY(gear), vgtExplosion, 0, false) PlaySound(sndExplosion) - strucHealth[tempID] = strucHealth[tempID] - gDmg - strucCircCol[tempID] = strucCircCol[tempID] - gDmg + strucHealth[sID] = strucHealth[sID] - gDmg + if strucCirc[sID] then + strucCircCol[sID] = strucCircCol[sID] - gDmg + end - if strucHealth[tempID] <= 0 then - AddVisualGear(GetX(strucGear[tempID]), GetY(strucGear[tempID]), vgtExplosion, 0, false) - DeleteGear(strucGear[tempID]) + if strucHealth[sID] <= 0 then + AddVisualGear(GetX(strucGear[sID]), GetY(strucGear[sID]), vgtExplosion, 0, false) + DeleteGear(strucGear[sID]) PlaySound(sndExplosion) end @@ -722,16 +833,12 @@ end --mark as within range of a teleporter node - elseif strucType[tempID] == loc("Teleportation Node") then + elseif strucType[sID] == "Teleportation Node" then if GetGearType(gear) == gtHedgehog then - if GetHogClan(gear) == strucClan[tempID] then + if GetHogClan(gear) == strucClan[sID] then - for i = 1, #sProx do - if sProx[i][1] == loc("Teleportation Mode") then - sProx[i][2] = true - end - end + sProx["Teleportation Mode"] = true end end @@ -739,23 +846,17 @@ -- mark as within range of construction station -- and thus allow menu access to placement modes -- for girders, mines, sticky mines and barrels - elseif strucType[tempID] == loc("Construction Station") then + elseif strucType[sID] == "Construction Station" then if GetGearType(gear) == gtHedgehog then - if GetHogClan(gear) == strucClan[tempID] then - tempE = AddVisualGear(GetX(strucGear[tempID]), GetY(strucGear[tempID]), vgtSmoke, 0, true) + if GetHogClan(gear) == strucClan[sID] then + AddVisualGear(GetX(strucGear[sID]), GetY(strucGear[sID]), vgtSmoke, 0, false) - for i = 1, #sProx do - if ((sProx[i][1] == loc("Girder Placement Mode")) - or (sProx[i][1] == loc("Rubber Placement Mode")) - or (sProx[i][1] == loc("Mine Placement Mode")) - or (sProx[i][1] == loc("Sticky Mine Placement Mode")) - or (sProx[i][1] == loc("Barrel Placement Mode"))) - then - sProx[i][2] = true - end - end - + sProx["Girder Placement Mode"] = true + sProx["Rubber Placement Mode"] = true + sProx["Mine Placement Mode"] = true + sProx["Sticky Mine Placement Mode"] = true + sProx["Barrel Placement Mode"] = true end end @@ -763,21 +864,15 @@ -- mark as within stupport station range -- and thus allow menu access to placement modes -- for weapon, utility, and med crates - elseif strucType[tempID] == loc("Support Station") then + elseif strucType[sID] == "Support Station" then if GetGearType(gear) == gtHedgehog then - if GetHogClan(gear) == strucClan[tempID] then - tempE = AddVisualGear(GetX(strucGear[tempID]), GetY(strucGear[tempID]), vgtSmoke, 0, true) + if GetHogClan(gear) == strucClan[sID] then + AddVisualGear(GetX(strucGear[sID]), GetY(strucGear[sID]), vgtSmoke, 0, false) - for i = 1, #sProx do - if ((sProx[i][1] == loc("Health Crate Placement Mode")) - or (sProx[i][1] == loc("Weapon Crate Placement Mode")) - or (sProx[i][1] == loc("Utility Crate Placement Mode"))) - then - sProx[i][2] = true - end - end - + sProx["Health Crate Placement Mode"] = true + sProx["Weapon Crate Placement Mode"] = true + sProx["Utility Crate Placement Mode"] = true end end @@ -789,10 +884,10 @@ -- used to check if we need to run through all hogs or just currenthedgehog function isAStructureThatAppliesToMultipleGears(pID) - if strucType[pID] == loc("Healing Station") or - strucType[pID] == loc("Reflector Shield") or - strucType[pID] == loc("Weapon Filter") or - strucType[pID] == loc("Bio-Filter") + if strucType[pID] == "Healing Station" or + strucType[pID] == "Reflector Shield" or + strucType[pID] == "Weapon Filter" or + strucType[pID] == "Bio-Filter" then return(true) else @@ -803,21 +898,20 @@ function HandleStructures() if GameTime % 100 == 0 then - for i = 1, #sProx do - sProx[i][2] = false - - if sProx[i][1] == loc("Structure Placement Mode") then - sProx[i][2] = true + for k, _ in pairs(sProx) do + if k ~= "Structure Placement Mode" then + sProx[k] = false end - end end for i = 1, #strucID do - SetVisualGearValues(strucCirc[i], GetX(strucGear[i]), GetY(strucGear[i]), nil, nil, nil, nil, nil, strucCircRadius[i], nil, strucCircCol[i]) + if strucCirc[i] then + SetVisualGearValues(strucCirc[i], GetX(strucGear[i]), GetY(strucGear[i]), nil, nil, nil, nil, nil, strucCircRadius[i], nil, strucCircCol[i]) + end - tempID = i + tempID_CheckProximity = i SetVisualGearValues(strucAltDisplay[i], GetX(strucGear[i]), GetY(strucGear[i]), 0, 0, nil, nil, 800000, sprTarget) @@ -831,17 +925,28 @@ end end - if strucType[i] == loc("Generator") then + if strucType[i] == "Generator" then for z = 0, ClansCount-1 do if z == strucClan[i] then increaseGearValue(strucGear[i],"power") if getGearValue(strucGear[i],"power") == 10 then setGearValue(strucGear[i],"power",0) - clanPower[z] = clanPower[z] + 1 - if conf_maxEnergy ~= "inf" and clanPower[z] > conf_maxEnergy then - clanPower[z] = conf_maxEnergy + + -- Add 1 energy (if not at max. already) + if not (conf_maxEnergy ~= "inf" and clanPower[z] + 1 > conf_maxEnergy) then + clanPower[z] = clanPower[z] + 1 + + -- Spawn one particle per energy added + local particle = AddVisualGear(GetX(strucGear[i]), GetY(strucGear[i])-16, vgtStraightShot, sprStar, false) + SetVisualGearValues(particle, nil, nil, math.random(-100, 100)*0.00005, 0.02, math.random(360), 0, 900, nil, 0, colorGeneratorParticle) + + else + + SetVisualGearValues(strucAltDisplay[i], GetX(strucGear[i]), GetY(strucGear[i]), 0, 0, nil, nil, 800000, sprTarget) end + + end end @@ -852,292 +957,101 @@ end - - - -- this is kinda messy and gross (even more than usual), fix it up at some point - -- it just assumes that if you have access to girders, it works for rubbers - -- as that is what the struc implemenation means due to construction station + -- Add and remove ammo based on structure proximity if GameTime % 100 == 0 and CurrentHedgehog ~= nil then - anyUIProx = false - for i = 1, #sProx do - - if sProx[i][1] == loc("Girder Placement Mode") then - if sProx[i][2] == true then - AddAmmo(CurrentHedgehog, amGirder, 100) - AddAmmo(CurrentHedgehog, amRubber, 100) - AddAmmo(CurrentHedgehog, amDrillStrike, 100) - else - AddAmmo(CurrentHedgehog, amGirder, 0) - AddAmmo(CurrentHedgehog, amRubber, 0) - AddAmmo(CurrentHedgehog, amDrillStrike, 0) -- new - end - elseif sProx[i][1] == loc("Teleportation Mode") then - if sProx[i][2] == true then - AddAmmo(CurrentHedgehog, amTeleport, 100) - else - AddAmmo(CurrentHedgehog, amTeleport, 0) - end - elseif sProx[i][1] == loc("Weapon Crate Placement Mode") then - -- this is new stuff - if sProx[i][2] == true then - AddAmmo(CurrentHedgehog, amNapalm, 100) - else - AddAmmo(CurrentHedgehog, amNapalm, 0) - end - end - - if (sProx[i][2] == true) then - anyUIProx = true - end - + if sProx["Girder Placement Mode"] then + AddAmmo(CurrentHedgehog, amGirder, 100) + else + AddAmmo(CurrentHedgehog, amGirder, 0) + end + if sProx["Rubber Placement Mode"] then + AddAmmo(CurrentHedgehog, amRubber, 100) + else + AddAmmo(CurrentHedgehog, amRubber, 0) + end + if sProx["Mine Placement Mode"] or sProx["Sticky Mine Placement Mode"] or sProx["Barrel Placement Mode"] then + AddAmmo(CurrentHedgehog, amCMObjectPlacer, 100) + else + AddAmmo(CurrentHedgehog, amCMObjectPlacer, 0) + end + if sProx["Teleportation Mode"] then + AddAmmo(CurrentHedgehog, amTeleport, 100) + else + AddAmmo(CurrentHedgehog, amTeleport, 0) + end + if sProx["Weapon Crate Placement Mode"] or sProx["Utility Crate Placement Mode"] or sProx["Health Crate Placement Mode"] then + AddAmmo(CurrentHedgehog, amCMCratePlacer, 100) + else + AddAmmo(CurrentHedgehog, amCMCratePlacer, 0) end end end - -function checkForSpecialWeapons() - - if (GetCurAmmoType() == amDrillStrike) then - AddCaption(loc("Object Placer"),GetClanColor(GetHogClan(CurrentHedgehog)),capgrpAmmoinfo) - end - - lastWep = GetCurAmmoType() - -end - ----------------------------------------------------------- --- EXCERPTS OF ADAPTED HEDGE_EDITOR CODE FOLLOWS ----------------------------------------------------------- --- experimental crap - -local landType = 0 ------------------------------------------ --- tracking vars for save slash load purposes ------------------------------------------ - -local hhs = {} - ---------------------------------- --- crates are made of this stuff ---------------------------------- -placeholder = 20 - atkArray = - { - {amBazooka, "amBazooka", 0, 2*placeholder}, - --{amBee, "amBee", 0, loc("Homing Bee"), 4*placeholder}, - {amMortar, "amMortar", 0, 1*placeholder}, - {amDrill, "amDrill", 0, 3*placeholder}, - {amSnowball, "amSnowball", 0, 3*placeholder}, - - {amGrenade, "amGrenade", 0, 2*placeholder}, - {amClusterBomb, "amClusterBomb", 0, 3*placeholder}, - {amWatermelon, "amWatermelon", 0, 25*placeholder}, - {amHellishBomb, "amHellishBomb", 0, 25*placeholder}, - {amMolotov, "amMolotov", 0, 3*placeholder}, - {amGasBomb, "amGasBomb", 0, 3*placeholder}, - - {amShotgun, "amShotgun", 0, 2*placeholder}, - {amDEagle, "amDEagle", 0, 2*placeholder}, - {amSniperRifle, "amSniperRifle", 0, 3*placeholder}, - --{amSineGun, "amSineGun", 0, loc("Sine Gun"), 6*placeholder}, - {amFlamethrower,"amFlamethrower", 0, 4*placeholder}, - {amIceGun, "amIceGun", 0, 15*placeholder}, - - {amFirePunch, "amFirePunch", 0, 3*placeholder}, - {amWhip, "amWhip", 0, 1*placeholder}, - {amBaseballBat, "amBaseballBat", 0, 7*placeholder}, - --{amKamikaze, "amKamikaze", 0, loc("Kamikaze"), 1*placeholder}, - {amSeduction, "amSeduction", 0, 1*placeholder}, - {amHammer, "amHammer", 0, 1*placeholder}, - - {amMine, "amMine", 0, 1*placeholder}, - {amDynamite, "amDynamite", 0, 9*placeholder}, - {amCake, "amCake", 0, 25*placeholder}, - {amBallgun, "amBallgun", 0, 40*placeholder}, - --{amRCPlane, "amRCPlane", 0, loc("RC Plane"), 25*placeholder}, - {amSMine, "amSMine", 0, 5*placeholder}, - - --{amAirAttack, "amAirAttack", 0, loc("Air Attack"), 10*placeholder}, - --{amMineStrike, "amMineStrike", 0, loc("Mine Strike"), 15*placeholder}, - --{amNapalm, "amNapalm", 0, loc("Napalm"), 15*placeholder}, - --{amPiano, "amPiano", 0, loc("Piano Strike"), 40*placeholder}, - --{amDrillStrike, "amDrillStrike", 0, loc("Drill Strike"), 15*placeholder}, - - {amPickHammer, "amPickHammer", 0, 2*placeholder}, - {amBlowTorch, "amBlowTorch", 0, 4*placeholder}, - {amKnife, "amKnife", 0, 2*placeholder}, - - {amBirdy, "amBirdy", 0, 7*placeholder}, - - {amDuck, "amDuck", 0, 2*placeholder} - - } - - utilArray = - { - --{amGirder, "amGirder", 0, loc("Girder"), 4*placeholder}, - {amLandGun, "amLandGun", 0, 5*placeholder}, - --{amRubber, "amRubber", 0, loc("Rubber"), 5*placeholder}, - - {amRope, "amRope", 0, 7*placeholder}, - {amParachute, "amParachute", 0, 2*placeholder}, - --{amTeleport, "amTeleport", 0, loc("Teleport"), 6*placeholder}, - {amJetpack, "amJetpack", 0, 8*placeholder}, - {amPortalGun, "amPortalGun", 0, 15*placeholder}, - - {amInvulnerable, "amInvulnerable", 0, 5*placeholder}, - {amLaserSight, "amLaserSight", 0, 2*placeholder}, - {amVampiric, "amVampiric", 0, 6*placeholder}, - --{amResurrector, "amResurrector", 0, loc("Resurrector"), 8*placeholder}, - --{amTardis, "amTardis", 0, loc("Time Box"), 2*placeholder}, - - --{amSwitch, "amSwitch", 0, loc("Switch Hog"), 4*placeholder} - {amLowGravity, "amLowGravity", 0, 4*placeholder}, - {amExtraDamage, "amExtraDamage", 0, 6*placeholder}, - {amExtraTime, "amExtraTime", 0, 8*placeholder} - - } - ----------------------------- --- placement shite ----------------------------- - -local cGear = nil -- detects placement of girders and objects (using airattack) -local curWep = amNothing - --- primary placement categories -local cIndex = 1 -- category index -local cat = { - "Girder Placement Mode", - "Rubber Placement Mode", - "Mine Placement Mode", - "Sticky Mine Placement Mode", - "Barrel Placement Mode", - "Weapon Crate Placement Mode", - "Utility Crate Placement Mode", - "Health Crate Placement Mode", - "Structure Placement Mode" - } - - - sProx = { - {loc("Girder Placement Mode"),false}, - {loc("Rubber Placement Mode"),false}, - {loc("Mine Placement Mode"),false}, - {loc("Sticky Mine Placement Mode"),false}, - {loc("Barrel Placement Mode"),false}, - {loc("Weapon Crate Placement Mode"),false}, - {loc("Utility Crate Placement Mode"),false}, - {loc("Health Crate Placement Mode"),false}, - {loc("Structure Placement Mode"),false}, - {loc("Teleportation Mode"),false} - } - - -local pMode = {} -- pMode contains custom subsets of the main categories -local pIndex = 1 - -local CGR = 1 -- current girder rotation, we actually need this as HW remembers what rotation you last used - -local placedX = {} -local placedY = {} -local placedSpec = {} -local placedSuperSpec = {} -local placedType = {} -local placedCount = 0 - -local sCirc -- circle that appears around selected gears -local sGear = nil -local closestDist -local closestGear = nil - -local tCirc = {} -- array of circles that appear around tagged gears - ------------------------ -- SOME GENERAL METHODS ------------------------ function GetDistFromGearToXY(gear, g2X, g2Y) - g1X, g1Y = GetGearPosition(gear) + local g1X, g1Y = GetGearPosition(gear) if not g1X then return nil end - q = g1X - g2X - w = g1Y - g2Y + local q = g1X - g2X + local w = g1Y - g2Y return ( (q*q) + (w*w) ) end function GetDistFromXYtoXY(a, b, c, d) - q = a - c - w = b - d + local q = a - c + local w = b - d return ( (q*q) + (w*w) ) end -function SelectGear(gear) - - d = GetDistFromGearToXY(gear, placedX[placedCount], placedY[placedCount]) - - if d < closestDist then - closestDist = d - closestGear = gear - end - -end - -- essentially called when user clicks the mouse -- with girders or an airattack function PlaceObject(x,y) - placedX[placedCount] = x - placedY[placedCount] = y - placedType[placedCount] = cat[cIndex] - placedSpec[placedCount] = pMode[pIndex] - if (clanUsedExtraTime[GetHogClan(CurrentHedgehog)] == true) and (cat[cIndex] == "Utility Crate Placement Mode") and (utilArray[pIndex][1] == amExtraTime) then - AddCaption(loc("You may only place 1 Extra Time crate per turn."),0xffba00ff,capgrpVolume) + if IsHogLocal(CurrentHedgehog) then + AddCaption(loc("You may only place 1 Extra Time crate per turn."), colorMessageError, capgrpVolume) + end PlaySound(sndDenied) elseif (conf_cratesPerRound ~= "inf" and clanCratesSpawned[GetHogClan(CurrentHedgehog)] >= conf_cratesPerRound) and ( (cat[cIndex] == "Health Crate Placement Mode") or (cat[cIndex] == "Utility Crate Placement Mode") or (cat[cIndex] == "Weapon Crate Placement Mode") ) then - AddCaption(string.format(loc("You may only place %d crates per round."), conf_cratesPerRound),0xffba00ff,capgrpVolume) + if IsHogLocal(CurrentHedgehog) then + AddCaption(string.format(loc("You may only place %d crates per round."), conf_cratesPerRound), colorMessageError, capgrpVolume) + end PlaySound(sndDenied) elseif (XYisInRect(x,y, clanBoundsSX[GetHogClan(CurrentHedgehog)],clanBoundsSY[GetHogClan(CurrentHedgehog)],clanBoundsEX[GetHogClan(CurrentHedgehog)],clanBoundsEY[GetHogClan(CurrentHedgehog)]) == true) and (clanPower[GetHogClan(CurrentHedgehog)] >= placedExpense) then -- For checking if the actual placement succeeded local placed = false + local gear if cat[cIndex] == "Girder Placement Mode" then - placed = PlaceGirder(x, y, CGR) - placedSpec[placedCount] = CGR + placed = PlaceGirder(x, y, currentGirderRotation) elseif cat[cIndex] == "Rubber Placement Mode" then - placed = PlaceRubber(x, y, CGR) - placedSpec[placedCount] = CGR + placed = PlaceRubber(x, y, currentGirderRotation) elseif cat[cIndex] == "Health Crate Placement Mode" then gear = SpawnHealthCrate(x,y) if gear ~= nil then placed = true SetHealth(gear, pMode[pIndex]) - setGearValue(gear,"caseType","med") clanCratesSpawned[GetHogClan(CurrentHedgehog)] = clanCratesSpawned[GetHogClan(CurrentHedgehog)] +1 end elseif cat[cIndex] == "Weapon Crate Placement Mode" then gear = SpawnAmmoCrate(x, y, atkArray[pIndex][1]) if gear ~= nil then placed = true - placedSpec[placedCount] = atkArray[pIndex][2] - setGearValue(gear,"caseType","ammo") - setGearValue(gear,"contents",atkArray[pIndex][2]) clanCratesSpawned[GetHogClan(CurrentHedgehog)] = clanCratesSpawned[GetHogClan(CurrentHedgehog)] +1 end elseif cat[cIndex] == "Utility Crate Placement Mode" then gear = SpawnUtilityCrate(x, y, utilArray[pIndex][1]) if gear ~= nil then placed = true - placedSpec[placedCount] = utilArray[pIndex][2] - setGearValue(gear,"caseType","util") - setGearValue(gear,"contents",utilArray[pIndex][2]) if utilArray[pIndex][1] == amExtraTime then clanUsedExtraTime[GetHogClan(CurrentHedgehog)] = true end @@ -1164,23 +1078,32 @@ end if placed then + -- Pay the price clanPower[GetHogClan(CurrentHedgehog)] = clanPower[GetHogClan(CurrentHedgehog)] - placedExpense - placedCount = placedCount + 1 + RenderClanPower() + if cat[cIndex] == "Girder Placement Mode" or cat[cIndex] == "Rubber Placement Mode" then + PlaySound(sndPlaced) + end else - AddCaption(loc("Invalid Placement"),0xffba00ff,capgrpVolume) + if IsHogLocal(CurrentHedgehog) then + AddCaption(loc("Invalid Placement"), colorMessageError, capgrpVolume) + end PlaySound(sndDenied) end else - if (clanPower[GetHogClan(CurrentHedgehog)] >= placedExpense) then - AddCaption(loc("Invalid Placement"),0xffba00ff,capgrpVolume) - else - AddCaption(loc("Insufficient Power"),0xffba00ff,capgrpVolume) - end + if (clanPower[GetHogClan(CurrentHedgehog)] >= placedExpense) then + if IsHogLocal(CurrentHedgehog) then + AddCaption(loc("Invalid Placement"), colorMessageError, capgrpVolume) + end + else + if IsHogLocal(CurrentHedgehog) then + AddCaption(loc("Insufficient Power"), colorMessageError, capgrpVolume) + end + end PlaySound(sndDenied) end - end -- called when user changes primary selection @@ -1190,48 +1113,229 @@ pIndex = 1 pMode = {} - placedExpense = 1 + + if (CurrentHedgehog == nil or band(GetState(CurrentHedgehog), gstHHDriven) == 0) then + return false + end + + local team = GetHogTeamName(CurrentHedgehog) if cat[cIndex] == "Girder Placement Mode" then - pIndex = CGR - pMode = {loc("Girder")} + pIndex = currentGirderRotation + pMode = {amGirder} elseif cat[cIndex] == "Rubber Placement Mode" then - pIndex = CGR - pMode = {loc("Rubber")} - placedExpense = 3 + pIndex = currentGirderRotation + pMode = {amRubber} elseif cat[cIndex] == "Barrel Placement Mode" then pMode = {60} - placedExpense = 10 + teamLObjectMode[team] = cat[cIndex] elseif cat[cIndex] == "Health Crate Placement Mode" then pMode = {HealthCaseAmount} - placedExpense = 5 + teamLCrateMode[team] = cat[cIndex] elseif cat[cIndex] == "Weapon Crate Placement Mode" then for i = 1, #atkArray do - pMode[i] = GetAmmoName(atkArray[i][1]) + pMode[i] = atkArray[i][1] end - placedExpense = atkArray[pIndex][4] + teamLCrateMode[team] = cat[cIndex] + pIndex = teamLWeapIndex[team] elseif cat[cIndex] == "Utility Crate Placement Mode" then for i = 1, #utilArray do - pMode[i] = GetAmmoName(utilArray[i][1]) + pMode[i] = utilArray[i][1] end - placedExpense = utilArray[pIndex][4] + teamLCrateMode[team] = cat[cIndex] + pIndex = teamLUtilIndex[team] elseif cat[cIndex] == "Mine Placement Mode" then pMode = {0,1000,2000,3000,4000,5000} - placedExpense = 15 + teamLObjectMode[team] = cat[cIndex] + pIndex = teamLMineIndex[team] elseif cat[cIndex] == "Sticky Mine Placement Mode" then - pMode = {loc("Sticky Mine")} - placedExpense = 20 + pMode = {amSMine} + teamLObjectMode[team] = cat[cIndex] elseif cat[cIndex] == "Structure Placement Mode" then - pMode = {loc("Healing Station"), loc("Bio-Filter"), loc("Weapon Filter"), loc("Reflector Shield"), loc("Respawner"),loc("Teleportation Node"),loc("Generator"),loc("Construction Station"),loc("Support Station")} + pMode = { + loc_noop("Support Station"), + loc_noop("Construction Station"), + loc_noop("Healing Station"), + loc_noop("Teleportation Node"), + loc_noop("Weapon Filter"), + + loc_noop("Bio-Filter"), + loc_noop("Reflector Shield"), + loc_noop("Respawner"), + loc_noop("Generator"), + } + pIndex = teamLStructIndex[team] end + return true +end +-- Updates the handling of the main construction mode tools: +-- Structure Placer, Crate Placer, Object Placer. +-- This handles the internal category state, +-- the HUD display and the clans outline. +function HandleConstructionModeTools() + -- Update display selection criteria + if (CurrentHedgehog ~= nil and band(GetState(CurrentHedgehog), gstHHDriven) ~= 0) then + curWep = GetCurAmmoType() + + local updated = false + local team = GetHogTeamName(CurrentHedgehog) + if (curWep == amGirder) then + cIndex = 1 + RedefineSubset() + updated = true + elseif (curWep == amRubber) then + cIndex = 2 + RedefineSubset() + updated = true + elseif (curWep == amCMStructurePlacer) then + cIndex = 9 + RedefineSubset() + updateCost() + updated = true + elseif (curWep == amCMCratePlacer) then + cIndex = catReverse[teamLCrateMode[team]] + RedefineSubset() + updateCost() + updated = true + elseif (curWep == amCMObjectPlacer) then + cIndex = catReverse[teamLObjectMode[team]] + RedefineSubset() + updateCost() + updated = true + end + + if curWep == amCMStructurePlacer or curWep == amCMCratePlacer or curWep == amCMObjectPlacer then + SetSoundMask(sndIncoming, true) + else + SetSoundMask(sndIncoming, false) + end + if curWep == amGirder or curWep == amRubber then + SetSoundMask(sndDenied, true) + else + SetSoundMask(sndDenied, false) + end + + if updated then + AddCaption(loc(cat[cIndex]), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpMessage) + showModeMessage() + wallsVisible = true + else + wallsVisible = false + end + else + curWep = amNothing + wallsVisible = false + end +end + +local cursorIcon = nil +local ammoIcon = nil +local ammoIconBorder = nil +-- Handle cursor stuff. This displays a sprite under the cursor so you can see what you're going to place. +function HandleCursor() + if curWep == amCMStructurePlacer or curWep == amCMObjectPlacer or curWep == amCMCratePlacer then + local dFrame = 0 + local dSprite + local yOffset = 0 + if (cat[cIndex] == "Structure Placement Mode") then + dSprite = sprTarget + dFrame = catFrames[pMode[pIndex]] + elseif (cat[cIndex] == "Mine Placement Mode") then + dSprite = sprCustom2 -- sprMineOff + elseif (cat[cIndex] == "Sticky Mine Placement Mode") then + dSprite = sprCustom3 -- sprSMineOff + elseif (cat[cIndex] == "Barrel Placement Mode") then + dSprite = sprExplosives + elseif (cat[cIndex] == "Health Crate Placement Mode") then + dSprite = sprFAid + elseif (cat[cIndex] == "Weapon Crate Placement Mode") then + dSprite = sprCase + elseif (cat[cIndex] == "Utility Crate Placement Mode") then + dSprite = sprUtility + else + dSprite = sprArrow + end + -- Display the gear to be spawned under the cursor + if not cursorIcon then + cursorIcon = AddVisualGear(CursorX, CursorY, vgtStraightShot, dSprite, true, 3) + end + SetVisualGearValues(cursorIcon, CursorX, CursorY, 0, 0, 0, dFrame, 1000, dSprite, 1000) + + -- Render ammo icon for weapon and utility crate. + -- But hide this from prying eyes of your enemies online! + if IsHogLocal(CurrentHedgehog) then + local ammoFrame + if (cat[cIndex] == "Weapon Crate Placement Mode") or (cat[cIndex] == "Utility Crate Placement Mode") then + local tArr + if (cat[cIndex] == "Weapon Crate Placement Mode") then + tArr = atkArray + else + tArr = utilArray + end + + -- Get ammo icon + ammoFrame = tArr[pIndex][1] - 1 + end + if ammoFrame then + local xDisplacement = 42 + local yDisplacement = 42 + local x = CursorX + yDisplacement + local y = CursorY + yDisplacement + + -- Border around ammo icon + if not ammoIconBorder then + ammoIconBorder = AddVisualGear(x, y, vgtStraightShot, sprCustom1, true, 3) + end + SetVisualGearValues(ammoIconBorder, x, y, 0, 0, 0, 0, 1000, nil, 1000) + + -- Ammo icon + if not ammoIcon then + ammoIcon = AddVisualGear(x, y, vgtStraightShot, sprAMAmmos, true, 3) + end + SetVisualGearValues(ammoIcon, x, y, 0, 0, 0, ammoFrame, 1000, nil, 1000) + + else + -- Cleanup vgears if not placing ammo crates + if ammoIcon then + DeleteVisualGear(ammoIcon) + end + if ammoIconBorder then + DeleteVisualGear(ammoIconBorder) + end + end + end + else + -- Cleanup vgears + if cursorIcon then + DeleteVisualGear(cursorIcon) + end + if ammoIcon then + DeleteVisualGear(ammoIcon) + end + if ammoIconBorder then + DeleteVisualGear(ammoIconBorder) + end + end +end + +function onVisualGearDelete(vg) + if vg ~= nil then + if vg == cursorIcon then + cursorIcon = nil + elseif vg == ammoIcon then + ammoIcon = nil + elseif vg == ammoIconBorder then + ammoIconBorder = nil + end + end end -- called in onGameTick() -function HandleHedgeEditor() +function HandleConstructionMode() HandleStructures() @@ -1241,87 +1345,20 @@ HandleBorderEffects() end - if (CurrentHedgehog ~= nil) and (TurnTimeLeft ~= TurnTime) then - if (lastWep ~= GetCurAmmoType()) then - checkForSpecialWeapons() - elseif checkForSpecialWeaponsIn == 0 then - checkForSpecialWeapons() - checkForSpecialWeaponsIn = -1 - else - checkForSpecialWeaponsIn = checkForSpecialWeaponsIn - 1 - end - end + HandleCursor() if GameTime % 100 == 0 then - DrawClanPowerTag() - - curWep = GetCurAmmoType() - - -- change to girder mode on weapon swap - if (cIndex ~= 1) and (curWep == amGirder) then - cIndex = 1 - RedefineSubset() - elseif (cIndex ~=2) and (curWep == amRubber) then - cIndex = 2 - RedefineSubset() - -- change to generic mode if girder no longer selected - elseif (cIndex == 1) and (curWep ~= amGirder) then - cIndex = 3 - RedefineSubset() - elseif (cIndex == 2) and (curWep ~= amRubber) then - cIndex = 3 - RedefineSubset() - - end - - -- update display selection criteria - if ((curWep == amGirder) or (curWep == amAirAttack) or (curWep == amNapalm) or (curWep == amDrillStrike) or (curWep == amRubber)) - and (CurrentHedgehog ~= nil or band(GetState(CurrentHedgehog), gstHHDriven) ~= 0) then - - ---------------hooolllllyyyy fucking shit this - -- code is a broken mess now - -- it was redesigned and compromised three times - -- so now it is a mess trying to do what it was - -- never designed to do - -- needs to be rewritten badly sadface - -- this bit here catches the new 3 types of weapons - if ((sProx[cIndex][1] == loc("Structure Placement Mode") and (curWep ~= amAirAttack))) then - updatePlacementDisplay(1) - elseif (sProx[cIndex][1] == loc("Health Crate Placement Mode")) or - (sProx[cIndex][1] == loc("Weapon Crate Placement Mode")) or - (sProx[cIndex][1] == loc("Utility Crate Placement Mode")) then - if curWep ~= amNapalm then - updatePlacementDisplay(1) - end - - elseif (sProx[cIndex][1] == loc("Mine Placement Mode")) or - (sProx[cIndex][1] == loc("Sticky Mine Placement Mode")) or - (sProx[cIndex][1] == loc("Barrel Placement Mode")) then - if curWep ~= amDrillStrike then - updatePlacementDisplay(1) - end - - end - - --this is called when it happens that we have placement - --mode selected and we are looking at something - --we shouldn't be allowed to look at, as would be the case - --when you WERE allowed to look at it, but then maybe - --a bomb blows up the structure that was granting you - --that ability - if (sProx[cIndex][2] ~= true) then - updatePlacementDisplay(1) - else - updateCost() - end - - - AddCaption(loc(cat[cIndex]),0xffba00ff,capgrpMessage) - showModeMessage() - wallsVisible = true + -- Force-update the construction mode tools every 100ms. + -- This makes sure the announcer messages don't disappear + -- while the tool is selected. + if (band(GetState(CurrentHedgehog), gstHHDriven) ~= 0) then + RenderClanPower() + curWep = GetCurAmmoType() + HandleConstructionModeTools() else - wallsVisible = false + DeleteClanPowerTag() + curWep = amNothing end end @@ -1331,7 +1368,7 @@ -- some kind of target detected, tell me your story if cGear ~= nil then - x,y = GetGearTarget(cGear) + local x,y = GetGearTarget(cGear) if GetGearType(cGear) == gtAirAttack then DeleteGear(cGear) @@ -1342,7 +1379,7 @@ cGear = nil elseif GetGearType(cGear) == gtGirder then - CGR = GetState(cGear) + currentGirderRotation = GetState(cGear) PlaceObject(x, y) end @@ -1363,67 +1400,73 @@ if CurrentHedgehog == nil or band(GetState(CurrentHedgehog), gstHHDriven) == 0 then return end - if pMode[pIndex] == loc("Healing Station") then + -- Fallback cost + placedExpense = 1 + if pMode[pIndex] == "Healing Station" then placedExpense = 50 - elseif pMode[pIndex] == loc("Weapon Filter") then + elseif pMode[pIndex] == "Weapon Filter" then placedExpense = 50 - elseif pMode[pIndex] == loc("Bio-Filter") then + elseif pMode[pIndex] == "Bio-Filter" then placedExpense = 100 - elseif pMode[pIndex] == loc("Respawner") then + elseif pMode[pIndex] == "Respawner" then placedExpense = 300 - elseif pMode[pIndex] == loc("Teleportation Node") then + elseif pMode[pIndex] == "Teleportation Node" then placedExpense = 30 - elseif pMode[pIndex] == loc("Support Station") then + elseif pMode[pIndex] == "Support Station" then placedExpense = 50 - elseif pMode[pIndex] == loc("Construction Station") then + elseif pMode[pIndex] == "Construction Station" then placedExpense = 50 - elseif pMode[pIndex] == loc("Generator") then - placedExpense = 300 - elseif pMode[pIndex] == loc("Reflector Shield") then - placedExpense = 200 + elseif pMode[pIndex] == "Generator" then + placedExpense = 300 + elseif pMode[pIndex] == "Reflector Shield" then + placedExpense = 200 elseif cat[cIndex] == "Weapon Crate Placement Mode" then - placedExpense = atkArray[pIndex][4] + placedExpense = atkArray[pIndex][2] elseif cat[cIndex] == "Utility Crate Placement Mode" then - placedExpense = utilArray[pIndex][4] + placedExpense = utilArray[pIndex][2] + elseif cat[cIndex] == "Health Crate Placement Mode" then + placedExpense = 5 + elseif cat[cIndex] == "Mine Placement Mode" then + placedExpense = 15 + elseif cat[cIndex] == "Sticky Mine Placement Mode" then + placedExpense = 20 + elseif cat[cIndex] == "Barrel Placement Mode" then + placedExpense = 10 + elseif cat[cIndex] == "Girder Placement Mode" then + placedExpense = 1 + elseif cat[cIndex] == "Rubber Placement Mode" then + placedExpense = 3 end - AddCaption(loc("Cost") .. ": " .. placedExpense,0xffba00ff,capgrpAmmostate) + -- Hide cost from spectators. + -- Also, this information is hidden cuz it could be used to infer e.g. crate contents. + if IsHogLocal(CurrentHedgehog) then + AddCaption(string.format(loc("Cost: %d"), placedExpense), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmostate) + end end -function onTimer(key) - - checkForSpecialWeaponsIn = 1 - -end - -function onLeft() - - pIndex = pIndex - 1 - if pIndex == 0 then - pIndex = #pMode - end - - if (curWep == amGirder) or (curWep == amAirAttack) or (curWep == amNapalm) or (curWep == amDrillStrike) then +-- Should be called when the index of the mode was changed by the player. +-- E.g. new weapon crate contents or structure type +function updateIndex() + if (curWep == amGirder) or (curWep == amRubber) or (curWep == amCMStructurePlacer) or (curWep == amCMCratePlacer) or (curWep == amCMObjectPlacer) then showModeMessage() updateCost() end - -end - -function onRight() - - pIndex = pIndex + 1 - if pIndex > #pMode then - pIndex = 1 + -- Update team variables so the previous state can be restored later + if CurrentHedgehog == nil or band(GetState(CurrentHedgehog), gstHHDriven) == 0 then return end + local val = pMode[pIndex] + local team = GetHogTeamName(CurrentHedgehog) + if cat[cIndex] == "Structure Placement Mode" then + teamLStructIndex[team] = pIndex + elseif cat[cIndex] == "Mine Placement Mode" then + teamLMineIndex[team] = pIndex + elseif cat[cIndex] == "Weapon Crate Placement Mode" then + teamLWeapIndex[team] = pIndex + elseif cat[cIndex] == "Utility Crate Placement Mode" then + teamLUtilIndex[team] = pIndex end - - if (curWep == amGirder) or (curWep == amAirAttack) or (curWep == amNapalm) or (curWep == amDrillStrike) then - showModeMessage() - updateCost() - end - end function showModeMessage() @@ -1433,84 +1476,159 @@ if cat[cIndex] == "Mine Placement Mode" then -- timer in seconds str = string.format(loc("%d sec"), div(val, 1000)) + elseif cat[cIndex] == "Structure Placement Mode" then + str = loc(val) elseif cat[cIndex] == "Girder Placement Mode" then - str = loc("Girder") + str = GetAmmoName(amGirder) elseif cat[cIndex] == "Rubber Placement Mode" then - str = loc("Rubber") + str = GetAmmoName(amRubber) + elseif cat[cIndex] == "Sticky Mine Placement Mode" then + str = GetAmmoName(amSMine) + elseif cat[cIndex] == "Weapon Crate Placement Mode" + or cat[cIndex] == "Utility Crate Placement Mode" then + str = GetAmmoName(val) + elseif cat[cIndex] == "Health Crate Placement Mode" then + str = tostring(val) else str = tostring(val) end - AddCaption(str,0xffba00ff,capgrpMessage2) + -- Hide the mode message from prying enemy eyes except for the structure placer. + -- So stuff like crate contents or mine timers are secret. + if cat[cIndex] == "Structure Placement Mode" or IsHogLocal(CurrentHedgehog) then + AddCaption(str, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpMessage2) + end end -function updatePlacementDisplay(pDir) - - foundMatch = false +function rotateMode(pDir) + curWep = GetCurAmmoType() + local foundMatch = false while(foundMatch == false) do cIndex = cIndex + pDir - if (cIndex == 1) or (cIndex == 2) then --1 --we no longer hit girder by normal means + if (cIndex == 1) or (cIndex == 2) then -- we no longer hit girder by normal means cIndex = #cat elseif cIndex > #cat then - cIndex = 3 -- 2 ----we no longer hit girder by normal means + cIndex = 3 -- we no longer hit girder by normal means end - if sProx[cIndex][2] == true then - if (GetCurAmmoType() == amNapalm) then - if (sProx[cIndex][1] == loc("Health Crate Placement Mode")) or - (sProx[cIndex][1] == loc("Weapon Crate Placement Mode")) or - (sProx[cIndex][1] == loc("Utility Crate Placement Mode")) - then - foundMatch = true - end - elseif (GetCurAmmoType() == amDrillStrike) then - if (sProx[cIndex][1] == loc("Mine Placement Mode")) or - (sProx[cIndex][1] == loc("Sticky Mine Placement Mode")) or - (sProx[cIndex][1] == loc("Barrel Placement Mode")) - then - foundMatch = true - end - elseif (GetCurAmmoType() == amAirAttack) then - if sProx[cIndex][1] == loc("Structure Placement Mode") then + if (GetCurAmmoType() == amCMCratePlacer) then + if (cat[cIndex] == "Health Crate Placement Mode") or + (cat[cIndex] == "Weapon Crate Placement Mode") or + (cat[cIndex] == "Utility Crate Placement Mode") then foundMatch = true - end + end + elseif (GetCurAmmoType() == amCMObjectPlacer) then + if (cat[cIndex] == "Mine Placement Mode") or + (cat[cIndex] == "Sticky Mine Placement Mode") or + (cat[cIndex] == "Barrel Placement Mode") then + foundMatch = true + end + elseif (GetCurAmmoType() == amCMStructurePlacer) then + if cat[cIndex] == "Structure Placement Mode" then + foundMatch = true end end - - - if foundMatch == true then - RedefineSubset() - updateCost() - end - end + if foundMatch == true then + RedefineSubset() + --updateCost() + HandleConstructionModeTools() + end end ---------------------------------------------------------- --- Cycle through primary categories (by changing cIndex) --- i.e mine, sticky mine, barrels --- health/weapon/utility crate, placement of gears ---------------------------------------------------------- -function onUp() +--------------------- +-- PLAYER CONTROLS -- +--------------------- + +-- [Timer X]: Used as shortcut key for faster selection of stuff +function onTimer(key) + curWep = GetCurAmmoType() + + if (curWep == amCMStructurePlacer) then + -- Select structure directly in structure placer + -- [Timer X] selects structures 1-5 + -- [Precise]+[Timer X] selects structures 6-10 - if ( (curWep == amNapalm) or (curWep == amDrillStrike) ) then - if CurrentHedgehog ~= nil or band(GetState(CurrentHedgehog), gstHHDriven) ~= 0 then - updatePlacementDisplay(-1) + local structureID = key + local precise = band(GetGearMessage(CurrentHedgehog), gmPrecise) ~= 0 + if precise then + structureID = structureID + 5 + end + -- Check for valid pIndex + if structureID <= #pMode then + pIndex = structureID + updateIndex() + end + elseif (curWep == amCMObjectPlacer) then + -- [Timer X]: Set mine time 1-5 + if cat[cIndex] == "Mine Placement Mode" then + local index = key + 1 + if key <= #pMode then + pIndex = index + updateIndex() + end end end end -function onDown() +-- [Switch]: Set mine time to 0 (only in mine placement mode) +function onSwitch() + curWep = GetCurAmmoType() + if (curWep == amCMObjectPlacer) then + pIndex = 1 + updateIndex() + end +end - if ( (curWep == amNapalm) or (curWep == amDrillStrike) ) then - if CurrentHedgehog ~= nil or band(GetState(CurrentHedgehog), gstHHDriven) ~= 0 then - updatePlacementDisplay(1) +-- [Left]/[Right]: Change submode (e.g. structure type) of any Construction Mode tool or rotate girder/rubber +function onLeft() + curWep = GetCurAmmoType() + if (curWep == amGirder) or (curWep == amRubber) or (curWep == amCMStructurePlacer) or (curWep == amCMCratePlacer) or (curWep == amCMObjectPlacer) then + pIndex = pIndex - 1 + if pIndex == 0 then + pIndex = #pMode + end + updateIndex() + end +end +function onRight() + curWep = GetCurAmmoType() + if (curWep == amGirder) or (curWep == amRubber) or (curWep == amCMStructurePlacer) or (curWep == amCMCratePlacer) or (curWep == amCMObjectPlacer) then + pIndex = pIndex + 1 + if pIndex > #pMode then + pIndex = 1 + end + updateIndex() + end +end + +-- [Up]/[Down] +-- Cycle through the primary categories +-- (by changing cIndex) i.e. mine, sticky mine, +-- barrels, health/weapon/utility crate. +function onUp() + curWep = GetCurAmmoType() + if ( (curWep == amCMCratePlacer) or (curWep == amCMObjectPlacer) ) then + if CurrentHedgehog ~= nil and band(GetState(CurrentHedgehog), gstHHDriven) ~= 0 then + rotateMode(-1) end end end +function onDown() + curWep = GetCurAmmoType() + if ( (curWep == amCMCratePlacer) or (curWep == amCMObjectPlacer) ) then + if CurrentHedgehog ~= nil and band(GetState(CurrentHedgehog), gstHHDriven) ~= 0 then + rotateMode(1) + end + end +end + +-- [Set weapon]/[Slot X]: Just update internal stuff +onSetWeapon = HandleConstructionModeTools() +onSlot = onSetWeapon ---------------------------- -- standard event handlers @@ -1561,16 +1679,29 @@ function initialSetup(gear) - -- engine already placed hogs in fort mode + -- Engine already placed hogs in fort mode if not fortMode then FindPlace(gear, false, clanBoundsSX[GetHogClan(gear)], clanBoundsEX[GetHogClan(gear)],true) end - -- for now, everyone should have this stuff - AddAmmo(gear, amAirAttack, 100) - AddAmmo(gear, amSwitch, 100) + -- Add core ammo + AddAmmo(gear, amCMStructurePlacer, 100) AddAmmo(gear, amSkip, 100) + -- Remove special Construction Mode stuff. + -- This stuff is added and removed dynamically based on + -- proximity to structures. + AddAmmo(gear, amCMObjectPlacer, 0) + AddAmmo(gear, amCMCratePlacer, 0) + AddAmmo(gear, amGirder, 0) + AddAmmo(gear, amRubber, 0) + AddAmmo(gear, amTeleport, 0) + + -- Drill strike is broken, so we force-remove it + AddAmmo(gear, amDrillStrike, 0) + + -- Everything else is set by the weapon scheme. + -- Infinite switch is recommended. end function onGameStart() @@ -1579,58 +1710,72 @@ ShowMission ( loc("CONSTRUCTION MODE"), - loc("a Hedgewars mini-game"), + loc("A Hedgewars mini-game"), loc("Build a fortress and destroy your enemy.") .. "|" .. loc("There are a variety of structures available to aid you.") .. "|" .. loc("Use the structure placer to place structures.") - , 4, 5000 + , -amCMStructurePlacer, 5000 ) - SetAmmoTexts(amAirAttack, loc("Structure Placer"), loc("Construction Mode tool"), loc("Build one of multiple different structures|to aid you in victory, at the cost of energy.") .. "| |" .. + SetAmmoTexts(amCMStructurePlacer, loc("Structure Placer"), loc("Construction Mode tool"), loc("Build one of multiple different structures|to aid you in victory, at the cost of energy.") .. "| |" .. + loc("Support Station: Allows placement of crates.") .. "|".. + loc("Construction Station: Allows placement of| girders, rubber, mines, sticky mines| and barrels.") .. "|" .. loc("Healing Station: Heals nearby hogs.") .. "|" .. + loc("Teleportation Node: Allows teleportation| between other nodes.") .. "|" .. + loc("Weapon Filter: Dematerializes all ammo| carried by enemies entering it.") .. "|" .. loc("Bio-Filter: Aggressively removes enemies.") .. "|" .. - loc("Weapon Filter: Dematerializes all ammo| carried by enemies entering it.") .. "|" .. loc("Reflector Shield: Reflects enemy projectiles.") .. "|" .. + loc("Respawner: Resurrects dead hogs.") .. "|" .. loc("Generator: Generates energy.") .. "|" .. - loc("Respawner: Resurrects dead hogs.") .. "|" .. - loc("Teleportation Node: Allows teleportation| between other nodes.") .. "|" .. - loc("Construction Station: Allows placement of| girders, rubber, mines, sticky mines| and barrels.") .. "|" .. - loc("Support Station: Allows placement of crates.") .. "| |" .. + " |" .. - loc("Left/right: Choose structure type|Cursor: Build structure")) + loc("Left/right: Choose structure type").."|".. + loc("1-5, Precise + 1-4: Choose structure type").."|".. + loc("Cursor: Build structure")) local txt_crateLimit = "" if conf_cratesPerRound ~= "inf" then txt_crateLimit = string.format(loc("You may only place %d crates per round."), conf_cratesPerRound) .. "|" end - SetAmmoTexts(amNapalm, loc("Crate Placer"), loc("Construction Mode tool"), + SetAmmoTexts(amCMCratePlacer, loc("Crate Placer"), loc("Construction Mode tool"), loc("This allows you to create a crate anywhere|within your clan's area of influence,|at the cost of energy.") .. "|" .. txt_crateLimit .. - loc("Up/down: Choose crate type") .. "|" .. + loc("Up/down: Choose crate type") .. "|" .. loc("Left/right: Choose crate contents") .. "|" .. loc("|Cursor: Place crate")) - SetAmmoTexts(amDrillStrike, loc("Object Placer"), loc("Construction Mode tool"), loc("This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.|Up/down: Choose object type|Left/right: Choose timer (for mines)|Cursor: Place object")) + SetAmmoTexts(amCMObjectPlacer, loc("Object Placer"), loc("Construction Mode tool"), + loc("This allows you to create and place mines,|sticky mines and barrels anywhere within your|clan's area of influence at the cost of energy.").."|".. + loc("Up/down: Choose object type|1-5/Switch/Left/Right: Choose mine timer|Cursor: Place object") + ) SetAmmoDescriptionAppendix(amTeleport, loc("It only works in teleportation nodes of your own clan.")) - sCirc = AddVisualGear(0,0,vgtCircle,0,true) + local sCirc = AddVisualGear(0,0,vgtCircle,0,true) SetVisualGearValues(sCirc, 0, 0, 100, 255, 1, 10, 0, 40, 3, 0x00000000) for i = 0, ClansCount-1 do clanPower[i] = math.min(conf_initialEnergy, conf_maxEnergy) - clanLWepIndex[i] = 1 -- for ease of use let's track this stuff - clanLUtilIndex[i] = 1 - clanLGearIndex[i] = 1 + clanUsedExtraTime[i] = false clanCratesSpawned[i] = 0 clanFirstTurn[i] = true end + for i = 0, TeamsCount-1 do + local team = GetTeamName(i) + teamLStructIndex[team] = 1 + teamLObjectMode[team] = "Mine Placement Mode" + teamLCrateMode[team] = "Weapon Crate Placement Mode" + teamLMineIndex[team] = 1 + teamLWeapIndex[team] = 1 + teamLUtilIndex[team] = 1 + SetTeamLabel(team, tostring(clanPower[GetTeamClan(team)])) + end - tMapWidth = RightX - LeftX - tMapHeight = WaterLine - TopY - clanInterval = div(tMapWidth,ClansCount) + local tMapWidth = RightX - LeftX + local tMapHeight = WaterLine - TopY + local clanInterval = div(tMapWidth,ClansCount) -- define construction areas for each clan -- if there are forts-based spawn locations, adjust areas around them @@ -1650,12 +1795,12 @@ clanBoundsEY[i] = WaterLine --top and bottom - AddWall(LeftX+(clanInterval*slot),TopY,clanInterval,margin,color) - AddWall(LeftX+(clanInterval*slot),WaterLine-25,clanInterval,margin,color) + AddWall(LeftX+(clanInterval*slot),TopY,clanInterval,wMargin,color) + AddWall(LeftX+(clanInterval*slot),WaterLine-25,clanInterval,wMargin,color) --add a wall to the left and right - AddWall(LeftX+(clanInterval*slot)+20,TopY,margin,WaterLine,color) - AddWall(LeftX+(clanInterval*slot)+clanInterval-20,TopY,margin,WaterLine,color) + AddWall(LeftX+(clanInterval*slot)+20,TopY,wMargin,WaterLine,color) + AddWall(LeftX+(clanInterval*slot)+clanInterval-20,TopY,wMargin,WaterLine,color) end @@ -1666,6 +1811,10 @@ function onNewTurn() + curWep = GetCurAmmoType() + + HandleConstructionModeTools() + local clan = GetHogClan(CurrentHedgehog) if clanFirstTurn[clan] then clanFirstTurn[clan] = false @@ -1678,30 +1827,40 @@ clanUsedExtraTime[clan] = false clanCratesSpawned[clan] = 0 + RenderClanPower() +end + +function onEndTurn() + curWep = amNothing + HandleConstructionModeTools() + DeleteClanPowerTag() end function onGameTick() - HandleHedgeEditor() + HandleConstructionMode() end -function isATrackedGear(gear) - if (GetGearType(gear) == gtHedgehog) or - (GetGearType(gear) == gtTarget) or - (GetGearType(gear) == gtCase) - then - return(true) - else - return(false) +function onScreenResize() + -- redraw Tags so that their screen locations are updated + if (CurrentHedgehog ~= nil) then + RenderClanPower() + end +end + + +function onGearResurrect(gear) + if GetGearType(gear) == gtHedgehog then + AddVisualGear(GetX(gear), GetY(gear), vgtExplosion, 0, false) + FindRespawner(gear) end end -- track hedgehogs and placement gears function onGearAdd(gear) - if GetGearType(gear) == gtHedgehog then - elseif (GetGearType(gear) == gtAirAttack) or (GetGearType(gear) == gtTeleport) or (GetGearType(gear) == gtGirder) then + local gt = GetGearType(gear) + if (gt == gtAirAttack) or (gt == gtTeleport) or (gt == gtGirder) then cGear = gear - end if isATrackedGear(gear) then @@ -1725,10 +1884,6 @@ if (isATrackedGear(gear) or gearCanBeDeflected(gear)) then - if getGearValue(gear, "tCirc") ~= nil then - DeleteVisualGear(getGearValue(gear, "tCirc")) - end - trackDeletion(gear) end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.hwp Binary file share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.hwp has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Continental_supplies.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,9 +1,7 @@ --[[ - version 1.3n - - The expat (MIT) license - - Copyright (C) 2012 Vatten + === Continental supplies === + Created by Vatten in 2012. + Further worked on by the Hedgewars Team and contributors. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: @@ -11,6 +9,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ]] +-- fix selection increase delay (weapons to compesate) HedgewarsScriptLoad("/Scripts/Locale.lua") HedgewarsScriptLoad("/Scripts/Utils.lua") @@ -50,17 +49,20 @@ end --Will end the turn + give escape time -function EndTurn() - SetState(CurrentHedgehog,bor(GetState(CurrentHedgehog),gstAttacked)) - --3 sec espace time - TurnTimeLeft = GetAwayTime*10*3 +function EndTurnCS(seconds) + -- Set attacked state to prevent “Boring” sound to be played + SetState(CurrentHedgehog, bor(GetState(CurrentHedgehog), gstAttacked)) + --set escape time + TurnTimeLeft = GetAwayTime*10*seconds + if TurnTimeLeft > 0 then + Retreat(TurnTimeLeft, false) + end end --show health tag (will mostly be used when a hog is damaged) function ShowDamageTag(hog,damage) - healthtag=AddVisualGear(GetX(hog), GetY(hog), vgtHealthTag, damage, false) - v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 = GetVisualGearValues(healthtag) - SetVisualGearValues(healthtag, v1, v2, v3, v4, v5, v6, v7, v8, v9, GetClanColor(GetHogClan(hog))) + local healthtag=AddVisualGear(GetX(hog), GetY(hog), vgtHealthTag, damage, false) + SetVisualGearValues(healthtag, nil, nil, nil, nil, nil, nil, nil, nil, nil, GetClanColor(GetHogClan(hog))) end --will use IntegerSqrt @@ -69,201 +71,374 @@ return AddGear(div((GetGearRadius(hedgehog)*2*vx),hypo)+GetX(hedgehog), div((GetGearRadius(hedgehog)*2*vy),hypo)+GetY(hedgehog), geartype, 0, vx, vy, timer) end ---This function will set the gravity on a scale from 0->100, where 50 is the standard one. - function SetGravityFromScale(grav) - if(grav>100) - then - grav=100 - elseif(grav<0) - then - grav=0 +function CollectMultiAmmo(hog, ammoList, noAddAmmo) + local x, y = GetGearPosition(hog) + x = x + 2 + y = y + 32 + local ammoStr = "" + local ammoLength = 0 + for _, _ in pairs(ammoList) do + ammoLength = ammoLength + 1 end + local a = 1 + for ammo, count in pairs(ammoList) do + if not noAddAmmo then + local oldCount = GetAmmoCount(hog, ammo) + local newCount = oldCount + count + -- Make sure that finite ammo stays finite + if count < 100 and oldCount < 100 and newCount >= 100 then + newCount = 99 + end + AddAmmo(hog, ammo, newCount) + end + if IsHogLocal(hog) then + x = x + 2 + y = y + 32 + local vgear = AddVisualGear(x, y, vgtAmmo, 0, true) + if vgear ~= nil then + local vgtFrame = ammo + SetVisualGearValues(vgear, nil, nil, nil, nil, nil, vgtFrame) + end - if(grav>50) - then - SetGravity(100+((grav-50)*12)) + ammoStr = ammoStr .. string.format(loc("%s (+%d)"), GetAmmoName(ammo), count) + if a < ammoLength then + ammoStr = ammoStr .. " • " + end + end + a = a + 1 + end + if ammoLength > 0 then + PlaySound(sndShotgunReload) + -- Show collected ammo + if IsHogLocal(hog) then + AddCaption(ammoStr, GetClanColor(GetHogClan(hog)), capgrpAmmoinfo) + end + end +end + +function SetAttackState(state) + if state==true then + SetInputMask(bor(GetInputMask(), gmAttack)) else - SetGravity(25+grav+div(grav,2)) + SetInputMask(band(GetInputMask(), bnot(gmAttack))) end - end +end ---====MISC GLOBALS==== +--====MISC_TIMER GLOBALS==== +local CS = {} --for selecting continent -local GLOBAL_INIT_TEAMS = {} -local GLOBAL_SELECT_CONTINENT_CHECK=false -local GLOBAL_TEAM_CONTINENT = {} + +CS.INIT_TEAMS = {} +CS.GAME_STARTED = false +CS.SELECT_CONTINENT_CHECK=false +CS.START_TIME=0 +CS.HOG_HEALTH=100 +CS.TEAM_CONTINENT = {} --variables for seeing if you have swaped around on a weapon -local GLOBAL_AUSTRALIAN_SPECIAL=0 -local GLOBAL_AFRICAN_SPECIAL_SEDUCTION=0 -local GLOBAL_AFRICAN_SPECIAL_STICKY=0 -local GLOBAL_SOUTH_AMERICAN_SPECIAL=false -local GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER=1 -local GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=false -local GLOBAL_KERGUELEN_SPECIAL=1 -local GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN=false -local GLOBAL_EUROPE_SPECIAL=0 +CS.AUSTRALIAN_SPECIAL=0 +CS.AFRICAN_SPECIAL_SEDUCTION=0 +CS.AFRICAN_SPECIAL_STICKY=0 +CS.SOUTH_AMERICAN_SPECIAL=false +CS.NORTH_AMERICAN_SPECIAL_SNIPER=1 +CS.NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=false +CS.KERGUELEN_SPECIAL=1 +CS.NORTH_AMERICAN_SPECIAL_SHOTGUN=false +CS.EUROPE_SPECIAL=0 +CS.ANTARCTICA_SPECIAL=0 +CS.SEDUCTION_INCREASER=0 --detection if something is activated -local GLOBAL_SWITCH_HOG_IS_ON=false -local GLOBAL_VAMPIRIC_IS_ON=0 -local GLOBAL_EXTRA_DAMAGE_IS_ON=100 -local GLOBAL_PARACHUTE_IS_ON=false +CS.SWITCH_HOG_IS_ON=false +CS.VAMPIRIC_IS_ON=0 +CS.EXTRA_DAMAGE_IS_ON=100 +CS.PARACHUTE_IS_ON=false +CS.PRECISE=false + +CS.CONTINENT_LABEL_TIMER=-1 +CS.SPEECH_TIMER=-1 +CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER=-1 +CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER=-1 +CS.CONFIRM_CONTINENT_SELECTION=-1 --the visual circle for kerguelen -local GLOBAL_VISUAL_CIRCLE=nil +CS.VISUAL_CIRCLE=nil + +--the global temporary value +CS.TEMP_VALUE=0 ---the global temp value -local GLOBAL_TEMP_VALUE=0 +--true if player used any sticky mine mine mode besides hedgehog projectile in this turn +CS.AFRICAN_SPECIAL_NON_PROJECTILE_USED=false + +-- “constants” +CS.SABOTAGE_GRAVITY=350 +CS.SABOTAGE_GRAVITY_LOW=175 +CS.SABOTAGE_DAMAGE=2 +CS.SABOTAGE_FREQUENCY=100 --for sabotage -local GLOBAL_SABOTAGE_COUNTER=0 -local GLOBAL_SABOTAGE_HOGS={} -local GLOBAL_SABOTAGE_FREQUENCY=0 -local GLOBAL_SABOTAGE_GRAVITY_SWITCH=true +CS.SABOTAGE_COUNTER=0 +CS.SABOTAGE_HOGS={} +CS.SABOTAGE_FREQUENCY_NOW=0 --for sundaland -local GLOBAL_SUNDALAND_END_HOG=0 +CS.SUNDALAND_END_HOG_CONTINENT_NAME=nil + +--misc. +CS.OPTION_NO_SPECIALS=false --====GENERAL GLOBALS (useful for handling continents)==== -local GLOBAL_GENERAL_INFORMATION="- "..loc("Per team weapons").."|- 10 "..loc("weaponschemes").."|- "..loc("Unique new weapons").."| |"..loc("Select your continent/weaponset: with the \"Up\" or \"Down\" keys. You can also select one with the weapons menu.").."|"..loc("Note: Some weapons have a second option (See continent information). Find and use them with the \"")..loc("switch").."\" "..loc("key.").."|"..loc("Tip: See the \"esc\" key (this menu) if you want to see the currently playing teams continent, or that continents specials.") +CS.SNIPER_SPECIAL_NAME = loc("Green Lipstick Bullet") +CS.BASEBALLBAT_BOOMERANG_NAME = loc("Bouncy Boomerang") +CS.CHEESE_SPECIAL_NAME = loc("Anno 1032") +CS.SEDUCTION_SPECIAL_NAME = loc("Dust Storm") +CS.BASEBALLBAT_CRICKET_NAME = loc("Cricket Time") +CS.PARACHUTE_SPECIAL_NAME = loc("Heroic Wind") +CS.HAMMER_ROAR_NAME = loc("Penguin Roar") +CS.HAMMER_SWAP_NAME = loc("Disguise as a Rockhopper Penguin") +CS.HAMMER_LONELY_NAME = loc("Lonely Cries") +CS.STICKY_PROJECTILE_NAME = loc("Hedgehog Projectile") +CS.STICKY_NAPALM_NAME = loc("Napalm Rocket") +CS.SHOTGUN_SPECIAL_NAME = loc("Eagle Eye") +CS.MOLOTOV_SPECIAL_NAME = loc("Medicine") +CS.HAMMER_SABOTAGE_NAME = loc("Flare") +CS.PICKHAMMER_SPECIAL_NAME = loc("Upside-Down World") -local GLOBAL_SHOW_SMALL_INFO=0 +CS.SNIPER_SPECIAL_DESC = loc("Poisonous, deals no damage.") +CS.BASEBALLBAT_BOOMERANG_DESC = loc("Launch a bouncy ball which explodes into a crate.") +CS.CHEESE_SPECIAL_DESC = loc("Strong knockback, but no poison.") +CS.SEDUCTION_SPECIAL_DESC = loc("Deals 15 damage to all enemies in the circle.") +CS.BASEBALLBAT_CRICKET_DESC = loc("Throw a 1 second mine!") +CS.PARACHUTE_SPECIAL_DESC = loc("Drop a ball of dirt which turns into a|cluster on impact. Doesn’t end turn.") +CS.HAMMER_ROAR_DESC = loc("Deal 15 damage + 10% of your hog’s health to all hogs around you and get 2/3 back.") +CS.HAMMER_SWAP_DESC = loc("Swap place with a random enemy in the circle.") +CS.HAMMER_LONELY_DESC = loc("Rise the water if nobody else is in the circle and deal 6 damage to all enemy hogs.") +CS.STICKY_PROJECTILE_DESC = loc("Fire your hedgehog like a sticky mine.") +CS.STICKY_NAPALM_DESC = loc("Fire a rocket with napalm.") +CS.SHOTGUN_SPECIAL_DESC = loc("Teleport to the impact location.") +CS.MOLOTOV_SPECIAL_DESC = loc("Fire some exploding medicine that will heal 15 health to all hogs in its effect radius.") +CS.HAMMER_SABOTAGE_DESC = loc("Sabotage all hogs in the circle and fire a cluster above you.|Sabotaged hogs lose health and have to deal with a very high gravity during their turn.") +CS.PICKHAMMER_SPECIAL_DESC = loc("Teleport to the top of the map, expect fall damage!") -local GLOBAL_WEAPON_TEXTS = { -loc("Green lipstick bullet: [Poisonous, deals no damage]"), -loc("Cluck-cluck time: [Fire an egg ~ Sabotages and cures poison ~ Cannot be fired close to another hog]"), -loc("Anno 1032: [The explosion will make a strong push ~ Wide range, wont affect hogs close to the target]"), -loc("Dust storm: [Deals 15 damage to all enemies in the circle]"), -loc("Cricket time: [Fire away a 1 sec mine! ~ Cannot be fired close to another hog]"), -loc("Drop a bomb: [Drop some heroic wind that will turn into a bomb on impact]"), -loc("Penguin roar: [Deal 15 damage + 10% of your hogs health to all hogs around you and get 2/3 back]"), -loc("Disguise as a Rockhopper Penguin: [Swap place with a random enemy hog in the circle]"), -nil, -loc("Lonely Cries: [Rise the water if no hog is in the circle and deal 6 damage to all enemy hogs.]"), -loc("Hedgehog projectile: [Fire your hog like a Sticky Bomb]"), -loc("Napalm rocket: [Fire a bomb with napalm!]"), -loc("Eagle Eye: [Blink to the impact ~ One shot]"), -loc("Medicine: [Fire some exploding medicine that will heal all hogs effected by the explosion]"), -loc("Sabotage/Flare: [Sabotage all hogs in the circle and deal ~1 dmg OR Fire a cluster up into the air]") -} +CS.INVULNERABLE_SPECIAL_CAPTION = loc("15+%d damage, %d invulnerable left") +-- Make info +local minfo = function(name, desc) + return string.format(loc("%s: %s"), name, desc) +end +CS.SNIPER_SPECIAL_INFO = minfo(CS.SNIPER_SPECIAL_NAME, CS.SNIPER_SPECIAL_DESC) +CS.BASEBALLBAT_BOOMERANG_INFO = minfo(CS.BASEBALLBAT_BOOMERANG_NAME, CS.BASEBALLBAT_BOOMERANG_DESC) +CS.CHEESE_SPECIAL_INFO = minfo(CS.CHEESE_SPECIAL_NAME, CS.CHEESE_SPECIAL_DESC) +CS.SEDUCTION_SPECIAL_INFO = minfo(CS.SEDUCTION_SPECIAL_NAME, CS.SEDUCTION_SPECIAL_DESC) +CS.INVULNERABLE_SPECIAL_INFO = loc("Increase the dust storm damage by sacrificing|your invulnerable ammo.") +CS.INVULNERABLE_SPECIAL_CTRL = loc("Up/Down: Adjust dust storm damage") +CS.BASEBALLBAT_CRICKET_INFO = minfo(CS.BASEBALLBAT_CRICKET_NAME, CS.BASEBALLBAT_CRICKET_DESC) +CS.PARACHUTE_SPECIAL_INFO = minfo(CS.PARACHUTE_SPECIAL_NAME, CS.PARACHUTE_SPECIAL_DESC) +CS.HAMMER_ROAR_INFO = minfo(CS.HAMMER_ROAR_NAME, CS.HAMMER_ROAR_DESC) +CS.HAMMER_SWAP_INFO = minfo(CS.HAMMER_SWAP_NAME, CS.HAMMER_SWAP_DESC) +CS.HAMMER_LONELY_INFO = minfo(CS.HAMMER_LONELY_NAME, CS.HAMMER_LONELY_DESC) +CS.STICKY_PROJECTILE_INFO = minfo(CS.STICKY_PROJECTILE_NAME, CS.STICKY_PROJECTILE_DESC) +CS.STICKY_NAPALM_INFO = minfo(CS.STICKY_NAPALM_NAME, CS.STICKY_NAPALM_DESC) +CS.SHOTGUN_SPECIAL_INFO = minfo(CS.SHOTGUN_SPECIAL_NAME, CS.SHOTGUN_SPECIAL_DESC) +CS.MOLOTOV_SPECIAL_INFO = minfo(CS.MOLOTOV_SPECIAL_NAME, CS.MOLOTOV_SPECIAL_DESC) +CS.HAMMER_SABOTAGE_INFO = minfo(CS.HAMMER_SABOTAGE_NAME, CS.HAMMER_SABOTAGE_DESC) +CS.PICKHAMMER_SPECIAL_INFO = minfo(CS.PICKHAMMER_SPECIAL_NAME, CS.PICKHAMMER_SPECIAL_DESC) -local GLOBAL_CONTINENT_INFORMATION = -{ -{loc("North America"),"["..loc("Difficulty: ")..loc("EASY").."] "..loc("Area")..": 24,709,000 km2, "..loc("Population")..": 529,000,000",loc("- You can switch between hogs at the start of your turns. (Not first one)").."|"..loc("Special Weapons:").."|"..loc("Shotgun")..": "..GLOBAL_WEAPON_TEXTS[13].."|"..loc("Sniper Rifle")..": "..GLOBAL_WEAPON_TEXTS[1],amSniperRifle, -{{amShotgun,100},{amDEagle,100},{amLaserSight,2},{amSniperRifle,100},{amCake,1},{amAirAttack,2},{amSwitch,2}}}, +CS.SELECT_WEP_INFORMATION=loc("Select your continent with [Up]/[Down] or by selecting a representative weapon.").."|".. + loc("Press [Attack] to confirm.") +CS.SELECT_WEP_INFORMATION_SHORT=loc("%s, select your continent!") + +function GeneralInformation() + local select_wep, quit_hint + if not CS.GAME_STARTED then + select_wep = "| |"..CS.SELECT_WEP_INFORMATION + quit_hint = "|"..loc("Hint: Use the quit key to see the team’s continent.") + else + select_wep = "" + quit_hint = "" + end + local general_information = + loc("Continents: Select a continent at the beginning.").."|".. + loc("Supplies: Each continent gives you unique weapons, specials and health.").."|".. + loc("Weapon specials: Some weapons have special modes (see weapon description).").. + select_wep.. + quit_hint + return general_information +end -{loc("South America"),"["..loc("Difficulty: ")..loc("MEDIUM").."] "..loc("Area")..": 17,840,000 km2, "..loc("Population")..": 387,000,000",loc("Special Weapons:").."|"..loc("GasBomb")..": "..GLOBAL_WEAPON_TEXTS[3],amGasBomb, -{{amBirdy,100},{amHellishBomb,1},{amBee,100},{amGasBomb,100},{amFlamethrower,100},{amNapalm,1},{amExtraDamage,2}}}, - -{loc("Europe"),"["..loc("Difficulty: ")..loc("EASY").."] "..loc("Area")..": 10,180,000 km2, "..loc("Population")..": 740,000,000",loc("Special Weapons:").."|"..loc("Molotov")..": "..GLOBAL_WEAPON_TEXTS[14],amBazooka, -{{amBazooka,100},{amGrenade,100},{amMortar,100},{amMolotov,100},{amVampiric,3},{amPiano,1},{amResurrector,2},{amJetpack,4}}}, +CS.CONTINENT_INFORMATION = +{ +{loc("North America"), +loc("The continent of firearms"), +loc("The Union: You can select a hedgehog at the start of your turns.").."| |".. +loc("Special weapons:").."|".. +GetAmmoName(amShotgun)..": "..CS.SHOTGUN_SPECIAL_INFO.."|".. +GetAmmoName(amSniperRifle)..": "..CS.SNIPER_SPECIAL_INFO, +{amSniperRifle,1}, +{{amShotgun,100},{amDEagle,100},{amLaserSight,2},{amSniperRifle,100},{amCake,1},{amAirAttack,2},{amSwitch,2}}, +{sndShotgunFire,sndCover},100}, -{loc("Africa"),"["..loc("Difficulty: ")..loc("MEDIUM").."] "..loc("Area")..": 30,222,000 km2, "..loc("Population")..": 1,033,000,000",loc("Special Weapons:").."|"..loc("Seduction")..": "..GLOBAL_WEAPON_TEXTS[4].."|"..loc("Sticky Mine")..": "..GLOBAL_WEAPON_TEXTS[11].."|"..loc("Sticky Mine")..": "..GLOBAL_WEAPON_TEXTS[12],amSMine, -{{amSMine,100},{amWatermelon,1},{amDrillStrike,1},{amDrill,100},{amInvulnerable,5},{amSeduction,100},{amLandGun,2}}}, +{loc("South America"), +loc("The continent of guerilla tactics"), +"| |"..loc("Special weapons:").."|" +..GetAmmoName(amGasBomb)..": "..CS.CHEESE_SPECIAL_INFO, +{amGasBomb,2}, +{{amBirdy,100},{amHellishBomb,1},{amBee,100},{amGasBomb,100},{amFlamethrower,100},{amNapalm,2},{amExtraDamage,3}}, +{sndEggBreak,sndLaugh},125}, -{loc("Asia"),"["..loc("Difficulty: ")..loc("MEDIUM").."] "..loc("Area")..": 44,579,000 km2, "..loc("Population")..": 3,880,000,000",loc("- Will give you a parachute every second turn.").."|"..loc("Special Weapons:").."|"..loc("Parachute")..": "..GLOBAL_WEAPON_TEXTS[6],amRope, -{{amRope,100},{amFirePunch,100},{amParachute,2},{amKnife,2},{amDynamite,1}}}, +{loc("Europe"), +loc("The continent of medicine"), +"| |"..loc("Special weapons:").."|" +..GetAmmoName(amMolotov)..": "..CS.MOLOTOV_SPECIAL_INFO, +{amBazooka,3}, +{{amBazooka,100},{amGrenade,100},{amMortar,100},{amMolotov,100},{amVampiric,4},{amPiano,1},{amResurrector,2},{amJetpack,4}}, +{sndExplosion,sndEnemyDown},100}, + +{loc("Africa"), +loc("The continent of dust"), +"| |"..loc("Special weapons:").."|".. +GetAmmoName(amSeduction)..": "..CS.SEDUCTION_SPECIAL_INFO.."|".. +CS.INVULNERABLE_SPECIAL_INFO.."|".. +GetAmmoName(amSMine)..": "..CS.STICKY_PROJECTILE_INFO.."|".. +GetAmmoName(amSMine)..": "..CS.STICKY_NAPALM_INFO, +{amSMine,4}, +{{amSMine,100},{amWatermelon,1},{amDrillStrike,1},{amDrill,100},{amInvulnerable,7},{amSeduction,100},{amLandGun,3}}, +{sndMelonImpact,sndCoward},125}, -{loc("Australia"),"["..loc("Difficulty: ")..loc("EASY").."] "..loc("Area")..": 8,468,000 km2, "..loc("Population")..": 31,000,000",loc("Special Weapons:").."|"..loc("Baseballbat")..": "..GLOBAL_WEAPON_TEXTS[5].."|"..loc("Baseballbat")..": "..GLOBAL_WEAPON_TEXTS[2],amBaseballBat, -{{amBaseballBat,100},{amMine,100},{amLowGravity,4},{amBlowTorch,100},{amRCPlane,2},{amTeleport,2},{amRubber,2}}}, +{loc("Asia"), +loc("The continent of ninjas"), +loc("Textile industry: Will give you a parachute every second turn.").."| |".. +loc("Special weapons:").."|".. +GetAmmoName(amParachute)..": "..CS.PARACHUTE_SPECIAL_INFO, +{amRope,5}, +{{amRope,100},{amFirePunch,100},{amParachute,1},{amKnife,2},{amDynamite,1}}, +{sndRopeAttach,sndComeonthen},50}, -{loc("Antarctica"),"["..loc("Difficulty: ")..loc("HARD").."] "..loc("Area")..": 14,000,000 km2, "..loc("Population")..": ~1,000",loc("Antarctic summer: - Will give you one girder/mudball and two sineguns/portals every fourth turn."),amIceGun, -{{amSnowball,2},{amIceGun,2},{amPickHammer,100},{amSineGun,5},{amGirder,2},{amExtraTime,1},{amPortalGun,2}}}, +{loc("Australia"), +loc("The continent of sports"), +"| |"..loc("Special weapons:").."|".. +GetAmmoName(amBaseballBat)..": "..CS.BASEBALLBAT_CRICKET_INFO.."|".. +GetAmmoName(amBaseballBat)..": "..CS.BASEBALLBAT_BOOMERANG_INFO.."|".. +loc("Baseball bat specials cannot be used close to other hogs."), +{amBaseballBat,6}, +{{amBaseballBat,100},{amMine,100},{amLowGravity,4},{amBlowTorch,100},{amRCPlane,2},{amRubber,4}}, +{sndBaseballBat,sndNooo},100}, -{loc("Kerguelen"),"["..loc("Difficulty: ")..loc("EASY").."] "..loc("Area")..": 1,100,000 km2, "..loc("Population")..": ~100",loc("Special Weapons:").."|"..loc("Hammer")..": "..GLOBAL_WEAPON_TEXTS[7].."|"..loc("Hammer")..": "..GLOBAL_WEAPON_TEXTS[8].." ("..loc("Duration")..": 2)|"..loc("Hammer")..": "..GLOBAL_WEAPON_TEXTS[10].."|"..loc("Hammer")..": "..GLOBAL_WEAPON_TEXTS[15],amHammer, -{{amHammer,100},{amMineStrike,1},{amBallgun,1}}}, +{loc("Antarctica"), +loc("The continent of ice and science"), +loc("Antarctic summer: Every 4th turn you get 1 girder, 1 mudball, 2 sine guns and 1 portable portal device.").."| |".. +loc("Special weapons:").."|".. +GetAmmoName(amPickHammer)..": "..CS.PICKHAMMER_SPECIAL_INFO, +{amIceGun,7}, +{{amSnowball,2},{amPickHammer,100},{amSineGun,4},{amGirder,1},{amExtraTime,1},{amIceGun,1},{amPortalGun,2}}, +{sndSineGun,sndOops},75}, -{loc("Zealandia"),"["..loc("Difficulty: ")..loc("MEDIUM").."] "..loc("Area")..": 3,500,000 km2, "..loc("Population")..": 5,000,000",loc("- Will Get 1-3 random weapons") .. "|" .. loc("- Massive weapon bonus on first turn"),amInvulnerable, -{{amBazooka,1},{amGrenade,1},{amBlowTorch,1},{amSwitch,100},{amRope,1},{amDrill,1},{amDEagle,1},{amPickHammer,1},{amFirePunch,1},{amWhip,1},{amMortar,1},{amSnowball,1},{amExtraTime,1},{amInvulnerable,1},{amVampiric,1},{amFlamethrower,1},{amBee,1},{amClusterBomb,1},{amTeleport,1},{amLowGravity,1},{amJetpack,1},{amGirder,1},{amLandGun,1},{amBirdy,1}}}, +{loc("Kerguelen"), +loc("The continent of cowards"), +"| |"..loc("Special weapons:").."|".. +GetAmmoName(amHammer)..": "..CS.HAMMER_ROAR_INFO.."|".. +GetAmmoName(amHammer)..": "..CS.HAMMER_SWAP_INFO.."|".. +GetAmmoName(amHammer)..": "..CS.HAMMER_LONELY_INFO.."|".. +GetAmmoName(amHammer)..": "..CS.HAMMER_SABOTAGE_INFO, +{amHammer,8}, +{{amHammer,100},{amMineStrike,1},{amBallgun,1},{amTeleport,1}}, +{sndPiano5,sndStupid},75}, -{loc("Sundaland"),"["..loc("Difficulty: ")..loc("HARD").."] "..loc("Area")..": 1,850,000 km2, "..loc("Population")..": 290,000,000",loc("- You will recieve 2-4 weapons on each kill! (Even on own hogs)"),amTardis, -{{amClusterBomb,4},{amTardis,4},{amWhip,100},{amKamikaze,4}}} +{loc("Zealandia"), +loc("The forgotten continent"), +loc("Surprise supplies: Get 1-3 random weapons each turn.") .. "|" .. +loc("Treasure: Massive weapon bonus in first turn.").."|".. +loc("Forgetfulness: You will lose all your weapons each turn."), +{amInvulnerable,9}, +{{amBazooka,1},{amGrenade,1},{amBlowTorch,1},{amSwitch,1},{amRope,1},{amDrill,1},{amDEagle,1},{amPickHammer,1},{amFirePunch,1},{amWhip,1},{amMortar,1},{amSnowball,1},{amExtraTime,1},{amInvulnerable,1},{amVampiric,1},{amFlamethrower,1},{amBee,1},{amClusterBomb,1},{amTeleport,1},{amLowGravity,1},{amJetpack,1},{amGirder,1},{amLandGun,1},{amBirdy,1},{amAirMine,1},{amTardis,1},{amLaserSight,1},{amAirMine,1}}, +{sndSplash,sndFirstBlood},100}, + +{loc("Sundaland"), +loc("The continent of greed"), +loc("Bounty: Get 6 weapons for each kill (even on own hogs)."), +{amTardis,10}, +{{amClusterBomb,5},{amTardis,100},{amWhip,100},{amKamikaze,100},{amAirMine,2}}, +{sndWarp,sndSameTeam},100} } -local GLOBAL_CONTINENT_SOUNDS= -{ - {sndShotgunFire,sndCover}, - {sndEggBreak,sndLaugh}, - {sndExplosion,sndEnemyDown}, - {sndMelonImpact,sndCoward}, - {sndRopeAttach,sndComeonthen}, - {sndBaseballBat,sndNooo}, - {sndSineGun,sndOops}, - {sndPiano5,sndStupid}, - {sndSplash,sndFirstBlood}, - {sndWarp,sndSameTeam}, - {sndFrozenHogImpact,sndUhOh} -} - --weapontype,ammo,?,duration,*times your choice,affect on random team (should be placed with 1,0,1,0,1 on the 6th option for better randomness) -local GLOBAL_WEAPONS_DAMAGE = { - {amKamikaze, 0, 1, 0, 1, 0}, - {amSineGun, 0, 1, 0, 1, 1}, - {amBazooka, 0, 1, 0, 1, 0}, - {amMineStrike, 0, 1, 5, 1, 2}, - {amGrenade, 0, 1, 0, 1, 0}, - {amPiano, 0, 1, 5, 1, 0}, +CS.WEAPONS_DAMAGE = { + {amKamikaze, 0, 1, 0, 1, 0}, + {amSineGun, 0, 1, 0, 1, 0}, + {amMineStrike, 0, 1, 6, 1, 1}, + {amGrenade, 0, 1, 0, 1, 0}, + {amPiano, 0, 1, 7, 1, 0}, {amClusterBomb, 0, 1, 0, 1, 0}, - {amBee, 0, 1, 0, 1, 0}, - {amShotgun, 0, 0, 0, 1, 1}, - {amMine, 0, 1, 0, 1, 0}, - {amSniperRifle, 0, 1, 0, 1, 1}, - {amDEagle, 0, 1, 0, 1, 0}, - {amDynamite, 0, 1, 5, 1, 1}, - {amFirePunch, 0, 1, 0, 1, 0}, - {amHellishBomb, 0, 1, 5, 1, 2}, - {amWhip, 0, 1, 0, 1, 0}, - {amNapalm, 0, 1, 5, 1, 2}, - {amPickHammer, 0, 1, 0, 1, 0}, + {amBee, 0, 1, 0, 1, 0}, + {amShotgun, 0, 1, 0, 1, 0}, + {amSniperRifle, 0, 1, 0, 1, 0}, + {amDynamite, 0, 1, 6, 1, 1}, + {amFirePunch, 0, 1, 0, 1, 0}, + {amHellishBomb, 0, 1, 6, 1, 2}, + {amWhip, 0, 1, 0, 1, 0}, + {amNapalm, 0, 1, 6, 1, 1}, + {amPickHammer, 0, 1, 0, 1, 0}, {amBaseballBat, 0, 1, 0, 1, 1}, - {amMortar, 0, 1, 0, 1, 0}, - {amCake, 0, 1, 4, 1, 2}, - {amSeduction, 0, 0, 0, 1, 0}, - {amWatermelon, 0, 1, 5, 1, 2}, - {amDrill, 0, 1, 0, 1, 0}, - {amBallgun, 0, 1, 5, 1, 2}, - {amMolotov, 0, 1, 0, 1, 0}, - {amHammer, 0, 1, 0, 1, 2}, - {amBirdy, 0, 1, 0, 1, 0}, - {amBlowTorch, 0, 1, 0, 1, 0}, - {amRCPlane, 0, 1, 5, 1, 2}, - {amGasBomb, 0, 0, 0, 1, 0}, - {amAirAttack, 0, 1, 4, 1, 1}, - {amFlamethrower, 0, 1, 0, 1, 0}, - {amSMine, 0, 1, 0, 1, 1}, - {amDrillStrike, 0, 1, 4, 1, 2}, - {amSnowball, 0, 1, 0, 1, 0} + {amMortar, 0, 1, 0, 1, 0}, + {amCake, 0, 1, 5, 1, 2}, + {amSeduction, 0, 1, 0, 1, 0}, + {amWatermelon, 0, 1, 6, 1, 2}, + {amDrill, 0, 1, 0, 1, 0}, + {amBallgun, 0, 1, 8, 1, 2}, + {amDEagle, 0, 1, 0, 1, 0}, + {amMolotov, 0, 1, 0, 1, 0}, + {amHammer, 0, 1, 0, 1, 1}, + {amBirdy, 0, 1, 0, 1, 0}, + {amRCPlane, 0, 1, 6, 1, 2}, + {amMine, 0, 1, 0, 1, 0}, + {amGasBomb, 0, 1, 0, 1, 0}, + {amAirAttack, 0, 1, 5, 1, 1}, + {amBlowTorch, 0, 1, 0, 1, 0}, + {amFlamethrower,0, 1, 0, 1, 0}, + {amSMine, 0, 1, 0, 1, 0}, + {amSnowball, 0, 1, 0, 1, 0}, + {amKnife, 0, 1, 0, 1, 0}, + {amDrillStrike, 0, 1, 5, 1, 1}, + {amBazooka, 0, 1, 0, 1, 0}, + {amAirMine, 0, 1, 0, 1, 0}, } -local GLOBAL_WEAPONS_SUPPORT = { - {amParachute, 0, 1, 0, 1, 0}, - {amGirder, 0, 1, 0, 1, 0}, - {amSwitch, 0, 1, 0, 1, 0}, - {amLowGravity, 0, 1, 0, 1, 0}, +CS.WEAPONS_SUPPORT = { + {amParachute, 0, 1, 0, 1, 0}, + {amGirder, 0, 1, 0, 1, 0}, + {amSwitch, 0, 1, 0, 1, 0}, + {amLowGravity, 0, 1, 0, 1, 0}, {amExtraDamage, 0, 1, 2, 1, 0}, - {amRope, 0, 1, 0, 1, 1}, - {amInvulnerable, 0, 1, 0, 1, 0}, - {amExtraTime, 0, 1, 0, 1, 0}, - {amLaserSight, 0, 1, 0, 1, 0}, - {amVampiric, 0, 1, 0, 1, 0}, - {amJetpack, 0, 1, 0, 1, 1}, - {amPortalGun, 0, 1, 2, 1, 1}, - {amResurrector, 0, 1, 3, 1, 0}, - {amTeleport, 0, 1, 0, 1, 0}, - {amLandGun, 0, 1, 0, 1, 0}, - {amTardis, 0, 1, 0, 1, 0}, - {amIceGun, 0, 1, 0, 1, 0}, - {amKnife, 0, 1, 0, 1, 0}, - {amRubber, 0, 1, 0, 1, 0} + {amRope, 0, 1, 0, 1, 0}, + {amInvulnerable,0, 1, 0, 1, 0}, + {amExtraTime, 0, 1, 0, 1, 0}, + {amLaserSight, 0, 1, 0, 1, 0}, + {amVampiric, 0, 1, 0, 1, 0}, + {amJetpack, 0, 1, 0, 1, 0}, + {amPortalGun, 0, 1, 3, 1, 1}, + {amResurrector, 0, 1, 2, 1, 0}, + {amTeleport, 0, 1, 0, 1, 0}, + {amLandGun, 0, 1, 0, 1, 0}, + {amTardis, 0, 1, 0, 1, 0}, + {amIceGun, 0, 1, 0, 1, 0}, + {amRubber, 0, 1, 0, 1, 0} } +--check if weps valid +function wepNotValidBorder(weapon) + if(MapHasBorder() == false or (weapon ~= amAirAttack and weapon ~= amMineStrike and weapon ~= amNapalm and weapon ~= amDrillStrike and weapon ~= amPiano)) + then + return true + end + + return false +end + --will check after borders and stuff function ValidateWeapon(hog,weapon,amount) - if(MapHasBorder() == false or (MapHasBorder() == true and weapon ~= amAirAttack and weapon ~= amMineStrike and weapon ~= amNapalm and weapon ~= amDrillStrike and weapon ~= amPiano)) + if(wepNotValidBorder(weapon)) then if(amount==1) then @@ -274,6 +449,29 @@ end end +function SpawnRandomCrate(x,y,strength) + local tot=table.maxn(CS.WEAPONS_SUPPORT)+table.maxn(CS.WEAPONS_DAMAGE) + local rand=GetRandom(tot)+1 + + if(rand>table.maxn(CS.WEAPONS_SUPPORT)) + then + local weapon=rand-table.maxn(CS.WEAPONS_SUPPORT) + + while(wepNotValidBorder(CS.WEAPONS_DAMAGE[weapon][1])==false) + do + if(weapon>=table.maxn(CS.WEAPONS_DAMAGE)) + then + weapon=0 + end + weapon = weapon+1 + end + + SpawnAmmoCrate(x, y, CS.WEAPONS_DAMAGE[weapon][1]) + else + SpawnUtilityCrate(x, y, CS.WEAPONS_SUPPORT[rand][1]) + end +end + --removes one weapon function RemoveWeapon(hog,weapon) @@ -286,42 +484,42 @@ --reset all weapons for a team function CleanWeapons(hog) - local i=1 - --+1 for skip - while(i<=table.maxn(GLOBAL_WEAPONS_SUPPORT)+table.maxn(GLOBAL_WEAPONS_DAMAGE)+1) - do - AddAmmo(hog,i,0) - i=i+1 + for w=1, #CS.WEAPONS_SUPPORT do + AddAmmo(hog, CS.WEAPONS_SUPPORT[w][1], 0) end - - AddAmmo(hog,amSkip,100) + for w=1, #CS.WEAPONS_DAMAGE do + AddAmmo(hog, CS.WEAPONS_DAMAGE[w][1], 0) + end end --get the weapons from a weaponset function LoadWeaponset(hog, num) - for v,w in pairs(GLOBAL_CONTINENT_INFORMATION[num][5]) + for v,w in pairs(CS.CONTINENT_INFORMATION[num][5]) do ValidateWeapon(hog, w[1],w[2]) end + + CS.TEMP_VALUE=CS.CONTINENT_INFORMATION[num][7] + runOnGears(SetHogHealth) end --list up all weapons from the icons for each continent function InitWeaponsMenu(hog) - if(GetHogLevel(hog)==0) + if(GetHogLevel(hog)==0 or CS.CONTINENT_INFORMATION[1][6][1]==sndFrozenHogImpact) then - for v,w in pairs(GLOBAL_CONTINENT_INFORMATION) + for v,w in pairs(CS.CONTINENT_INFORMATION) do - ValidateWeapon(hog, GLOBAL_CONTINENT_INFORMATION[v][4],1) + ValidateWeapon(hog, CS.CONTINENT_INFORMATION[v][4][1], 100) end - AddAmmo(hog,amSwitch) --random continent + AddAmmo(hog, amSwitch, 100) --random continent --for the computers else --europe - ValidateWeapon(hog, GLOBAL_CONTINENT_INFORMATION[3][4],1) + ValidateWeapon(hog, CS.CONTINENT_INFORMATION[3][4][1], 100) --north america - ValidateWeapon(hog, GLOBAL_CONTINENT_INFORMATION[1][4],1) + ValidateWeapon(hog, CS.CONTINENT_INFORMATION[1][4][1], 100) end end @@ -336,15 +534,21 @@ end if(generalinf) then - geninftext="| |"..loc("General information")..": |"..GLOBAL_GENERAL_INFORMATION + geninftext="| |"..loc("General information:").."|"..GeneralInformation() + else + geninftext="| |"..loc("Press [Attack] to select this continent!") end - GLOBAL_SHOW_SMALL_INFO=div(time,40) - - ShowMission(GLOBAL_CONTINENT_INFORMATION[continent][1],GLOBAL_CONTINENT_INFORMATION[continent][2],GLOBAL_CONTINENT_INFORMATION[continent][3]..geninftext, -GLOBAL_CONTINENT_INFORMATION[continent][4], time) + ShowMission(CS.CONTINENT_INFORMATION[continent][1], + CS.CONTINENT_INFORMATION[continent][2], + string.format(loc("Initial health: %d"), CS.CONTINENT_INFORMATION[continent][7]) .. "|".. + CS.CONTINENT_INFORMATION[continent][3]..geninftext, + CS.CONTINENT_INFORMATION[continent][4][2], time) if(ns) then HideMission() + elseif not CS.GAME_STARTED then + AddCaption(CS.CONTINENT_INFORMATION[continent][1], GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo) end end @@ -368,191 +572,175 @@ end end ---zealandia (generates weapons from the weaponinfo above -function ZealandiaGetWeapons(hog) - if(GetGearType(hog) == gtHedgehog and GLOBAL_TEAM_CONTINENT[GetHogTeamName(hog)]==9 and getTeamValue(GetHogTeamName(hog), "rand-done-turn")==nil) - then - CleanWeapons(hog) +--give one random weapon +function GetRandomWeapon(hog, weptype, power, onlyonewep, getdelayedweps, mypower) - local random_weapon = 0 - local old_rand_weap = 0 - local rand_weaponset_power = 0 + local wepout=nil + local rand_weaponset_power=mypower - local numberofweaponssupp=table.maxn(GLOBAL_WEAPONS_SUPPORT) - local numberofweaponsdmg=table.maxn(GLOBAL_WEAPONS_DAMAGE) + if(rand_weaponset_power < power) + then + local numberofweapons=table.maxn(weptype) - local rand1=math.abs(GetRandom(numberofweaponssupp)+1) - local rand2=math.abs(GetRandom(numberofweaponsdmg)+1) + local random_weapon = math.abs(GetRandom(numberofweapons)+1) - random_weapon = math.abs(GetRandom(table.maxn(GLOBAL_WEAPONS_DAMAGE))+1) - - while(GLOBAL_WEAPONS_DAMAGE[random_weapon][4]>TotalRounds or (MapHasBorder() == true and (GLOBAL_WEAPONS_DAMAGE[random_weapon][1]== amAirAttack or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amMineStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amNapalm or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amDrillStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amPiano))) + while((weptype[random_weapon][4]>TotalRounds and getdelayedweps==false) or rand_weaponset_power+weptype[random_weapon][6]>power + or (wepNotValidBorder(weptype[random_weapon][1])==false) or GetAmmoCount(hog,weptype[random_weapon][1])>=100 + or (GetAmmoCount(hog,weptype[random_weapon][1])>=1 and onlyonewep==true)) do - if(random_weapon>=numberofweaponsdmg) + if(random_weapon>=numberofweapons) then random_weapon=0 end random_weapon = random_weapon+1 end - ValidateWeapon(hog, GLOBAL_WEAPONS_DAMAGE[random_weapon][1],1) - rand_weaponset_power=GLOBAL_WEAPONS_DAMAGE[random_weapon][6] - old_rand_weap = random_weapon + + wepout=weptype[random_weapon][1] - if(rand_weaponset_power <2) - then - random_weapon = rand1 - while(GLOBAL_WEAPONS_SUPPORT[random_weapon][4]>TotalRounds or rand_weaponset_power+GLOBAL_WEAPONS_SUPPORT[random_weapon][6]>2) - do - if(random_weapon>=numberofweaponssupp) - then - random_weapon=0 - end - random_weapon = random_weapon+1 - end - ValidateWeapon(hog, GLOBAL_WEAPONS_SUPPORT[random_weapon][1],1) - rand_weaponset_power=rand_weaponset_power+GLOBAL_WEAPONS_SUPPORT[random_weapon][6] - end - --check again if the power is enough - if(rand_weaponset_power <1) - then - random_weapon = rand2 - while(GLOBAL_WEAPONS_DAMAGE[random_weapon][4]>TotalRounds or old_rand_weap == random_weapon or GLOBAL_WEAPONS_DAMAGE[random_weapon][6]>0 or (MapHasBorder() == true and (GLOBAL_WEAPONS_DAMAGE[random_weapon][1]== amAirAttack or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amMineStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amNapalm or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amDrillStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amPiano))) - do - if(random_weapon>=numberofweaponsdmg) - then - random_weapon=0 - end - random_weapon = random_weapon+1 - end - ValidateWeapon(hog, GLOBAL_WEAPONS_DAMAGE[random_weapon][1],1) - end + ValidateWeapon(hog, wepout,1) + rand_weaponset_power=mypower+weptype[random_weapon][6] + end - setTeamValue(GetHogTeamName(hog), "rand-done-turn", true) - end + return rand_weaponset_power , wepout end ---sundaland add weps -function SundalandGetWeapons(hog) - - local random_weapon = 0 - local old_rand_weap = 0 - local rand_weaponset_power = 0 - - local firstTurn=0 +--zealandia (generates weapons from the weaponinfo above) and sundaland +function RandomContinentsGetWeapons(hog) + if(GetGearType(hog) == gtHedgehog) + then + local currCont=CS.TEAM_CONTINENT[GetHogTeamName(hog)] - local numberofweaponssupp=table.maxn(GLOBAL_WEAPONS_SUPPORT) - local numberofweaponsdmg=table.maxn(GLOBAL_WEAPONS_DAMAGE) - - local rand1=GetRandom(numberofweaponssupp)+1 - local rand2=GetRandom(numberofweaponsdmg)+1 - local rand3=GetRandom(numberofweaponsdmg)+1 - - random_weapon = GetRandom(numberofweaponsdmg)+1 - - if(TotalRounds<0) + if(currCont~=0) then - firstTurn=-TotalRounds - end + local checkDefCont=CS.CONTINENT_INFORMATION[currCont][4][2] - while(GLOBAL_WEAPONS_DAMAGE[random_weapon][4]>(TotalRounds+firstTurn) or (MapHasBorder() == true and (GLOBAL_WEAPONS_DAMAGE[random_weapon][1]== amAirAttack or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amMineStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amNapalm or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amDrillStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amPiano))) - do - if(random_weapon>=numberofweaponsdmg) + --for sunda + local wepamount=getTeamValue(GetHogTeamName(hog), "sundaland-count") + + if(checkDefCont==9 and getTeamValue(GetHogTeamName(hog), "rand-done-turn")==false) then - random_weapon=0 - end - random_weapon = random_weapon+1 - end - ValidateWeapon(hog, GLOBAL_WEAPONS_DAMAGE[random_weapon][1],1) - rand_weaponset_power=GLOBAL_WEAPONS_DAMAGE[random_weapon][6] - old_rand_weap = random_weapon + CleanWeapons(hog) + + local rand_weaponset_power = 0 - random_weapon = rand1 - while(GLOBAL_WEAPONS_SUPPORT[random_weapon][4]>(TotalRounds+firstTurn) or rand_weaponset_power+GLOBAL_WEAPONS_SUPPORT[random_weapon][6]>2) - do - if(random_weapon>=numberofweaponssupp) + rand_weaponset_power=GetRandomWeapon(hog,CS.WEAPONS_DAMAGE,100,true,false,rand_weaponset_power) + rand_weaponset_power=GetRandomWeapon(hog,CS.WEAPONS_SUPPORT,2,true,false,rand_weaponset_power) + rand_weaponset_power=GetRandomWeapon(hog,CS.WEAPONS_DAMAGE,1,true,false,rand_weaponset_power) + + setTeamValue(GetHogTeamName(hog), "rand-done-turn", true) + + elseif(checkDefCont==10 and wepamount~=nil) then - random_weapon=0 - end - random_weapon = random_weapon+1 - end - ValidateWeapon(hog, GLOBAL_WEAPONS_SUPPORT[random_weapon][1],1) - rand_weaponset_power=rand_weaponset_power+GLOBAL_WEAPONS_SUPPORT[random_weapon][6] + local loci=0 + + while(loci(TotalRounds+firstTurn) or old_rand_weap == random_weapon or GLOBAL_WEAPONS_DAMAGE[random_weapon][6]>0 or (MapHasBorder() == true and (GLOBAL_WEAPONS_DAMAGE[random_weapon][1]== amAirAttack or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amMineStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amNapalm or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amDrillStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amPiano))) - do - if(random_weapon>=numberofweaponsdmg) - then - random_weapon=0 + -- Don't give weapons directly, only insert them into the global temp. value + -- We expect this function to be called by runOnGears for Sundaland. + if CS.TEMP_VALUE[hog] == nil then + CS.TEMP_VALUE[hog] = {} + end + for w=1, #wep do + local ammoList = CS.TEMP_VALUE[hog] + if ammoList[wep[w]] == nil then + ammoList[wep[w]] = 1 + else + ammoList[wep[w]] = math.min(99, ammoList[wep[w]] + 1) + end + end + + loci=loci+1 end - random_weapon = random_weapon+1 + + setTeamValue(GetHogTeamName(hog), "sundaland-count",nil) end - ValidateWeapon(hog, GLOBAL_WEAPONS_DAMAGE[random_weapon][1],1) - rand_weaponset_power=GLOBAL_WEAPONS_DAMAGE[random_weapon][6] end - - if(rand_weaponset_power <1) - then - random_weapon = rand3 - while(GLOBAL_WEAPONS_DAMAGE[random_weapon][4]>(TotalRounds+firstTurn) or old_rand_weap == random_weapon or GLOBAL_WEAPONS_DAMAGE[random_weapon][6]>0 or (MapHasBorder() == true and (GLOBAL_WEAPONS_DAMAGE[random_weapon][1]== amAirAttack or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amMineStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amNapalm or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amDrillStrike or GLOBAL_WEAPONS_DAMAGE[random_weapon][1] == amPiano))) - do - if(random_weapon>=numberofweaponsdmg) - then - random_weapon=0 - end - random_weapon = random_weapon+1 - end - ValidateWeapon(hog, GLOBAL_WEAPONS_DAMAGE[random_weapon][1],1) - end - - AddVisualGear(GetX(hog), GetY(hog)-30, vgtEvilTrace,0, false) - PlaySound(sndReinforce,hog) + end end - --this will take that hogs settings for the weapons and add them function SetContinentWeapons() CleanWeapons(CurrentHedgehog) - LoadWeaponset(CurrentHedgehog,GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]) + LoadWeaponset(CurrentHedgehog,CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]) + + local visualstuff=AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)-5, vgtDust,0, false) + SetVisualGearValues(visualstuff, nil, nil, nil, nil, nil, nil, nil, 2, nil, GetClanColor(GetHogClan(CurrentHedgehog))) - visualstuff=AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)-5, vgtDust,0, false) - v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 = GetVisualGearValues(visualstuff) - SetVisualGearValues(visualstuff, v1, v2, v3, v4, v5, v6, v7, 2, v9, GetClanColor(GetHogClan(CurrentHedgehog))) + SetCSAmmoDescriptions("weapons") + ShowContinentInfo(CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)],5000,false) +end - ShowContinentInfo(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)],3000,false) +--count hogs in team +function CountHogsInTeam(hog) + if(GetHogTeamName(hog)==GetHogTeamName(CurrentHedgehog)) + then + CS.TEMP_VALUE=CS.TEMP_VALUE+1 + end end --==========================run throw all hog/gear weapons ========================== + +function SetHogHealth(hog) + if(GetGearType(hog) == gtHedgehog and GetHogClan(hog) == GetHogClan(CurrentHedgehog)) + then + SetHealth(hog, div(CS.TEMP_VALUE*CS.HOG_HEALTH,100)) + end +end + --will check if the mine is nicely placed function AustraliaSpecialCheckHogs(hog) if(GetGearType(hog) == gtHedgehog) then if(gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 40, false)==true and hog ~= CurrentHedgehog) then - GLOBAL_TEMP_VALUE=1 + CS.TEMP_VALUE=1 end end end +function HogOuch(hog, ouchType) + local r + if ouchType == "moan" then + r = math.random(1, 2) + if r == 1 then + PlaySound(sndPoisonMoan, hog, true) + else + PlaySound(sndPoisonCough, hog, true) + end + else + local r = math.random(1, 4) + PlaySound(_G["sndOw"..r], hog) + end +end + --african special on sedunction function AfricaSpecialSeduction(hog) if(GetGearType(hog) == gtHedgehog) then - local dmg=div(15*GLOBAL_EXTRA_DAMAGE_IS_ON,100) + local dmg=div((15+CS.SEDUCTION_INCREASER)*CS.EXTRA_DAMAGE_IS_ON,100) if(gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 250, false)==true and GetHogClan(hog) ~= GetHogClan(CurrentHedgehog)) then if(GetHealth(hog) > dmg) then - GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+div(dmg*GLOBAL_VAMPIRIC_IS_ON,100) + CS.TEMP_VALUE=CS.TEMP_VALUE+div(dmg*CS.VAMPIRIC_IS_ON,100) SetHealth(hog, GetHealth(hog)-dmg) else - GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+div(GetHealth(hog)*GLOBAL_VAMPIRIC_IS_ON,100) + CS.TEMP_VALUE=CS.TEMP_VALUE+div(GetHealth(hog)*CS.VAMPIRIC_IS_ON,100) SetHealth(hog, 0) end + HogOuch(hog) ShowDamageTag(hog,dmg) end end @@ -564,16 +752,17 @@ then if(gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 120, false)==true and GetHogClan(hog) ~= GetHogClan(CurrentHedgehog)) then - local dmg=div((15+div(GetHealth(CurrentHedgehog)*10,100))*GLOBAL_EXTRA_DAMAGE_IS_ON,100) + local dmg=div((15+div(GetHealth(CurrentHedgehog)*10,100))*CS.EXTRA_DAMAGE_IS_ON,100) if(GetHealth(hog)>dmg) then - GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+div(dmg*2,3)+div(dmg*GLOBAL_VAMPIRIC_IS_ON*2,100*3) + CS.TEMP_VALUE=CS.TEMP_VALUE+div(dmg*2,3)+div(dmg*CS.VAMPIRIC_IS_ON*2,100*3) SetHealth(hog, GetHealth(hog)-dmg) else - GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+(div(GetHealth(hog)*75,100))+(div(GetHealth(CurrentHedgehog)*10,100))+div((GetHealth(hog)+div(GetHealth(CurrentHedgehog)*10,100))*GLOBAL_VAMPIRIC_IS_ON,100) + CS.TEMP_VALUE=CS.TEMP_VALUE+(div(GetHealth(hog)*75,100))+(div(GetHealth(CurrentHedgehog)*10,100))+div((GetHealth(hog)+div(GetHealth(CurrentHedgehog)*10,100))*CS.VAMPIRIC_IS_ON,100) SetHealth(hog, 0) end + HogOuch(hog) ShowDamageTag(hog,dmg) AddVisualGear(GetX(hog), GetY(hog), vgtExplosion, 0, false) AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtSmokeWhite, 0, false) @@ -585,9 +774,9 @@ function KerguelenSpecialYellowCountHogs(hog) if(GetGearType(hog) == gtHedgehog) then - if(GetHogClan(hog) ~= GetHogClan(CurrentHedgehog) and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 420, false)) + if(GetHogClan(hog) ~= GetHogClan(CurrentHedgehog) and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 390, false)) then - GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+1 + CS.TEMP_VALUE=CS.TEMP_VALUE+1 end end end @@ -595,17 +784,17 @@ function KerguelenSpecialYellowSwap(hog) if(GetGearType(hog) == gtHedgehog) then - if(GLOBAL_KERGUELEN_SPECIAL ~= -1 and GetHogClan(hog) ~= GetHogClan(CurrentHedgehog) and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 420, false)) + if(CS.KERGUELEN_SPECIAL ~= -1 and GetHogClan(hog) ~= GetHogClan(CurrentHedgehog) and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 420, false)) then - if(GLOBAL_TEMP_VALUE==0) + if(CS.TEMP_VALUE==0) then local thisX=GetX(CurrentHedgehog) local thisY=GetY(CurrentHedgehog) SetGearPosition(CurrentHedgehog, GetX(hog), GetY(hog)) SetGearPosition(hog, thisX, thisY) - GLOBAL_KERGUELEN_SPECIAL=-1 + CS.KERGUELEN_SPECIAL=-1 else - GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE-1 + CS.TEMP_VALUE=CS.TEMP_VALUE-1 end end end @@ -617,8 +806,8 @@ then if(CurrentHedgehog~=hog and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 80, false)) then - GLOBAL_TEMP_VALUE=1 - GLOBAL_SABOTAGE_HOGS[hog]=1 + CS.TEMP_VALUE=1 + CS.SABOTAGE_HOGS[hog]=1 AddGear(GetX(hog), GetY(hog), gtCluster, 0, 0, 0, 1) PlaySound(sndNooo,hog) end @@ -627,9 +816,9 @@ --first part on kerguelen special (lonely cries) function KerguelenSpecialBlueCheck(hog) - if(GetGearType(hog) == gtHedgehog and hog ~= CurrentHedgehog and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 550, false)) + if(GetGearType(hog) == gtHedgehog and hog ~= CurrentHedgehog and GetHealth(CurrentHedgehog) and gearIsInCircle(hog,GetX(CurrentHedgehog), GetY(CurrentHedgehog), 500, false)) then - GLOBAL_KERGUELEN_SPECIAL=-1 + CS.TEMP_VALUE=1 end end @@ -637,17 +826,18 @@ function KerguelenSpecialBlueActivate(hog) if(GetGearType(hog) == gtHedgehog) then - local dmg=div(6*GLOBAL_EXTRA_DAMAGE_IS_ON,100) + local dmg=div(6*CS.EXTRA_DAMAGE_IS_ON,100) if(GetHogClan(hog) ~= GetHogClan(CurrentHedgehog)) then if(GetHealth(hog) > dmg) then - GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+div(dmg*GLOBAL_VAMPIRIC_IS_ON,100) + CS.TEMP_VALUE=CS.TEMP_VALUE+div(dmg*CS.VAMPIRIC_IS_ON,100) SetHealth(hog, GetHealth(hog)-dmg) else - GLOBAL_TEMP_VALUE=GLOBAL_TEMP_VALUE+div(GetHealth(hog)*GLOBAL_VAMPIRIC_IS_ON,100) + CS.TEMP_VALUE=CS.TEMP_VALUE+div(GetHealth(hog)*CS.VAMPIRIC_IS_ON,100) SetHealth(hog, 0) end + HogOuch(hog, "moan") ShowDamageTag(hog,dmg) AddVisualGear(GetX(hog), GetY(hog)-30, vgtEvilTrace, 0, false) @@ -655,36 +845,22 @@ end end ---australia -function AustraliaSpecialEggHit(hog) - if(GetGearType(hog) == gtHedgehog) - then - if(gearIsInCircle(hog,GetX(GLOBAL_TEMP_VALUE), GetY(GLOBAL_TEMP_VALUE), 18, false)) - then - GLOBAL_SABOTAGE_HOGS[hog]=1 - PlaySound(sndNooo,hog) - SetEffect(hog, hePoisoned, false) - end - end -end - --south american special (used fire gear) function SouthAmericaSpecialCheeseExplosion(hog) if(GetGearType(hog) == gtHedgehog or GetGearType(hog) == gtMine or GetGearType(hog) == gtExplosives) then local power_radius_outer=230 - local power_radius_inner=45 - local power_sa=500000 + local power_sa=700000 local hypo=0 - if(gearIsInCircle(hog,GetX(GLOBAL_TEMP_VALUE), GetY(GLOBAL_TEMP_VALUE), power_radius_outer, false) and gearIsInCircle(hog,GetX(GLOBAL_TEMP_VALUE), GetY(GLOBAL_TEMP_VALUE), power_radius_inner, false)==false) + if(gearIsInCircle(hog,GetX(CS.TEMP_VALUE), GetY(CS.TEMP_VALUE), power_radius_outer, false)) then if(hog == CurrentHedgehog) then SetState(CurrentHedgehog, gstMoving) end SetGearPosition(hog, GetX(hog),GetY(hog)-3) - hypo=Norm(math.abs(GetX(hog)-GetX(GLOBAL_TEMP_VALUE)),math.abs(GetY(hog)-GetY(GLOBAL_TEMP_VALUE))) - SetGearVelocity(hog, div((power_radius_outer-hypo)*power_sa*GetIfNegative(GetX(hog)-GetX(GLOBAL_TEMP_VALUE)),power_radius_outer), div((power_radius_outer-hypo)*power_sa*GetIfNegative(GetY(hog)-GetY(GLOBAL_TEMP_VALUE)),power_radius_outer)) + hypo=Norm(math.abs(GetX(hog)-GetX(CS.TEMP_VALUE)),math.abs(GetY(hog)-GetY(CS.TEMP_VALUE))) + SetGearVelocity(hog, div((power_radius_outer-hypo)*power_sa*GetIfNegative(GetX(hog)-GetX(CS.TEMP_VALUE)),power_radius_outer), div((power_radius_outer-hypo)*power_sa*GetIfNegative(GetY(hog)-GetY(CS.TEMP_VALUE)),power_radius_outer)) end end end @@ -693,10 +869,11 @@ function NorthAmericaSpecialSniper(hog) if(GetGearType(hog) == gtHedgehog) then - if(gearIsInCircle(GLOBAL_TEMP_VALUE,GetX(hog), GetY(hog), 20, false)) + if(gearIsInCircle(CS.TEMP_VALUE,GetX(hog), GetY(hog), 20, false)) then - SetEffect(hog, hePoisoned, 1) + SetEffect(hog, hePoisoned, 5) PlaySound(sndBump) + SetSoundMask(sndMissed, true) end end end @@ -705,90 +882,182 @@ function EuropeSpecialMolotovHit(hog) if(GetGearType(hog) == gtHedgehog) then - if(gearIsInCircle(GLOBAL_TEMP_VALUE,GetX(hog), GetY(hog), 100, false)) + if(gearIsInCircle(CS.TEMP_VALUE,GetX(hog), GetY(hog), 100, false)) then - SetHealth(hog, GetHealth(hog)+25+(div(25*GLOBAL_VAMPIRIC_IS_ON,100))) + local healthadd=15 + HealHog(hog, healthadd+(div(healthadd*CS.VAMPIRIC_IS_ON,100)), hog == CurrentHedgehog) SetEffect(hog, hePoisoned, false) - GLOBAL_SABOTAGE_HOGS[hog]=0 + CS.SABOTAGE_HOGS[hog]=0 + SetSoundMask(sndMissed, true) end end end ---for sundaland -function SundalandFindOtherHogInTeam(hog) +--a weaponset string to something readable by the script +function transferableParamToWeaponSet(string,icon) + local continentinfo={} + local numb=0 + local wepcodes=0 + local where=0 + + local x=0 + local i=1 + + --default icon + continentinfo[4]={} + if(icon==1000) + then + local mid=table.maxn(CS.WEAPONS_DAMAGE) + local max=mid+table.maxn(CS.WEAPONS_SUPPORT) + local ic=(string.byte(string) % max)+1 + + if(ic>mid) + then + ic=CS.WEAPONS_SUPPORT[ic-mid][1] + else + ic=CS.WEAPONS_DAMAGE[ic][1] + end + + continentinfo[4][1]=ic + continentinfo[4][2]=-ic + else + continentinfo[4][1]=icon + continentinfo[4][2]=-icon + end + + continentinfo[6]={sndFrozenHogImpact,sndUhOh} + continentinfo[7]=100 + + for c in string:gmatch"." + do + --first part, eg name of the weaponset + if(where==0) + then + if(string.byte(c)==126) + then + continentinfo[1]=string.sub(string,0,numb) + wepcodes=numb + where=1 + end + --second part, subname of the weaponset + elseif(where==1) + then + if(string.byte(c)==126) + then + continentinfo[2]=string.sub(string,wepcodes+2,numb) + continentinfo[5]={} + wepcodes=numb + where=2 + end + --insert all weapons + elseif(where==2) + then + x=string.byte(c)-35 + if(x>90) + then + break + elseif(x>80) + then + if(x-80<10) + then + i=x-80 + else + i=100 + end + else + table.insert(continentinfo[5],{x,i}) + end + end + numb=numb+1 + end + + if(continentinfo[5]~=nil and continentinfo[5][1]~=nil) + then + continentinfo[3] = + string.format(loc("%s was extracted from the scheme"), continentinfo[1]) + + table.insert(CS.CONTINENT_INFORMATION, continentinfo) + end + + return nil +end + +--add a weaponset from a hogname +function HogNameToWeaponset(hog) if(GetGearType(hog) == gtHedgehog) then - if(GetHogTeamName(GLOBAL_SUNDALAND_END_HOG)==GetHogTeamName(hog)) - then - GLOBAL_SUNDALAND_END_HOG=hog + local string=GetHogName(hog) + local numb=0 + + for c in string:gmatch"." + do + if(string.byte(c)==126) + then + local name=string.sub(string,0,numb) + SetHogName(hog,name) + local weaponcode=string.sub(string,numb+2) + local continentinfo=transferableParamToWeaponSet(weaponcode,1000) + + if(continentinfo~=nil) + then + table.insert(CS.CONTINENT_INFORMATION, continentinfo) + end + return + end + numb=numb+1 end end end + --============================================================================ +--Parameters -> [options],[global-continent] +--wt=yes allow to search for weaponsets on hog names +--spec=off disable specials (will make stuff unbalanced) +--cont=no remove the pre-defined continents + --for custom made continent, follows the same standards as the globalism one. You can make your continent with ~~. Take the weapons generated from globalism, if you want a GUI :P --weapons=, ammo = ascii[116(1 ammo) to 125(inf ammo)] types = ascii[36(Grenade), 37(Clusterbomb) to 90(knife)] see http://hedgewars.org/kb/AmmoTypes --ex "Own continent~this continent rocks!~tZ}$" will get 1 knife and inf grenades function onParameters() + local searchfor="wt=yes" + local match=string.find(ScriptParam,searchfor, 1) + + if(match~=nil) + then + CS.TEMP_VALUE=1 + + ScriptParam=string.gsub(ScriptParam,"(,?)"..searchfor.."(,?)","") + end + + searchfor="spec=off" + match=string.find(ScriptParam,searchfor, 1) + + if(match~=nil) + then + CS.OPTION_NO_SPECIALS=true + + ScriptParam=string.gsub(ScriptParam,"(,?)"..searchfor.."(,?)","") + end + + searchfor="cont=no" + match=string.find(ScriptParam,searchfor, 1) + + if(match~=nil) + then + CS.CONTINENT_INFORMATION={} + + ScriptParam=string.gsub(ScriptParam,"(,?)"..searchfor.."(,?)","") + end + if(ScriptParam~=nil) then - local continentinfo={} - local numb=0 - local wepcodes=0 - local where=0 - - local x=0 - local i=1 - - --default icon - continentinfo[4]=amLowGravity + local continentinfo=transferableParamToWeaponSet(ScriptParam,amLowGravity) - for c in ScriptParam:gmatch"." - do - if(where==0) - then - if(string.byte(c)==126) - then - continentinfo[1]=string.sub(ScriptParam,0,numb) - wepcodes=numb - where=1 - end - elseif(where==1) - then - if(string.byte(c)==126) - then - continentinfo[2]=string.sub(ScriptParam,wepcodes+2,numb) - continentinfo[5]={} - wepcodes=numb - where=2 - end - elseif(where==2) - then - x=string.byte(c)-35 - if(x>90) - then - break - elseif(x>80) - then - if(x-80<10) - then - i=x-80 - else - i=100 - end - else - table.insert(continentinfo[5],{x,i}) - end - end - numb=numb+1 - end - - if(continentinfo[5]~=nil and continentinfo[5][1]~=nil) + if(continentinfo~=nil) then - continentinfo[3]="- "..continentinfo[1]..loc(" was extracted from the scheme|- This continent will be able to use the specials from the other continents!") - - table.insert(GLOBAL_CONTINENT_INFORMATION, continentinfo) + table.insert(CS.CONTINENT_INFORMATION, continentinfo) end end end @@ -798,97 +1067,207 @@ SetAmmo(amSkip, 9, 0, 0, 0) - for v,w in pairs(GLOBAL_WEAPONS_DAMAGE) + for v,w in pairs(CS.WEAPONS_DAMAGE) do SetAmmo(w[1], w[2], w[3], w[4], w[5]) end - for v,w in pairs(GLOBAL_WEAPONS_SUPPORT) + for v,w in pairs(CS.WEAPONS_SUPPORT) do SetAmmo(w[1], w[2], w[3], w[4], w[5]) end end +function SetCSAmmoDescriptions(mode) + if mode == "continents" then + for c=1, #CS.CONTINENT_INFORMATION do + local cont = CS.CONTINENT_INFORMATION[c] + local hp = string.format(loc("Initial health: %d"), cont[7]) + SetAmmoTexts(cont[4][1], cont[1], cont[2], hp .."|" .. cont[3], false) + SetAmmoDescriptionAppendix(cont[4][1], nil) + end + SetAmmoTexts(amSwitch, loc("Random continent"), loc("If you just don’t care …"), loc("Select this item for a random continent."), false) + + elseif mode == "weapons" then + local specSelect = loc("Switch: Select weapon special") + local specHeader = loc("Available weapon specials:") + local specText="|".. + specSelect.."| |".. + specHeader.."|" + + SetAmmoDescriptionAppendix(amSniperRifle, + specText.. + CS.SNIPER_SPECIAL_INFO) + SetAmmoDescriptionAppendix(amBaseballBat, + specText.. + CS.BASEBALLBAT_BOOMERANG_INFO .. "|" .. + CS.BASEBALLBAT_CRICKET_INFO .. "|" .. + loc("These weapon specials cannot be used close to other hogs.")) + SetAmmoDescriptionAppendix(amGasBomb, + specText.. + CS.CHEESE_SPECIAL_INFO) + SetAmmoDescriptionAppendix(amSeduction, + specSelect .. "|" .. + CS.INVULNERABLE_SPECIAL_CTRL .. "| |" .. + specHeader .. "|" .. + CS.SEDUCTION_SPECIAL_INFO .. "|" .. + CS.INVULNERABLE_SPECIAL_INFO) + SetAmmoDescriptionAppendix(amParachute, + loc("Switch: Drop ball of dirt from parachute (once)") .. "| |" .. + specHeader .. "|" .. + CS.PARACHUTE_SPECIAL_INFO) + SetAmmoDescriptionAppendix(amHammer, + specText.. + CS.HAMMER_ROAR_INFO .. "|" .. + CS.HAMMER_SWAP_INFO .. "|" .. + CS.HAMMER_LONELY_INFO .. "|" .. + CS.HAMMER_SABOTAGE_INFO) + SetAmmoDescriptionAppendix(amSMine, + specText.. + CS.STICKY_PROJECTILE_INFO .. "|" .. + CS.STICKY_NAPALM_INFO) + SetAmmoDescriptionAppendix(amShotgun, + specText.. + CS.SHOTGUN_SPECIAL_INFO) + SetAmmoDescriptionAppendix(amMolotov, + specText.. + CS.MOLOTOV_SPECIAL_INFO) + SetAmmoDescriptionAppendix(amPickHammer, + specText.. + CS.PICKHAMMER_SPECIAL_INFO) + SetAmmoDescriptionAppendix(amVampiric, + loc("This also increases the effectiveness of Medicine.") + ) + for c=1, #CS.CONTINENT_INFORMATION do + local cont = CS.CONTINENT_INFORMATION[c] + SetAmmoTexts(cont[4][1], nil, nil, nil) + end + SetAmmoTexts(amSwitch, nil, nil, nil) + end + + if mode == "continents" or not CS.GAME_STARTED then + SetAmmoTexts(amSkip, loc("Select continent"), loc("Continent selection"), loc("Select the current continent.") .. "|" .. loc("Choose your continent wisely, as your decision will be permanent.") .. "|" .. loc("Up/Down: Browse through continents") .. "|" .. loc("Attack: Select this continent")) + else + SetAmmoTexts(amSkip, nil, nil, nil) + end +end + --on game start function onGameStart() - ShowMission(loc("Continental supplies"),loc("Let a continent provide your weapons!"), - GLOBAL_GENERAL_INFORMATION, -amLowGravity, 0) + ShowMission(loc("Continental supplies"),loc("Let a continent provide your weapons!"),GeneralInformation(), 0, 0) + SetCSAmmoDescriptions("continents") + + if(CS.TEMP_VALUE==1) + then + runOnGears(HogNameToWeaponset) + end +end + +function onGameInit() + SuddenDeathTurns= SuddenDeathTurns+1 end --what happen when a turn starts function onNewTurn() + --will refresh the info on each tab weapon + CS.AUSTRALIAN_SPECIAL=0 + CS.AFRICAN_SPECIAL_SEDUCTION=0 + CS.SEDUCTION_INCREASER=0 + CS.SOUTH_AMERICAN_SPECIAL=false + CS.AFRICAN_SPECIAL_STICKY=0 + CS.KERGUELEN_SPECIAL=1 + CS.NORTH_AMERICAN_SPECIAL_SNIPER=1 + CS.NORTH_AMERICAN_SPECIAL_SHOTGUN=false + CS.NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=false + CS.EUROPE_SPECIAL=0 + CS.VAMPIRIC_IS_ON=0 + CS.EXTRA_DAMAGE_IS_ON=100 + CS.SABOTAGE_COUNTER=0 + CS.ANTARCTICA_SPECIAL=0 - --will refresh the info on each tab weapon - GLOBAL_AUSTRALIAN_SPECIAL=0 - GLOBAL_AFRICAN_SPECIAL_SEDUCTION=0 - GLOBAL_SOUTH_AMERICAN_SPECIAL=false - GLOBAL_AFRICAN_SPECIAL_STICKY=0 - GLOBAL_KERGUELEN_SPECIAL=1 - GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER=1 - GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN=false - GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=false - GLOBAL_EUROPE_SPECIAL=0 - GLOBAL_VAMPIRIC_IS_ON=0 - GLOBAL_EXTRA_DAMAGE_IS_ON=100 + CS.TEMP_VALUE=0 + + CS.SUNDALAND_END_HOG_CONTINENT_NAME=GetHogTeamName(CurrentHedgehog) - GLOBAL_TEMP_VALUE=0 + if TotalRounds >= 1 then + CS.GAME_STARTED = true + end - GLOBAL_SUNDALAND_END_HOG=CurrentHedgehog + SetSoundMask(sndLaugh, false) + SetSoundMask(sndMissed, false) + CS.AFRICAN_SPECIAL_NON_PROJECTILE_USED=false + SetAttackState(true) --when all hogs are "placed" if(GetCurAmmoType()~=amTeleport) then --will run once when the game really starts (after placing hogs and so on - if(GLOBAL_INIT_TEAMS[GetHogTeamName(CurrentHedgehog)] == nil) + if(CS.INIT_TEAMS[GetHogTeamName(CurrentHedgehog)] == nil) then - AddCaption("["..loc("Select continent!").."]") + SetInputMask(band(GetInputMask(), gmWeapon)) + + if(CS.START_TIME==0) + then + CS.START_TIME=TurnTimeLeft + CS.HOG_HEALTH=GetHealth(CurrentHedgehog) + end + + TurnTimeLeft=100000 + + AddCaption(string.format(CS.SELECT_WEP_INFORMATION_SHORT, GetHogTeamName(CurrentHedgehog)), 0xFFFFFFFF, capgrpGameState) + AddCaption(loc("No continent selected"), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo) + CS.SELECT_CONTINENT_CHECK=true + ShowMission(loc("Continental supplies"),loc("Let a continent provide your weapons!"),GeneralInformation(), 0, 0) + SetCSAmmoDescriptions("continents") + InitWeaponsMenu(CurrentHedgehog) - GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=0 - GLOBAL_SELECT_CONTINENT_CHECK=true - GLOBAL_INIT_TEAMS[GetHogTeamName(CurrentHedgehog)] = 2 + CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=0 + CS.INIT_TEAMS[GetHogTeamName(CurrentHedgehog)] = 2 - if(GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]~=nil and GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]==1) - then - GLOBAL_SABOTAGE_COUNTER=-750 - end else --if its not the initialization turn - GLOBAL_SELECT_CONTINENT_CHECK=false - if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==0) + CS.SELECT_CONTINENT_CHECK=false + SetInputMask(bor(GetInputMask(), bnot(gmWeapon))) + + if(CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==0) then - GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GetRandom(table.maxn(GLOBAL_CONTINENT_INFORMATION))+1 + CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GetRandom(table.maxn(CS.CONTINENT_INFORMATION))+1 SetContinentWeapons() end - ShowContinentInfo(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)],-1,true) + local currCont=CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)] + local checkDefCont=CS.CONTINENT_INFORMATION[currCont][4][2] --give zeelandia-teams new weapons so they can plan for the next turn - runOnGears(ZealandiaGetWeapons) + -- Use temporary value to store list of collected weapons + CS.TEMP_VALUE = {} + runOnGears(RandomContinentsGetWeapons) + for hog, ammoList in pairs(CS.TEMP_VALUE) do + CollectMultiAmmo(hog, ammoList, true) + end - --some specials for some continents (GLOBAL_TEMP_VALUE is from get random weapons) - if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==9) + --some specials for some continents (CS.TEMP_VALUE is from get random weapons) + if(checkDefCont==9) then - setTeamValue(GetHogTeamName(CurrentHedgehog), "rand-done-turn", nil) - elseif(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==7) + setTeamValue(GetHogTeamName(CurrentHedgehog), "rand-done-turn", false) + elseif(checkDefCont==7) then + --this will be set on the second turn if(getTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick")==nil) then setTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick", 1) end + -- Antarctic summer if(getTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick")>=4) then - AddAmmo(CurrentHedgehog,amPortalGun) - AddAmmo(CurrentHedgehog,amPortalGun) - AddAmmo(CurrentHedgehog,amSineGun) - AddAmmo(CurrentHedgehog,amSineGun) - AddAmmo(CurrentHedgehog,amGirder) - AddAmmo(CurrentHedgehog,amSnowball) + CollectMultiAmmo(CurrentHedgehog, {[amPortalGun] = 1, [amSineGun] = 2, [amGirder] = 1, [amSnowball] = 1}) setTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick", 0) end setTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick", getTeamValue(GetHogTeamName(CurrentHedgehog), "Antarctica2-turntick")+1) - elseif(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==5) + elseif(checkDefCont==5) then + --this will be set on the second turn if(getTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick")==nil) then setTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick", 1) @@ -896,354 +1275,618 @@ if(getTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick")>=2) then - AddAmmo(CurrentHedgehog,amParachute) + CollectMultiAmmo(CurrentHedgehog, {[amParachute] = 1}) setTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick", 0) end setTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick", getTeamValue(GetHogTeamName(CurrentHedgehog), "Asia-turntick")+1) - elseif(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==1) + elseif(checkDefCont==1) then - AddAmmo(CurrentHedgehog,amSwitch,GetAmmoCount(CurrentHedgehog, amSwitch)+1) + CS.TEMP_VALUE=0 + runOnGears(CountHogsInTeam) - SetWeapon(amSwitch) - GLOBAL_TEMP_VALUE=87 + if(CS.TEMP_VALUE>1) + then + -- Enable switch hog on turn start (North America) + EnableSwitchHog() + end end + + ShowContinentInfo(currCont,-1,true) + SetCSAmmoDescriptions("weapons") end end end +function WeaponCaption(ammoType, customName) + local caption + if not customName then + customName = GetAmmoName(ammoType) + end + local count = GetAmmoCount(CurrentHedgehog, ammoType) + local timer = GetAmmoTimer(CurrentHedgehog, ammoType) + local secs + if type(timer) == "number" then + secs = div(timer, 1000) + end + if count ~= 100 then + strCount = tostring(count) + end + -- Finite count, timerable + if type(timer) == "number" and count ~= 100 then + -- e.g. “Grenade (5), 3 sec” + caption = string.format(loc("%s (%d), %d sec"), customName, count, secs) + -- Infinite count, timerable + elseif type(timer) == "number" and count == 100 then + -- e.g. “Grenade, 3 sec” + caption = string.format(loc("%s, %d sec"), customName, secs) + -- Finite count, non-timerable + elseif type(timer) ~= "number" and count ~= 100 then + -- e.g. “Bazooka (5)” + caption = string.format(loc("%s (%d)"), customName, count) + -- Infinite count, non-timerable + else + -- e.g. “Bazooka” + caption = customName + end + + AddCaption(caption, GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo) +end + +function ShowSpecialWeaponCaption(ammoType) + --place mine (australia) + if(ammoType == amBaseballBat) + then + if(CS.AUSTRALIAN_SPECIAL==1) + then + WeaponCaption(amBaseballBat, CS.BASEBALLBAT_CRICKET_NAME) + elseif(CS.AUSTRALIAN_SPECIAL==2) + then + WeaponCaption(amBaseballBat, CS.BASEBALLBAT_BOOMERANG_NAME) + else + WeaponCaption(amBaseballBat) + end + + --africa + elseif(ammoType == amSeduction) + then + if(CS.AFRICAN_SPECIAL_SEDUCTION==1) + then + WeaponCaption(amSeduction, CS.SEDUCTION_SPECIAL_NAME) + AddCaption(string.format(CS.INVULNERABLE_SPECIAL_CAPTION, CS.SEDUCTION_INCREASER, GetAmmoCount(CurrentHedgehog,amInvulnerable)), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmostate) + else + WeaponCaption(amSeduction) + end + + --south america + elseif(ammoType == amGasBomb) + then + if(CS.SOUTH_AMERICAN_SPECIAL==true) + then + WeaponCaption(amGasBomb, CS.CHEESE_SPECIAL_NAME) + else + WeaponCaption(amGasBomb) + end + + --africa + elseif(ammoType == amSMine) + then + if(CS.AFRICAN_SPECIAL_STICKY==1) + then + WeaponCaption(amSMine, CS.STICKY_PROJECTILE_NAME) + elseif(CS.AFRICAN_SPECIAL_STICKY == 2) + then + WeaponCaption(amSMine, CS.STICKY_NAPALM_NAME) + else + WeaponCaption(amSMine) + end + + --north america (sniper) + elseif(ammoType == amSniperRifle and CS.NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON==false) + then + if(CS.NORTH_AMERICAN_SPECIAL_SNIPER==1) + then + WeaponCaption(amSniperRifle) + elseif(CS.NORTH_AMERICAN_SPECIAL_SNIPER==2) + then + WeaponCaption(amSniperRifle, CS.SNIPER_SPECIAL_NAME) + end + + --north america (shotgun) + elseif(ammoType == amShotgun) + then + if(CS.NORTH_AMERICAN_SPECIAL_SHOTGUN==true) + then + WeaponCaption(amShotgun, CS.SHOTGUN_SPECIAL_NAME) + else + WeaponCaption(amShotgun) + end + + --europe + elseif(ammoType == amMolotov) + then + if(CS.EUROPE_SPECIAL==1) + then + WeaponCaption(amMolotov, CS.MOLOTOV_SPECIAL_NAME) + else + WeaponCaption(amMolotov) + end + + --antarctica + elseif(ammoType == amPickHammer) + then + if(CS.ANTARCTICA_SPECIAL==1) + then + WeaponCaption(amPickHammer, CS.PICKHAMMER_SPECIAL_NAME) + else + WeaponCaption(amPickHammer) + end + + --kerguelen + elseif(ammoType == amHammer) + then + if(CS.KERGUELEN_SPECIAL==1) + then + WeaponCaption(amHammer) + elseif(CS.KERGUELEN_SPECIAL==2) + then + WeaponCaption(amHammer, CS.HAMMER_ROAR_NAME) + elseif(CS.KERGUELEN_SPECIAL==3) + then + WeaponCaption(amHammer, CS.HAMMER_SWAP_NAME) + elseif(CS.KERGUELEN_SPECIAL==5) + then + WeaponCaption(amHammer, CS.HAMMER_LONELY_NAME) + elseif(CS.KERGUELEN_SPECIAL==6) + then + WeaponCaption(amHammer, CS.HAMMER_SABOTAGE_NAME) + end + end +end + +function onPrecise() + CS.PRECISE = true +end +function onPreciseUp() + CS.PRECISE = false +end + --what happens when you press "tab" (common button) function onSwitch() - if(GLOBAL_SWITCH_HOG_IS_ON==false) + if(CS.SWITCH_HOG_IS_ON==false) then - --place mine (australia) - if(GetCurAmmoType() == amBaseballBat) - then - if(GLOBAL_AUSTRALIAN_SPECIAL==0) - then - GLOBAL_AUSTRALIAN_SPECIAL = 1 - AddCaption(GLOBAL_WEAPON_TEXTS[5]) - elseif(GLOBAL_AUSTRALIAN_SPECIAL==1) - then - GLOBAL_AUSTRALIAN_SPECIAL = 2 - AddCaption(GLOBAL_WEAPON_TEXTS[2]) - else - GLOBAL_AUSTRALIAN_SPECIAL = 0 - AddCaption(loc("NORMAL")) - end - - --Asian special - elseif(GLOBAL_PARACHUTE_IS_ON==1) - then - asiabomb=AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)+3, gtSnowball, 0, 0, 0, 0) - SetGearMessage(asiabomb, 1) - - GLOBAL_PARACHUTE_IS_ON=2 - GLOBAL_SELECT_CONTINENT_CHECK=false - - --africa - elseif(GetCurAmmoType() == amSeduction) - then - if(GLOBAL_AFRICAN_SPECIAL_SEDUCTION==0) - then - GLOBAL_AFRICAN_SPECIAL_SEDUCTION = 1 - AddCaption(GLOBAL_WEAPON_TEXTS[4]) - else - GLOBAL_AFRICAN_SPECIAL_SEDUCTION = 0 - AddCaption(loc("NORMAL")) - end - - --south america - elseif(GetCurAmmoType() == amGasBomb) - then - if(GLOBAL_SOUTH_AMERICAN_SPECIAL==false) - then - GLOBAL_SOUTH_AMERICAN_SPECIAL = true - AddCaption(GLOBAL_WEAPON_TEXTS[3]) - else - GLOBAL_SOUTH_AMERICAN_SPECIAL = false - AddCaption(loc("NORMAL")) - end - - --africa - elseif(GetCurAmmoType() == amSMine) - then - if(GLOBAL_AFRICAN_SPECIAL_STICKY==0) - then - GLOBAL_AFRICAN_SPECIAL_STICKY = 1 - AddCaption(GLOBAL_WEAPON_TEXTS[11]) - elseif(GLOBAL_AFRICAN_SPECIAL_STICKY == 1) - then - GLOBAL_AFRICAN_SPECIAL_STICKY = 2 - AddCaption(GLOBAL_WEAPON_TEXTS[12]) - elseif(GLOBAL_AFRICAN_SPECIAL_STICKY == 2) - then - GLOBAL_AFRICAN_SPECIAL_STICKY = 0 - AddCaption(loc("NORMAL")) - end - - --north america (sniper) - elseif(GetCurAmmoType() == amSniperRifle and GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON==false) + if(CS.OPTION_NO_SPECIALS==false and CS.SELECT_CONTINENT_CHECK==false and + band(GetState(CurrentHedgehog), gstAttacked) == 0 and + band(GetState(CurrentHedgehog), gstHHDriven) ~= 0) then - if(GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER==2) + --place mine (australia) + if(GetCurAmmoType() == amBaseballBat) then - GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER = 1 - AddCaption(loc("NORMAL")) - elseif(GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER==1) + CS.AUSTRALIAN_SPECIAL = CS.AUSTRALIAN_SPECIAL + 1 + CS.AUSTRALIAN_SPECIAL = CS.AUSTRALIAN_SPECIAL % 3 + + SetAttackState(CS.AUSTRALIAN_SPECIAL == 0) + + --Asian special + elseif(CS.PARACHUTE_IS_ON==1) + then + local asiabomb=AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)+3, gtSnowball, 0, 0, 0, 0) + SetGearMessage(asiabomb, 1) + + CS.PARACHUTE_IS_ON=2 + CS.SELECT_CONTINENT_CHECK=false + + --africa + elseif(GetCurAmmoType() == amSeduction) then - GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER = 2 - AddCaption(GLOBAL_WEAPON_TEXTS[1]) - end + if(CS.AFRICAN_SPECIAL_SEDUCTION==0) + then + CS.AFRICAN_SPECIAL_SEDUCTION = 1 + else + CS.AFRICAN_SPECIAL_SEDUCTION = 0 + end + + --south america + elseif(GetCurAmmoType() == amGasBomb) + then + if(CS.SOUTH_AMERICAN_SPECIAL==false) + then + CS.SOUTH_AMERICAN_SPECIAL = true + else + CS.SOUTH_AMERICAN_SPECIAL = false + end - --north america (shotgun) - elseif(GetCurAmmoType() == amShotgun and GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN~=nil) - then - if(GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN==false) + --africa + elseif(GetCurAmmoType() == amSMine) + then + CS.AFRICAN_SPECIAL_STICKY = CS.AFRICAN_SPECIAL_STICKY + 1 + CS.AFRICAN_SPECIAL_STICKY = CS.AFRICAN_SPECIAL_STICKY % 3 + SetSoundMask(sndLaugh, CS.AFRICAN_SPECIAL_STICKY ~= 0) + + --north america (sniper) + elseif(GetCurAmmoType() == amSniperRifle and CS.NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON==false) + then + if(CS.NORTH_AMERICAN_SPECIAL_SNIPER==2) + then + CS.NORTH_AMERICAN_SPECIAL_SNIPER = 1 + elseif(CS.NORTH_AMERICAN_SPECIAL_SNIPER==1) + then + CS.NORTH_AMERICAN_SPECIAL_SNIPER = 2 + end + + --north america (shotgun) + elseif(GetCurAmmoType() == amShotgun) then - GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN = true - AddCaption(GLOBAL_WEAPON_TEXTS[13]) - else - GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN = false - AddCaption(loc("NORMAL")) - end + if(CS.NORTH_AMERICAN_SPECIAL_SHOTGUN==false) + then + CS.NORTH_AMERICAN_SPECIAL_SHOTGUN = true + else + CS.NORTH_AMERICAN_SPECIAL_SHOTGUN = false + end + + --europe + elseif(GetCurAmmoType() == amMolotov) + then + if(CS.EUROPE_SPECIAL==0) + then + CS.EUROPE_SPECIAL = 1 + else + CS.EUROPE_SPECIAL = 0 + end + + --antarctica + elseif(GetCurAmmoType() == amPickHammer) + then + if(CS.ANTARCTICA_SPECIAL==0) + then + CS.ANTARCTICA_SPECIAL = 1 + else + CS.ANTARCTICA_SPECIAL = 0 + end - --europe - elseif(GetCurAmmoType() == amMolotov) - then - if(GLOBAL_EUROPE_SPECIAL==0) + --kerguelen + elseif(GetCurAmmoType() == amHammer) then - GLOBAL_EUROPE_SPECIAL = 1 - AddCaption(GLOBAL_WEAPON_TEXTS[14]) - else - GLOBAL_EUROPE_SPECIAL = 0 - AddCaption(loc("NORMAL")) + if(CS.KERGUELEN_SPECIAL==6) + then + CS.KERGUELEN_SPECIAL = 1 + elseif(CS.KERGUELEN_SPECIAL==1) + then + CS.KERGUELEN_SPECIAL = 2 + elseif(CS.KERGUELEN_SPECIAL==2) + then + CS.KERGUELEN_SPECIAL = 3 + elseif(CS.KERGUELEN_SPECIAL==3) + then + CS.KERGUELEN_SPECIAL = 5 + elseif(CS.KERGUELEN_SPECIAL==5) + then + CS.KERGUELEN_SPECIAL = 6 + end + SetAttackState(CS.KERGUELEN_SPECIAL == 1) end + ShowSpecialWeaponCaption(GetCurAmmoType()) + end + --for selecting weaponset, this is mostly for old players. + -- Switch: Next continent + -- Precise+Switch: Previous continent + TrySelectNextContinent(CS.PRECISE) + --if switching out from sabotage. + elseif(CS.SABOTAGE_HOGS[CurrentHedgehog]~=nil and CS.SABOTAGE_HOGS[CurrentHedgehog]==2) + then + CS.SABOTAGE_HOGS[CurrentHedgehog]=1 + end +end - --kerguelen - elseif(GetCurAmmoType() == amHammer) +function TrySelectNextContinent(reverse) + local direction = 1 + if reverse then + direction = -1 + end + if(GetHogLevel(CurrentHedgehog)==0 and CS.SELECT_CONTINENT_CHECK==true and (GetCurAmmoType() == amSkip or GetCurAmmoType() == amNothing)) + then + CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)] + direction + + if(CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]> table.maxn(CS.CONTINENT_INFORMATION)) then - if(GLOBAL_KERGUELEN_SPECIAL==6) - then - GLOBAL_KERGUELEN_SPECIAL = 1 - AddCaption("Normal") - elseif(GLOBAL_KERGUELEN_SPECIAL==1) - then - GLOBAL_KERGUELEN_SPECIAL = 2 - AddCaption("#"..GLOBAL_WEAPON_TEXTS[7]) - elseif(GLOBAL_KERGUELEN_SPECIAL==2 and TotalRounds>=1) - then - GLOBAL_KERGUELEN_SPECIAL = 3 - AddCaption("##"..GLOBAL_WEAPON_TEXTS[8]) - elseif(GLOBAL_KERGUELEN_SPECIAL==3 or (GLOBAL_KERGUELEN_SPECIAL==2 and TotalRounds<1)) - then - GLOBAL_KERGUELEN_SPECIAL = 5 - AddCaption("###"..GLOBAL_WEAPON_TEXTS[10]) - elseif(GLOBAL_KERGUELEN_SPECIAL==5) - then - GLOBAL_KERGUELEN_SPECIAL = 6 - AddCaption("####"..GLOBAL_WEAPON_TEXTS[15]) - end - --for selecting weaponset, this is mostly for old players. - elseif(GetHogLevel(CurrentHedgehog)==0 and GLOBAL_SELECT_CONTINENT_CHECK==true and (GetCurAmmoType() == amSkip or GetCurAmmoType() == amNothing)) + CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=1 + end + if(CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]<=0) then - GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]+1 + CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=table.maxn(CS.CONTINENT_INFORMATION) + end + SetContinentWeapons() - if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]> table.maxn(GLOBAL_CONTINENT_INFORMATION)) - then - GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=1 - end - SetContinentWeapons() - end - --if switching out from sabotage. - elseif(GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]~=nil and GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]==2) - then - GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]=1 + PlaySound(sndSwitchHog) end end function onUp() --swap forward in the weaponmenu (1.0 style) - if(GetHogLevel(CurrentHedgehog)==0 and GLOBAL_SELECT_CONTINENT_CHECK==true and (GetCurAmmoType() == amSkip or GetCurAmmoType() == amNothing)) - then - GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]+1 + TrySelectNextContinent(false) - if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]> table.maxn(GLOBAL_CONTINENT_INFORMATION)) - then - GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=1 - end - SetContinentWeapons() + if(GetCurAmmoType() == amSeduction and CS.AFRICAN_SPECIAL_SEDUCTION == 1 and GetAmmoCount(CurrentHedgehog,amInvulnerable)>0) + then + CS.SEDUCTION_INCREASER=CS.SEDUCTION_INCREASER+7 + + RemoveWeapon(CurrentHedgehog,amInvulnerable) + + AddCaption(string.format(CS.INVULNERABLE_SPECIAL_CAPTION, CS.SEDUCTION_INCREASER, GetAmmoCount(CurrentHedgehog,amInvulnerable)), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmostate) end end function onDown() --swap backwards in the weaponmenu (1.0 style) - if(GetHogLevel(CurrentHedgehog)==0 and GLOBAL_SELECT_CONTINENT_CHECK==true and (GetCurAmmoType() == amSkip or GetCurAmmoType() == amNothing)) + TrySelectNextContinent(true) + + if(GetCurAmmoType() == amSeduction and CS.AFRICAN_SPECIAL_SEDUCTION == 1 and CS.SEDUCTION_INCREASER>0) then - GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]-1 + CS.SEDUCTION_INCREASER=CS.SEDUCTION_INCREASER-7 + + AddAmmo(CurrentHedgehog,amInvulnerable,GetAmmoCount(CurrentHedgehog, amInvulnerable)+1) + + AddCaption(string.format(CS.INVULNERABLE_SPECIAL_CAPTION, CS.SEDUCTION_INCREASER, GetAmmoCount(CurrentHedgehog,amInvulnerable)), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmostate) + end +end + +-- Spawn sabotage smoke for inactive hogs (red smoke, more subtle than for active hogs) +function SabotageSmokeInactive(gear) + if GetGearType(gear) == gtHedgehog and gear ~= CurrentHedgehog and CS.SABOTAGE_HOGS[gear]~=nil and CS.SABOTAGE_HOGS[gear]>=1 then + local vg = AddVisualGear(GetX(gear), GetY(gear), vgtSmokeWhite, 0, false) + SetVisualGearValues(vg, nil, nil, nil, nil, nil, nil, nil, nil, nil, 0xFF8080B0) + end +end + +function ShowContinentLabel() + if CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)] == 0 then + AddCaption(loc("Random continent"), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo) + else + AddCaption(CS.CONTINENT_INFORMATION[CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]][1], GetClanColor(GetHogClan(CurrentHedgehog)), capgrpAmmoinfo) + end +end - if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]<=0) - then - GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=table.maxn(GLOBAL_CONTINENT_INFORMATION) - end - SetContinentWeapons() +function onGameTick() + -- This is a trick to show the continent label delayed by 1 tick + if CS.CONTINENT_LABEL_TIMER > 0 then + CS.CONTINENT_LABEL_TIMER = CS.CONTINENT_LABEL_TIMER - 1 + end + if CS.CONTINENT_LABEL_TIMER == 0 then + ShowContinentLabel() + CS.CONTINENT_LABEL_TIMER = -1 + end + + if CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER > 0 then + CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER = CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER - 1 + end + if CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER == 0 then + HandleSpecialWeaponMisc() + CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER = -1 + end + + if CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER > 0 then + CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER = CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER - 1 + end + if CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER == 0 then + WeaponCaption(amGasBomb, CS.CHEESE_SPECIAL_NAME) + CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER = -1 + end + + + -- See onAttack() + if CS.CONFIRM_CONTINENT_SELECTION > 0 then + CS.CONFIRM_CONTINENT_SELECTION = CS.CONFIRM_CONTINENT_SELECTION - 1 + end + if CS.CONFIRM_CONTINENT_SELECTION == 0 then + CS.SELECT_CONTINENT_CHECK=false + EndTurnCS(0) + PlaySound(sndPlaced) + ShowContinentLabel() + CS.CONFIRM_CONTINENT_SELECTION = -1 + end + + if GameTime % 600 == 0 then + runOnGears(SabotageSmokeInactive) end end function onGameTick20() --if you picked a weaponset from the weaponmenu (icon) - if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==0) + if(CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==0) then if(GetCurAmmoType()==amSwitch) then - GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GetRandom(table.maxn(GLOBAL_CONTINENT_INFORMATION))+1 + CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=GetRandom(table.maxn(CS.CONTINENT_INFORMATION))+1 SetContinentWeapons() + SetWeapon(amSkip) PlaySound(sndMineTick) + CS.CONTINENT_LABEL_TIMER = 1 else - for v,w in pairs(GLOBAL_CONTINENT_INFORMATION) + for v,w in pairs(CS.CONTINENT_INFORMATION) do - if(GetCurAmmoType()==GLOBAL_CONTINENT_INFORMATION[v][4]) + if(GetCurAmmoType()==CS.CONTINENT_INFORMATION[v][4][1]) then - GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=v + CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]=v SetContinentWeapons() - PlaySound(GLOBAL_CONTINENT_SOUNDS[v][1]) - PlaySound(GLOBAL_CONTINENT_SOUNDS[v][2],CurrentHedgehog) + SetWeapon(amSkip) + PlaySound(CS.CONTINENT_INFORMATION[v][6][1]) + PlaySound(CS.CONTINENT_INFORMATION[v][6][2],CurrentHedgehog) + CS.CONTINENT_LABEL_TIMER = 1 + break end end end end --show the kerguelen ring - if(GLOBAL_KERGUELEN_SPECIAL > 1 and GetCurAmmoType() == amHammer) + if(CS.KERGUELEN_SPECIAL > 1 and GetCurAmmoType() == amHammer and + band(GetState(CurrentHedgehog), gstAttacked) == 0 and + band(GetState(CurrentHedgehog), gstHHDriven) ~= 0) then - if(GLOBAL_VISUAL_CIRCLE==nil) + if(CS.VISUAL_CIRCLE==nil) then - GLOBAL_VISUAL_CIRCLE=AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtCircle, 0, true) + CS.VISUAL_CIRCLE=AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtCircle, 0, true) end - if(GLOBAL_KERGUELEN_SPECIAL == 2) --walrus scream + if(CS.KERGUELEN_SPECIAL == 2) --walrus scream then - SetVisualGearValues(GLOBAL_VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 120, 4, 0xff0000ee) - elseif(GLOBAL_KERGUELEN_SPECIAL == 3) --swap hog + SetVisualGearValues(CS.VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 120, 4, 0xff0000ee) + elseif(CS.KERGUELEN_SPECIAL == 3) --swap hog + then + SetVisualGearValues(CS.VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 390, 3, 0xffff00ee) + elseif(CS.KERGUELEN_SPECIAL == 5) --cries then - SetVisualGearValues(GLOBAL_VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 420, 3, 0xffff00ee) - elseif(GLOBAL_KERGUELEN_SPECIAL == 5) --cries + + CS.TEMP_VALUE=0 + runOnGears(KerguelenSpecialBlueCheck) + if(CS.TEMP_VALUE==0) + then + SetVisualGearValues(CS.VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 500, 1, 0x0000ffee) + else + SetVisualGearValues(CS.VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 500, 10, 0x0000ffee) + end + + elseif(CS.KERGUELEN_SPECIAL == 6) --sabotage then - SetVisualGearValues(GLOBAL_VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 550, 1, 0x0000ffee) - elseif(GLOBAL_KERGUELEN_SPECIAL == 6) --sabotage - then - SetVisualGearValues(GLOBAL_VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 80, 10, 0x00ff00ee) + SetVisualGearValues(CS.VISUAL_CIRCLE, GetX(CurrentHedgehog), GetY(CurrentHedgehog),20, 200, 0, 0, 100, 80, 10, 0x00ff00ee) end - elseif(GLOBAL_VISUAL_CIRCLE~=nil) + elseif(CS.VISUAL_CIRCLE~=nil) then - DeleteVisualGear(GLOBAL_VISUAL_CIRCLE) - GLOBAL_VISUAL_CIRCLE=nil + DeleteVisualGear(CS.VISUAL_CIRCLE) + CS.VISUAL_CIRCLE=nil end --sabotage - if(GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]~=nil and GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]>=1) + if(CS.SABOTAGE_HOGS[CurrentHedgehog]~=nil and CS.SABOTAGE_HOGS[CurrentHedgehog]>=1) then --for sabotage - if(GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]==1) + if(CS.SABOTAGE_HOGS[CurrentHedgehog]==1) then - local RND=GetRandom(2) - if(RND==0) - then - AddCaption(loc("You are sabotaged, RUN!")) - else - AddCaption(loc("WARNING: Sabotage detected!")) - end + AddCaption(loc("You are sabotaged, RUN!")) + PlaySound(sndHellish) - GLOBAL_SABOTAGE_COUNTER=-50 --update the constant at the top also to something in between - GLOBAL_SABOTAGE_FREQUENCY=(25*(RND))+70 - GLOBAL_SABOTAGE_GRAVITY_SWITCH=true + CS.SABOTAGE_FREQUENCY_NOW=CS.SABOTAGE_FREQUENCY + SetGravity(CS.SABOTAGE_GRAVITY) - GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]=2 + CS.SABOTAGE_HOGS[CurrentHedgehog]=2 end - if(GLOBAL_SABOTAGE_COUNTER >0) + if(CS.SABOTAGE_COUNTER % 20 == 0) then - if(GLOBAL_SABOTAGE_GRAVITY_SWITCH) - then - SetGravityFromScale(div(100*GLOBAL_SABOTAGE_COUNTER,GLOBAL_SABOTAGE_FREQUENCY)) - else - SetGravityFromScale(100-div(100*GLOBAL_SABOTAGE_COUNTER,GLOBAL_SABOTAGE_FREQUENCY)) - end - - if(GLOBAL_SABOTAGE_COUNTER % 20 == 0) - then - AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtSmokeWhite, 0, false) - end + -- Sabotage effect (red smoke) + local vg = AddVisualGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog), vgtSmokeWhite, 0, false) + SetVisualGearValues(vg, nil, nil, nil, nil, nil, nil, nil, nil, nil, 0xFF4040FF) end if(TurnTimeLeft<(GetAwayTime*10) or band(GetState(CurrentHedgehog),gstAttacked)==1) then - GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]=0 - SetGravity(100) - elseif(GLOBAL_SABOTAGE_COUNTER >= GLOBAL_SABOTAGE_FREQUENCY) + CS.SABOTAGE_HOGS[CurrentHedgehog]=0 + elseif(CS.SABOTAGE_COUNTER >= CS.SABOTAGE_FREQUENCY_NOW) then - if(GLOBAL_SABOTAGE_GRAVITY_SWITCH==true) + -- Sabotage decreases hog health regularily, + -- but invulnerable protects. + -- Also do not decrease health while retreating or attacking. + if(GetEffect(CurrentHedgehog, heInvulnerable) == 0 and + band(GetState(CurrentHedgehog), gstHHDriven) ~= 0 and + band(GetState(CurrentHedgehog), gstAttacked+gstAttacking) == 0) then - GLOBAL_SABOTAGE_GRAVITY_SWITCH=false - else - --AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)-10, gtCluster, 0, 0, -160000, 30) - GLOBAL_SABOTAGE_GRAVITY_SWITCH=true + if(GetHealth(CurrentHedgehog)<=CS.SABOTAGE_DAMAGE) + then + -- All health lost! Sabotage is cruel. + PlaySound(sndPoisonMoan, CurrentHedgehog) + SetHealth(CurrentHedgehog, 0) + CS.SABOTAGE_HOGS[CurrentHedgehog]=0 + -- Take away control so the hog can die in peace. + SetState(CurrentHedgehog, band(GetState(CurrentHedgehog), bnot(gstHHDriven))) + else + local newHealth = GetHealth(CurrentHedgehog)-CS.SABOTAGE_DAMAGE + -- Start moaning if health is at a critical level + if newHealth <= 16 then + PlaySound(sndPoisonMoan, CurrentHedgehog) + elseif newHealth <= 32 then + PlaySound(sndPoisonCough, CurrentHedgehog) + end + SetHealth(CurrentHedgehog, newHealth) + end + ShowDamageTag(CurrentHedgehog,CS.SABOTAGE_DAMAGE) end - if(GetHealth(CurrentHedgehog)<=2) - then - SetHealth(CurrentHedgehog, 0) - GLOBAL_SABOTAGE_HOGS[CurrentHedgehog]=0 - SetGravity(100) - else - SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)-2) - end - ShowDamageTag(CurrentHedgehog,2) - - GLOBAL_SABOTAGE_COUNTER=0 + CS.SABOTAGE_COUNTER=0 else - GLOBAL_SABOTAGE_COUNTER=GLOBAL_SABOTAGE_COUNTER+1 + CS.SABOTAGE_COUNTER=CS.SABOTAGE_COUNTER+1 end + elseif((GetGravity()==CS.SABOTAGE_GRAVITY or GetGravity()==CS.SABOTAGE_GRAVITY_LOW) and (CS.SABOTAGE_HOGS[CurrentHedgehog]==0 or CS.SABOTAGE_HOGS[CurrentHedgehog]==nil)) + then + -- Reset gravity + SetGravity(100) end - if(GetCurAmmoType() == amSwitch and GLOBAL_TEMP_VALUE==87) - then - SetGearMessage(CurrentHedgehog,gmAttack) - GLOBAL_TEMP_VALUE=0 + if(CS.SPEECH_TIMER > 0) then + CS.SPEECH_TIMER = CS.SPEECH_TIMER - 20 + end +end + +function HandleSpecialWeaponMisc(ammoType) + if not ammoType then + ammoType = GetCurAmmoType() + end + ShowSpecialWeaponCaption(ammoType) + if ammoType == amSMine and CS.AFRICAN_SPECIAL_STICKY ~= 0 then + SetSoundMask(sndLaugh, true) + else + SetSoundMask(sndLaugh, false) + end + if (ammoType == amHammer and CS.KERGUELEN_SPECIAL > 1) or (ammoType == amBaseballBat and CS.AUSTRALIAN_SPECIAL ~= 0) then + SetAttackState(false) + else + SetAttackState(true) end - if(GLOBAL_SHOW_SMALL_INFO>0) - then - if(GLOBAL_SHOW_SMALL_INFO==1) - then - ShowContinentInfo(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)],-1,true) - end - - GLOBAL_SHOW_SMALL_INFO=GLOBAL_SHOW_SMALL_INFO-1 - end end --some ppl complained :P function onSlot(slot) - if(GLOBAL_TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==0) + if(CS.TEAM_CONTINENT[GetHogTeamName(CurrentHedgehog)]==0) then SetWeapon(amSkip) end + if CS.GAME_STARTED then + -- Delay calling HandleSpecialWeaponMisc because + -- the CurAmmoType is not updated yet. + CS.HANDLE_SPECIAL_WEAPON_MISC_TIMER = 2 + end +end + +function onSetWeapon(ammoType) + if CS.GAME_STARTED then + HandleSpecialWeaponMisc(ammoType) + end end --if you used hogswitch or any similar weapon, dont enable any weaponchange function onAttack() - GLOBAL_SELECT_CONTINENT_CHECK=false + if(CS.SELECT_CONTINENT_CHECK==true) + then + if(GetCurAmmoType() == amSkip or GetCurAmmoType() == amNothing) + then + SetWeapon(amNothing) + -- Delay the real continent selection so the SetWeapon + -- has time to take effect. + CS.CONFIRM_CONTINENT_SELECTION=2 + else + SetWeapon(amSkip) + end + end --african special - if(GLOBAL_AFRICAN_SPECIAL_SEDUCTION == 1 and GetCurAmmoType() == amSeduction and band(GetState(CurrentHedgehog),gstAttacked)==0) + if(CS.AFRICAN_SPECIAL_SEDUCTION == 1 and GetCurAmmoType() == amSeduction and band(GetState(CurrentHedgehog),gstAttacked)==0) then - EndTurn() + EndTurnCS(3) - GLOBAL_TEMP_VALUE=0 + CS.TEMP_VALUE=0 runOnGears(AfricaSpecialSeduction) - SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+GLOBAL_TEMP_VALUE) + SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+CS.TEMP_VALUE) --visual stuff VisualExplosion(250,GetX(CurrentHedgehog), GetY(CurrentHedgehog),vgtSmoke,vgtSmokeWhite) @@ -1251,25 +1894,58 @@ RemoveWeapon(CurrentHedgehog,amSeduction) + elseif(CS.ANTARCTICA_SPECIAL == 1 and GetCurAmmoType() == amPickHammer and band(GetState(CurrentHedgehog),gstAttacked)==0) + then + EndTurnCS(10) + local dx, dy = GetGearVelocity(CurrentHedgehog) + local isLeft = dx < 0 + -- Cave map / map has border + if not MapHasBorder() then + -- Place hog at Y = 0 + SetGearPosition(CurrentHedgehog, GetX(CurrentHedgehog), 0) + ParseCommand("hjump") + SetGearVelocity(CurrentHedgehog, 0, 100000000) + + -- Open air map + else + -- Place hog just below the top border, erase a bit of land as well + local x = GetX(CurrentHedgehog) + Explode(x, TopY + 6, 32, EXPLNoDamage + EXPLDoNotTouchAny + EXPLNoGfx) + Explode(x, TopY + 20, 24, EXPLNoDamage + EXPLDoNotTouchAny) + SetGearPosition(CurrentHedgehog, x, TopY + 26) + local dx, dy = GetGearVelocity(CurrentHedgehog) + SetGearVelocity(CurrentHedgehog, 0, dy) + ParseCommand("hjump") + end + if isLeft then + HogTurnLeft(CurrentHedgehog, true) + end + PlaySound(sndPiano8) + PlaySound(sndWarp) + + RemoveWeapon(CurrentHedgehog,amPickHammer) + --Kerguelen specials - elseif(GetCurAmmoType() == amHammer and GLOBAL_KERGUELEN_SPECIAL > 1 and band(GetState(CurrentHedgehog),gstAttacked)==0) + elseif(GetCurAmmoType() == amHammer and CS.KERGUELEN_SPECIAL > 1 and band(GetState(CurrentHedgehog),gstAttacked)==0) then + local escapetime=3 + --scream - if(GLOBAL_KERGUELEN_SPECIAL == 2) + if(CS.KERGUELEN_SPECIAL == 2) then - GLOBAL_TEMP_VALUE=0 + CS.TEMP_VALUE=0 runOnGears(KerguelenSpecialRed) - SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+GLOBAL_TEMP_VALUE) + HealHog(CurrentHedgehog, CS.TEMP_VALUE) PlaySound(sndHellish) --swap - elseif(GLOBAL_KERGUELEN_SPECIAL == 3 and TotalRounds>=1) + elseif(CS.KERGUELEN_SPECIAL == 3) then - GLOBAL_TEMP_VALUE=0 + CS.TEMP_VALUE=0 runOnGears(KerguelenSpecialYellowCountHogs) - if(GLOBAL_TEMP_VALUE>0) + if(CS.TEMP_VALUE>0) then - GLOBAL_TEMP_VALUE=GetRandom(GLOBAL_TEMP_VALUE) + CS.TEMP_VALUE=GetRandom(CS.TEMP_VALUE) runOnGears(KerguelenSpecialYellowSwap) PlaySound(sndPiano3) else @@ -1277,53 +1953,92 @@ end --cries - elseif(GLOBAL_KERGUELEN_SPECIAL == 5) + elseif(CS.KERGUELEN_SPECIAL == 5) then + CS.TEMP_VALUE=0 runOnGears(KerguelenSpecialBlueCheck) - if(GLOBAL_KERGUELEN_SPECIAL~=-1) + if(CS.TEMP_VALUE==0) then AddGear(0, 0, gtWaterUp, 0, 0,0,0) PlaySound(sndWarp) PlaySound(sndMolotov) - GLOBAL_TEMP_VALUE=0 runOnGears(KerguelenSpecialBlueActivate) - SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+GLOBAL_TEMP_VALUE) + SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+CS.TEMP_VALUE) else - HogSay(CurrentHedgehog, loc("Hogs in sight!"), SAY_SAY) + PlaySound(sndDenied) + escapetime = -1 + if CS.SPEECH_TIMER <= 0 then + HogSay(CurrentHedgehog, loc("Hogs in sight!"), SAY_SAY) + CS.SPEECH_TIMER = 5000 + end end - --sabotage - elseif(GLOBAL_KERGUELEN_SPECIAL == 6) + --flare/sabotage + elseif(CS.KERGUELEN_SPECIAL == 6) then - GLOBAL_TEMP_VALUE=0 + CS.TEMP_VALUE=0 runOnGears(KerguelenSpecialGreen) - if(GLOBAL_TEMP_VALUE==0) + + PlaySound(sndThrowRelease) + AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)-20, gtCluster, 0, 0, -1000000, 32) + + if(CS.TEMP_VALUE==1) then - PlaySound(sndThrowRelease) - AddGear(GetX(CurrentHedgehog), GetY(CurrentHedgehog)-20, gtCluster, 0, 0, -1000000, 32) + escapetime=10 end end - EndTurn() + if escapetime >= 0 then + EndTurnCS(escapetime) + + DeleteVisualGear(CS.VISUAL_CIRCLE) + CS.VISUAL_CIRCLE=nil + CS.KERGUELEN_SPECIAL=0 + + RemoveWeapon(CurrentHedgehog,amHammer) + end - DeleteVisualGear(GLOBAL_VISUAL_CIRCLE) - GLOBAL_VISUAL_CIRCLE=nil - GLOBAL_KERGUELEN_SPECIAL=0 - - RemoveWeapon(CurrentHedgehog,amHammer) + elseif(GetCurAmmoType() == amBaseballBat) + then + if CS.AUSTRALIAN_SPECIAL ~= 0 + then + CS.TEMP_VALUE=0 + runOnGears(AustraliaSpecialCheckHogs) + if CS.TEMP_VALUE == 0 then + SetGearMessage(CurrentHedgehog, bor(GetGearMessage(CurrentHedgehog), gmAttack)) + else + PlaySound(sndDenied) + end + end elseif(GetCurAmmoType() == amVampiric) then - GLOBAL_VAMPIRIC_IS_ON=75 + CS.VAMPIRIC_IS_ON=75 elseif(GetCurAmmoType() == amExtraDamage) then - GLOBAL_EXTRA_DAMAGE_IS_ON=150 + CS.EXTRA_DAMAGE_IS_ON=150 + end +end + +function onTimer() + -- This hack makes sure the correct weapon label + timer is displayed for the GasBomb special + if GetCurAmmoType() == amGasBomb and (CS.SOUTH_AMERICAN_SPECIAL==true) then + CS.HANDLE_SOUTH_AMERICAN_SPECIAL_TIMER = 2 + end +end + +function onHogAttack(ammoType) + -- When a sabotaged hog uses low gravity, overwrite the default low gravity, + -- otherwise it would be too easy. + if(ammoType == amLowGravity and CS.SABOTAGE_HOGS[CurrentHedgehog]~=nil and CS.SABOTAGE_HOGS[CurrentHedgehog]>=1) + then + SetGravity(CS.SABOTAGE_GRAVITY_LOW) end end function onGearAdd(gearUid) - GLOBAL_SELECT_CONTINENT_CHECK=false + CS.SELECT_CONTINENT_CHECK=false --track the gears im using if(GetGearType(gearUid) == gtHedgehog or GetGearType(gearUid) == gtMine or GetGearType(gearUid) == gtExplosives) @@ -1332,71 +2047,79 @@ end --remove gasclouds on gasbombspecial - if(GetGearType(gearUid)==gtPoisonCloud and GLOBAL_SOUTH_AMERICAN_SPECIAL == true) + if(GetGearType(gearUid)==gtPoisonCloud and CS.SOUTH_AMERICAN_SPECIAL == true) then DeleteGear(gearUid) --african special elseif(GetGearType(gearUid)==gtSMine) then - vx,vy=GetGearVelocity(gearUid) - if(GLOBAL_AFRICAN_SPECIAL_STICKY == 1) + local vx,vy=GetGearVelocity(gearUid) + if(CS.AFRICAN_SPECIAL_STICKY == 1) then SetState(CurrentHedgehog, gstHHDriven+gstMoving) SetGearPosition(CurrentHedgehog, GetX(CurrentHedgehog),GetY(CurrentHedgehog)-3) SetGearVelocity(CurrentHedgehog, vx, vy) + PlaySound(sndJump2, CurrentHedgehog) DeleteGear(gearUid) + if (not CS.AFRICAN_SPECIAL_NON_PROJECTILE_USED) then + SetSoundMask(sndMissed, true) + end - elseif(GLOBAL_AFRICAN_SPECIAL_STICKY == 2) + elseif(CS.AFRICAN_SPECIAL_STICKY == 2) then FireGear(CurrentHedgehog,gtNapalmBomb, vx, vy, 0) DeleteGear(gearUid) + CS.AFRICAN_SPECIAL_NON_PROJECTILE_USED=true + SetSoundMask(sndMissed, false) + else + CS.AFRICAN_SPECIAL_NON_PROJECTILE_USED=true + SetSoundMask(sndMissed, false) end --north american special elseif(GetGearType(gearUid)==gtSniperRifleShot) then - GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=true - if(GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER~=1) + CS.NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=true + if(CS.NORTH_AMERICAN_SPECIAL_SNIPER~=1) then SetHealth(gearUid, 1) + SetGearValues(gearUid, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 0) end --north american special elseif(GetGearType(gearUid)==gtShotgunShot) then - if(GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN==true) + if(CS.NORTH_AMERICAN_SPECIAL_SHOTGUN==true) then AddVisualGear(GetX(gearUid), GetY(gearUid), vgtFeather, 0, false) AddVisualGear(GetX(gearUid), GetY(gearUid), vgtFeather, 0, false) AddVisualGear(GetX(gearUid), GetY(gearUid), vgtFeather, 0, false) PlaySound(sndBirdyLay) - else - GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN=nil end --european special - elseif(GetGearType(gearUid)==gtMolotov and GLOBAL_EUROPE_SPECIAL==1) + elseif(GetGearType(gearUid)==gtMolotov and CS.EUROPE_SPECIAL==1) then - vx,vy=GetGearVelocity(gearUid) - e_health=FireGear(CurrentHedgehog,gtCluster, vx, vy, 1) + local vx,vy=GetGearVelocity(gearUid) + local e_health=FireGear(CurrentHedgehog,gtCluster, vx, vy, 1) SetGearMessage(e_health, 2) DeleteGear(gearUid) --australian specials - elseif(GetGearType(gearUid)==gtShover and GLOBAL_AUSTRALIAN_SPECIAL~=0) + elseif(GetGearType(gearUid)==gtShover and CS.AUSTRALIAN_SPECIAL~=0) then - GLOBAL_TEMP_VALUE=0 + CS.TEMP_VALUE=0 runOnGears(AustraliaSpecialCheckHogs) - if(GLOBAL_TEMP_VALUE==0) + if(CS.TEMP_VALUE==0) then - vx,vy=GetGearVelocity(gearUid) + local vx,vy=GetGearVelocity(gearUid) - if(GLOBAL_AUSTRALIAN_SPECIAL==1) + if(CS.AUSTRALIAN_SPECIAL==1) then local austmine=FireGear(CurrentHedgehog,gtMine, vx, vy, 0) SetHealth(austmine, 100) SetTimer(austmine, 1000) + PlaySound(sndLaugh, CurrentHedgehog) else - local austmine=FireGear(CurrentHedgehog,gtEgg, vx, vy, 10) - --SetHealth(austmine, 2000) - SetTimer(austmine, 6000) + local austmine=FireGear(CurrentHedgehog,gtBall, vx, vy, 1) + SetTimer(austmine, 1000) SetGearMessage(austmine, 3) end else @@ -1404,10 +2127,17 @@ end elseif(GetGearType(gearUid)==gtParachute) then - GLOBAL_PARACHUTE_IS_ON=1 + CS.PARACHUTE_IS_ON=1 elseif(GetGearType(gearUid)==gtSwitcher) then - GLOBAL_SWITCH_HOG_IS_ON=true + CS.SWITCH_HOG_IS_ON=true + end +end + +function onGearDamage(gearUid, damage) + if(gearUid==CurrentHedgehog and CS.SABOTAGE_HOGS[CurrentHedgehog]==1) + then + CS.SABOTAGE_HOGS[CurrentHedgehog]=0 end end @@ -1415,41 +2145,50 @@ if(GetGearType(gearUid) == gtHedgehog or GetGearType(gearUid) == gtMine or GetGearType(gearUid) == gtExplosives) then - trackDeletion(gearUid) + --sundaland special + if(GetGearType(gearUid) == gtHedgehog and CS.TEAM_CONTINENT[CS.SUNDALAND_END_HOG_CONTINENT_NAME]==10) + then + local currvalue=getTeamValue(CS.SUNDALAND_END_HOG_CONTINENT_NAME, "sundaland-count") - --sundaland special - if(GetGearType(gearUid) == gtHedgehog and GLOBAL_TEAM_CONTINENT[GetHogTeamName(GLOBAL_SUNDALAND_END_HOG)]==10) - then - if(GLOBAL_SUNDALAND_END_HOG==CurrentHedgehog) + if(currvalue==nil) then - runOnGears(SundalandFindOtherHogInTeam) + currvalue=0 end - SundalandGetWeapons(GLOBAL_SUNDALAND_END_HOG) + setTeamValue(CS.SUNDALAND_END_HOG_CONTINENT_NAME, "sundaland-count", currvalue+1) end + + trackDeletion(gearUid) + end + + --if picking up a health crate, heal sabotage + if(CS.SABOTAGE_HOGS[CurrentHedgehog]~=0 and GetGearType(gearUid) == gtCase and GetGearPos(gearUid)==2 and band(GetGearMessage(gearUid), gmDestroy) ~= 0) + then + CS.SABOTAGE_HOGS[CurrentHedgehog]=0 end --north american lipstick if(GetGearType(gearUid)==gtSniperRifleShot ) then - GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=false - if(GLOBAL_NORTH_AMERICAN_SPECIAL_SNIPER==2) + CS.NORTH_AMERICAN_SPECIAL_SNIPER_IS_ON=false + if(CS.NORTH_AMERICAN_SPECIAL_SNIPER==2) then - GLOBAL_TEMP_VALUE=gearUid + CS.TEMP_VALUE=gearUid runOnGears(NorthAmericaSpecialSniper) end --north american eagle eye - elseif(GetGearType(gearUid)==gtShotgunShot and GLOBAL_NORTH_AMERICAN_SPECIAL_SHOTGUN==true) + elseif(GetGearType(gearUid)==gtShotgunShot and CS.NORTH_AMERICAN_SPECIAL_SHOTGUN==true) then - EndTurn() SetGearPosition(CurrentHedgehog, GetX(gearUid), GetY(gearUid)+7) PlaySound(sndWarp) --south american special - elseif(GetGearType(gearUid)==gtGasBomb and GLOBAL_SOUTH_AMERICAN_SPECIAL == true) + elseif(GetGearType(gearUid)==gtGasBomb and CS.SOUTH_AMERICAN_SPECIAL == true) then - GLOBAL_TEMP_VALUE=gearUid - runOnGears(SouthAmericaSpecialCheeseExplosion) - AddVisualGear(GetX(gearUid), GetY(gearUid), vgtExplosion, 0, false) + if band(GetState(gearUid), gstDrowning) == 0 then + CS.TEMP_VALUE=gearUid + runOnGears(SouthAmericaSpecialCheeseExplosion) + AddVisualGear(GetX(gearUid), GetY(gearUid), vgtExplosion, 0, false) + end --asian special elseif(GetGearType(gearUid)==gtSnowball and GetGearMessage(gearUid)==1) @@ -1459,29 +2198,27 @@ --europe special elseif(GetGearType(gearUid)==gtCluster and GetGearMessage(gearUid)==2) then - GLOBAL_TEMP_VALUE=gearUid - runOnGears(EuropeSpecialMolotovHit) - VisualExplosion(100,GetX(gearUid), GetY(gearUid),vgtSmokeWhite,vgtSmokeWhite) - AddVisualGear(GetX(gearUid), GetY(gearUid), vgtExplosion, 0, false) - PlaySound(sndGraveImpact) + if band(GetState(gearUid), gstDrowning) == 0 then + CS.TEMP_VALUE=gearUid + runOnGears(EuropeSpecialMolotovHit) + VisualExplosion(100,GetX(gearUid), GetY(gearUid),vgtSmokeWhite,vgtSmokeWhite) + AddVisualGear(GetX(gearUid), GetY(gearUid), vgtExplosion, 0, false) + PlaySound(sndGraveImpact) + end --australian special - elseif(GetGearType(gearUid)==gtEgg and GetGearMessage(gearUid)==3) + elseif(GetGearType(gearUid)==gtBall and GetGearMessage(gearUid)==3) then - GLOBAL_TEMP_VALUE=gearUid - runOnGears(AustraliaSpecialEggHit) - GLOBAL_TEMP_VALUE=0 + if band(GetState(gearUid), gstDrowning) == 0 then + SpawnRandomCrate(GetX(gearUid), GetY(gearUid)) + end + --asia (using para) elseif(GetGearType(gearUid)==gtParachute) then - GLOBAL_PARACHUTE_IS_ON=false + CS.PARACHUTE_IS_ON=false elseif(GetGearType(gearUid)==gtSwitcher) then - GLOBAL_SWITCH_HOG_IS_ON=false + CS.SWITCH_HOG_IS_ON=false end end ---[[ - sources (populations & area): - Own calculations from wikipedia. - Some are approximations. -]] diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/HedgeEditor.hwp Binary file share/hedgewars/Data/Scripts/Multiplayer/HedgeEditor.hwp has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/HedgeEditor.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/HedgeEditor.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/HedgeEditor.lua Sun Jun 10 19:12:26 2018 +0200 @@ -27,7 +27,6 @@ -- CORE FEATURES as of latest version --------------------------------------- -- togglable help (press PRECISE + 1, while you have a tool (e.g. airstrike) selected) --- you can also the set the ScriptParameter in scheme, e.g: helpDisabled="true" -- place girders, rubberbands and custom sprites anywhere on the map. -- the above objects may be destructible, indestructible, icy, or bouncy. @@ -73,7 +72,6 @@ -- ufoFuel=1000 (Flying Saucer will start with half the normal fuel. A value of 2000 is infinite fuel) -- portalDistance=15 (This is the distance portals can travel before fizzling) -- m=3 (load a particular map from the map library of Data/Scripts/TechMaps --- helpDisabled="true" (the help pop-up overlay will be disabled by default) -- when saving data, points for conversion to HWMAP are also generated and placed inside block comments. -- copy paste/these points at the START of a converted HWMAP and then convert the map back to HWMAP format. @@ -253,12 +251,18 @@ HedgewarsScriptLoad("/Scripts/Params.lua") HedgewarsScriptLoad("/Scripts/TechMaps.lua") --- experimental crap ---local destroyMap = false +-- Fake ammo type for the gear placement tool +local amCMGearPlacementTool = amAirAttack -- Special frames in Ammos.png/Ammos_bw.png local ammoFrameAirAttack = 63 +-- Caption colors +local colorErrorMessage = 0xFFFFFFFF +local colorInfoMessage = 0xFFFFFFFF +local colorPlaceMode1 = 0xFFBA00FF -- Main placement mode +local colorPlaceMode2 = 0xFFDE85FF -- Secondary mode + ----------------------------------------- -- tracking vars for save/load purposes ----------------------------------------- @@ -296,6 +300,8 @@ local tagGears = {} local showGearTags = true +local tagCursorX, tagCursorY + --------------------------------- -- crates are made of this stuff --------------------------------- @@ -308,6 +314,7 @@ {amMortar, "amMortar"}, {amDrill, "amDrill"}, {amSnowball, "amSnowball"}, + {amDuck, "amDuck"}, {amGrenade, "amGrenade"}, {amClusterBomb, "amClusterBomb"}, @@ -322,6 +329,7 @@ {amSineGun, "amSineGun"}, {amFlamethrower,"amFlamethrower"}, {amIceGun, "amIceGun"}, + {amMinigun, "amMinigun"}, {amFirePunch, "amFirePunch"}, {amWhip, "amWhip"}, @@ -349,7 +357,6 @@ {amKnife, "amKnife"}, {amBirdy, "amBirdy"}, - {amDuck, "amDuck"}, } @@ -560,7 +567,7 @@ sprTargetBee, sprAmGirder, sprAmRubber, sprIceTexture, sprHHTelepMask, sprAMAmmos, sprAMAmmosBW, sprAMSlot, sprAMCorners, sprTurnsLeft, sprBotlevels, sprSpeechCorner, sprSpeechEdge, sprSpeechTail, sprThoughtCorner, sprThoughtEdge, sprThoughtTail, - sprShoutCorner, sprShoutEdge, sprShoutTail, sprCustom1, sprCustom2, } + sprShoutCorner, sprShoutEdge, sprShoutTail, } -- Set in onGameInit local reducedSpriteIDArrayFrames @@ -569,7 +576,7 @@ "sprTargetBee", "sprAmGirder", "sprAmRubber", "sprIceTexture", "sprHHTelepMask", "sprAMAmmos", "sprAMAmmosBW", "sprAMSlot", "sprAMCorners", "sprTurnsLeft", "sprBotlevels", "sprSpeechCorner", "sprSpeechEdge", "sprSpeechTail", "sprThoughtCorner", "sprThoughtEdge", "sprThoughtTail", - "sprShoutCorner", "sprShoutEdge", "sprShoutTail", "sprCustom1", "sprCustom2", } + "sprShoutCorner", "sprShoutEdge", "sprShoutTail", } ---------------------------- -- placement shite @@ -584,7 +591,8 @@ local helpDisabled = false --determines whether help popups pop up local CG = nil -- this is the visual gear displayed at CursorX, CursorY local crateSprite = nil-- this is a visual gear aid for crate placement -local tSpr = {} +local crateSpriteBorer = nil +local waypointPreviewSprite = nil local cGear = nil -- detects placement of girders and objects (using airattack) local curWep = amNothing @@ -645,6 +653,8 @@ local closestGear = nil local closestSpriteID = nil +local wpRadius = 450 + ------------------------ -- SOME GENERAL METHODS ------------------------ @@ -893,8 +903,8 @@ placedSprite[placedCount] = vgtCircle placedSpec[placedCount] = AddVisualGear(x,y,vgtCircle,0,true) placedTint[placedCount] = 0xFF0000FF - placedFrame[placedCount] = 1 --rad is 450 - SetVisualGearValues(placedSpec[placedCount], x, y, 20, 100, 1, 10, 0, 450, 5, placedTint[placedCount]) + placedFrame[placedCount] = 1 + SetVisualGearValues(placedSpec[placedCount], x, y, 164, 224, 1, 10, 0, wpRadius, 5, placedTint[placedCount]) placedCount = placedCount +1 end @@ -954,7 +964,11 @@ end -function CallPlaceSprite(pID) +function CallPlaceSprite(pID, silent) + + if silent == nil then + silent = false + end if landType == lfIce then placedLandFlags[pID] = "lfIce" @@ -977,12 +991,22 @@ actualDisplayedImage = ammoFrameAirAttack end - return PlaceSprite(placedX[pID], placedY[pID], placedSprite[pID], actualDisplayedImage, + local success = PlaceSprite(placedX[pID], placedY[pID], placedSprite[pID], actualDisplayedImage, placedTint[pID], nil, -- overrite existing land nil, nil, -- this stuff specifies flipping landType) + if not silent then + if success then + PlaySound(sndPlaced) + else + PlaySound(sndDenied) + end + end + + return success + end function SelectClosestSprite() @@ -1021,6 +1045,8 @@ nil, -- flip sprite vertically placedLandFlags[closestSpriteID]) + PlaySound(sndBump) + placedX[closestSpriteID] = nil placedY[closestSpriteID] = nil placedSpec[closestSpriteID] = nil @@ -1031,6 +1057,8 @@ placedLandFlags[closestSpriteID] = nil closestSpriteID = nil SetVisualGearValues(sSprite, 0, 0, 0, 0, 0, 1, 10000, sprAmGirder, 10000, 0x00000000 ) + else + PlaySound(sndDenied) end end @@ -1042,16 +1070,15 @@ for i = 0, (placedCount-1) do if (placedType[i] == loc("Waypoint Editing Mode")) then - q = placedX[i] - placedX[placedCount] - w = placedY[i] - placedY[placedCount] - d = ( (q*q) + (w*w) ) - if d < closestDist then - closestDist = d - closestSpriteID = i - - SetVisualGearValues(sSprite, placedX[i], placedY[i], 0, 0, nil, placedFrame[i], 10000, placedSprite[i], 10000, newTint ) - - end + local q = placedX[i] - placedX[placedCount] + local w = placedY[i] - placedY[placedCount] + local d = ( (q*q) + (w*w) ) + if d < closestDist then + closestDist = d + closestSpriteID = i + + SetVisualGearValues(sSprite, placedX[i], placedY[i], 0, 0, nil, placedFrame[i], 10000, placedSprite[i], 10000, newTint ) + end end end @@ -1067,6 +1094,9 @@ placedLandFlags[closestSpriteID] = nil closestSpriteID = nil SetVisualGearValues(sSprite, 0, 0, 0, 0, 0, 1, 10000, sprAmGirder, 10000, 0x00000000 ) + PlaySound(sndBump) + else + PlaySound(sndDenied) end end @@ -1130,8 +1160,10 @@ elseif CGR == 2 then placedHWMapFlag[placedCount] = 126 elseif CGR == 3 then placedHWMapFlag[placedCount] = 127 end + PlaySound(sndPlaced) else placedType[placedCount] = "bogus" + PlaySound(sndDenied) end else placedType[placedCount] = "bogus" @@ -1175,18 +1207,25 @@ if pMode[pIndex] == loc("Selection Mode") then sGear = GetClosestGear() + if sGear ~= nil then + PlaySound(sndPortalSwitch) + end elseif pMode[pIndex] == loc("Placement Mode") then if sGear ~= nil then SetGearPosition(sGear, x, y) + PlaySound(sndWarp) end elseif pMode[pIndex] == loc("Deletion Mode") then sGear = GetClosestGear() if (sGear == nil) then - AddCaption(loc("Please click on a gear."),0xffba00ff,capgrpVolume) + AddCaption(loc("Please click on a gear."), colorErrorMessage, capgrpVolume) + PlaySound(sndDenied) elseif (GetGearType(sGear) == gtHedgehog) then - AddCaption(loc("Hedgehogs can not be deleted."),0xffba00ff,capgrpVolume) + AddCaption(loc("Hedgehogs can not be deleted."), colorErrorMessage, capgrpVolume) + PlaySound(sndDenied) else DeleteGear(sGear) + PlaySound(sndBump) end sGear = nil end @@ -1200,8 +1239,10 @@ else -- set for the whole team SetTeamIdentity(sGear) end + PlaySound(sndHello, sGear) else - AddCaption(loc("Please click on a hedgehog."),0xffba00ff,capgrpVolume) + AddCaption(loc("Please click on a hedgehog."), colorErrorMessage, capgrpVolume) + PlaySound(sndDenied) end @@ -1211,13 +1252,21 @@ sGear = GetClosestGear() local gt = GetGearType(sGear) if gt == gtHedgehog or gt == gtExplosives or (gt == gtCase and GetGearPos(sGear) == 0x2) then + local oldHealth, hDiff = GetHealth(sGear) if pMode[pIndex][2] == "set" then SetHealth(sGear, pMode[pIndex][1]) + hDiff = pMode[pIndex][1] - oldHealth elseif pMode[pIndex][2] == "mod" then local min if gt == gtCase then min = 0 else min = 1 end local newHealth = math.max(min, GetHealth(sGear) + tonumber(pMode[pIndex][1])) SetHealth(sGear, newHealth) + hDiff = newHealth - oldHealth + end + PlaySound(sndPortalSwitch) + if gt == gtHedgehog and hDiff < 0 then + local snd = { sndOw1, sndOw2, sndOw3 } + PlaySound(snd[math.random(1, #snd)], sGear) end elseif gt == gtMine and GetHealth(sGear) == 0 then local newHealth @@ -1231,9 +1280,11 @@ end if newHealth ~= nil then SetGearValues(sGear, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 36 - newHealth) + PlaySound(sndPortalSwitch) end else - AddCaption(loc("Please click on a hedgehog, barrel, health crate or dud mine."),0xffba00ff,capgrpVolume) + AddCaption(loc("Please click on a hedgehog, barrel, health crate or dud mine."), colorErrorMessage, capgrpVolume) + PlaySound(sndDenied) end elseif cat[cIndex] == loc("Sprite Modification Mode") then @@ -1243,16 +1294,21 @@ if closestSpriteID ~= nil then if pMode[pIndex] == loc("LandFlag Modification Mode") then EraseSprite(placedX[closestSpriteID], placedY[closestSpriteID], placedSprite[closestSpriteID], placedFrame[closestSpriteID], nil, nil, nil, nil, placedLandFlags[closestSpriteID]) - placementSucceeded = CallPlaceSprite(closestSpriteID) + placementSucceeded = CallPlaceSprite(closestSpriteID, true) if placementSucceeded then closestSpriteID = nil SetVisualGearValues(sSprite, 0, 0, 0, 0, 0, 1, 10000, sprAmGirder, 10000, 0x00000000 ) + PlaySound(sndPortalSwitch) + else + PlaySound(sndDenied) end elseif pMode[pIndex] == loc("Sprite Erasure Mode") then EraseClosestSprite() end + else + PlaySound(sndDenied) end @@ -1266,14 +1322,18 @@ if pMode[pIndex] == loc("Victory Condition: Collect") then if GetGearType(sGear) == gtCase then setGearValue(sGear, "tag","collection") + PlaySound(sndPortalSwitch) else - AddCaption(loc("Please click on a crate."),0xffba00ff,capgrpVolume) + AddCaption(loc("Please click on a crate."), colorErrorMessage, capgrpVolume) + PlaySound(sndDenied) end else if pMode[pIndex] == loc("Victory Condition: Destroy") then setGearValue(sGear, "tag","victory") + PlaySound(sndPortalSwitch) elseif pMode[pIndex] == loc("Losing Condition: Destroy") then setGearValue(sGear, "tag","failure") + PlaySound(sndPortalSwitch) end end @@ -1282,6 +1342,7 @@ setGearValue(sGear, "tag", nil) DeleteVisualGear(getGearValue(sGear,"tCirc")) setGearValue(sGear, "tCirc", nil) + PlaySound(sndBump) end @@ -1295,9 +1356,6 @@ placedFrame[placedCount] = sFrame placedSprite[placedCount] = reducedSpriteIDArray[pIndex] placementSucceeded = CallPlaceSprite(placedCount) - if placementSucceeded then - PlaySound(sndPlaced) - end else placedType[placedCount] = "bogus" SelectClosestSprite() @@ -2349,7 +2407,7 @@ WriteLnToConsole("------ END GENERATED SCRIPT ------") - AddCaption(loc("Level Data Saved!")) + AddCaption(loc("Level Data Saved!"), colorInfoMessage, capgrpGameState) end @@ -2406,7 +2464,8 @@ if GetGearType(gear) == gtPortal then - tag = GetTag(gear) + local tag = GetTag(gear) + local col if tag == 0 then col = 0xfab02aFF -- orange ball elseif tag == 1 then @@ -2418,27 +2477,24 @@ end if (tag == 0) or (tag == 2) then -- i.e ball form - tempE = AddVisualGear(GetX(gear), GetY(gear), vgtDust, 0, true) - SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, 1, nil, col ) - - remLife = getGearValue(gear,"life") + local remLife = getGearValue(gear,"life") remLife = remLife - 1 setGearValue(gear, "life", remLife) + -- Destroy portal ball when max. distance reached if remLife == 0 then - tempE = AddVisualGear(GetX(gear)+15, GetY(gear), vgtSmoke, 0, true) - SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, col) + local tempE = AddVisualGear(GetX(gear)+15, GetY(gear), vgtSmoke, 0, true) + SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, nil, col) tempE = AddVisualGear(GetX(gear)-15, GetY(gear), vgtSmoke, 0, true) - SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, col) + SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, nil, col) tempE = AddVisualGear(GetX(gear), GetY(gear)+15, vgtSmoke, 0, true) - SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, col) + SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, nil, col) tempE = AddVisualGear(GetX(gear), GetY(gear)-15, vgtSmoke, 0, true) - SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, col) - + SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, nil, col) PlaySound(sndVaporize) DeleteGear(gear) @@ -2456,7 +2512,7 @@ curAmmoType = GetCurAmmoType() end - if (curAmmoType ~= amGirder) and (curAmmoType ~= amRubber) and (curAmmoType ~= amAirAttack) then + if (curAmmoType ~= amGirder) and (curAmmoType ~= amRubber) and (curAmmoType ~= amCMGearPlacementTool) then if not hedgeEditorMissionPanelShown then showHedgeEditorMissionPanel() @@ -2555,7 +2611,7 @@ loc("Change Placement Mode: [Up], [Down]") .. "|" .. loc("Toggle Help: [Precise]+[1]") .. "|" .. loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. - "", -amAirAttack, 60000 + "", -amCMGearPlacementTool, 60000 ) hedgeEditorMissionPanelShown = false @@ -2675,7 +2731,7 @@ loc("Change Placement Mode: [Up], [Down]") .. "|" .. loc("Toggle Help: [Precise]+[1]") .. "|" .. loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. - "", -amAirAttack, 60000 + "", -amCMGearPlacementTool, 60000 ) hedgeEditorMissionPanelShown = false @@ -2717,7 +2773,7 @@ loc("Change Placement Mode: [Up], [Down]") .. "|" .. loc("Toggle Help: [Precise]+[1]") .. "|" .. loc("Toggle Gear Information: [Precise]+[3]") .. "|" .. - "", -amAirAttack, 60000 + "", -amCMGearPlacementTool, 60000 ) hedgeEditorMissionPanelShown = false @@ -2800,34 +2856,66 @@ updateHelp(ammoType) end +function onScreenResize() + updateCursorCoords() +end + +-- Display the X and Y coordinates of the cursor while the cursor is active +function updateCursorCoords() + if band(GetState(CurrentHedgehog), gstChooseTarget) ~= 0 and CursorX ~= -2147483648 then + local x1, y = 12, 24 + if tagCursorX then + DeleteVisualGear(tagCursorX) + end + tagCursorX = AddVisualGear(-div(ScreenWidth, 2)+x1, y, vgtHealthTag, CursorX, true) + SetVisualGearValues(tagCursorX, nil, nil, 0, 0, nil, 1, nil, nil, 240000, 0xFFFFFFFF) + + local x2 + if string.len(tostring(CursorX)) > 6 then + x2 = x1 + 100 + else + x2 = x1 + 60 + end + if tagCursorY then + DeleteVisualGear(tagCursorY) + end + tagCursorY = AddVisualGear(-div(ScreenWidth, 2)+x2, y, vgtHealthTag, CursorY, true) + SetVisualGearValues(tagCursorY, nil, nil, 0, 0, nil, 1, nil, nil, 240000, 0xFFFFFFFF) + else + if tagCursorX then + DeleteVisualGear(tagCursorX) + end + if tagCursorY then + DeleteVisualGear(tagCursorY) + end + end +end + -- called in onGameTick() function HandleHedgeEditor() - if CurrentHedgehog ~= nil then genTimer = genTimer + 1 - tSprCol = 0x00000000 tempFrame = 0 xDisplacement = 42 yDisplacement = 42 - if (curWep == amAirAttack) then + if (curWep == amCMGearPlacementTool) then + + SetSoundMask(sndIncoming, true) --wowaweewa, holyeeeee shite this is badly hacked (please rewrite when less lazy/morefeatures) dCol = 0xFFFFFFFF dFrame = 0 dAngle = 0 if (cat[cIndex] == loc("Mine Placement Mode")) then - dSprite = sprBotlevels--sprMineOff - dFrame = 1 + dSprite = sprCustom2 elseif (cat[cIndex] == loc("Dud Mine Placement Mode")) then - dSprite = sprBotlevels--sprMineDead - dFrame = 3 + dSprite = sprCustom4 elseif (cat[cIndex] == loc("Sticky Mine Placement Mode")) then - dSprite = sprBotlevels--sprSMineOff - dFrame = 2 + dSprite = sprCustom3 elseif (cat[cIndex] == loc("Air Mine Placement Mode")) then dSprite = sprAirMine elseif (cat[cIndex] == loc("Barrel Placement Mode")) then @@ -2846,7 +2934,7 @@ elseif (cat[cIndex] == loc("Sprite Placement Mode")) then dSprite = reducedSpriteIDArray[pIndex] dFrame = sFrame - if ((dSprite == sprAMAmmos) or (dSprite == sprAMAmmosBW)) and (dFrame == (amAirAttack - 1)) then + if ((dSprite == sprAMAmmos) or (dSprite == sprAMAmmosBW)) and (dFrame == (amCMGearPlacementTool - 1)) then -- Special case: Air attack icon of ammos sprite needs to be fixed (since this icon is overwritten) dFrame = ammoFrameAirAttack end @@ -2864,9 +2952,7 @@ if crateSprite == nil then crateSprite = AddVisualGear(CursorX, CursorY-35, vgtStraightShot,0,true,3) - for i = 1, 4 do - tSpr[i] = AddVisualGear(CursorX, CursorY-35, vgtStraightShot,0,true,3) - end + crateSpriteBorder = AddVisualGear(CursorX, CursorY-35, vgtStraightShot,0,true,3) end @@ -2888,18 +2974,29 @@ end end + -- Waypoint outline + if (cat[cIndex] == loc("Waypoint Editing Mode")) and (pMode[pIndex] == loc("Place Waypoint")) then + if not waypointPreviewSprite then + waypointPreviewSprite = AddVisualGear(CursorX, CursorY, vgtCircle, 0, true) + SetVisualGearValues(waypointPreviewSprite, CursorX, CursorY, 244, 224, 0, 0, 0, div(wpRadius, 5), 5, 0xFF0000FF) + end + elseif waypointPreviewSprite then + DeleteVisualGear(waypointPreviewSprite) + waypointPreviewSprite = nil + end + if waypointPreviewSprite then + SetVisualGearValues(waypointPreviewSprite, CursorX, CursorY) + end + else + SetSoundMask(sndIncoming, false) if CG ~= nil then SetVisualGearValues(CG, 0, 0, 0, 0, 0, 0, 1000, sprArrow, 1000, 0xFFFFFF00) end end SetVisualGearValues(crateSprite, CursorX+xDisplacement, CursorY+yDisplacement, 0, 0, dAngle, tempFrame, 1000, sprAMAmmos, 1000, tSprCol) - SetVisualGearValues(tSpr[1], CursorX+xDisplacement-2, CursorY+yDisplacement-2, 0, 0, dAngle, 1, 1000, sprTarget, 1000, tSprCol) - SetVisualGearValues(tSpr[2], CursorX+xDisplacement-2, CursorY+yDisplacement+2, 0, 0, dAngle, 1, 1000, sprTarget, 1000, tSprCol) - SetVisualGearValues(tSpr[3], CursorX+xDisplacement+2, CursorY+yDisplacement-2, 0, 0, dAngle, 1, 1000, sprTarget, 1000, tSprCol) - SetVisualGearValues(tSpr[4], CursorX+xDisplacement+2, CursorY+yDisplacement+2, 0, 0, dAngle, 1, 1000, sprTarget, 1000, tSprCol) - + SetVisualGearValues(crateSpriteBorder, CursorX+xDisplacement, CursorY+yDisplacement, 0, 0, 0, 0, 1000, sprCustom1, 1000, tSprCol) if genTimer >= 100 then @@ -2928,12 +3025,18 @@ RedefineSubset() end + if curWep == amGirder or curWep == amRubber then + SetSoundMask(sndDenied, true) + else + SetSoundMask(sndDenied, false) + end + -- update display selection criteria - if (curWep == amGirder) or (curWep == amRubber) or (curWep == amAirAttack) then - AddCaption(cat[cIndex],0xffba00ff,capgrpMessage) + if (curWep == amGirder) or (curWep == amRubber) or (curWep == amCMGearPlacementTool) then + AddCaption(cat[cIndex], colorPlaceMode1, capgrpMessage) showSecondaryMessage() if superDelete == true then - AddCaption(loc("Deletition Mode"),0xffba00ff,capgrpAmmoinfo) + AddCaption(loc("Deletion Mode"), colorPlaceMode1, capgrpAmmoinfo) end end @@ -2978,7 +3081,7 @@ x,y = GetGearTarget(cGear) - if GetGearType(cGear) == gtAirAttack and GetCurAmmoType() == amAirAttack then + if GetGearType(cGear) == gtAirAttack and GetCurAmmoType() == amCMGearPlacementTool then DeleteGear(cGear) PlaceObject(x, y) elseif GetGearType(cGear) == gtGirder then @@ -2991,6 +3094,9 @@ end + -- Show cursor coords + updateCursorCoords() + -- Barrel health tags, mine timer tags and health crate health tags do local actualValue -- internal value @@ -3103,7 +3209,6 @@ end end end - end -------------------------------------------------- @@ -3124,27 +3229,27 @@ if (commandMode() == true) and (s == 4) then SaveLevelData() -- positions of crates, etc elseif (commandMode() == true) and (s == 2) then - if GetAmmoCount(CurrentHedgehog, amAirAttack) == 100 then + if GetAmmoCount(CurrentHedgehog, amCMGearPlacementTool) == 100 then SetEditingWeps(0) - AddCaption(loc("The editor weapons and tools have been removed!")) + AddCaption(loc("The editor weapons and tools have been removed!"), colorInfoMessage, capgrpGameState) else SetEditingWeps(100) - AddCaption(loc("The editor weapons and tools have been added!")) + AddCaption(loc("The editor weapons and tools have been added!"), colorInfoMessage, capgrpGameState) end elseif (preciseOn == true) and (s == 1) then helpDisabled = not(helpDisabled) if helpDisabled then - AddCaption(loc("Help Disabled"),0xffba00ff,capgrpVolume) + AddCaption(loc("Help Disabled"), colorInfoMessage, capgrpVolume) else - AddCaption(loc("Help Enabled"),0xffba00ff,capgrpVolume) + AddCaption(loc("Help Enabled"), colorInfoMessage, capgrpVolume) end updateHelp() elseif (preciseOn == true) and (s == 3) then showGearTags = not(showGearTags) if showGearTags then - AddCaption(loc("Gear information shown"),0xffba00ff,capgrpVolume) + AddCaption(loc("Gear information shown"), colorInfoMessage, capgrpVolume) else - AddCaption(loc("Gear information hidden"),0xffba00ff,capgrpVolume) + AddCaption(loc("Gear information hidden"), colorInfoMessage, capgrpVolume) end elseif (cat[cIndex] == loc("Sprite Placement Mode")) or (cat[cIndex] == loc("Girder Placement Mode")) or (cat[cIndex] == loc("Rubber Placement Mode")) or (cat[cIndex] == loc("Sprite Modification Mode")) then @@ -3152,22 +3257,22 @@ if (cat[cIndex] == loc("Rubber Placement Mode")) then if s == 1 then landType = lfBouncy - AddCaption(loc("Bouncy Land"),0xffba00ff,capgrpAmmoinfo) + AddCaption(loc("Bouncy Land"), colorPlaceMode1, capgrpAmmoinfo) elseif s == 5 then superDelete = true end elseif s == 1 then landType = 0 - AddCaption(loc("Normal Land"),0xffba00ff,capgrpAmmoinfo) + AddCaption(loc("Normal Land"), colorPlaceMode1, capgrpAmmoinfo) elseif s == 2 then landType = lfIndestructible - AddCaption(loc("Indestructible Land"),0xffba00ff,capgrpAmmoinfo) + AddCaption(loc("Indestructible Land"), colorPlaceMode1, capgrpAmmoinfo) elseif s == 3 then landType = lfIce - AddCaption(loc("Icy Land"),0xffba00ff,capgrpAmmoinfo) + AddCaption(loc("Icy Land"), colorPlaceMode1, capgrpAmmoinfo) elseif (s == 4) then landType = lfBouncy - AddCaption(loc("Bouncy Land"),0xffba00ff,capgrpAmmoinfo) + AddCaption(loc("Bouncy Land"), colorPlaceMode1, capgrpAmmoinfo) elseif (s == 5) and (cat[cIndex] ~= loc("Sprite Modification Mode")) and (cat[cIndex] ~= loc("Sprite Placement Mode")) then superDelete = true end @@ -3218,7 +3323,7 @@ else caption2 = tostring(pMode[pIndex]) end - AddCaption(caption2, 0xffba00ff, capgrpMessage2) + AddCaption(caption2, colorPlaceMode2, capgrpMessage2) end --------------------------------------------------------------- @@ -3229,7 +3334,7 @@ --------------------------------------------------------------- function onLeft() - if (curWep == amAirAttack) then + if (curWep == amCMGearPlacementTool) then leftHeld = true rightHeld = false @@ -3249,7 +3354,7 @@ sFrame = math.min(sFrame, reducedSpriteIDArrayFrames[pIndex] - 1) end - if (curWep == amGirder) or (curWep == amRubber) or (curWep == amAirAttack) then + if (curWep == amGirder) or (curWep == amRubber) or (curWep == amCMGearPlacementTool) then showSecondaryMessage() end end @@ -3259,7 +3364,7 @@ function onRight() - if (curWep == amAirAttack) then + if (curWep == amCMGearPlacementTool) then leftHeld = false rightHeld = true @@ -3279,7 +3384,7 @@ sFrame = math.min(sFrame, reducedSpriteIDArrayFrames[pIndex] - 1) end - if (curWep == amGirder) or (curWep == amRubber) or (curWep == amAirAttack) then + if (curWep == amGirder) or (curWep == amRubber) or (curWep == amCMGearPlacementTool) then showSecondaryMessage() end end @@ -3294,7 +3399,7 @@ --------------------------------------------------------- function onUp() - if (curWep == amAirAttack) then + if (curWep == amCMGearPlacementTool) then cIndex = cIndex - 1 if (cIndex == 1) or (cIndex == 2) then --1 --we no longer hit girder by normal means cIndex = #cat @@ -3309,7 +3414,7 @@ function onDown() - if (curWep == amAirAttack) then + if (curWep == amCMGearPlacementTool) then cIndex = cIndex + 1 if cIndex > #cat then cIndex = 3 -- 2 ----we no longer hit girder by normal means @@ -3342,10 +3447,6 @@ portalDistance = 5000 end - if params["helpDisabled"] == "true" then - helpDisabled = true - end - if mapID == nil then mapID = 1 end @@ -3403,7 +3504,7 @@ , 4, 5000 ) - SetAmmoTexts(amAirAttack, + SetAmmoTexts(amCMGearPlacementTool, loc("Gear Placement Tool"), loc("HedgeEditor tool"), loc("Place, modify and delete gears (e.g. objects)|and waypoints, edit hedgehog settings, values,|victory conditions, and more.") .. "|" .. @@ -3436,7 +3537,7 @@ sSprite = AddVisualGear(0, 0, vgtStraightShot, 0, true,1) SetVisualGearValues(sSprite, 1, 1, 0, 0, nil, frameID, 20000, visualSprite, 20000, 0 ) - SetAmmoDelay(amAirAttack,0) + SetAmmoDelay(amCMGearPlacementTool,0) SetAmmoDelay(amGirder,0) SetAmmoDelay(amRubber,0) @@ -3444,7 +3545,7 @@ function SetEditingWeps(ammoCount) - AddAmmo(CurrentHedgehog, amAirAttack, ammoCount) + AddAmmo(CurrentHedgehog, amCMGearPlacementTool, ammoCount) AddAmmo(CurrentHedgehog, amGirder, ammoCount) AddAmmo(CurrentHedgehog, amRubber, ammoCount) AddAmmo(CurrentHedgehog, amTeleport, ammoCount) @@ -3680,7 +3781,7 @@ if GetHogLevel(CurrentHedgehog) == 0 then TurnTimeLeft = -1 -- is that turntime in your pocket? :D else - ParseCommand("skip") -- skip the computer's turn + SkipTurn() -- skip the computer's turn end end @@ -3725,7 +3826,7 @@ end end - if (GetGearType(gear) == gtAirAttack and GetCurAmmoType() == amAirAttack) or (GetGearType(gear) == gtGirder) then + if (GetGearType(gear) == gtAirAttack and GetCurAmmoType() == amCMGearPlacementTool) or (GetGearType(gear) == gtGirder) then cGear = gear end @@ -3801,3 +3902,11 @@ end +function onVisualGearDelete(vGear) + if vGear == tagCursorX then + tagCursorX = nil + end + if vGear == tagCursorY then + tagCursorY = nil + end +end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Highlander.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Highlander.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Highlander.lua Sun Jun 10 19:12:26 2018 +0200 @@ -99,7 +99,7 @@ [amBazooka]=true, [amBee]=true, [amMortar]=true, [amDrill]=true, [amSnowball]=true, [amGrenade]=true, [amClusterBomb]=true, [amMolotov]=true, [amWatermelon]=true, [amHellishBomb]=true, [amGasBomb]=true, [amShotgun]=true, [amDEagle]=true, - [amFlamethrower]=true, [amSniperRifle]=true, [amSineGun]=true, + [amFlamethrower]=true, [amSniperRifle]=true, [amSineGun]=true, [amMinigun]=true, [amFirePunch]=true, [amWhip]=true, [amBaseballBat]=true, [amKamikaze]=true, [amSeduction]=true, [amHammer]=true, [amMine]=true, [amDynamite]=true, [amCake]=true, [amBallgun]=true, [amSMine]=true, [amRCPlane]=true, [amBirdy]=true, [amKnife]=true, @@ -140,15 +140,50 @@ local someHog = nil -- just for looking up the weps -- Script parameter stuff -local mode = nil + +--[[ Loyal Highlander. +If true, killing hogs of your own clan doesn't give you their weapons. +Otherwise, killing any hog gives you their weapons. ]] +local loyal = false + + +--[[ Multiple weapon usages. +This is a bit tricky to explain. +First, remind yourselves that hogs can never hold more than 1 of the same ammo type. + +This param changes how ammo will be restocked after killing a hog if you +already owned this ammo. +Basically this is about if you can use the same weapon multiple times in a +turn by killing enemies in a clever way. +We need to distinguish between your current inventory and the “reset inventory”, +that is, the state to which your inventory will get reset in the next turn. --- If true, killing hogs of your own clan doesn't give you their weapons. --- Otherwise, killing any hog gives you their weapons. -local loyal = false +No Multi-Use (default): + If you kill a hog who owns a weapon you currently have in your reset inventory, + but not your inventory, you DO NOT get this weapon again. + +Multi-Use: + If you kill a hog who owns a weapon you currently have in your reset inventory, + but not your inventory, you DO get this weapon. + +Example 1: + You have a ballgun, and use it to kill a hog who also owns a ballgun. + No Multi-Use: You will NOT get another ballgun, since it's in your + reset inventory. + Multi-Use: You get another ballgun. + +Example 2: + You have a grenade and a bazooka in your inventory. You use the bazooka + to kill a hedgehog who owns a grenade. + In both ammo limit modes, you do NOT win any ammo since you already have + a grenade in your inventory (not just your reset inventory), and the + rule “no more than 1 ammo per type” applies. +]] +local multiUse = false function onParameters() parseParams() - mode = params["mode"] + multiUse = params["multiuse"] == "true" loyal = params["loyal"] == "true" end @@ -245,7 +280,7 @@ for w,c in pairs(wepArray) do val = getGearValue(gear,w) - if val ~= 0 and (mode == "orig" or (wepArray[w] ~= 9 and getGearValue(CurrentHedgehog, w) == 0)) then + if val ~= 0 and (multiUse or (wepArray[w] ~= 9 and getGearValue(CurrentHedgehog, w) == 0)) then setGearValue(CurrentHedgehog, w, val) -- if you are using multi-shot weapon, gimme one more @@ -292,7 +327,12 @@ Goals = loc("Highlander: Eliminate hogs to take their weapons") .. "|" end Goals = Goals .. loc("Replenishment: Weapons are restocked on turn start of a new hog") .. "|" .. - loc("Ammo Limit: Hogs can’t have more than 1 ammo per type") + loc("Ammo Limit: Hogs can’t have more than 1 ammo per type") .. "|" + if multiUse then + Goals = Goals .. loc("Multi-Use: You can take and use the same ammo type multiple times in a turn") + else + Goals = Goals .. loc("No Multi-Use: Once you used an ammo, you can’t take it again in this turn") + end end function onGameStart() diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Mutant.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Mutant.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Mutant.lua Sun Jun 10 19:12:26 2018 +0200 @@ -60,7 +60,7 @@ local winScore = 15 local hogsLimit = 1 -local teams = {} +local teamsDead = {} local circles = {} local circleFrame = -1 @@ -82,7 +82,7 @@ local recordSkipsHogName = nil local recordSkipsTeamName = nil --- Most crates collected +-- Most crates collected local recordCrates = 0 local recordCratesHogName = nil local recordCratesTeamName = nil @@ -98,26 +98,27 @@ -- Total damage local totalDamage = 0 +local mutantHat = "WhySoSerious" +local feederHat = "poke_slowpoke" + function rules() - local ruleSet = loc("Rules: ") .. "|" .. - loc("Hedgehogs will be revived after their death.") .. "|" .. + local ruleSet = loc("Hedgehogs will be revived after their death.") .. "|" .. string.format(loc("Mines explode after %d s."), div(MinesTime, 1000)) .. "|" .. - " |".. loc("The first hedgehog to kill someone becomes the Mutant.") .. "|" .. - loc("The Mutant has super-weapons and a lot of health.") .. "|" .. - loc("The Mutant loses health quickly if he doesn't keep scoring kills.") .. "|" .. + loc("The Mutant has super weapons and a lot of health.") .. "|" .. + loc("The Mutant loses health quickly, but gains health by killing.") .. "|" .. " |" .. - loc("Score points by killing other hedgehogs (see below).") .. "|" .. + loc("Score points by killing other hedgehogs.") .. "|" .. loc("The hedgehog with least points (or most deaths) becomes the Bottom Feeder.") .. "|" .. - string.format(loc("The first hedgehog which scores %d or more wins the game."), winScore) .. "|" .. + loc("The score and deaths are shown next to the team bar.") .. "|" .. + string.format(loc("Goal: Score %d points or more to win!"), winScore) .. "|" .. " |" .. loc("Scoring: ") .. "|" .. loc("+2 for becoming the Mutant") .. "|" .. loc("+1 to the Mutant for killing anyone") .. "|" .. loc("+1 to the Bottom Feeder for killing anyone") .. "|" .. - loc("-1 to anyone for a suicide") .. "|" .. - loc("Other kills don't give you points.") + loc("-1 to anyone for a suicide") return ruleSet @@ -143,11 +144,12 @@ function limitHogs(gear) cnthhs = cnthhs + 1 - if cnthhs > 1 then - hogLimitHit = true - SetEffect(gear, heResurrectable, false) - SetGearPosition(gear, -100,LAND_HEIGHT) - end + if cnthhs > 1 then + hogLimitHit = true + SetEffect(gear, heResurrectable, 0) + setGearValue(gear, "excess", true) + DeleteGear(gear) + end end function onGameStart() @@ -161,10 +163,10 @@ hogLimitHit = false for i=0 , TeamsCount - 1 do cnthhs = 0 - runOnHogsInTeam(limitHogs, teams[i]) + runOnHogsInTeam(limitHogs, GetTeamName(i)) end if hogLimitHit then - AddCaption(loc("Only one hog per team allowed! Excess hogs will be removed"), 0xFFFFFFFF, capgrpGameState) + WriteLnToChat(loc("Only one hog per team allowed! Excess hogs will be removed.")) end showStartingInfo() end @@ -239,7 +241,7 @@ checkScore() for i=0, TeamsCount-1 do - SendStat(siClanHealth, getTeamValue(teams[i], "Score"), teams[i]) + SendStat(siClanHealth, getTeamValue(GetTeamName(i), "Score"), GetTeamName(i)) end giveWeapons(CurrentHedgehog) @@ -330,40 +332,123 @@ end +--[[ +Forces the special mutant/feeder names and hats only to be +taken by those who deserved it. +Names and hats will be changed (and ridiculed) if neccesary. +]] +function exposeIdentityTheft(gear) + local lon = string.lower(GetHogName(gear)) -- lowercase origina name + local name, hat + -- Change name if hog uses a reserved one + if lon == "mutant" or lon == string.lower(loc("Mutant")) then + SetHogName(gear, loc("Identity Thief")) + SetHogHat(gear, "Disguise") + elseif lon == "bottom feeder" or lon == string.lower(loc("Bottom Feeder")) then + -- Word play on "Bottom Feeder". Someone who is low on cotton. :D + -- Either translate literally or make up your ow word play + SetHogName(gear, loc("Cotton Needer")) + SetHogHat(gear, "StrawHat") + end + -- Strip hog off its special hat + if GetHogHat(gear) == mutantHat or GetHogHat(gear) == feederHat then + SetHogHat(gear, "NoHat") + end +end + function saveStuff(gear) + exposeIdentityTheft(gear) setGearValue(gear,"Name",GetHogName(gear)) setGearValue(gear,"Hat",GetHogHat(gear)) end function armageddon(gear) SetState(gear, gstLoser) - SetEffect(gear, heResurrectable, false) + SetEffect(gear, heResurrectable, 0) SetHealth(gear, 0) end -function updateScore() - - local showScore = "" - +function renderScores() for i=0, TeamsCount-1 do - if teams[i]~= nil then + local name = GetTeamName(i) + SetTeamLabel(name, string.format(loc("%d | %d"), getTeamValue(name, "Score"), getTeamValue(name, "DeadHogs"))) + end +end - local curr_score = getTeamValue(teams[i], "Score") - showScore = showScore .. string.format(loc("%s: %d (deaths: %d)"), teams[i], curr_score, getTeamValue(teams[i], "DeadHogs")) .. "|" +function createEndGameStats() + SendStat(siGraphTitle, loc("Score graph")) - end + local teamsSorted = {} + for i=0, TeamsCount-1, 1 do + teamsSorted[i+1] = GetTeamName(i) end + -- Achievements stuff + local achievements = 0 + --- Most kills per turn + if recordKills >= 3 then + SendStat(siMaxStepKills, string.format("%d %s (%s)", recordKills, recordKillsHogName, recordKillsTeamName)) + achievements = achievements + 1 + end + --- Most crates collected + if recordCrates >= 5 then + SendStat(siCustomAchievement, string.format(loc("%s (%s) was the greediest hedgehog and collected %d crates."), recordCratesHogName, recordCratesTeamName, recordCrates)) + achievements = achievements + 1 + end + --- Most suicides + if recordSuicides >= 5 then + SendStat(siCustomAchievement, string.format(loc("%s (%s) hate life and suicided %d times."), recordSuicidesHogName, recordSuicidesTeamName, recordSuicides)) + achievements = achievements + 1 + end + --- Most deaths + if recordDeaths >= 5 then + SendStat(siCustomAchievement, string.format(loc("Poor %s (%s) died %d times."), recordDeathsHogName, recordDeathsTeamName, recordDeaths)) + achievements = achievements + 1 + end + --- Most skips + if recordSkips >= 3 then + SendStat(siMaxTurnSkips, string.format("%d %s (%s)", recordSkips, recordSkipsHogName, recordSkipsTeamName)) + achievements = achievements + 1 + end + --- Total damage + if totalDamage >= 900 then + SendStat(siCustomAchievement, string.format(loc("%d damage was dealt in this game."), totalDamage)) + achievements = achievements + 1 + end + --- Total kills + if totalKills >= 20 or (achievements <= 0 and totalKills >= 1) then + SendStat(siKilledHHs, tostring(totalKills)) + achievements = achievements + 1 + end + + -- Score and stats stuff + local showScore = "" + table.sort(teamsSorted, function(team1, team2) return getTeamValue(team1, "Score") > getTeamValue(team2, "Score") end) + for i=1, TeamsCount do + SendStat(siPointType, loc("point(s)")) + local score = getTeamValue(teamsSorted[i], "Score") + local deaths = getTeamValue(teamsSorted[i], "DeadHogs") + SendStat(siPlayerKills, score, teamsSorted[i]) + + showScore = showScore .. string.format(loc("%s: %d (deaths: %d)"), teamsSorted[i], score, deaths) .. "|" + end + + if getTeamValue(teamsSorted[1], "Score") == getTeamValue(teamsSorted[2], "Score") then + -- The first two teams have the same score! Round is drawn. + return nil + else + ShowMission(loc("Mutant"), - loc("Scores"), - showScore, 4, 1) + loc("Final result"), + string.format(loc("Winner: %s"), teamsSorted[1]) .. "| |" .. loc("Scores:") .. " |" .. + showScore, 0, 15000) - HideMission() - + -- return winning team + return teamsSorted[1] + end end function checkScore() -local showScore = "" local lowest_score_team = nil local min_score=nil local winTeam = nil @@ -371,36 +456,35 @@ local only_low_score = true for i=0, TeamsCount-1 do - if teams[i]~=nil then - local curr_score = getTeamValue(teams[i], "Score") + local teamName = GetTeamName(i) + if not teamsDead[teamName] then + local curr_score = getTeamValue(teamName, "Score") - runOnHogsInTeam(removeFeeder, teams[i]) - - showScore = showScore .. string.format(loc("%s: %d (deaths: %d)"), teams[i], curr_score, getTeamValue(teams[i], "DeadHogs")) .. "|" + runOnHogsInTeam(removeFeeder, teamName) if curr_score >= winScore then gameOver = true - winTeam = teams[i] + winTeam = teamName end if min_score==nil then min_score= curr_score - lowest_score_team = teams[i] + lowest_score_team = teamName else if curr_score <= min_score then if curr_score == min_score then - if getTeamValue(teams[i], "DeadHogs") == getTeamValue(lowest_score_team, "DeadHogs") then + if getTeamValue(teamName, "DeadHogs") == getTeamValue(lowest_score_team, "DeadHogs") then only_low_score = false else - if getTeamValue(teams[i], "DeadHogs") > getTeamValue(lowest_score_team, "DeadHogs") then - lowest_score_team = teams[i] + if getTeamValue(teamName, "DeadHogs") > getTeamValue(lowest_score_team, "DeadHogs") then + lowest_score_team = teamName end only_low_score = true end else min_score= curr_score - lowest_score_team = teams[i] + lowest_score_team = teamName only_low_score = true end end @@ -409,68 +493,16 @@ end if gameOver then - SendStat(siGraphTitle, loc("Score graph")) - EndTurn(true) - teamsSorted = {} - for i=0, TeamsCount-1 do - if teams[i]~=winTeam then - runOnHogsInTeam(armageddon, teams[i]) + local teamName = GetTeamName(i) + if teamName~=winTeam then + runOnHogsInTeam(armageddon, teamName) end - teamsSorted[i+1] = teams[i] end - -- Achievements stuff - local achievements = 0 - --- Most kills per turn - if recordKills >= 3 then - SendStat(siMaxStepKills, string.format("%d %s (%s)", recordKills, recordKillsHogName, recordKillsTeamName)) - achievements = achievements + 1 - end - --- Most crates collected - if recordCrates >= 5 then - SendStat(siCustomAchievement, string.format(loc("%s (%s) was the greediest hedgehog and collected %d crates."), recordCratesHogName, recordCratesTeamName, recordCrates)) - achievements = achievements + 1 - end - --- Most suicides - if recordSuicides >= 5 then - SendStat(siCustomAchievement, string.format(loc("%s (%s) hate life and suicided %d times."), recordSuicidesHogName, recordSuicidesTeamName, recordSuicides)) - achievements = achievements + 1 - end - --- Most deaths - if recordDeaths >= 5 then - SendStat(siCustomAchievement, string.format(loc("Poor %s (%s) died %d times."), recordDeathsHogName, recordDeathsTeamName, recordDeaths)) - achievements = achievements + 1 - end - --- Most skips - if recordSkips >= 3 then - SendStat(siMaxTurnSkips, string.format("%d %s (%s)", recordSkips, recordSkipsHogName, recordSkipsTeamName)) - achievements = achievements + 1 - end - --- Total damage - if totalDamage >= 900 then - SendStat(siCustomAchievement, string.format(loc("%d damage was dealt in this game."), totalDamage)) - achievements = achievements + 1 - end - --- Total kills - if totalKills >= 20 or achievements <= 0 then - SendStat(siKilledHHs, tostring(totalKills)) - achievements = achievements + 1 - end - - -- Score and stats stuff - table.sort(teamsSorted, function(team1, team2) return getTeamValue(team1, "Score") < getTeamValue(team2, "Score") end) - for i=TeamsCount, 1, -1 do - SendStat(siPointType, loc("point(s)")) - SendStat(siPlayerKills, getTeamValue(teamsSorted[i], "Score"), teamsSorted[i]) - end - - ShowMission( loc("Mutant"), - loc("Final result"), - string.format(loc("Winner: %s"), winTeam) .. "| |" .. loc("Scores:") .. " |" .. - showScore, 0, 15000) + createEndGameStats() else if only_low_score then @@ -479,11 +511,6 @@ if meh == false then meh = true - else - ShowMission( loc("Mutant"), - loc("Scores"), - showScore, 4, 1) - HideMission() end end @@ -501,7 +528,7 @@ function setAIHints() for i = 0, #hhs do if mutant == nil or hhs[i] == mutant or CurrentHedgehog == mutant or getGearValue(CurrentHedgehog, "Feeder") then - SetGearAIHints(hhs[i], aihUsual) + SetGearAIHints(hhs[i], aihUsualProcessing) else SetGearAIHints(hhs[i], aihDoesntMatter) end @@ -522,7 +549,7 @@ function setFeeder(gear) if gear~= mutant and gear~= nil then SetHogName(gear, loc("Bottom Feeder")) - SetHogHat(gear, 'poke_slowpoke') + SetHogHat(gear, feederHat) setGearValue(gear,"Feeder", true) end end @@ -531,7 +558,7 @@ mutant = gear SetHogName(gear, loc("Mutant")) - SetHogHat(gear,'WhySoSerious') + SetHogHat(gear, mutantHat) SetHealth(gear, ( mutant_base_health + numhhs*25) ) SetEffect(gear, hePoisoned, 1) setGearValue(mutant,"SelfDestruct",false) @@ -553,27 +580,17 @@ function teamScan() - for i=0, TeamsCount-1 do --nil filling - teams[i]=nil + for j=0, TeamsCount-1 do + teamName = GetTeamName(j) + teamsDead[teamName] = false + setTeamValue(teamName, "Score",0) + setTeamValue(teamName, "Suicides",0) + setTeamValue(teamName, "Skips",0) + setTeamValue(teamName, "Crates",0) + setTeamValue(teamName, "DeadHogs",0) end - for i=0, #hhs do - for j=0, TeamsCount-1 do - if teams[j] ==nil and hhs[i]~=nil then - teams[j] = GetHogTeamName(hhs[i]) - setTeamValue(teams[j], "Score",0) - setTeamValue(teams[j], "Suicides",0) - setTeamValue(teams[j], "Skips",0) - setTeamValue(teams[j], "Crates",0) - setTeamValue(teams[j], "DeadHogs",0) - break - end - - if teams[j] == GetHogTeamName(hhs[i]) then - break - end - end - end + renderScores() ---***--- end @@ -633,9 +650,8 @@ else if curr_team ~=GetHogTeamName(gear) then if CurrentHedgehog==mutant and getGearValue(mutant,"SelfDestruct")==false then - SetHealth(CurrentHedgehog, GetHealth(CurrentHedgehog)+kill_reward) + HealHog(CurrentHedgehog, kill_reward) AddCaption(loc("+1 point"), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpMessage) - AddCaption(string.format(loc("+%d health"), kill_reward), GetClanColor(GetHogClan(CurrentHedgehog)), capgrpMessage2) increaseTeamValue(curr_team,"Score") end if getGearValue(CurrentHedgehog,"Feeder") then @@ -673,7 +689,7 @@ end AddVisualGear(GetX(gear), GetY(gear), vgtSmokeRing, 0, false) PlaySound(sndWhack) - updateScore() + renderScores() end end end @@ -684,16 +700,14 @@ end end -function onHogAttack(ammoType) +function onSkipTurn() -- Record skips for achievement - if ammoType == amSkip then - local team = GetHogTeamName(CurrentHedgehog) - increaseTeamValue(team, "Skips") - if(getTeamValue(team, "Skips") > recordSkips) then - recordSkips = getTeamValue(team, "Skips") - recordSkipsHogName = getGearValue(CurrentHedgehog, "Name") - recordSkipsTeamName = team - end + local team = GetHogTeamName(CurrentHedgehog) + increaseTeamValue(team, "Skips") + if(getTeamValue(team, "Skips") > recordSkips) then + recordSkips = getTeamValue(team, "Skips") + recordSkipsHogName = getGearValue(CurrentHedgehog, "Name") + recordSkipsTeamName = team end end @@ -705,6 +719,15 @@ hhs[numhhs] = gear numhhs = numhhs + 1 SetEffect(gear, heResurrectable, 1) + elseif GetGearType(gear) == gtATFinishGame then + if not gameOver then + local winner = createEndGameStats() + if winner then + SendStat(siGameResult, string.format(loc("%s wins!"), winner)) + AddCaption(string.format(loc("%s wins!"), winner), 0xFFFFFFFF, capgrpGameState) + end + gameOver = true + end end end @@ -739,18 +762,16 @@ local t_name = GetHogTeamName(gear) if checkEmptyTeam(t_name) then for i = 0, TeamsCount - 1 do - if teams[i] == t_name then + if GetTeamName(i) == t_name then found = i + teamsDead[t_name] = true break end end - for i = found, TeamsCount - 2 do - teams[i] = teams[i + 1] - end - teams[TeamsCount - 1] = nil - TeamsCount = TeamsCount - 1 end - AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false) + if getGearValue(gear, "excess") ~= true and band(GetState(gear), gstDrowning) == 0 then + AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false) + end trackDeletion(gear) elseif GetGearType(gear) == gtCase then -- Check if a crate has been collected diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Racer.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Racer.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Racer.lua Sun Jun 10 19:12:26 2018 +0200 @@ -116,6 +116,9 @@ local TeamRope = false +local waypointCursor = false +local waypointPreview = nil + -------------------------- -- hog and team tracking variales -------------------------- @@ -137,6 +140,7 @@ -------- local cGear = nil +local cameraGear = nil -- gear created to center the cameera on local bestClan = 10 local bestTime = 1000000 @@ -166,10 +170,72 @@ local boostY = 0 local boostValue = 1 +-- themes with bright background +local brightThemes = { + Bath = true, + Bamboo = true, + Beach = true, + Blox = true, + Compost = true, + Desert = true, + Fruit = true, + Golf = true, + Hoggywood = true, + Jungle = true, + Olympics = true, + Sheep = true, +} +-- themes with medium or heavily mixed brightness. +-- only add themes here if both bright and dark waypoint +-- colors fail otherwise. +local mediumThemes = { + Halloween = true, +} +-- All themes not explicitly listed above are assumed to +-- be "dark" and work with the default bright waypoints. + +-- Waypoint colors in 3 color themes! +-- We do this so the waypoints are easy on the eyes, +-- at least in each of the default themes. + +-- Bright waypoints (default) +local waypointColourBright = 0xFFFFFFFF -- Primary colour of inactive waypoints +local waypointColourBrightAtPlacement = 0xAAAAAAFF -- Colour of non-highlighted waypoints while placing +-- Medium bright waypoints +local waypointColourMedium = 0x606060FF +local waypointColourMediumAtPlacement = 0x404040FF +-- Dark waypoints +local waypointColourDark = 0x000000FF +local waypointColourDarkAtPlacement = 0x303030FF + +-- Waypoints touched by the players assume the clan color, which is unchanged. +-- Touched waypoints are not important to be visible. + +-- Default waypoint colors (only use these color variables in the code below) +local waypointColour = waypointColourBright +local waypointColourAtPlacement = waypointColourBrightAtPlacement + ------------------- -- general methods ------------------- +-- Returns brightness level of background from 1-3. +-- 1 = brightest +function GetBackgroundBrightness() + -- This just looks at the theme names above. + -- This code will fail for bright unofficial themes. + -- TODO: Change how this thing works. + -- Consider adding a function into the Lua API which looks + -- up the theme's sky color, so we could use thit instead. + if brightThemes[Theme] then + return 1 + elseif mediumThemes[Theme] then + return 2 + else + return 3 + end +end + --[[ Parameters syntax: @@ -316,7 +382,7 @@ if dist < (NR*NR) then wpCol[i] = GetClanColor(GetHogClan(CurrentHedgehog)) - SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], 20, 100, 1, 10, 0, wpRad, 5, wpCol[i]) + SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], 64, 64, 1, 10, 0, wpRad, 5, wpCol[i]) wpRem = 0 for k = 0, (wpCount-1) do @@ -398,6 +464,11 @@ PlaySound(sndHellish) end + for i = 0, (TeamsCount-1) do + if teamNameArr[i] ~= " " and teamScore[i] ~= 1000000 then + SetTeamLabel(teamNameArr[i], string.format(loc("%.1fs"), teamScore[i]/1000)) + end + end if bestTime == trackTime then @@ -489,6 +560,10 @@ end gameOver = true + for i=0, wpCount-1 do + -- Fade out waypoints + SetVisualGearValues(wpCirc[i], nil, nil, 0, 0, nil, 6) + end EndTurn(true) end @@ -512,6 +587,16 @@ EndTurn(true) end racerActive = false -- newadd + + if trackFinished and not gameOver then + for i=0, wpCount-1 do + SetVisualGearValues(wpCirc[i], nil, nil, 255, 255, nil, 2) + end + elseif not gameOver then + for i=0, wpCount-1 do + SetVisualGearValues(wpCirc[i], nil, nil, 32, 32, nil, 1) + end + end end end @@ -584,10 +669,23 @@ SendHealthStatsOff() SendAchievementsStatsOff() + SetSoundMask(sndIncoming, true) + SetSoundMask(sndMissed, true) + roundN = 0 lastRound = TotalRounds RoundHasChanged = false + if GetBackgroundBrightness() == 1 then + -- Dark waypoint colour theme + waypointColour = waypointColourDark + waypointColourAtPlacement = waypointColourDarkAtPlacement + elseif GetBackgroundBrightness() == 2 then + -- Medium waypoint colour theme + waypointColour = waypointColourMedium + waypointColourAtPlacement = waypointColourMediumAtPlacement + end + for i = 0, (specialPointsCount-1) do PlaceWayPoint(specialPointsX[i], specialPointsY[i], false) end @@ -621,19 +719,29 @@ wpX[wpCount] = x wpY[wpCount] = y - if wpCount == 0 then - wpCol[wpCount] = 0x80ff80ff - else - wpCol[wpCount] = 0xffffffff - end + wpCol[wpCount] = waypointColour wpCirc[wpCount] = AddVisualGear(wpX[wpCount],wpY[wpCount],vgtCircle,0,true) - SetVisualGearValues(wpCirc[wpCount], wpX[wpCount], wpY[wpCount], 20, 100, 1, 10, 0, wpRad, 5, wpCol[wpCount]) + local flashing, minO, maxO + if wpCount == 0 then + -- First waypoint flashes. Useful to know since this is the spawn position. + minO, maxO = 164, 255 + flashing = 5 + else + -- Other waypoints are not animated (before the race starts) + minO, maxO = 255, 255 + flashing = 0 + end + SetVisualGearValues(wpCirc[wpCount], wpX[wpCount], wpY[wpCount], minO, maxO, 1, flashing, 0, wpRad, 5, wpCol[wpCount]) + + -- Use alternate waypoint color for all waypoints but the last one. This gives a subtle “highlighting” effect. + SetVisualGearValues(wpCirc[wpCount-1], nil, nil, nil, nil, nil, nil, nil, nil, nil, waypointColourAtPlacement) wpCount = wpCount + 1 if placedByUser then AddCaption(string.format(loc("Waypoint placed. Available points remaining: %d"), wpLimit-wpCount)) + PlaySound(sndPlaced) end end end @@ -653,7 +761,9 @@ wpCol[wpCount] = nil DeleteVisualGear(wpCirc[wpCount]) wpCirc[wpCount] = nil + SetVisualGearValues(wpCirc[wpCount-1], nil, nil, nil, nil, nil, nil, nil, nil, nil, waypointColour) AddCaption(string.format(loc("Waypoint removed. Available points: %d"), wpLimit-wpCount)) + PlaySound(sndBump) else PlaySound(sndDenied) AddCaption(loc("No waypoint to be removed!")) @@ -689,13 +799,6 @@ AddAmmo(CurrentHedgehog, amAirAttack, 0) gTimer = 0 - -- Set the waypoints to unactive on new round - for i = 0,(wpCount-1) do - wpActive[i] = false - wpCol[i] = 0xffffffff - SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], 20, 100, 1, 10, 0, wpRad, 5, wpCol[i]) - end - -- Handle Starting Stage of Game if (gameOver == false) and (gameBegun == false) then if wpCount >= 2 then @@ -721,17 +824,45 @@ end end + -- Set the waypoints to unactive on new round + if gameBegun and not gameOver then + for i = 0,(wpCount-1) do + wpActive[i] = false + wpCol[i] = waypointColour + local flashing, minO, maxO + if i == 0 then + -- Make first waypoint flash very noticably + minO, maxO = 92, 255 + flashing = 2 + else + minO, maxO = 164, 224 + flashing = 10 + end + SetVisualGearValues(wpCirc[i], nil, nil, minO, maxO, nil, flashing, nil, nil, nil, wpCol[i]) + end + + if cameraGear then + DeleteGear(cameraGear) + end + -- Move camera to first waypoint + -- We use a dummy gear to feed FollowGear. It does not affect the race. + cameraGear = AddGear(wpX[0], wpY[0], gtGenericFaller, 0, 0, 0, 5000) + SetState(cameraGear, bor(GetState(cameraGear), gstNoGravity+gstInvisible)) + FollowGear(cameraGear) + end + if gameOver == true then gameBegun = false racerActive = false -- newadd end AddAmmo(CurrentHedgehog, amTardis, 0) + AddAmmo(CurrentHedgehog, amResurrector, 0) + AddAmmo(CurrentHedgehog, amInvulnerable, 0) AddAmmo(CurrentHedgehog, amDrillStrike, 0) AddAmmo(CurrentHedgehog, amMineStrike, 0) AddAmmo(CurrentHedgehog, amNapalm, 0) AddAmmo(CurrentHedgehog, amPiano, 0) - end function onGameTick20() @@ -789,9 +920,15 @@ -- still in placement mode end - end - end - + end + if not racerActive and not gameBegun and GetCurAmmoType() == amAirAttack then + waypointCursor = true + else + waypointCursor = false + end + else + waypointCursor = false + end -- has the player started his tumbling spree? if (CurrentHedgehog ~= nil) then @@ -830,6 +967,20 @@ end +function onGameTick() + if waypointCursor then + if not waypointPreview then + waypointPreview = AddVisualGear(CursorX, CursorY, vgtCircle, 0, true) + end + SetVisualGearValues(waypointPreview, CursorX, CursorY, 200, 200, 0, 0, 0, div(wpRad, 5), 5, waypointColourAtPlacement) + else + if waypointPreview then + DeleteVisualGear(waypointPreview) + waypointPreview = nil + end + end +end + function onGearResurrect(gear) AddVisualGear(GetX(gear), GetY(gear), vgtBigExplosion, 0, false) @@ -860,6 +1011,8 @@ if GetGearType(gear) == gtAirAttack then cGear = nil + elseif gear == cameraGear then + cameraGear = nil end end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Random_Weapon.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Random_Weapon.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Random_Weapon.lua Sun Jun 10 19:12:26 2018 +0200 @@ -12,7 +12,8 @@ amBaseballBat, amTeleport, amMortar, amCake, amSeduction, amWatermelon, amHellishBomb, amDrill, amBallgun, amRCPlane, amSniperRifle, amMolotov, amBirdy, amBlowTorch, amGasBomb, - amFlamethrower, amSMine, amHammer, amDuck } + amFlamethrower, amSMine, amHammer, amMinigun, amSineGun, + amKnife, amAirMine } -- List of weapons that attack from the air local airweapons = { amAirAttack, amMineStrike, amNapalm, amDrillStrike } diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/ShoppaMap.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/ShoppaMap.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/ShoppaMap.lua Sun Jun 10 19:12:26 2018 +0200 @@ -4,13 +4,11 @@ -- Overall padding for roping freedom local Padding = 430 +-- If true, rope assumes team color local TeamRope = false function onParameters() parseParams() - if params["pad"] ~= nil then - Padding = params["pad"] - end if params["teamrope"] ~= nil then TeamRope = true end @@ -23,11 +21,10 @@ end end - -- This could probably use less points and more precision -- 700x700 for object space function DrawStar(x, y, d, f) --- default scale is 700x700 or so + -- default scale is 700x700 or so local s = 700 local i = 0 local j = 0 @@ -317,8 +314,6 @@ oy = ObjectList[i][2] ox2 = ObjectList[i][3] oy2 = ObjectList[i][4] - -- WriteLnToConsole(ox..' '..oy..' '..ox2..' '..oy2..' - '..x..' '..y..' '..x2..' '..y2) - --if (math.abs(ox + ox2 -x - x2) <= (ox2 - ox + x2 - x)) and (math.abs(oy + oy2 - y - y2) <= (oy - oy2 + y - y2)) then if x < ox2 and ox < x2 and y < oy2 and oy < y2 then return false end @@ -327,33 +322,20 @@ return true end -function dbg() - local i = 1 - local l = table.getn(ObjectList) - local ox = 0 - local oy = 0 - local ox2 = 0 - local oy2 = 0 - while i<=l do - ox = ObjectList[i][1] - oy = ObjectList[i][2] - ox2 = ObjectList[i][3] - oy2 = ObjectList[i][4] - AddPoint(ox,oy,1) - AddPoint(ox2,oy) - AddPoint(ox2,oy2) - AddPoint(ox,oy2) - AddPoint(ox,oy) - AddPoint(ox2,oy2) - i=i+1 - end -end - function onPreviewInit() -onGameInit() + onGameInit() end function onGameInit() + -- Calculate padding, determined by map feature size + if MapFeatureSize <= 20 then + -- 10 .. 710. Step size=35 + Padding = 10 + MapFeatureSize * 35 + else + -- 780 .. 1060. Step size=70 + Padding = 710 + (MapFeatureSize-20) * 70 + end + MapGen = mgDrawn TemplateFilter = 0 local TotGen = 0 @@ -455,17 +437,5 @@ end Tries = Tries + 1 end --- Padding = div(Padding,2) --- Tries = 0 --- while (TotGen < 21) and (Tries < 10000) do --- r = GetRandom(20-div(Tries,223))+5 --- x = GetRandom(4050-r*20)+r*10 --- y = GetRandom(2000-r*20)+r*10 --- if DrawCircle(x,y,r) then --- TotGen = TotGen+1 --- end --- Tries = Tries + 1 --- end - --dbg() FlushPoints() end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Space_Invasion.cfg --- a/share/hedgewars/Data/Scripts/Multiplayer/Space_Invasion.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Space_Invasion.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -1,2 +1,2 @@ -Default +Space_Invasion locked diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Space_Invasion.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Space_Invasion.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Space_Invasion.lua Sun Jun 10 19:12:26 2018 +0200 @@ -363,6 +363,7 @@ local RoundHasChanged = true -- for script parameters +-- NOTE: If you change this, also change the default “Space Invasion” game scheme local startBarrels = 5 -- "barrels" local startShield = 30 -- "shield" local startRadShots = 2 -- "pings" @@ -417,6 +418,14 @@ local awardAccuracy -- awarded to hog who didn’t miss once in his round, with most kills (min. 5) local awardCombo -- hog with longest combo (min. 5) + + +-- Taunt trackers +local tauntTimer = -1 +local tauntGear = nil +local tauntSound = nil +local tauntClanShots = 0 -- hogs of same clans shot in this turn + --------------------- -- tumbler goods --------------------- @@ -575,7 +584,6 @@ -- make a list of individual team names for i = 0, (TeamsCount-1) do - teamNameArr[i] = " " -- = i teamSize[i] = 0 teamIndex[i] = 0 teamScore[i] = 0 @@ -628,6 +636,10 @@ end + for i=0, TeamsCount-1 do + SetTeamLabel(teamNameArr[i], teamScore[i]) + end + end -- control @@ -638,6 +650,7 @@ for i = 0,(TeamsCount-1) do if teamClan[i] == GetHogClan(CurrentHedgehog) then teamScore[i] = teamScore[i] + p + SetTeamLabel(teamNameArr[i], teamScore[i]) end end @@ -729,16 +742,11 @@ end local statusText, scoreText if roundNumber >= roundLimit then - if teamStats[1].score == teamStats[2].score then - statusText = loc("Status Update") - scoreText = loc("Team scores:") - else - statusText = loc("Game over!") - scoreText = loc("Final team scores:") - end + statusText = loc("Game over!") + scoreText = loc("Final team scores:") else - statusText = loc("Status Update") - scoreText = loc("Team scores:") + AddCaption(string.format(loc("Rounds complete: %d/%d"), roundNumber, roundLimit, 0xFFFFFFFF)) + return end local displayTime if roundNumber >= roundLimit then @@ -1089,7 +1097,7 @@ beam = true SetVisualGearValues(pShield, GetX(CurrentHedgehog), GetY(CurrentHedgehog), 40, 255, 1, 10, 0, 300, 1, 0xa800ffff) AddCaption( string.format(loc("Shield ON: %d power remaining"), shieldHealth - 80)) - PlaySound(sndWarp) + PlaySound(sndInvulnerable) else beam = false SetVisualGearValues(pShield, GetX(CurrentHedgehog), GetY(CurrentHedgehog), 0, 0, 1, 10, 0, 0, 0, 0xa800ffff) @@ -1197,7 +1205,7 @@ gfDisableGirders + gfRandomOrder + -- highly recommended! gfDisableLandObjects + gfSolidLand + gfLowGravity + -- a bit unusual but may still be useful - gfBottomBorder + gfForts + gfDivideTeams + + gfBottomBorder + gfDivideTeams + gfDisableWind + gfMoreWind + gfTagTeam + -- very unusual flags, they don’t affect gameplay really, they are mostly for funny graphical effects gfKing + -- King Mode doesn’t work like expected, since hedgehogs never really die here in this mode @@ -1256,7 +1264,6 @@ " " .. "|" .. string.format(loc("Round Limit: %d"), roundLimit) .. "|" .. - string.format(loc("Turn Time: %dsec"), (TurnTime/1000)) .. "|" .. " " .. "|" .. loc("Movement: [Up], [Down], [Left], [Right]") .. "|" .. @@ -1311,6 +1318,9 @@ chainLength = 0 chainCounter = 0 + tauntClanShots = 0 + tauntTimer = -1 + ------------------------- -- gaudy racer ------------------------- @@ -1401,7 +1411,12 @@ end end - + if tauntTimer > 0 then + tauntTimer = tauntTimer - 100 + if tauntTimer <= 0 and tumbleStarted and not stopMovement then + PlaySound(tauntSound, tauntGear) + end + end --nw WriteLnToConsole("Starting ThingsToBeRunOnGears()") @@ -1629,11 +1644,31 @@ end function onGearDamage(gear, damage) - if GetGearType(gear) == gtHedgehog then - if (fierceComp == false) and (damage >= 60) and (GetHogClan(gear) ~= GetHogClan(CurrentHedgehog)) then - fierceComp = true - AddCaption(loc("Fierce Competition! +8 points!"),0xffba00ff,capgrpGameState) - AwardPoints(8) + if GetGearType(gear) == gtHedgehog and damage >= 60 then + if GetHogClan(gear) ~= GetHogClan(CurrentHedgehog) then + if (fierceComp == false) then + fierceComp = true + AddCaption(loc("Fierce Competition! +8 points!"),0xffba00ff,capgrpGameState) + AwardPoints(8) + end + + tauntTimer = 500 + tauntGear = gear + local r = math.random(1, 2) + if r == 1 then + tauntSound = sndIllGetYou + else + tauntSound = sndJustYouWait + end + elseif gear ~= CurrentHedgehog then + tauntTimer = 500 + tauntGear = gear + if tauntClanShots == 0 then + tauntSound = sndSameTeam + else + tauntSound = sndTraitor + end + tauntClanShots = tauntClanShots + 1 end end end @@ -1903,6 +1938,9 @@ elseif (vType[i] == "blueboss") then PlaySound(sndHellishImpact3) + tauntTimer = 300 + tauntSound = sndEnemyDown + tauntGear = CurrentHedgehog AddCaption(loc("Boss defeated! +30 points!"), 0x0050ffff,capgrpMessage) morte = AddGear(vCircX[i], vCircY[i], gtExplosives, 0, 0, 0, 1) @@ -2048,7 +2086,7 @@ end -function WellHeAintGonnaJumpNoMore(x,y,explode) +function WellHeAintGonnaJumpNoMore(x,y,explode,kamikaze) if explode==true then AddVisualGear(x, y, vgtBigExplosion, 0, false) PlaySound(sndExplosion) @@ -2059,7 +2097,10 @@ playerIsFine = false AddCaption(loc("GOTCHA!")) FailGraphics() - PlaySound(sndHellish) + + if not kamikaze then + PlaySound(sndHellish) + end targetHit = true @@ -2220,24 +2261,27 @@ ss = CircleDamaged(i) local explosion if vType[i] == "blueboss" then explosion = true else explosion = false end - WellHeAintGonnaJumpNoMore(GetX(CurrentHedgehog),GetY(CurrentHedgehog),explosion) - + + local kamikaze = false if ss == "fatal" then - if (wepAmmo[0] == 0) and (TimeLeft <= 9) then AddCaption(loc("Kamikaze Expert! +15 points!"),0xffba00ff,capgrpMessage) AwardPoints(15) PlaySound(sndKamikaze, CurrentHedgehog) + kamikaze = true elseif (wepAmmo[0] == 0) then AddCaption(loc("Depleted Kamikaze! +5 points!"),0xffba00ff,capgrpMessage) AwardPoints(5) PlaySound(sndKamikaze, CurrentHedgehog) + kamikaze = true elseif TimeLeft <= 9 then AddCaption(loc("Timed Kamikaze! +10 points!"),0xffba00ff,capgrpMessage) AwardPoints(10) PlaySound(sndKamikaze, CurrentHedgehog) + kamikaze = true end end + WellHeAintGonnaJumpNoMore(GetX(CurrentHedgehog),GetY(CurrentHedgehog),explosion,kamikaze) end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/TechRacer.lua Sun Jun 10 19:12:26 2018 +0200 @@ -81,6 +81,7 @@ HedgewarsScriptLoad("/Scripts/OfficialChallenges.lua") HedgewarsScriptLoad("/Scripts/Tracker.lua") HedgewarsScriptLoad("/Scripts/Params.lua") +HedgewarsScriptLoad("/Scripts/Utils.lua") HedgewarsScriptLoad("/Scripts/TechMaps.lua") ------------------ @@ -212,6 +213,7 @@ -------- local cGear = nil +local cameraGear = nil local bestClan = 10 local bestTime = 1000000 @@ -305,6 +307,22 @@ -- RACER METHODS ----------------- +-- Returns min opacity, max opacity and flashing speed (`FrameTicks`) +-- for the waypoint visual gears +function FlashingHelper(wpIndex) + local minO, maxO, flashing + if wpIndex == 0 then + -- Notable flashing of first waypoint + minO, maxO = 92, 255 + flashing = 2 + else + -- Slow pulsation + minO, maxO = 164, 224 + flashing = 10 + end + return minO, maxO, flashing +end + function CheckWaypoints() trackFinished = true @@ -324,11 +342,11 @@ NR = (48/100*wpRad)/2 - if dist < (NR*NR) then + if dist < (NR*NR) and not gameOver then --if dist < (wpRad*wpRad) then --AddCaption("howdy") wpCol[i] = GetClanColor(GetHogClan(CurrentHedgehog)) -- new --GetClanColor(1) - SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], 20, 100, 1, 10, 0, wpRad, 5, wpCol[i]) + SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], 64, 64, 1, 10, 0, wpRad, 5, wpCol[i]) wpRem = 0 for k = 0, (wpCount-1) do @@ -412,6 +430,11 @@ PlaySound(sndHellish) end + for i = 0, (TeamsCount-1) do + if teamNameArr[i] ~= " " and teamScore[i] ~= 1000000 then + SetTeamLabel(teamNameArr[i], string.format(loc("%.1fs"), teamScore[i]/1000)) + end + end -------- --new @@ -509,6 +532,10 @@ end gameOver = true + for i=0, wpCount-1 do + -- Fade out waypoints + SetVisualGearValues(wpCirc[i], nil, nil, 0, 0, nil, 6) + end EndTurn(true) end @@ -578,6 +605,15 @@ if endTurn then EndTurn(true) end + if trackFinished and not gameOver then + for i=0, wpCount-1 do + SetVisualGearValues(wpCirc[i], nil, nil, 255, 255, nil, 2) + end + elseif not gameOver then + for i=0, wpCount-1 do + SetVisualGearValues(wpCirc[i], nil, nil, 32, 32, nil, 1) + end + end end end @@ -651,7 +687,7 @@ end function CallBob(x,y) - if not racerActive then + if not racerActive and not gameOver then if wpCount == 0 or wpX[wpCount - 1] ~= x or wpY[wpCount - 1] ~= y then wpX[wpCount] = x @@ -659,7 +695,9 @@ wpCol[wpCount] = 0xffffffff wpCirc[wpCount] = AddVisualGear(wpX[wpCount],wpY[wpCount],vgtCircle,0,true) - SetVisualGearValues(wpCirc[wpCount], wpX[wpCount], wpY[wpCount], 20, 100, 1, 10, 0, wpRad, 5, wpCol[wpCount]) + local minO, maxO, flashing = FlashingHelper(wpCount) + -- Make first waypoint flash very noticably before the hog starts racing + SetVisualGearValues(wpCirc[wpCount], wpX[wpCount], wpY[wpCount], minO, maxO, 1, flashing, 0, wpRad, 5, wpCol[wpCount]) wpCount = wpCount + 1 @@ -690,14 +728,21 @@ LoadMap(mapID) end - for i = 0,(wpCount-1) do - DeleteVisualGear(wpCirc[i]) - end - wpCount = 0 + if gameOver then + for i = 0,(wpCount-1) do + SetVisualGearValues(wpCirc[wpCount], wpX[wpCount], wpY[wpCount], 164, 224, 1, 10, 0, wpRad, 5, wpCol[wpCount]) + end - for i = 1, techCount-1 do - CallBob(techX[i],techY[i]) - end + else + for i = 0,(wpCount-1) do + DeleteVisualGear(wpCirc[i]) + end + wpCount = 0 + + for i = 1, techCount-1 do + CallBob(techX[i],techY[i]) + end + end activationStage = 200 --runOnHogs(RestoreHog) @@ -749,30 +794,36 @@ end function onGameInit() + + TemplateFilter = 0 + + if MapGen == mgDrawn then + eraseMap(false) + else + MapGen = mgDrawn + end + if mapID == nil then mapID = 2 + GetRandom(7) end addHashData(mapID) - Theme = "Cave" - Map = "" - - MapGen = mgDrawn - TemplateFilter = 0 + Theme = "Cave" + Map = "" - EnableGameFlags(gfInfAttack, gfDisableWind, gfBorder) - DisableGameFlags(gfSolidLand) - CaseFreq = 0 - TurnTime = 90000 - WaterRise = 0 - HealthDecrease = 0 + EnableGameFlags(gfInfAttack, gfDisableWind, gfBorder) + DisableGameFlags(gfSolidLand) + CaseFreq = 0 + TurnTime = 90000 + WaterRise = 0 + HealthDecrease = 0 - for x = 1, 16 do - AddPoint(x*100,100,5) - end + for x = 1, 16 do + AddPoint(x*100,100,5) + end - FlushPoints() + FlushPoints() end @@ -996,7 +1047,7 @@ loc("Complete the track as fast as you can!") .. "|" .. loc("Round limit:") .. " " .. roundLimit .. "|" .. - loc("You can further customize the race by changing the scheme script paramater.") .. "|" .. + loc("You can further customize the race by changing the scheme script parameter.") .. "|" .. "", 4, 4000 ) @@ -1032,10 +1083,13 @@ gTimer = 0 -- Set the waypoints to unactive on new round - for i = 0,(wpCount-1) do - wpActive[i] = false - wpCol[i] = 0xffffffff - SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], 20, 100, 1, 10, 0, wpRad, 5, wpCol[i]) + if not gameOver then + for i = 0,(wpCount-1) do + wpActive[i] = false + wpCol[i] = 0xffffffff + local minO, maxO, flashing = FlashingHelper(i) + SetVisualGearValues(wpCirc[i], wpX[i], wpY[i], minO, maxO, 1, flashing, 0, wpRad, 5, wpCol[i]) + end end -- Handle Starting Stage of Game @@ -1104,9 +1158,21 @@ end - if activationStage < 10 then - HandleFreshMapCreation() - end + if activationStage < 10 then + HandleFreshMapCreation() + + if not gameOver and gameBegun and not racerActive then + if cameraGear then + DeleteGear(cameraGear) + end + -- Move camera to first waypoint. + -- We use a dummy gear to feed FollowGear. It does not affect the race. + cameraGear = AddGear(wpX[0], wpY[0], gtGenericFaller, 0, 0, 0, 5000) + SetState(cameraGear, bor(GetState(cameraGear), gstNoGravity+gstInvisible)) + FollowGear(cameraGear) + end + + end -- start the player tumbling with a boom once their turn has actually begun @@ -1189,7 +1255,8 @@ if GetGearType(gear) == gtPortal then - tag = GetTag(gear) + local tag = GetTag(gear) + local col if tag == 0 then col = 0xfab02aFF -- orange ball elseif tag == 1 then @@ -1201,32 +1268,23 @@ end if (tag == 0) or (tag == 2) then -- i.e ball form - tempE = AddVisualGear(GetX(gear), GetY(gear), vgtDust, 0, true) - g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE) - SetVisualGearValues(tempE, g1, g2, g3, g4, g5, g6, g7, 1, g9, col ) - - remLife = getGearValue(gear,"life") + local remLife = getGearValue(gear,"life") remLife = remLife - 1 setGearValue(gear, "life", remLife) if remLife == 0 then - tempE = AddVisualGear(GetX(gear)+15, GetY(gear), vgtSmoke, 0, true) - g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE) - SetVisualGearValues(tempE, g1, g2, g3, g4, g5, g6, g7, g8, g9, col ) + local tempE = AddVisualGear(GetX(gear)+15, GetY(gear), vgtSmoke, 0, true) + SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, nil, col) tempE = AddVisualGear(GetX(gear)-15, GetY(gear), vgtSmoke, 0, true) - g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE) - SetVisualGearValues(tempE, g1, g2, g3, g4, g5, g6, g7, g8, g9, col ) + SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, nil, col) tempE = AddVisualGear(GetX(gear), GetY(gear)+15, vgtSmoke, 0, true) - g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE) - SetVisualGearValues(tempE, g1, g2, g3, g4, g5, g6, g7, g8, g9, col ) + SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, nil, col) tempE = AddVisualGear(GetX(gear), GetY(gear)-15, vgtSmoke, 0, true) - g1, g2, g3, g4, g5, g6, g7, g8, g9, g10 = GetVisualGearValues(tempE) - SetVisualGearValues(tempE, g1, g2, g3, g4, g5, g6, g7, g8, g9, col ) - + SetVisualGearValues(tempE, nil, nil, nil, nil, nil, nil, nil, nil, nil, col) PlaySound(sndVaporize) DeleteGear(gear) @@ -1297,12 +1355,14 @@ function onGearDelete(gear) if isATrackedGear(gear) then - trackDeletion(gear) - elseif GetGearType(gear) == gtAirAttack then + trackDeletion(gear) + elseif GetGearType(gear) == gtAirAttack then cGear = nil elseif GetGearType(gear) == gtJetpack then - jet = nil - end + jet = nil + elseif gear == cameraGear then + cameraGear = nil + end end diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/The_Specialists.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/The_Specialists.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/The_Specialists.lua Sun Jun 10 19:12:26 2018 +0200 @@ -58,16 +58,7 @@ local numhhs = 0 local hhs = {} -local currName -local lastName local started = false -local switchStage = 0 - -local hogCounter - -function CountHog(gear) - hogCounter = hogCounter +1 -end function onNewAmmoStore(groupIndex, hogIndex) @@ -183,7 +174,7 @@ function onGameInit() ClearGameFlags() - EnableGameFlags(gfRandomOrder, gfResetWeps, gfInfAttack, gfPlaceHog, gfPerHogAmmo) + EnableGameFlags(gfRandomOrder, gfResetWeps, gfInfAttack, gfPlaceHog, gfPerHogAmmo, gfSwitchHog) Delay = 10 HealthCaseProb = 100 end @@ -213,55 +204,9 @@ function onNewTurn() - currName = GetHogName(CurrentHedgehog) - lastName = GetHogName(CurrentHedgehog) + started = true - switchStage = 0 -end - -function onGameTick20() - - if (CurrentHedgehog ~= nil) then - - currName = GetHogName(CurrentHedgehog) - - if (currName ~= lastName) and (switchStage > 5) then - AddCaption(loc("Switched to ") .. currName .. "!") - end - - if (TurnTimeLeft > 0) and (TurnTimeLeft ~= TurnTime) and (switchStage < 5) then - - AddCaption(loc("Prepare yourself") .. ", " .. currName .. "!") - - hogCounter = 0 - runOnHogsInTeam(CountHog, GetHogTeamName(CurrentHedgehog) ) - - if hogCounter > 1 then - - switchStage = switchStage + 1 - - if switchStage == 1 then - AddAmmo(CurrentHedgehog, amSwitch, 1) - - elseif switchStage == 2 then - SetWeapon(amSwitch) - elseif switchStage == 3 then - SetGearMessage(CurrentHedgehog,gmAttack) - elseif switchStage == 4 then - switchStage = 6 - AddAmmo(CurrentHedgehog, amSwitch, 0) - end - - else - switchStage = 6 - end - - - end - - lastName = currName - - end + AddCaption(loc("Prepare yourself") .. ", " .. GetHogName(CurrentHedgehog).. "!") end @@ -278,7 +223,6 @@ trackGear(gear) end - end function onGearDelete(gear) @@ -287,7 +231,3 @@ end end -function onAmmoStoreInit() --- -end - diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/Tunnels.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/Tunnels.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/Tunnels.lua Sun Jun 10 19:12:26 2018 +0200 @@ -1,16 +1,13 @@ +HedgewarsScriptLoad("/Scripts/Utils.lua") function onPreviewInit() -onGameInit() + onGameInit() end function onGameInit() MapGen = mgDrawn TemplateFilter = 0 - for i = 200,2000,600 do - AddPoint(1,i,63) - AddPoint(4000,i) - end - + fillMap(false) side = 0 for i = 0,1+MapFeatureSize*2 do if side > 3 then diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Multiplayer/WxW.lua --- a/share/hedgewars/Data/Scripts/Multiplayer/WxW.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Multiplayer/WxW.lua Sun Jun 10 19:12:26 2018 +0200 @@ -859,7 +859,7 @@ toSpawn = maxCrates - cratesInGame end for i=1,toSpawn do - SpawnAmmoCrate(0, 0, weapons[1+GetRandom(#weapons)] ) + SpawnSupplyCrate(0, 0, weapons[1+GetRandom(#weapons)] ) end rPingTimer = 0 rAlpha = 0 diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/SimpleMission.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Scripts/SimpleMission.lua Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,873 @@ +--[=[ += Simple Mission Framework for Hedgewars = + +This is a simple library intended to make setting up simple missions an +easy task for Lua scripters. The entire game logic and coding is +abtracted away in a single function which you just need to feed +a large definition table in which you define gears, goals, etc. + +This is ideal for missions in which you set up the entire scenario +from the start and don't need any complex in-mission events. +BUT! This is NOT suited for missions with scripted events, cut-scenes, +branching story, etc. + +This library has the following features: +* Add teams, clans, hogs +* Spawn gears +* Sensible defaults for almost everything +* Set custom goals or use the default one (kill all enemies) +* Add non-goals to fail the mission +* Checks victory and failure automatically + +To use this library, you first have to load it and to call SimpleMission once with +the appropriate parameters. +See the comment of SimpleMission for a specification of all parameters. + +]=] + +HedgewarsScriptLoad("/Scripts/Locale.lua") +HedgewarsScriptLoad("/Scripts/Tracker.lua") + +--[[ +SimpleMission(params) + +This function sets up the *entire* mission and needs one argument: params. +The argument “params” is a table containing fields which describe the mission. + + Mandatory fields: + - teams: Table of teams. There must be 1-8 teams. + + Optional fields + - ammoConfig Table containing basic ammo values (default: infinite skip only) + - initVars Table where you set up environment parameters such as MinesNum. + - wind If set, the wind will permanently set to this value (-100..100). Implies gfDisableWind + - gears: Table of objects. + - girders Table of girders + - rubbers Table of rubbers + + AMMO + - ammoType ammo type + - delay delay (default: 0) + - numberInCrate ammo per crate (default: 1) + - count default starter ammo for everyone, 9 for infinite (default: 0) + - probability probability in crates (default: 0) + + TEAM DATA + - hogs table of hedgehogs in this team (must contain at least 1 hog) + - name team name + - clanID ID of the clan to which this team belongs to. Counting starts at 0. + By default, each team goes into its own clan. + Important: The clan of the player and allies MUST be 0. + Important: You MUST either set the clan ID explicitly for all teams or none of them. + - flag flag name (default: hedgewars) + - grave grave name (has default grave for each team) + - fort fort name (default: Castle) + + HEDGEHOG DATA: + - id optional identifier for goals + - name hog name + - x, y hog position (default: spawns randomly on land) + - botLevel 1-5: Bot level (lower=stronger). 0=human player (default: 0) + - hat hat name (default: NoHat) + - health hog health (default: 100) + - poisoned if true, hedgehog starts poisoned with 5 poison damage. Set to a number for other poison damage (default: false) + - frozen if true, hedgehogs starts frozen (default: false) + - faceLeft initial facing direction. true=left, false=false (default: false) + - ammo table of ammo types + + GEAR TYPES: + - type gear type + ALL types: + id optional identifier for goals + x x coordinate of starting position (default: 0) + y y coordinate of starting position (default: 0) + dx initial x speed (default: 0) + dy initial y speed (default: 0) + - type=gtMine Mine + timer Mine timer (only for non-duds). Default: MinesTime + isDud Whether the mine is a dud. default: false + isFrozen Whether the mine is frozen. If true, it implies being a dud as well. Default: false + health Initial health of dud mines. Has no effect if isDud=false. Default: 36 + - type=gtSMine Sticky mine + timer Timer. Default: 500 + - type=gtAirMine Air mine + timer Timer. Default: (MinesTime/1000 * 250) + - type=gtExplosives Barrel + health Initial health. Default: 60 + isFrozen Whether the barrel is frozen. Default: true with health > 60, false otherwise + isRolling Whether the barrel starts in “rolling” state. Default: false + - type=gtCase Crate + crateType "health": Health crate + "supply": Ammo or utility crate (select crate type automatically) + "supply_ammo_explicit": Ammo crate (not recommened) + "supply_utility_explicit": Utility crate (not recommededn) + ammoType Contained ammo (only for ammo and utility crates). + health Contained health (only for health crates). Default: HealthCaseAmount + isFrozen Whether the crate is frozen. Default: false + - type=gtKnife Cleaver + - type=gtTarget Target + + GOALS: + Note: If there are at least two opposing teams, a default goal is used, which is to defeat all the enemies of the + player's team. If this is what you want, you can skip this section. + + The default goal is overwritten as if customGoals has been set. Set customGoals and other related parameters for + defining your own special goals. In this case, the mission is won if all customGoals are completed. + Note the mission will always fail if the player's hedgehogs and all their allies have been defeated. + If there is only one team (for the player), there is no default goal and one must be set explicitly. + - customGoals Table of custom goals (see below). All of them must be met to win. Some goal types might fail, + rendering the mission unwinnable and leading to the loss of the mission. An example is + blowing up a crate which you should have collected.ed. + - customNonGoals Table of non-goals, the player loses if one of them is achieved + - customGoalCheck When to check goals and non-goals. Values: "instant" (default), "turnStart", "turnEnd" + + - missionTitle: The name of the mission (highly recommended) + - missionIcon: Icon of the mission panel, see documentation of ShowMission in the Lua API + - goalText: A short string explaining the goal of the mission (use this if you set custom goals). + + GOAL TYPES: + - type name of goal type + - failText Optional. For non-goals, this text will be shown in the stats if mission fails due to this non-goal + being completed. For goals which fail, this text will be displayed at failure. Note that + all normal goals have sensible default fail texts. + - type="destroy" Gear must be destroyed + - id Gear to destroy + - type="teamDefeat" Team must be defeated + - teamName Name of team to defeat + - type="collect" Crate must be collected + FAIL CONDITION: Crate taken by enemy, or destroyed + - id ID of crate gear to collect + - collectors Optional table of gear IDs, any one of which must collect the gear (but nobody else!). + By default, this is for the player's teams and allies. + - type="turns" Achieved when a number of turns has been played + - turns Number of played turns + - type="rounds" Achieved when a number of rounds has been played + - rounds Number of played rounds + - type="suddenDeath" Sudden Death has started + - type="inZone" A gear is within given coordinate bounds. Each of xMin, xMax, yMin and yMax is a sub-goal. + Each sub-goal is only checked if not nil. + You can use this to check if a gear left, right, above or below a given coordinate. + To check if the gear is within a rectangle, just set all 4 sub-goals. + FAIL CONDITION: Gear destroyed + - id Gear to watch + - xMin gear's X coordinate must be lower than this + - xMax gear's X coordinate must be higher than this + - yMin gear's Y coordinate must be lower than this + - yMax gear's Y coordinate must be higher than this + - type="distGearPos" Distance between a gear and a fixed position + FAIL CONDITION: Gear destroyed + - distance goal distance to compare to + - relationship "greaterThan" or "lowerThan" + - id gear to watch + - x x coordinate to reach + - y y coordinate to reach + - type="distGearGear" Distance between two gears + FAIL CONDITION: Any of both gears destroyed + - distance goal distance to compare to + - relationship "greaterThan" or "lowerThan" + - id1 first gear to compare + - id2 second gear to compare + - type="damage" Gear took damage or was destroyed + - id Gear to watch + - damage Minimum amount of damage to take at a single blow. Default: 1 + - canDestroy If false, this goal will fail if the gear was destroyed without taking the required damage + - type="drown" Gear has drowned + FAIL CONDITION: Gear destroyed by other means + - id Gear to watch + - type="poison" Gear must be poisoned + FAIL CONDITION: Gear destroyed + - id Gear to be poisoned + - type="cure" Gear must exist and be free from poisoning + FAIL CONDITION: Gear destroyed + - id Gear to check + - type="freeze" Gear must exist and be frozen + FAIL CONDITION: Gear destroyed + - id Gear to be frozen + - type="melt" Gear must exist and be unfrozen + FAIL CONDITION: Gear destroyed + - id Gear to check + - type="waterSkip" Gear must have skipped over water + FAIL CONDITION: Gear destroyed before it reached the required number of skips + - id + - skips Total number of water skips required at least (default: 1) + +]] + +local goals +local teamHogs = {} + +--[[ + HELPER VARIABLES +]] + +local defaultClanColors = { + [0] = 0xff0204, -- red + [1] = 0x4980c1, -- blue + [2] = 0x1de6ba, -- cyan + [3] = 0xb541ef, -- purple + [4] = 0xe55bb0, -- magenta + [5] = 0x20bf00, -- green + [6] = 0xfe8b0e, -- orange + [7] = 0x5f3605, -- brown + [8] = 0xffff01, -- yellow +} +local defaultGraves = { + "Grave", "Statue", "pyramid", "Simple", "skull", "Badger", "Duck2", "Flower" +} +local defaultFlags = { + "hedgewars", "cm_birdy", "cm_eyes", "cm_spider", "cm_kiwi", "cm_scout", "cm_skull", "cm_bars" +} + +-- Utility functions + +-- Returns value if it is non-nil, otherwise returns default +local function def(value, default) + if value == nil then + return default + else + return value + end +end + +-- Get hypotenuse of a triangle with legs x and y +local function hypot(x, y) + local t + x = math.abs(x) + y = math.abs(y) + t = math.min(x, y) + x = math.max(x, y) + if x == 0 then + return 0 + end + t = t / x + return x * math.sqrt(1 + t * t) +end + +local errord = false + +-- This function generates the mission. See above for the meaning of params. +function SimpleMission(params) + if params.missionTitle == nil then + params.missionTitle = loc("Scenario") + end + if params.missionIcon == nil then + params.missionIcon = 1 -- target icon + end + if params.goalText == nil then + params.goalText = loc("Eliminate the enemy.") + end + if params.customGoalCheck == nil and (params.customGoals ~= nil or params.customNonGoals ~= nil) then + params.customGoalCheck = "instant" + end + + _G.sm = {} + + _G.sm.isInSuddenDeath = false + + -- Number of completed turns + _G.sm.gameTurns = 0 + + _G.sm.goalGears = {} + + _G.sm.params = params + + _G.sm.gameEnded = false + + _G.sm.playerClan = 0 + + _G.sm.makeStats = function(winningClan, customAchievements) + for t=0, TeamsCount-1 do + local team = GetTeamName(t) + local stats = GetTeamStats(team) + local clan = GetTeamClan(team) + if clan == winningClan then + SendStat(siPlayerKills, stats.Kills, team) + end + end + for t=0, TeamsCount-1 do + local team = GetTeamName(t) + local stats = GetTeamStats(team) + local clan = GetTeamClan(team) + if clan ~= winningClan then + SendStat(siPlayerKills, stats.Kills, team) + end + end + if customAchievements ~= nil then + for a=1, #customAchievements do + SendStat(siCustomAchievement, customAchievements[a]) + end + end + end + + _G.sm.criticalGearFailText = function(gearSmid) + local gear = _G.sm.goalGears[gearSmid] + if GetGearType(gear) == gtHedgehog then + return string.format(loc("%s is dead, who was critical to this mission!"), GetHogName(gear)) + else + return loc("We have lost an object which was critical to this mission.") + end + end + + _G.sm.checkGoal = function(goal) + if goal.type == "destroy" then + return getGearValue(_G.sm.goalGears[goal.id], "sm_destroyed") + elseif goal.type == "collect" then + local collector = getGearValue(_G.sm.goalGears[goal.id], "sm_collected") + if collector then + if not goal.collectors then + if GetHogClan(collector) == _G.sm.playerClan then + return true + else + -- Fail if the crate was collected by enemy + return "fail", loc("The enemy has taken a crate which we really needed!") + end + else + for c=1, #goal.collectors do + if _G.sm.goalGears[goal.collectors[c]] == collector then + return true + end + end + -- Fail if the crate was collected by someone who was not supposed to get it + return "fail", loc("The wrong hedgehog has taken the crate.") + end + else + -- Fail goal if crate was destroyed + if getGearValue(_G.sm.goalGears[goal.id], "sm_destroyed") then + return "fail", loc("A crate critical to this mission has been destroyed.") + end + return false + end + elseif goal.type == "turns" then + return sm.gameTurns >= goal.turns + elseif goal.type == "rounds" then + return (TotalRounds) >= goal.rounds + elseif goal.type == "inZone" then + if getGearValue(_G.sm.goalGears[goal.id], "sm_destroyed") then + return "fail", criticalGearFailText(goal.id) + end + local gX, gY = GetGearPosition(_G.sm.goalGears[goal.id]) + -- 4 sub-goals, each optional + local g1 = (not goal.xMin) or gX >= goal.xMin + local g2 = (not goal.xMax) or gX <= goal.xMax + local g3 = (not goal.yMin) or gY >= goal.yMin + local g4 = (not goal.yMax) or gY <= goal.yMax + return g1 and g2 and g3 and g4 + elseif goal.type == "distGearPos" or goal.type == "distGearGear" then + local gX, tY, tX, tY + if goal.type == "distGearPos" then + if getGearValue(_G.sm.goalGears[goal.id], "sm_destroyed") then + -- Fail if gear was destroyed + return "fail", criticalGearFailText(goal.id) + end + gX, gY = GetGearPosition(_G.sm.goalGears[goal.id]) + tX, tY = goal.x, goal.y + elseif goal.type == "distGearGear" then + -- Fail if one of the gears was destroyed + if getGearValue(_G.sm.goalGears[goal.id1], "sm_destroyed") then + return "fail", criticalGearFailText(goal.id1) + elseif getGearValue(_G.sm.goalGears[goal.id2], "sm_destroyed") then + return "fail", criticalGearFailText(goal.id2) + end + gX, gY = GetGearPosition(_G.sm.goalGears[goal.id1]) + tX, tY = GetGearPosition(_G.sm.goalGears[goal.id2]) + end + + local h = hypot(gX - tX, gY - tY) + if goal.relationship == "smallerThan" then + return h < goal.distance + elseif goal.relationship == "greaterThan" then + return h > goal.distance + end + -- Invalid parameters! + error("SimpleMission: Invalid parameters for distGearPos/distGearGear!") + errord = true + return false + elseif goal.type == "suddenDeath" then + return sm.isInSuddenDeath + elseif goal.type == "damage" then + local damage = goal.damage or 1 + local gear = _G.sm.goalGears[goal.id] + local tookEnoughDamage = getGearValue(gear, "sm_maxDamage") >= damage + if getGearValue(gear, "sm_destroyed") then + -- Fail if gear was destroyed without taking enough damage first + if not tookEnoughDamage and goal.canDestroy == false then + if GetGearType(gear) == gtHedgehog then + return "fail", string.format(loc("%s has been killed before taking enough damage first."), GetHogName(gear)) + else + return "fail", loc("An object has been destroyed before it took enough damage.") + end + else + -- By default, succeed if gear was destroyed + return true + end + end + return tookEnoughDamage + elseif goal.type == "drown" then + local drowned = getGearValue(_G.sm.goalGears[goal.id], "sm_drowned") + -- Fail if gear was destroyed by something other than drowning + if not drowned and getGearValue(_G.sm.goalGears[goal.id], "sm_destroyed") then + return "fail", criticalGearFailText(goal.id) + end + return drowned + elseif goal.type == "poison" then + if getGearValue(_G.sm.goalGears[goal.id], "sm_destroyed") then + return "fail", criticalGearFailText(goal.id) + end + return GetEffect(_G.sm.goalGears[goal.id], hePoisoned) >= 1 + elseif goal.type == "freeze" then + if getGearValue(_G.sm.goalGears[goal.id], "sm_destroyed") then + return "fail", criticalGearFailText(goal.id) + end + return GetEffect(_G.sm.goalGears[goal.id], heFrozen) >= 256 + elseif goal.type == "cure" then + if getGearValue(_G.sm.goalGears[goal.id], "sm_destroyed") then + return "fail", criticalGearFailText(goal.id) + end + return GetEffect(_G.sm.goalGears[goal.id], hePoisoned) == 0 + elseif goal.type == "melt" then + if getGearValue(_G.sm.goalGears[goal.id], "sm_destroyed") then + return "fail", criticalGearFailText(goal.id) + end + return GetEffect(_G.sm.goalGears[goal.id], heFrozen) == 0 + elseif goal.type == "waterSkip" then + local skips = goal.skips or 1 + local hasEnoughSkips = getGearValue(_G.sm.goalGears[goal.id], "sm_waterSkips") >= skips + -- Fail if gear was destroyed before it got the required number of skips + if not hasEnoughSkips and getGearValue(_G.sm.goalGears[goal.id], "sm_destroyed") then + return "fail", criticalGearFailText(goal.id) + end + return hasEnoughSkips + elseif goal.type == "teamDefeat" then + return #teamHogs[goal.teamName] == 0 + else + return false + end + end + + --[[ Checks the custom goals. + Returns true when all custom goals are met. + Returns false when not all custom goals are met. + Returns "fail" if any of the goals has failed (i.e. is impossible to complete). + Returns nil when there are no custom goals ]] + _G.sm.checkGoals = function() + if params.customGoals ~= nil and #params.customGoals > 0 then + for key, goal in pairs(params.customGoals) do + local done, defaultFailText = _G.sm.checkGoal(goal) + if done == false or done == "fail" then + local failText + if goal.failText then + failText = goal.failText + else + failText = customFailText + end + return done, failText + end + end + return true + else + return nil + end + end + + --[[ Checks the custom non-goals. + Returns true when any non-goal is met. + Returns false otherwise. ]] + _G.sm.checkNonGoals = function() + if params.customNonGoals ~= nil and #params.customNonGoals > 0 then + for key, nonGoal in pairs(params.customNonGoals) do + local done = _G.sm.checkGoal(nonGoal) + if done == true then + return true, nonGoal.failText + end + end + end + return false + end + + -- Declare the game ended if all enemy teams are dead and player teams or allies are still alive + _G.sm.checkRegularVictory = function() + local victory = true + for t=0, TeamsCount-1 do + local team = GetTeamName(t) + local defeat = _G.sm.checkGoal({type="teamDefeat", teamName=team}) + if not defeat then + -- Deep check, also look at damage of all hogs + local dead = 0 + for h=1, #teamHogs[team] do + local _,_,_,_,_,_,_,_,_,_,_,Damage = GetGearValues(teamHogs[team][h]) + if Damage >= GetHealth(teamHogs[team][h]) then + dead = dead + 1 + end + end + if dead >= #teamHogs[team] then + defeat = true + end + end + if (defeat == true) and (GetTeamClan(team) == _G.sm.playerClan) then + victory = false + break + elseif (defeat == false) and (GetTeamClan(team) ~= _G.sm.playerClan) then + victory = false + break + end + end + if victory then + _G.sm.gameEnded = true + end + end + + -- Checks goals and non goals and wins or loses mission + _G.sm.checkWinOrFail = function() + if errord then + return + end + local nonGoalStatus, nonGoalFailText = _G.sm.checkNonGoals() + local goalStatus, goalFailText = _G.sm.checkGoals() + if nonGoalStatus == true then + _G.sm.lose(nonGoalFailText) + elseif goalStatus == "fail" then + _G.sm.lose(goalText) + elseif goalStatus == true then + _G.sm.win() + end + end + + _G.sm.win = function() + if not _G.sm.gameEnded then + _G.sm.gameEnded = true + AddCaption(loc("Victory!"), 0xFFFFFFFF, capgrpGameState) + SendStat(siGameResult, loc("You win!")) + if GetHogLevel(CurrentHedgehog) == 0 then + SetState(CurrentHedgehog, bor(GetState(CurrentHedgehog), gstWinner)) + SetState(CurrentHedgehog, band(GetState(CurrentHedgehog), bnot(gstHHDriven))) + PlaySound(sndVictory, CurrentHedgehog) + end + _G.sm.makeStats(_G.sm.playerClan) + EndGame() + end + end + + _G.sm.lose = function(failReason) + if not _G.sm.gameEnded then + _G.sm.gameEnded = true + AddCaption(loc("Scenario failed!"), 0xFFFFFFFF, capgrpGameState) + SendStat(siGameResult, loc("You lose!")) + if failReason then + SendStat(siCustomAchievement, failReason) + end + if GetHogLevel(CurrentHedgehog) == 0 then + SetState(CurrentHedgehog, bor(GetState(CurrentHedgehog), gstLoser)) + SetState(CurrentHedgehog, band(GetState(CurrentHedgehog), bnot(gstHHDriven))) + end + local clan = ClansCount-1 + for t=0, TeamsCount-1 do + local team = GetTeamName(t) + -- Just declare any living team other than the player team the winner + if (_G.sm.checkGoal({type="teamDefeat", teamName=team}) == false) and (GetTeamClan(team) ~= _G.sm.playerClan) then + clan = GetTeamClan(team) + break + end + end + _G.sm.makeStats(clan) + EndGame() + end + end + + _G.onSuddenDeath = function() + sm.isInSuddenDeath = true + end + + _G.onGearWaterSkip = function(gear) + increaseGearValue(gear, "sm_waterSkips") + end + + _G.onGearAdd = function(gear) + if GetGearType(gear) == gtHedgehog then + local team = GetHogTeamName(gear) + if teamHogs[team] == nil then + teamHogs[team] = {} + end + table.insert(teamHogs[GetHogTeamName(gear)], gear) + end + setGearValue(gear, "sm_waterSkips", 0) + setGearValue(gear, "sm_maxDamage", 0) + setGearValue(gear, "sm_drowned", false) + setGearValue(gear, "sm_destroyed", false) + end + + _G.onGearResurrect = function(gear) + if GetGearType(gear) == gtHedgehog then + table.insert(teamHogs[GetHogTeamName(gear)], gear) + end + setGearValue(gear, "sm_destroyed", false) + end + + _G.onGearDelete = function(gear) + if GetGearType(gear) == gtCase and band(GetGearMessage(gear), gmDestroy) ~= 0 then + -- Set ID of collector + setGearValue(gear, "sm_collected", CurrentHedgehog) + end + if GetGearType(gear) == gtHedgehog then + local team = GetHogTeamName(gear) + local hogList = teamHogs[team] + for h=1, #hogList do + if hogList[h] == gear then + table.remove(hogList, h) + break + end + end + end + if band(GetState(gear), gstDrowning) ~= 0 then + setGearValue(gear, "sm_drowned", true) + end + setGearValue(gear, "sm_destroyed", true) + end + + _G.onGearDamage = function(gear, damage) + local currentDamage = getGearValue(gear, "sm_maxDamage") + if damage > currentDamage then + setGearValue(gear, "sm_maxDamage", damage) + end + end + + _G.onGameInit = function() + CaseFreq = 0 + WaterRise = 0 + HealthDecrease = 0 + MinesNum = 0 + Explosives = 0 + + for initVarName, initVarValue in pairs(params.initVars) do + if initVarName == GameFlags then + EnableGameFlags(initVarValue) + else + _G[initVarName] = initVarValue + end + end + if #params.teams == 1 then + EnableGameFlags(gfOneClanMode) + end + if params.wind then + EnableGameFlags(gfDisableWind) + end + + local clanCounter = 0 + for teamID, teamData in pairs(params.teams) do + local name, clanID, grave, fort, voice, flag + name = def(teamData.name, string.format(loc("Team %d"), teamID)) + if teamData.clanID == nil then + clanID = clanCounter + clanCounter = clanCounter + 1 + else + clanID = teamData.clanID + end + grave = def(teamData.grave, defaultGraves[math.min(teamID, 8)]) + fort = def(teamData.fort, "Castle") + voice = def(teamData.voice, "Default") + flag = def(teamData.flag, defaultFlags[math.min(teamID, 8)]) + + AddTeam(name, defaultClanColors[clanID], grave, fort, voice, flag) + + for hogID, hogData in pairs(teamData.hogs) do + local name, botLevel, health, hat + name = def(hogData.name, string.format(loc("Hog %d"), hogID)) + botLevel = def(hogData.botLevel, 0) + health = def(hogData.health, 100) + hat = def(hogData.hat, "NoHat") + local hog = AddHog(name, botLevel, health, hat) + if hogData.x ~= nil and hogData.y ~= nil then + SetGearPosition(hog, hogData.x, hogData.y) + end + if hogData.faceLeft then + HogTurnLeft(hog, true) + end + if hogData.poisoned == true then + SetEffect(hog, hePoisoned, 5) + elseif type(hogData.poisoned) == "number" then + SetEffect(hog, hePoisoned, hogData.poisoned) + end + if hogData.frozen then + SetEffect(hog, heFrozen, 199999) + end + + if hog ~= nil and hogData.id ~= nil then + _G.sm.goalGears[hogData.id] = hog + setGearValue(hog, "sm_id", hogData.id) + end + + -- Remember this hedgehog's gear ID for later use + hogData.gearID = hog + end + end + end + + _G.onNewTurn = function() + _G.sm.gameStarted = true + + if params.customGoalCheck == "turnStart" then + _G.sm.checkRegularVictory() + _G.sm.checkWinOrFail() + end + end + + _G.onEndTurn = function() + _G.sm.gameTurns = _G.sm.gameTurns + 1 + + if params.customGoalCheck == "turnEnd" then + _G.sm.checkRegularVictory() + _G.sm.checkWinOrFail() + end + end + + _G.onAmmoStoreInit = function() + local ammoTypesDone = {} + -- Read script's stated ammo wishes + if params.ammoConfig ~= nil then + for ammoType, v in pairs(params.ammoConfig) do + SetAmmo(ammoType, def(v.count, 0), def(v.probability, 0), def(v.delay, 0), def(v.numberInCrate, 1)) + ammoTypesDone[ammoType] = true + end + end + -- Apply default values for all ammo types which have not been set + for a=0, AmmoTypeMax do + if a ~= amNothing and ammoTypesDone[a] ~= true then + local count = 0 + if a == amSkip then + count = 9 + end + SetAmmo(a, count, 0, 0, 1) + end + end + end + + _G.onGameStart = function() + -- Mention mines timer + if MinesTime ~= 3000 and MinesTime ~= nil then + if MinesTime < 0 then + params.goalText = params.goalText .. "|" .. loc("Mines time: 0s-5s") + elseif (MinesTime % 1000) == 0 then + params.goalText = params.goalText .. "|" .. string.format(loc("Mines time: %ds"), MinesTime/1000) + elseif (MinesTime % 100) == 0 then + params.goalText = params.goalText .. "|" .. string.format(loc("Mines time: %.1fs"), MinesTime/1000) + else + params.goalText = params.goalText .. "|" .. string.format(loc("Mines time: %.2fs"), MinesTime/1000) + end + end + if params.wind then + SetWind(params.wind) + end + ShowMission(params.missionTitle, loc("Scenario"), params.goalText, params.missionIcon, 5000) + + -- Spawn objects + + if params.gears ~= nil then + for listGearID, gv in pairs(params.gears) do + local timer, state, x, y, dx, dy + local g + state = 0 + if gv.type == gtMine then + if gv.isFrozen then + state = gstFrozen + end + g = AddGear(def(gv.x,0), def(gv.y,0), gv.type, state, def(gv.dx, 0), def(gv.dy, 0), def(gv.timer, MinesTime)) + if gv.isDud then + SetHealth(g, 0) + if gv.health ~= nil then + SetGearValues(g, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 36 - gv.health) + end + end + elseif gv.type == gtSMine then + g = AddGear(def(gv.x,0), def(gv.y,0), gv.type, 0, def(gv.dx,0), def(gv.dy,0), def(gv.timer, 500)) + elseif gv.type == gtAirMine then + if gv.isFrozen then + state = gstFrozen + end + local timer = def(gv.timer, div(MinesTime, 1000) * 250) + g = AddGear(def(gv.x,0), def(gv.y,0), gv.type, state, def(gv.dx,0), def(gv.dy,0), timer) + SetGearValues(g, nil, nil, timer) -- WDTimer + elseif gv.type == gtExplosives then + if gv.isRolling then + state = gsttmpFlag + end + g = AddGear(def(gv.x,0), def(gv.y,0), gv.type, state, def(gv.dx,0), def(gv.dy,0), 0) + if gv.health then + SetHealth(g, gv.health) + end + if gv.isFrozen ~= nil then + if gv.isFrozen == true then + SetState(g, bor(GetState(g, gstFrozen))) + end + elseif GetHealth(g) > 60 then + SetState(g, bor(GetState(g, gstFrozen))) + end + elseif gv.type == gtCase then + local x, y, spawnTrick + spawnTrick = false + x = def(gv.x, 0) + y = def(gv.y, 0) + if x==0 and y==0 then + x=1 + y=1 + spawnTrick = true + end + g = AddGear(x, y, gv.type, 0, def(gv.dx,0), def(gv.dy,0), 0) + if spawnTrick then + SetGearPosition(g, 0, 0) + end + if gv.crateType == "supply" then + g = SpawnSupplyCrate(def(gv.x, 0), def(gv.y, 0), gv.ammoType) + elseif gv.crateType == "supply_ammo_explicit" then + g = SpawnAmmoCrate(def(gv.x, 0), def(gv.y, 0), gv.ammoType) + elseif gv.crateType == "supply_utility_explicit" then + g = SpawnUtilityCrate(def(gv.x, 0), def(gv.y, 0), gv.ammoType) + elseif gv.crateType == "health" then + g = SpawnHealthCrate(def(gv.x, 0), def(gv.y, 0)) + if gv.health ~= nil then + SetHealth(g, gv.health) + end + end + if gv.isFrozen then + SetState(g, bor(GetState(g, gstFrozen))) + end + elseif gv.type == gtKnife or gv.type == gtTarget then + g = AddGear(def(gv.x,0), def(gv.y,0), gv.type, 0, def(gv.dx,0), def(gv.dy,0), 0) + end + if g ~= nil and gv.id ~= nil then + _G.sm.goalGears[gv.id] = g + setGearValue(g, "sm_id", gv.id) + end + end + end + + -- Spawn girders and rubbers + if params.girders ~= nil then + for i, girderData in pairs(params.girders) do + PlaceGirder(girderData.x, girderData.y, girderData.frameIdx) + end + end + if params.rubbers ~= nil then + for i, rubberData in pairs(params.rubbers) do + PlaceSprite(rubberData.x, rubberData.y, sprAmRubber, 0xFFFFFFFF, rubberData.frameIdx, false, false, false, lfBouncy) + end + end + + -- Per-hedgehog ammo loadouts + for teamID, teamData in pairs(params.teams) do + for hogID, hogData in pairs(teamData.hogs) do + if hogData.ammo ~= nil then + for ammoType, count in pairs(hogData.ammo) do + AddAmmo(hogData.gearID, ammoType, count) + end + end + end + end + end + + _G.onGameTick20 = function() + if params.customGoalCheck == "instant" then + _G.sm.checkWinOrFail() + end + end + +end + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/SpeedShoppa.lua --- a/share/hedgewars/Data/Scripts/SpeedShoppa.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/SpeedShoppa.lua Sun Jun 10 19:12:26 2018 +0200 @@ -117,6 +117,8 @@ _G.onGameStart = function() SendHealthStatsOff() ShowMission(params.missionTitle, loc("Challenge"), params.goalText, -amRope, 5000) + -- / + SetTeamLabel(params.teamName, string.format(loc("%d/%d"), cratesCollected, #crates)) for i=1,#crates do spawnCrate(crates[i].x, crates[i].y) end @@ -130,12 +132,14 @@ _G.onGearDelete = function(gear) if GetGearType(gear) == gtCase and not hogHurt and not timeOut then cratesCollected = cratesCollected + 1 + -- / + SetTeamLabel(params.teamName, string.format(loc("%d/%d"), cratesCollected, #crates)) PlaySound(sndShotgunReload) if cratesCollected == #crates then endTime = TurnTimeLeft finalize() else - AddCaption(string.format(loc("%d crate(s) remaining"), #crates - cratesCollected)) + AddCaption(string.format(loc("Crates left: %d"), #crates - cratesCollected)) end elseif gear == playerHog then finalize() @@ -162,6 +166,7 @@ if not gameEnded then if cratesCollected == #crates then PlaySound(sndVictory, playerHog) + SetEffect(playerHog, heInvulnerable, 1) SetState(playerHog, bor(GetState(playerHog), gstWinner)) SetState(playerHog, band(GetState(playerHog), bnot(gstHHDriven))) AddCaption(loc("Challenge completed!")) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/TargetPractice.lua --- a/share/hedgewars/Data/Scripts/TargetPractice.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/TargetPractice.lua Sun Jun 10 19:12:26 2018 +0200 @@ -33,6 +33,7 @@ time = , ammoType = , gearType = , + secondaryGearType = , targets = { { x = , y = }, { x = , y = }, @@ -64,6 +65,8 @@ local time_goal = 0 local total_targets local targets +local gearsInGameCount = 0 +local gearsInGame = {} --[[ TrainingMission(params) @@ -76,7 +79,7 @@ - theme: the name of the theme (does not need to be a standalone theme) - time: the time limit in milliseconds - ammoType: the ammo type of the weapon to be used - - gearType: the gear type of the gear which is fired (used to count shots) + - gearType: the gear type of the gear which is fired (used to count shots and re-center camera) - targets: The coordinates of where the targets will be spawned. It is a table containing tables containing coordinates of format { x=value, y=value }. The targets will be spawned in the same @@ -97,12 +100,19 @@ - teamName: name of the hedgehog’s team (default: "Training Team") - teamGrave: name of the hedgehog’s grave - teamFlag: name of the team’s flag (default: "cm_crosshair") + - secGearType: cluster of projectile gear (if present) (used to re-center camera) - clanColor: color of the (only) clan (default: 0xFF0204, which is a red tone) - goalText: A short string explaining the goal of the mission (default: "Destroy all targets within the time!") - shootText: A string which says how many times the player shot, “%d” is replaced by the number of shots. (default: "You have shot %d times.") ]] + + +local getTargetsScore = function() + return scored * math.ceil(6000/#targets) +end + function TargetPracticeMission(params) if params.hogHat == nil then params.hogHat = "NoHat" end if params.hogName == nil then params.hogName = loc("Trainee") end @@ -128,7 +138,8 @@ _G.onGameInit = function() Seed = 1 - GameFlags = gfDisableWind + gfInfAttack + gfOneClanMode + solid + artillery + ClearGameFlags() + EnableGameFlags(gfDisableWind, gfInfAttack, gfOneClanMode, solid, artillery) TurnTime = params.time Map = params.map Theme = params.theme @@ -151,6 +162,7 @@ _G.onGameStart = function() SendHealthStatsOff() ShowMission(params.missionTitle, loc("Aiming practice"), params.goalText, -params.ammoType, 5000) + SetTeamLabel(params.teamName, "0") spawnTarget() end @@ -192,19 +204,33 @@ else TurnTimeLeft = time_goal end - end_timer = end_timer - 20 + end_timer = end_timer - 20 + end + + for gear, _ in pairs(gearsInGame) do + if band(GetState(gear), gstDrowning) ~= 0 then + -- Re-center camera on hog if projectile gears drown + gearsInGame[gear] = nil + gearsInGameCount = gearsInGameCount - 1 + if gearsInGameCount == 0 and GetHealth(CurrentHedgehog) then + FollowGear(CurrentHedgehog) + end + end end end _G.onGearAdd = function(gear) - if GetGearType(gear) == params.gearType then + if GetGearType(gear) == params.gearType or (params.secGearType and GetGearType(gear) == params.secGearType) then shots = shots + 1 + gearsInGameCount = gearsInGameCount + 1 + gearsInGame[gear] = true end end _G.onGearDamage = function(gear, damage) if GetGearType(gear) == gtTarget then scored = scored + 1 + SetTeamLabel(params.teamName, tostring(getTargetsScore())) if scored < total_targets then AddCaption(string.format(loc("Targets left: %d"), (total_targets-scored)), 0xFFFFFFFF, capgrpMessage) spawnTarget() @@ -213,6 +239,7 @@ AddCaption(loc("You have destroyed all targets!"), 0xFFFFFFFF, capgrpGameState) ShowMission(params.missionTitle, loc("Aiming practice"), loc("Congratulations! You have destroyed all targets within the time."), 0, 0) PlaySound(sndVictory, player) + SetEffect(player, heInvulnerable, 1) SetState(player, bor(GetState(player), gstWinner)) time_goal = TurnTimeLeft -- Disable control @@ -243,17 +270,25 @@ if not success then WriteLnToConsole("ERROR: Failed to spawn girder under respawned target!") end + elseif gearsInGame[gear] then + gearsInGame[gear] = nil + gearsInGameCount = gearsInGameCount - 1 + if gearsInGameCount == 0 and GetHealth(CurrentHedgehog) then + -- Re-center camera to hog after all projectile gears were destroyed + FollowGear(CurrentHedgehog) + end end end _G.generateStats = function() local accuracy = (scored/shots)*100 - local end_score_targets = scored * math.ceil(6000/#targets) + local end_score_targets = getTargetsScore() local end_score_overall if not game_lost then local end_score_time = math.ceil(time_goal/(params.time/6000)) local end_score_accuracy = math.ceil(accuracy * 60) end_score_overall = end_score_time + end_score_targets + end_score_accuracy + SetTeamLabel(params.teamName, tostring(end_score_overall)) SendStat(siGameResult, loc("You have finished the target practice!")) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/TechMaps.lua --- a/share/hedgewars/Data/Scripts/TechMaps.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/TechMaps.lua Sun Jun 10 19:12:26 2018 +0200 @@ -12,6 +12,7 @@ HedgewarsScriptLoad("/Scripts/Tracker.lua") +HedgewarsScriptLoad("/Scripts/Utils.lua") techX = {} techY = {} @@ -92,11 +93,16 @@ return end + if MapGen == mgDrawn then + eraseMap(false) + else + MapGen = mgDrawn + end + if mapID == nil then mapID = 2 + GetRandom(7) end - MapGen = mgDrawn TemplateFilter = 0 for x = 1, 16 do @@ -1460,11 +1466,11 @@ LoadSprite(3514, 1750, sprAmGirder, 0) ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(1707, 1755, amBazooka) - tempG = SpawnAmmoCrate(3983, 1873, amBazooka) - tempG = SpawnAmmoCrate(184, 1561, amBazooka) - tempG = SpawnAmmoCrate(2644, 1378, amBazooka) - tempG = SpawnAmmoCrate(2914, 865, amBazooka) + tempG = SpawnSupplyCrate(1707, 1755, amBazooka) + tempG = SpawnSupplyCrate(3983, 1873, amBazooka) + tempG = SpawnSupplyCrate(184, 1561, amBazooka) + tempG = SpawnSupplyCrate(2644, 1378, amBazooka) + tempG = SpawnSupplyCrate(2914, 865, amBazooka) ------ MINE LIST ------ SetTimer(AddGear(2340, 580, gtMine, 0, 0, 0, 0), 1) @@ -1619,51 +1625,51 @@ AddWayPoint(2142, 1674) ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(324, 613, amFirePunch) + tempG = SpawnSupplyCrate(324, 613, amFirePunch) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amFirePunch") - tempG = SpawnAmmoCrate(2361, 1721, amBazooka) + tempG = SpawnSupplyCrate(2361, 1721, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(2430, 1721, amBazooka) + tempG = SpawnSupplyCrate(2430, 1721, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(2510, 1721, amBazooka) + tempG = SpawnSupplyCrate(2510, 1721, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(2581, 1721, amBazooka) + tempG = SpawnSupplyCrate(2581, 1721, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(405, 1839, amSineGun) + tempG = SpawnSupplyCrate(405, 1839, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amSineGun") - tempG = SpawnAmmoCrate(481, 1839, amSineGun) + tempG = SpawnSupplyCrate(481, 1839, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amSineGun") ------ UTILITY CRATE LIST ------ - tempG = SpawnUtilityCrate(696, 611, amParachute) + tempG = SpawnSupplyCrate(696, 611, amParachute) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amParachute") - tempG = SpawnUtilityCrate(825, 1664, amJetpack) + tempG = SpawnSupplyCrate(825, 1664, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(919, 1657, amJetpack) + tempG = SpawnSupplyCrate(919, 1657, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(1015, 1662, amJetpack) + tempG = SpawnSupplyCrate(1015, 1662, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(1095, 1654, amJetpack) + tempG = SpawnSupplyCrate(1095, 1654, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(1166, 1659, amJetpack) + tempG = SpawnSupplyCrate(1166, 1659, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(1250, 1650, amJetpack) + tempG = SpawnSupplyCrate(1250, 1650, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(1335, 1655, amJetpack) + tempG = SpawnSupplyCrate(1335, 1655, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") @@ -1754,22 +1760,22 @@ AddWayPoint(555, 864) ------ UTILITY CRATE LIST ------ - tempG = SpawnUtilityCrate(3801, 491, amJetpack) + tempG = SpawnSupplyCrate(3801, 491, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(3803, 460, amJetpack) + tempG = SpawnSupplyCrate(3803, 460, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(3799, 429, amJetpack) + tempG = SpawnSupplyCrate(3799, 429, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(3846, 491, amJetpack) + tempG = SpawnSupplyCrate(3846, 491, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(3845, 460, amJetpack) + tempG = SpawnSupplyCrate(3845, 460, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(3845, 429, amJetpack) + tempG = SpawnSupplyCrate(3845, 429, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") @@ -2139,57 +2145,57 @@ AddWayPoint(2592, 1334) ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(548, 1844, amBazooka) + tempG = SpawnSupplyCrate(548, 1844, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(595, 1844, amBazooka) + tempG = SpawnSupplyCrate(595, 1844, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(642, 1844, amBazooka) + tempG = SpawnSupplyCrate(642, 1844, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(1314, 1845, amBazooka) + tempG = SpawnSupplyCrate(1314, 1845, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(1362, 1845, amBazooka) + tempG = SpawnSupplyCrate(1362, 1845, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(1419, 1845, amBazooka) + tempG = SpawnSupplyCrate(1419, 1845, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(2208, 1853, amBazooka) + tempG = SpawnSupplyCrate(2208, 1853, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(2264, 1853, amBazooka) + tempG = SpawnSupplyCrate(2264, 1853, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(2318, 1853, amBazooka) + tempG = SpawnSupplyCrate(2318, 1853, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(3027, 1704, amBazooka) + tempG = SpawnSupplyCrate(3027, 1704, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(3072, 1704, amBazooka) + tempG = SpawnSupplyCrate(3072, 1704, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(1822, 1042, amBazooka) + tempG = SpawnSupplyCrate(1822, 1042, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") ------ UTILITY CRATE LIST ------ - tempG = SpawnUtilityCrate(313, 535, amRope) + tempG = SpawnSupplyCrate(313, 535, amRope) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amRope") - tempG = SpawnUtilityCrate(365, 535, amRope) + tempG = SpawnSupplyCrate(365, 535, amRope) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amRope") - tempG = SpawnUtilityCrate(313, 504, amRope) + tempG = SpawnSupplyCrate(313, 504, amRope) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amRope") - tempG = SpawnUtilityCrate(339, 478, amRope) + tempG = SpawnSupplyCrate(339, 478, amRope) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amRope") - tempG = SpawnUtilityCrate(365, 504, amRope) + tempG = SpawnSupplyCrate(365, 504, amRope) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amRope") @@ -2268,88 +2274,88 @@ AddWayPoint(3642, 1601) ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(397, 1295, amSineGun) + tempG = SpawnSupplyCrate(397, 1295, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(461, 1295, amSineGun) + tempG = SpawnSupplyCrate(461, 1295, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(555, 1295, amSineGun) + tempG = SpawnSupplyCrate(555, 1295, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(621, 1295, amSineGun) + tempG = SpawnSupplyCrate(621, 1295, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(759, 1867, amSineGun) + tempG = SpawnSupplyCrate(759, 1867, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(1504, 1862, amSineGun) + tempG = SpawnSupplyCrate(1504, 1862, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(2521, 528, amSineGun) + tempG = SpawnSupplyCrate(2521, 528, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(3639, 474, amSineGun) + tempG = SpawnSupplyCrate(3639, 474, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(3078, 809, amSineGun) + tempG = SpawnSupplyCrate(3078, 809, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(1752, 1192, amSineGun) + tempG = SpawnSupplyCrate(1752, 1192, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(2349, 1183, amSineGun) + tempG = SpawnSupplyCrate(2349, 1183, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(1582, 349, amSineGun) + tempG = SpawnSupplyCrate(1582, 349, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(3560, 1647, amSineGun) + tempG = SpawnSupplyCrate(3560, 1647, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(3711, 1644, amSineGun) + tempG = SpawnSupplyCrate(3711, 1644, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(433, 560, amSineGun) + tempG = SpawnSupplyCrate(433, 560, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(568, 559, amSineGun) + tempG = SpawnSupplyCrate(568, 559, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(1935, 1677, amSineGun) + tempG = SpawnSupplyCrate(1935, 1677, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(2084, 1673, amSineGun) + tempG = SpawnSupplyCrate(2084, 1673, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(1018, 1752, amSineGun) + tempG = SpawnSupplyCrate(1018, 1752, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(1086, 1752, amSineGun) + tempG = SpawnSupplyCrate(1086, 1752, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(1176, 1751, amSineGun) + tempG = SpawnSupplyCrate(1176, 1751, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(1238, 1751, amSineGun) + tempG = SpawnSupplyCrate(1238, 1751, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(2009, 1668, amSineGun) + tempG = SpawnSupplyCrate(2009, 1668, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(3641, 1639, amSineGun) + tempG = SpawnSupplyCrate(3641, 1639, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(3580, 469, amSineGun) + tempG = SpawnSupplyCrate(3580, 469, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(3700, 467, amSineGun) + tempG = SpawnSupplyCrate(3700, 467, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(2458, 523, amSineGun) + tempG = SpawnSupplyCrate(2458, 523, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") - tempG = SpawnAmmoCrate(2595, 521, amSineGun) + tempG = SpawnSupplyCrate(2595, 521, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents","amSineGun") @@ -2446,36 +2452,36 @@ ------ HEALTH CRATE LIST ------ ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(1943, 1978, amBazooka) + tempG = SpawnSupplyCrate(1943, 1978, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(2002, 1952, amSineGun) + tempG = SpawnSupplyCrate(2002, 1952, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amSineGun") - tempG = SpawnAmmoCrate(2002, 1890, amSineGun) + tempG = SpawnSupplyCrate(2002, 1890, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amSineGun") - tempG = SpawnAmmoCrate(2002, 1921, amSineGun) + tempG = SpawnSupplyCrate(2002, 1921, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amSineGun") - tempG = SpawnAmmoCrate(1998, 1859, amSineGun) + tempG = SpawnSupplyCrate(1998, 1859, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amSineGun") ------ UTILITY CRATE LIST ------ - tempG = SpawnUtilityCrate(368, 274, amPickHammer) + tempG = SpawnSupplyCrate(368, 274, amPickHammer) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amPickHammer") - tempG = SpawnUtilityCrate(526, 568, amExtraTime) + tempG = SpawnSupplyCrate(526, 568, amExtraTime) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amExtraTime") - tempG = SpawnUtilityCrate(474, 1014, amExtraTime) + tempG = SpawnSupplyCrate(474, 1014, amExtraTime) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amExtraTime") - tempG = SpawnUtilityCrate(906, 1955, amRope) + tempG = SpawnSupplyCrate(906, 1955, amRope) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amRope") - tempG = SpawnUtilityCrate(2127, 1529, amBlowTorch) + tempG = SpawnSupplyCrate(2127, 1529, amBlowTorch) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amBlowTorch") @@ -2584,30 +2590,30 @@ AddWayPoint(892, 1119) ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(1740, 1905, amBazooka) + tempG = SpawnSupplyCrate(1740, 1905, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(1780, 1905, amSineGun) + tempG = SpawnSupplyCrate(1780, 1905, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amSineGun") - tempG = SpawnAmmoCrate(1782, 1874, amSineGun) + tempG = SpawnSupplyCrate(1782, 1874, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amSineGun") - tempG = SpawnAmmoCrate(1782, 1843, amSineGun) + tempG = SpawnSupplyCrate(1782, 1843, amSineGun) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amSineGun") ------ UTILITY CRATE LIST ------ - tempG = SpawnUtilityCrate(368, 274, amPickHammer) + tempG = SpawnSupplyCrate(368, 274, amPickHammer) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amPickHammer") - tempG = SpawnUtilityCrate(526, 568, amExtraTime) + tempG = SpawnSupplyCrate(526, 568, amExtraTime) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amExtraTime") - tempG = SpawnUtilityCrate(474, 1014, amExtraTime) + tempG = SpawnSupplyCrate(474, 1014, amExtraTime) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amExtraTime") - tempG = SpawnUtilityCrate(906, 1955, amRope) + tempG = SpawnSupplyCrate(906, 1955, amRope) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amRope") @@ -2794,36 +2800,36 @@ AddWayPoint(1379, 1192) ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(1757, 706, amBazooka) + tempG = SpawnSupplyCrate(1757, 706, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(1838, 706, amBazooka) + tempG = SpawnSupplyCrate(1838, 706, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(1319, 926, amBazooka) + tempG = SpawnSupplyCrate(1319, 926, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(1389, 926, amBazooka) + tempG = SpawnSupplyCrate(1389, 926, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(3184, 839, amBazooka) + tempG = SpawnSupplyCrate(3184, 839, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(3185, 808, amBazooka) + tempG = SpawnSupplyCrate(3185, 808, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") ------ UTILITY CRATE LIST ------ - tempG = SpawnUtilityCrate(3677, 412, amJetpack) + tempG = SpawnSupplyCrate(3677, 412, amJetpack) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amJetpack") - tempG = SpawnUtilityCrate(3079, 1007, amExtraTime) + tempG = SpawnSupplyCrate(3079, 1007, amExtraTime) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amExtraTime") - tempG = SpawnUtilityCrate(3138, 1007, amExtraTime) + tempG = SpawnSupplyCrate(3138, 1007, amExtraTime) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amExtraTime") - tempG = SpawnUtilityCrate(420, 929, amExtraTime) + tempG = SpawnSupplyCrate(420, 929, amExtraTime) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amExtraTime") @@ -3445,36 +3451,36 @@ AddWayPoint(4075, 1887) ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(889, 1126, amBaseballBat) - tempG = SpawnAmmoCrate(1211, 975, amSineGun) - tempG = SpawnAmmoCrate(3619, 451, amFirePunch) + tempG = SpawnSupplyCrate(889, 1126, amBaseballBat) + tempG = SpawnSupplyCrate(1211, 975, amSineGun) + tempG = SpawnSupplyCrate(3619, 451, amFirePunch) ------ UTILITY CRATE LIST ------ - tempG = SpawnUtilityCrate(304, 1594, amRope) - tempG = SpawnUtilityCrate(1538, 1987, amJetpack) - tempG = SpawnUtilityCrate(1958, 2000, amExtraTime) - tempG = SpawnUtilityCrate(2744, 1923, amJetpack) - tempG = SpawnUtilityCrate(3283, 1363, amParachute) - tempG = SpawnUtilityCrate(2749, 1812, amRope) - tempG = SpawnUtilityCrate(970, 779, amJetpack) + tempG = SpawnSupplyCrate(304, 1594, amRope) + tempG = SpawnSupplyCrate(1538, 1987, amJetpack) + tempG = SpawnSupplyCrate(1958, 2000, amExtraTime) + tempG = SpawnSupplyCrate(2744, 1923, amJetpack) + tempG = SpawnSupplyCrate(3283, 1363, amParachute) + tempG = SpawnSupplyCrate(2749, 1812, amRope) + tempG = SpawnSupplyCrate(970, 779, amJetpack) - tempG = SpawnUtilityCrate(3284, 1332, amExtraTime) - tempG = SpawnUtilityCrate(1082, 975, amBlowTorch) - tempG = SpawnUtilityCrate(1547, 981, amJetpack) - tempG = SpawnUtilityCrate(1707, 397, amRope) - tempG = SpawnUtilityCrate(2309, 649, amExtraTime) - tempG = SpawnUtilityCrate(1116, 867, amExtraTime) + tempG = SpawnSupplyCrate(3284, 1332, amExtraTime) + tempG = SpawnSupplyCrate(1082, 975, amBlowTorch) + tempG = SpawnSupplyCrate(1547, 981, amJetpack) + tempG = SpawnSupplyCrate(1707, 397, amRope) + tempG = SpawnSupplyCrate(2309, 649, amExtraTime) + tempG = SpawnSupplyCrate(1116, 867, amExtraTime) ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(2559, 880, amBazooka) - tempG = SpawnAmmoCrate(2630, 880, amBazooka) - tempG = SpawnAmmoCrate(1951, 1406, amGrenade) + tempG = SpawnSupplyCrate(2559, 880, amBazooka) + tempG = SpawnSupplyCrate(2630, 880, amBazooka) + tempG = SpawnSupplyCrate(1951, 1406, amGrenade) ------ UTILITY CRATE LIST ------ - tempG = SpawnUtilityCrate(3536, 320, amBlowTorch) - tempG = SpawnUtilityCrate(3582, 1994, amJetpack) - tempG = SpawnUtilityCrate(682, 349, amExtraTime) - tempG = SpawnUtilityCrate(2842, 633, amExtraTime) + tempG = SpawnSupplyCrate(3536, 320, amBlowTorch) + tempG = SpawnSupplyCrate(3582, 1994, amJetpack) + tempG = SpawnSupplyCrate(682, 349, amExtraTime) + tempG = SpawnSupplyCrate(2842, 633, amExtraTime) ------ BARREL LIST ------ SetHealth(AddGear(506, 1034, gtExplosives, 0, 0, 0, 0), 1) @@ -3654,18 +3660,18 @@ SetHealth(SpawnHealthCrate(694, 553), 25) ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(463, 461, amBazooka) + tempG = SpawnSupplyCrate(463, 461, amBazooka) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amBazooka") - tempG = SpawnAmmoCrate(579, 461, amWatermelon) + tempG = SpawnSupplyCrate(579, 461, amWatermelon) setGearValue(tempG,"caseType", "ammo") setGearValue(tempG,"contents", "amWatermelon") ------ UTILITY CRATE LIST ------ - tempG = SpawnUtilityCrate(367, 500, amBlowTorch) + tempG = SpawnSupplyCrate(367, 500, amBlowTorch) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amBlowTorch") - tempG = SpawnUtilityCrate(638, 493, amExtraTime) + tempG = SpawnSupplyCrate(638, 493, amExtraTime) setGearValue(tempG,"caseType", "util") setGearValue(tempG,"contents", "amExtraTime") @@ -3712,24 +3718,24 @@ LoadSprite(3629, 413, sprAmGirder, 5, 4294967295, nil, nil, nil, lfNormal) ------ AMMO CRATE LIST ------ - tempG = SpawnAmmoCrate(3772, 446, amWatermelon) - tempG = SpawnAmmoCrate(3769, 415, amWatermelon) - tempG = SpawnAmmoCrate(3773, 384, amWatermelon) - tempG = SpawnAmmoCrate(3771, 353, amWatermelon) - tempG = SpawnAmmoCrate(3770, 322, amWatermelon) - tempG = SpawnAmmoCrate(3775, 291, amWatermelon) - tempG = SpawnAmmoCrate(3776, 260, amWatermelon) - tempG = SpawnAmmoCrate(3775, 229, amWatermelon) - tempG = SpawnAmmoCrate(3772, 198, amWatermelon) - tempG = SpawnAmmoCrate(3776, 167, amWatermelon) + tempG = SpawnSupplyCrate(3772, 446, amWatermelon) + tempG = SpawnSupplyCrate(3769, 415, amWatermelon) + tempG = SpawnSupplyCrate(3773, 384, amWatermelon) + tempG = SpawnSupplyCrate(3771, 353, amWatermelon) + tempG = SpawnSupplyCrate(3770, 322, amWatermelon) + tempG = SpawnSupplyCrate(3775, 291, amWatermelon) + tempG = SpawnSupplyCrate(3776, 260, amWatermelon) + tempG = SpawnSupplyCrate(3775, 229, amWatermelon) + tempG = SpawnSupplyCrate(3772, 198, amWatermelon) + tempG = SpawnSupplyCrate(3776, 167, amWatermelon) ------ UTILITY CRATE LIST ------ - tempG = SpawnUtilityCrate(3723, 446, amJetpack) - tempG = SpawnUtilityCrate(3725, 415, amJetpack) - tempG = SpawnUtilityCrate(3814, 446, amJetpack) - tempG = SpawnUtilityCrate(3814, 415, amJetpack) - tempG = SpawnUtilityCrate(3815, 384, amJetpack) - tempG = SpawnUtilityCrate(3728, 384, amJetpack) + tempG = SpawnSupplyCrate(3723, 446, amJetpack) + tempG = SpawnSupplyCrate(3725, 415, amJetpack) + tempG = SpawnSupplyCrate(3814, 446, amJetpack) + tempG = SpawnSupplyCrate(3814, 415, amJetpack) + tempG = SpawnSupplyCrate(3815, 384, amJetpack) + tempG = SpawnSupplyCrate(3728, 384, amJetpack) ------ AIR MINE LIST ------ SetTimer(AddGear(3489, 110, gtAirMine, 0, 0, 0, 0), 1) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Scripts/Utils.lua --- a/share/hedgewars/Data/Scripts/Utils.lua Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Scripts/Utils.lua Sun Jun 10 19:12:26 2018 +0200 @@ -20,3 +20,27 @@ end return false end + +local function drawFullMap(erase, flush) + for x = 200,4000,600 do + for y = 100,2000,150 do + AddPoint(x, y, 63, erase) + end + end + if flush ~= false then + FlushPoints() + end +end + +-- Completely fill the map with land. Requires MapGen=mgDrawn. +-- If flush is false, FlushPoints() is not called. +function fillMap(flush) + drawFullMap(false, flush) +end + +-- Completely erase all land from drawn maps. Requires MapGen=mgDrawn. +-- If flush is false, FlushPoints() is not called. +function eraseMap(flush) + drawFullMap(true, flush) +end + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Shaders/default.fs --- a/share/hedgewars/Data/Shaders/default.fs Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Shaders/default.fs Sun Jun 10 19:12:26 2018 +0200 @@ -1,7 +1,10 @@ +#ifdef GL_ES precision mediump float; +#endif uniform sampler2D tex0; uniform vec4 tint; +uniform bool tintAdd; uniform bool enableTexture; varying vec2 tex; @@ -10,7 +13,12 @@ void main() { if(enableTexture){ - gl_FragColor = texture2D(tex0, tex) * tint; + if (tintAdd){ + tint.a = 0.0; + gl_FragColor = clamp(texture2D(tex0, tex) + tint, 0.0, 1.1); + }else{ + gl_FragColor = texture2D(tex0, tex) * tint; + } }else{ gl_FragColor = tint; } diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Shaders/default.vs --- a/share/hedgewars/Data/Shaders/default.vs Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Shaders/default.vs Sun Jun 10 19:12:26 2018 +0200 @@ -1,4 +1,6 @@ +#ifdef GL_ES precision mediump float; +#endif attribute vec2 vertex; attribute vec2 texcoord; diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Shaders/water.fs --- a/share/hedgewars/Data/Shaders/water.fs Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Shaders/water.fs Sun Jun 10 19:12:26 2018 +0200 @@ -1,4 +1,6 @@ +#ifdef GL_ES precision mediump float; +#endif varying vec4 vcolor; diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Shaders/water.vs --- a/share/hedgewars/Data/Shaders/water.vs Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Shaders/water.vs Sun Jun 10 19:12:26 2018 +0200 @@ -1,4 +1,6 @@ +#ifdef GL_ES precision mediump float; +#endif attribute vec2 vertex; attribute vec4 color; diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/minigun.ogg Binary file share/hedgewars/Data/Sounds/minigun.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/CMakeLists.txt --- a/share/hedgewars/Data/Sounds/voices/CMakeLists.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Sounds/voices/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,7 @@ Classic Default Default_es + Default_pl Default_ru Default_uk HillBilly @@ -10,6 +11,7 @@ Pirate Robot Russian + Russian_pl Singer Surfer ) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Boring.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Boring.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Byebye.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Byebye.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/CMakeLists.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Sounds/voices/Default_pl/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,42 @@ +file(GLOB VoiceSounds +Boring.ogg +Byebye.ogg +Comeonthen.ogg +Coward.ogg +Enemydown.ogg +Firstblood.ogg +Firepunch*.ogg +Flawless.ogg +Hello.ogg +Hurry.ogg +Illgetyou.ogg +Incoming.ogg +Jump*.ogg +Justyouwait.ogg +Kamikaze.ogg +Laugh.ogg +Melon.ogg +Missed.ogg +Nooo.ogg +Nutter.ogg +Ooff*.ogg +Oops.ogg +Ow*.ogg +PoisonCough.ogg +PoisonMoan.ogg +Reinforcements.ogg +Sameteam.ogg +Stupid.ogg +Takecover.ogg +Traitor.ogg +Uh-oh.ogg +Victory.ogg +Watchit.ogg +Yessir.ogg +Youllregretthat.ogg +) + +install(FILES +${VoiceSounds} + DESTINATION + ${SHAREPATH}Data/Sounds/voices/Default_pl) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Comeonthen.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Comeonthen.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Coward.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Coward.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Enemydown.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Enemydown.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch1.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch1.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch2.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch2.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch3.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch3.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch4.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch4.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch5.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch5.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch6.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Firepunch6.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Firstblood.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Firstblood.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Flawless.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Flawless.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Hello.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Hello.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Hurry.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Hurry.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Illgetyou.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Illgetyou.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Incoming.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Incoming.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Jump1.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Jump1.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Jump2.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Jump2.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Jump3.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Jump3.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Justyouwait.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Justyouwait.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Kamikaze.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Kamikaze.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Laugh.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Laugh.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Melon.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Melon.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Missed.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Missed.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Nooo.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Nooo.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Nutter.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Nutter.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Ooff1.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Ooff1.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Ooff2.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Ooff2.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Ooff3.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Ooff3.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Oops.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Oops.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Ow1.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Ow1.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Ow2.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Ow2.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Ow3.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Ow3.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Ow4.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Ow4.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/PoisonCough.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/PoisonCough.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/PoisonMoan.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/PoisonMoan.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Reinforcements.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Reinforcements.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Sameteam.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Sameteam.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Stupid.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Stupid.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Takecover.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Takecover.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Traitor.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Traitor.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Uh-oh.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Uh-oh.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Victory.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Victory.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Watchit.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Watchit.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Yessir.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Yessir.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/Youllregretthat.ogg Binary file share/hedgewars/Data/Sounds/voices/Default_pl/Youllregretthat.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Default_pl/credits.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Sounds/voices/Default_pl/credits.txt Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,4 @@ +Default_pl Hedgewars Voice Set 29-Jan-2018 +Prepared by: MTG90PL (mtg90pl@gmail.com) +Recorded using RODE NT-USB Microphone +Recorded and edited with AudaCity 2.2.1 diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Boring.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Boring.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Byebye.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Byebye.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/CMakeLists.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Sounds/voices/Russian_pl/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,41 @@ +file(GLOB VoiceSounds +Boring.ogg +Byebye.ogg +Comeonthen.ogg +Coward.ogg +Enemydown.ogg +Firstblood.ogg +Firepunch*.ogg +Flawless.ogg +Hello.ogg +Hurry.ogg +Illgetyou.ogg +Incoming.ogg +Jump*.ogg +Justyouwait.ogg +Kamikaze.ogg +Laugh.ogg +Melon.ogg +Missed.ogg +Nooo.ogg +Nutter.ogg +Ooff*.ogg +Oops.ogg +Ow*.ogg +PoisonCough.ogg +PoisonMoan.ogg +Reinforcements.ogg +Sameteam.ogg +Stupid.ogg +Takecover.ogg +Traitor.ogg +Uh-oh.ogg +Victory.ogg +Watchit.ogg +Yessir.ogg +Youllregretthat.ogg +) + +install(FILES + ${VoiceSounds} + DESTINATION ${SHAREPATH}Data/Sounds/voices/Russian_pl) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Comeonthen.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Comeonthen.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Coward.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Coward.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Enemydown.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Enemydown.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch1.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch1.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch2.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch2.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch3.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch3.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch4.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch4.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch5.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch5.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch6.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Firepunch6.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Firstblood.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Firstblood.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Flawless.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Flawless.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Hello.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Hello.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Hurry.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Hurry.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Illgetyou.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Illgetyou.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Incoming.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Incoming.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Jump1.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Jump1.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Jump2.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Jump2.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Jump3.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Jump3.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Justyouwait.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Justyouwait.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Kamikaze.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Kamikaze.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Laugh.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Laugh.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Melon.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Melon.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Missed.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Missed.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Nooo.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Nooo.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Nutter.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Nutter.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Ooff1.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Ooff1.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Ooff2.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Ooff2.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Ooff3.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Ooff3.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Oops.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Oops.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Ow1.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Ow1.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Ow2.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Ow2.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Ow3.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Ow3.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Ow4.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Ow4.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/PoisonCough.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/PoisonCough.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/PoisonMoan.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/PoisonMoan.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Reinforcements.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Reinforcements.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Sameteam.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Sameteam.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Stupid.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Stupid.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Takecover.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Takecover.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Traitor.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Traitor.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Uh-oh.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Uh-oh.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Victory.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Victory.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Watchit.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Watchit.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Yessir.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Yessir.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/Youllregretthat.ogg Binary file share/hedgewars/Data/Sounds/voices/Russian_pl/Youllregretthat.ogg has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Sounds/voices/Russian_pl/credits.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Sounds/voices/Russian_pl/credits.txt Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,4 @@ +Russian_pl Hedgewars Voice Set 24-Feb-2018 +Prepared by: MTG90PL (mtg90pl@gmail.com) +Recorded using RODE NT-USB Microphone +Recorded and edited with AudaCity 2.2.1 \ No newline at end of file diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Art/SDDroplet.png Binary file share/hedgewars/Data/Themes/Art/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Art/SDFlake.png Binary file share/hedgewars/Data/Themes/Art/SDFlake.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Art/SDSplash.png Binary file share/hedgewars/Data/Themes/Art/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Art/SDWater.png Binary file share/hedgewars/Data/Themes/Art/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Art/theme.cfg --- a/share/hedgewars/Data/Themes/Art/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Art/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -3,7 +3,12 @@ water-top = $01, $3b, $66 water-bottom = $01, $3b, $66 water-opacity = $80 +sd-water-top = $8d, $01, $71 +sd-water-bottom = $8d, $01, $71 +sd-water-opacity = $80 +sd-tint = $f0, $00, $82, $ff music = Art.ogg +sd-flakes = 35, 8, 0, 75, 200 clouds = 0 object = Soup, 3, 3, 220, 130, 18, 1, 0, 0, 142, 150 object = Mona, 2, 0, 190, 191, 8, 1, 0, 0, 191, 150 diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Bamboo/theme.cfg --- a/share/hedgewars/Data/Themes/Bamboo/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Bamboo/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -7,3 +7,4 @@ object = Bamboo2, 3, 65, 258, 80, 2, 1, 0, 0, 240, 215 object = Bamboo3, 3, 65, 258, 80, 2, 1, 0, 0, 240, 215 flakes = 100, 1, 1000, 50, 50 +sd-tint = $ff, $82, $82, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Bath/SDClouds.png Binary file share/hedgewars/Data/Themes/Bath/SDClouds.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Bath/SDFlake.png Binary file share/hedgewars/Data/Themes/Bath/SDFlake.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Bath/theme.cfg --- a/share/hedgewars/Data/Themes/Bath/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Bath/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -9,3 +9,5 @@ object = Duck2, 3, 50, 94, 16, 4, 1, 5, 15, 101, 72 object = Bubble, 3, 37, 78, 3, 2, 1, 0, 0, 77, 44 flakes = 100, 1, 0, 0, 10 +sd-flakes = 100, 3, 0, 11, 90 +sd-tint = $ff, $e2, $ff, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Beach/Boat.png Binary file share/hedgewars/Data/Themes/Beach/Boat.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Beach/Boat.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Beach/Boat.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Beach/LandObject3_mask.png Binary file share/hedgewars/Data/Themes/Beach/LandObject3_mask.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Beach/Pier.png Binary file share/hedgewars/Data/Themes/Beach/Pier.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Beach/kite.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Beach/kite.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Beach/kite_base.png Binary file share/hedgewars/Data/Themes/Beach/kite_base.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Beach/kite_overlay.png Binary file share/hedgewars/Data/Themes/Beach/kite_overlay.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Beach/pier.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Beach/pier.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Beach/theme.cfg --- a/share/hedgewars/Data/Themes/Beach/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Beach/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -10,6 +10,7 @@ spray = Shell, 1 spray = SprayObject29, 1 spray = SprayObject36, 1 +object = Pier, 1, 2, 0, 0, 0, 0, 320, 30, 1, 40, 1, 0, 0, 200, 140 object = Object, 1, 136, 230, 22, 17, 3, 202, 220, 1, 1, 125, 139, 23, 41, 45, 40, 95, 82 object = BeachBall, 1, 50, 140, 50, 10, 1, 20, 20, 110, 110 object = LandObject3, 1, 29, 126, 141, 10, 1, 16, 1, 160, 107 @@ -17,3 +18,9 @@ object = LandObject4, 1, 7, 10, 52, 15, 1, 17, 65, 55, 51 object = LandObject5, 1, 3, 0, 47, 13, 1, 0, 35, 27, 98 object = Surfboard, 1, 120, 250, 40, 7, 1, 15, 6, 120, 200 +object = Boat, 1, 0, 0, 0, 0, 1, 0, 50, 172, 80 +anchors = Boat, 2, 280, 50, 4, 4, -100, 50, 4, 4 +object = kite_base, 1, 1, 86, 300, 20, 6, 1, 2, 338, 64, 34 +overlays = kite_base, 1, 0, 0, kite_overlay +sd-tint = $93, $6f, $54, $ff + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Blox/icon.png Binary file share/hedgewars/Data/Themes/Blox/icon.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Blox/icon@2x.png Binary file share/hedgewars/Data/Themes/Blox/icon@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Blox/theme.cfg --- a/share/hedgewars/Data/Themes/Blox/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Blox/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -1,5 +1,7 @@ +hidden = true sky = 179, 243, 243 border = 128, 128, 128 music = Nature.ogg clouds = 0 flakes = 0, 0, 0, 0, 0 +sd-tint = $a5, $5d, $92, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Brick/SDDroplet.png Binary file share/hedgewars/Data/Themes/Brick/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Brick/SDSplash.png Binary file share/hedgewars/Data/Themes/Brick/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Brick/SDWater.png Binary file share/hedgewars/Data/Themes/Brick/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Brick/theme.cfg --- a/share/hedgewars/Data/Themes/Brick/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Brick/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,9 @@ water-top = $51, $5B, $60 water-bottom = $22, $2F, $36 water-opacity = $80 +sd-water-top = $38, $31, $2e +sd-water-bottom = $20, $1f, $1f +sd-water-opacity = $90 music = Brick.ogg clouds = 9 object = plant1, 1, 83, 215, 92, 35, 1, 0, 0, 250, 190 @@ -19,3 +22,4 @@ spray = spray3, 2 ;Should this theme have flakes? they where disabled flakes = 2, 0, 0, 15, 3000 +sd-tint = $9d, $37, $60, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Castle/SDClouds.png Binary file share/hedgewars/Data/Themes/Castle/SDClouds.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Castle/SDDroplet.png Binary file share/hedgewars/Data/Themes/Castle/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Castle/SDSplash.png Binary file share/hedgewars/Data/Themes/Castle/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Castle/SDWater.png Binary file share/hedgewars/Data/Themes/Castle/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Castle/theme.cfg --- a/share/hedgewars/Data/Themes/Castle/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Castle/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -3,8 +3,12 @@ water-top = 81, 91, 96 water-bottom = 81, 91, 96 water-opacity = $80 +sd-water-top = $15, $17, $18 +sd-water-bottom = $15, $17, $18 +sd-water-opacity = $80 music = Castle.ogg clouds = 5 +sd-clouds = 20 object = Spear, 3, 65, 258, 175, 2, 1, 0, 0, 240, 215 object = Shield, 3, 0, 165, 163, 2, 1, 0, 0, 163, 140 object = Sword, 3, 240, 22, 17, 43, 1, 8, 21, 227, 80 diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/City/theme.cfg --- a/share/hedgewars/Data/Themes/City/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/City/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -10,3 +10,4 @@ object = plant3, 3, 45, 0, 14, 1, 1, 23, 9, 54, 57 object = plant4, 3, 99, 8, 1, 38, 1, 42, 7, 42, 103 flakes = 1500, 0, 0, 0, 2000 +sd-tint = $97, $46, $46, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Compost/SDClouds.png Binary file share/hedgewars/Data/Themes/Compost/SDClouds.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Compost/SDDroplet.png Binary file share/hedgewars/Data/Themes/Compost/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Compost/SDDroplet.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Compost/SDDroplet.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,51 @@ + + + + + + image/svg+xml + + + + + Carlos Vives B. + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Compost/SDSplash.png Binary file share/hedgewars/Data/Themes/Compost/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Compost/SDWater.png Binary file share/hedgewars/Data/Themes/Compost/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Compost/SDWater.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Compost/SDWater.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,87 @@ + + + + + + image/svg+xml + + + + + + Carlos Vives B. + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Compost/theme.cfg --- a/share/hedgewars/Data/Themes/Compost/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Compost/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,9 @@ water-top = $41, $23, $12 water-bottom = $33, $21, $9 water-opacity = $FF +sd-water-top = $2F, $19, $0D +sd-water-bottom = $10, $02, $04 +sd-water-opacity = $FF music = Compost.ogg clouds = 16 object = Eggshell1, 3, 48, 92, 78, 37, 1, 0, 0, 125, 47 @@ -18,3 +21,4 @@ spray = Carrot3, 1 spray = Carrot4, 1 flakes = 100, 1, 130, 0, 5 +sd-tint = $cd, $85, $88, $FF diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/CrazyMission/Border.png Binary file share/hedgewars/Data/Themes/CrazyMission/Border.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/CrazyMission/LandTex.png Binary file share/hedgewars/Data/Themes/CrazyMission/LandTex.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/CrazyMission/icon.png Binary file share/hedgewars/Data/Themes/CrazyMission/icon.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/CrazyMission/icon@2x.png Binary file share/hedgewars/Data/Themes/CrazyMission/icon@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/CrazyMission/theme.cfg --- a/share/hedgewars/Data/Themes/CrazyMission/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/CrazyMission/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -1,3 +1,4 @@ +hidden = true sky = 20, 23, 24 border = 20, 23, 24 water-top = 21, 57, 76 @@ -5,3 +6,4 @@ water-opacity = $80 music = snow.ogg clouds = 4 +sd-tint = $9a, $72, $72, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Deepspace/LandTex.png Binary file share/hedgewars/Data/Themes/Deepspace/LandTex.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Deepspace/SDDroplet.png Binary file share/hedgewars/Data/Themes/Deepspace/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Deepspace/SDFlake.png Binary file share/hedgewars/Data/Themes/Deepspace/SDFlake.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Deepspace/SDSplash.png Binary file share/hedgewars/Data/Themes/Deepspace/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Deepspace/SDWater.png Binary file share/hedgewars/Data/Themes/Deepspace/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Deepspace/icon.png Binary file share/hedgewars/Data/Themes/Deepspace/icon.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Deepspace/icon@2x.png Binary file share/hedgewars/Data/Themes/Deepspace/icon@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Deepspace/theme.cfg --- a/share/hedgewars/Data/Themes/Deepspace/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Deepspace/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -1,9 +1,14 @@ +hidden = true sky = 0, 0, 0 border = 175, 177, 75 water-top = $2B, $2B, $2B water-bottom = $2A, $2A, $2A water-opacity = $CC +sd-water-top = $3F, $14, $14 +sd-water-bottom = $3E, $14, $13 +sd-water-opacity = $CC +sd-tint = $9F, $9F, $9F, $FF music = hell.ogg clouds = 0 -flakes = 50, 1, 1000, 50, 50 -;1, 1000, 50, 50 are copied from bamboo theme, as these numbers are required +flakes = 50, 1, 0, 50, 50 +sd-flakes = 25, 3, 0, 5, 50 diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Desert/SDClouds.png Binary file share/hedgewars/Data/Themes/Desert/SDClouds.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Desert/SDDroplet.png Binary file share/hedgewars/Data/Themes/Desert/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Desert/SDDroplet.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Desert/SDDroplet.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,51 @@ + + + + + + image/svg+xml + + + + + Carlos Vives B. + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Desert/SDSplash.png Binary file share/hedgewars/Data/Themes/Desert/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Desert/SDWater.png Binary file share/hedgewars/Data/Themes/Desert/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Desert/SDWater.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Desert/SDWater.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,168 @@ + + + + + + image/svg+xml + + + + + + Carlos Vives B. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Desert/theme.cfg --- a/share/hedgewars/Data/Themes/Desert/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Desert/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,9 @@ water-top = $3E, $7B, $94 water-bottom = $35, $69, $85 water-opacity = $80 +sd-water-top = $47, $24, $3e +sd-water-bottom = $42, $1F, $39 +sd-water-opactiy = $80 music = Desert.ogg clouds = 9 object = sand, 4, 9, 3, 4, 4, 2, 1, 1, 7, 27, 9, 31, 5, 6 @@ -13,3 +16,4 @@ object = rock1, 2, 75, 108, 73, 12, 1, 0, 0, 173, 99 object = rock2, 5, 7, 18, 10, 1, 1, 0, 0, 24, 12 spray = cowskull, 2 +sd-tint = $e7, $68, $68, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/EarthRise/theme.cfg --- a/share/hedgewars/Data/Themes/EarthRise/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/EarthRise/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -5,3 +5,4 @@ object = Rock, 3, 65, 258, 175, 2, 1, 0, 0, 240, 215 object = RockShort, 3, 0, 165, 163, 2, 1, 0, 0, 163, 140 flakes = 20, 1, 0, 20, 0 +sd-tint = $ff, $ff, $ff, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Eyes/Border.png Binary file share/hedgewars/Data/Themes/Eyes/Border.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Eyes/LandTex.png Binary file share/hedgewars/Data/Themes/Eyes/LandTex.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Eyes/SDClouds.png Binary file share/hedgewars/Data/Themes/Eyes/SDClouds.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Eyes/SDDroplet.png Binary file share/hedgewars/Data/Themes/Eyes/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Eyes/SDFlake.png Binary file share/hedgewars/Data/Themes/Eyes/SDFlake.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Eyes/SDSplash.png Binary file share/hedgewars/Data/Themes/Eyes/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Eyes/SDWater.png Binary file share/hedgewars/Data/Themes/Eyes/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Eyes/icon.png Binary file share/hedgewars/Data/Themes/Eyes/icon.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Eyes/icon@2x.png Binary file share/hedgewars/Data/Themes/Eyes/icon@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Eyes/theme.cfg --- a/share/hedgewars/Data/Themes/Eyes/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Eyes/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -1,10 +1,14 @@ +hidden = true sky = 0, 0, 0 border = 175, 177, 75 water-top = $2B, $2B, $2B water-bottom = $2A, $2A, $2A water-opacity = $CC +sd-water-top = $3F, $14, $14 +sd-water-bottom = $3E, $14, $13 +sd-water-opacity = $CC +sd-tint = $5D, $0D, $0D, $FF music = hell.ogg clouds = 9 -flakes = 50, 1, 1000, 50, 50 -;1, 1000, 50, 50 are copied from bamboo theme, as these numbers are required +flakes = 50, 1, 0, 50, 50 flatten-flakes = yes diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Freeway/SDClouds.png Binary file share/hedgewars/Data/Themes/Freeway/SDClouds.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Fruit/SDClouds.png Binary file share/hedgewars/Data/Themes/Fruit/SDClouds.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Fruit/SDClouds.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Fruit/SDClouds.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,86 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Fruit/SDDroplet.png Binary file share/hedgewars/Data/Themes/Fruit/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Fruit/SDDroplet.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Fruit/SDDroplet.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,60 @@ + + + + + + image/svg+xml + + + + + Carlos Vives B. + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Fruit/SDSplash.png Binary file share/hedgewars/Data/Themes/Fruit/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Fruit/SDWater.png Binary file share/hedgewars/Data/Themes/Fruit/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Fruit/theme.cfg --- a/share/hedgewars/Data/Themes/Fruit/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Fruit/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -1,8 +1,11 @@ sky = 50, 40, 131 border = 0, 128, 0 -water-top = 255, 98, 0 -water-bottom = 255, 68, 0 -water-opacity = 125 +water-top = $FF, $62, $00 +water-bottom = $FF, $44, $00 +water-opacity = $7D +sd-water-top = $AD, $58, $25 +sd-water-bottom = $AD, $3A, $25 +sd-water-opacity = $7D music = Fruit.ogg clouds = 20 object = Orange1, 1, 50, 84, 15, 3, 1, 8, 2, 90, 73 @@ -11,3 +14,4 @@ object = Banana1, 1, 152, 191, 37, 24, 1, 2, 1, 163, 174 object = Banana2, 1, 1, 190, 37, 24, 1, 22, 0, 163, 174 flakes = 20, 3, 0, 100, 260 +sd-tint = $c7, $73, $73, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Golf/BlueWater.png Binary file share/hedgewars/Data/Themes/Golf/BlueWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Golf/Droplet.png Binary file share/hedgewars/Data/Themes/Golf/Droplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Golf/Droplet.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Golf/Droplet.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,51 @@ + + + + + + image/svg+xml + + + + + Carlos Vives B. + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Golf/SDDroplet.png Binary file share/hedgewars/Data/Themes/Golf/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Golf/SDSplash.png Binary file share/hedgewars/Data/Themes/Golf/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Golf/SDWater.png Binary file share/hedgewars/Data/Themes/Golf/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Golf/Splash.png Binary file share/hedgewars/Data/Themes/Golf/Splash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Golf/theme.cfg --- a/share/hedgewars/Data/Themes/Golf/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Golf/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,9 @@ water-top = 72, 105, 127 water-bottom = 37, 76, 91 water-opacity = 128 +sd-water-top = $7e, $52, $62 +sd-water-bottom = $55, $38, $42 +sd-water-opacity = 128 music = Golf.ogg clouds = 9 object = Hole, 2, 0, 31, 123, 1, 1, 31, 0, 40, 27 @@ -20,4 +23,4 @@ object = Bag, 1, 65, 0, 129, 44, 1, 0, 71, 234, 81 spray = Balldirt, 5 flakes = 55, 40, 0, 30, 200 - +sd-tint = $e1, $7b, $87, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Halloween/SDClouds.png Binary file share/hedgewars/Data/Themes/Halloween/SDClouds.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Halloween/SDDroplet.png Binary file share/hedgewars/Data/Themes/Halloween/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Halloween/SDDroplet.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Halloween/SDDroplet.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,51 @@ + + + + + + image/svg+xml + + + + + Carlos Vives B. + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Halloween/SDSplash.png Binary file share/hedgewars/Data/Themes/Halloween/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Halloween/SDSplash.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Halloween/SDSplash.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,370 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Halloween/SDWater.png Binary file share/hedgewars/Data/Themes/Halloween/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Halloween/SDWater.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Halloween/SDWater.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,87 @@ + + + + + + image/svg+xml + + + + + + Carlos Vives B. + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Halloween/theme.cfg --- a/share/hedgewars/Data/Themes/Halloween/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Halloween/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -1,8 +1,11 @@ sky = 16, 3, 8 border = 116, 0, 100 -water-top = 37, 91, 31 -water-bottom = 44, 84, 40 +water-top = $25, $5B, $1F +water-bottom = $2C, $54, $28 water-opacity = $80 +sd-water-top = $71, $17, $17 +sd-water-bottom = $61, $07, $07 +sd-water-opacity = $80 music = Halloween.ogg sd-music = hell.ogg clouds = 9 @@ -10,3 +13,4 @@ object = RockShort, 3, 0, 165, 163, 2, 1, 0, 0, 163, 140 flakes = 20, 7, 130, 0, 5 flatten-flakes = yes +sd-tint = $89, $0d, $0d, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Hell/SDClouds.png Binary file share/hedgewars/Data/Themes/Hell/SDClouds.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Hell/SDClouds.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Hell/SDClouds.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,94 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Hell/SDDroplet.png Binary file share/hedgewars/Data/Themes/Hell/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Hell/SDDroplet.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Hell/SDDroplet.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,51 @@ + + + + + + image/svg+xml + + + + + Carlos Vives B. + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Hell/SDSplash.png Binary file share/hedgewars/Data/Themes/Hell/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Hell/SDWater.png Binary file share/hedgewars/Data/Themes/Hell/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Hell/SDWater.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Hell/SDWater.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,279 @@ + + + + + + + + image/svg+xml + + + + + + Carlos Vives B. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Hell/theme.cfg --- a/share/hedgewars/Data/Themes/Hell/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Hell/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -3,10 +3,15 @@ water-top = $A7, $0B, $0C water-bottom = $A1, $0A, $0A water-opacity = $80 +sd-water-top = $af, $06, $07 +sd-water-bottom = $a0, $00, $00 +sd-water-opacity = $80 music = hell.ogg +sd-music = hell.ogg clouds = 9 object = plant1, 3, 83, 215, 92, 35, 1, 0, 0, 250, 190 object = plant2, 3, 118, 115, 41, 20, 1, 0, 0, 159, 110 object = plant3, 3, 0, 115, 70, 40, 1, 8, 0, 60, 100 object = plant4, 3, 20, 200, 25, 5, 1, 0, 0, 70, 150 flakes = 20, 30, 0, 0, 250 +sd-tint = $FF, $FF, $FF, $FF diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Hoggywood/theme.cfg --- a/share/hedgewars/Data/Themes/Hoggywood/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Hoggywood/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -16,3 +16,4 @@ spray = star4, 1 spray = star5, 1 flakes = 100, 3, 99999999, 10, 20 +sd-tint = $cf, $65, $95, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Jungle/theme.cfg --- a/share/hedgewars/Data/Themes/Jungle/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Jungle/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -16,3 +16,4 @@ spray = FlowerBlue, 2 spray = Spider, 2 flakes = 100, 1, 1000, 50, 50 +sd-tint = $fb, $b5, $ff, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Olympics/theme.cfg --- a/share/hedgewars/Data/Themes/Olympics/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Olympics/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -8,3 +8,4 @@ object = Column02, 3, 12, 258, 76, 2, 1, 0, 0, 110, 240 object = Column03, 3, 3, 173, 84, 2, 1, 0, 0, 90, 155 flakes = 50, 1, 1000, 0, 10 +sd-tint = $dc, $ac, $bf, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Planes/Border.png Binary file share/hedgewars/Data/Themes/Planes/Border.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Planes/LandTex.png Binary file share/hedgewars/Data/Themes/Planes/LandTex.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Planes/horizont.png Binary file share/hedgewars/Data/Themes/Planes/horizont.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Planes/icon.png Binary file share/hedgewars/Data/Themes/Planes/icon.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Planes/icon@2x.png Binary file share/hedgewars/Data/Themes/Planes/icon@2x.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Planes/theme.cfg --- a/share/hedgewars/Data/Themes/Planes/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Planes/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -1,4 +1,6 @@ +hidden = true sky = 21, 20, 38 border = 177, 175, 49 music = City.ogg clouds = 9 +sd-tint = $97, $46, $46, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Stage/BlueWater.png Binary file share/hedgewars/Data/Themes/Stage/BlueWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Stage/Droplet.png Binary file share/hedgewars/Data/Themes/Stage/Droplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Stage/Droplet.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Stage/Droplet.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,51 @@ + + + + + + image/svg+xml + + + + + Carlos Vives B. + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Stage/SDDroplet.png Binary file share/hedgewars/Data/Themes/Stage/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Stage/SDDroplet.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/Themes/Stage/SDDroplet.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,51 @@ + + + + + + image/svg+xml + + + + + Carlos Vives B. + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Stage/SDSplash.png Binary file share/hedgewars/Data/Themes/Stage/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Stage/SDWater.png Binary file share/hedgewars/Data/Themes/Stage/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Stage/Splash.png Binary file share/hedgewars/Data/Themes/Stage/Splash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Stage/theme.cfg --- a/share/hedgewars/Data/Themes/Stage/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Stage/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,9 @@ water-top = 72, 105, 127 water-bottom = 37, 76, 91 water-opacity = 128 +sd-water-top = $57, $3a, $88 +sd-water-bottom = $27, $1a, $68 +sd-water-opacity = 128 music = Rock.ogg clouds = 0 object = MicR, 1, 0, 28, 7, 24, 1, 25, 0, 125, 52 @@ -16,3 +19,4 @@ spray = poster3, 2 spray = poster4, 2 flakes = 100, 3, 0, 10, 20 +sd-tint = $83, $27, $9d, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Underwater/Flake.png Binary file share/hedgewars/Data/Themes/Underwater/Flake.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Underwater/SDClouds.png Binary file share/hedgewars/Data/Themes/Underwater/SDClouds.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Underwater/SDDroplet.png Binary file share/hedgewars/Data/Themes/Underwater/SDDroplet.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Underwater/SDFlake.png Binary file share/hedgewars/Data/Themes/Underwater/SDFlake.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Underwater/SDSplash.png Binary file share/hedgewars/Data/Themes/Underwater/SDSplash.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Underwater/SDWater.png Binary file share/hedgewars/Data/Themes/Underwater/SDWater.png has changed diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/Themes/Underwater/theme.cfg --- a/share/hedgewars/Data/Themes/Underwater/theme.cfg Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/Themes/Underwater/theme.cfg Sun Jun 10 19:12:26 2018 +0200 @@ -3,6 +3,9 @@ water-top = 0, 0, 0 water-bottom = 0, 0, 0 water-opacity = $FF +sd-water-top = 0, 0, 0 +sd-water-bottom = 0, 0, 0 +sd-water-opacity = $FF music = underwater.ogg clouds = 9 flatten-clouds = yes @@ -12,5 +15,8 @@ object = coral, 3, 10, 193, 38, 32, 2, 128, 66, 66, 94, 39, 0, 88, 167 object = coral2, 3, 119, 146, 23, 22, 1, 5, 0, 123, 130 flakes = 20, 20, 150, 0, 5 -sd-flakes = 5, 16, 150, 0, 1 +sd-flakes = 40, 20, 150, 0, 5 +; TODO: Use this when rising flakes don't look so strange: +; sd-flakes = 40, 20, 60, 0, -100 rq-sky = 0, 70, 210 +sd-tint = $a9, $52, $52, $ff diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/misc/CMakeLists.txt --- a/share/hedgewars/Data/misc/CMakeLists.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/share/hedgewars/Data/misc/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -2,7 +2,7 @@ if(UNIX AND NOT APPLE) configure_file(hwengine.desktop.in hwengine.desktop) - file(GLOB miscfiles *.xml *.desktop) + file(GLOB miscfiles *.svg *.xml *.desktop) install(FILES ${miscfiles} DESTINATION ${SHAREPATH}/Data/misc) install(FILES hedgewars.xpm DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps) diff -r 6e8b807bda4b -r ba39a1d396c0 share/hedgewars/Data/misc/hedgehog.svg --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/share/hedgewars/Data/misc/hedgehog.svg Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,58 @@ + + + Hedgehog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 6e8b807bda4b -r ba39a1d396c0 tools/CMakeLists.txt --- a/tools/CMakeLists.txt Sun Jun 10 18:56:51 2018 +0200 +++ b/tools/CMakeLists.txt Sun Jun 10 19:12:26 2018 +0200 @@ -7,7 +7,7 @@ endif() if(APPLE AND NOT SKIPBUNDLE) - find_package(Qt4 REQUIRED QUIET) + find_package(Qt5 REQUIRED QUIET COMPONENTS Core Widgets Gui Network) find_package(SDL2 REQUIRED) find_package(SDL2_image 2 REQUIRED) find_package(SDL2_net 2 REQUIRED) diff -r 6e8b807bda4b -r ba39a1d396c0 tools/hwmap2lua.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/hwmap2lua.sh Sun Jun 10 19:12:26 2018 +0200 @@ -0,0 +1,42 @@ +#!/bin/sh - +# === HWMAP-to-Lua converter === +# This script allows you to put arbitrary HWMAPs into your missions! +# +# Usage: +# It expects a .hwmap file of name "map.hwmap" to be in +# its directory and creates a Lua file (map.lua) containing code to +# draw the map. +# In Lua, call drawMap() in onGameInit. And don't forget +# to set MapGen to mgDrawn. Then your map should be ready to go! :-) + +# FILE NAMES +IN="./map.hwmap"; +OUT="./map.lua"; + +# TEMPORARY FILES +TEMP_UNBASE=$(mktemp); +TEMP_GZIP=$(mktemp); +TEMP_OCTETS=$(mktemp); +base64 -d $IN | tail -c +7 | head -c -4 > $TEMP_UNBASE; +echo -ne "\x1f\x8b\x08\0\0\0\0\0\x02\xff" > $TEMP_GZIP; +# Suppress gunzip warning: "gzip: stdin: unexpected end of file" +cat $TEMP_GZIP $TEMP_UNBASE | gunzip 2> /dev/null > $TEMP_OCTETS; +C=0; +echo -n '-- Map definition automatically converted from HWMAP file by hwmap2lua.sh +local map = {' > $OUT; +od -w240 -t u1 $TEMP_OCTETS | grep -Ev "^[0-9]*[[:space:]]*$" | while read f; +do C=$((C+1)); + if ((C!=1)); + then + echo "," >> $OUT; + fi; + echo -n $f | sed "s/^......./'/;s/ */\\\\/g;s/$/'/" >> $OUT; +done; +echo '} + +local function drawMap() + for m=1, #map do + ParseCommand("draw "..map[m]) + end +end' >> $OUT; +rm $TEMP_UNBASE $TEMP_GZIP $TEMP_OCTETS; diff -r 6e8b807bda4b -r ba39a1d396c0 tools/pas2c/Pas2C.hs --- a/tools/pas2c/Pas2C.hs Sun Jun 10 18:56:51 2018 +0200 +++ b/tools/pas2c/Pas2C.hs Sun Jun 10 19:12:26 2018 +0200 @@ -958,6 +958,7 @@ case (op2C op, t1, t2) of ("+", BTAString, BTAString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strconcatA" (fff t1 t2 BTString)) ("+", BTAString, BTChar) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strappendA" (fff t1 t2 BTAString)) + ("+", BTChar, BTAString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strprependA" (fff t1 t2 BTAString)) ("!=", BTAString, BTAString) -> expr2C $ BuiltInFunCall [expr1, expr2] (SimpleReference $ Identifier "_strncompareA" (fff t1 t2 BTBool)) (_, BTAString, _) -> error $ "unhandled bin op with ansistring on the left side: " ++ show bop (_, _, BTAString) -> error $ "unhandled bin op with ansistring on the right side: " ++ show bop @@ -1098,7 +1099,7 @@ BTString -> f "fpcrtl_copy" BTAString -> f "fpcrtl_copyA" _ -> error $ "copy() called on " ++ show lt - + expr2C (BuiltInFunCall params ref) = do r <- ref2C ref t <- gets lastType @@ -1106,7 +1107,7 @@ case t of BTFunction _ _ _ t' -> do modify (\s -> s{lastType = t'}) - _ -> error $ "BuiltInFunCall lastType: " ++ show t + _ -> error $ "BuiltInFunCall `" ++ show ref ++ "`, lastType: " ++ show t return $ r <> parens (hsep . punctuate (char ',') $ ps) expr2C a = error $ "Don't know how to render " ++ show a diff -r 6e8b807bda4b -r ba39a1d396c0 tools/update_lua_locale_files.sh --- a/tools/update_lua_locale_files.sh Sun Jun 10 18:56:51 2018 +0200 +++ b/tools/update_lua_locale_files.sh Sun Jun 10 19:12:26 2018 +0200 @@ -30,12 +30,18 @@ cd ../share/hedgewars/Data/Locale; +# Temporary files +TEMP_LOC=$(mktemp); +TEMP_HEAD=$(mktemp); +TEMP_TAIL=$(mktemp); +TEMP_LUA=$(mktemp); + # Collect strings echo "Step 1: Collect strings"; -echo -n "" > __temp_loc; +echo -n "" > $TEMP_LOC; for F in loc loc_noop; do - grep -F "$F(\"" $LUAFILES | sed 's/")/")\n/g' | sed "s/.*$F(\"/loc(\"/;s/\").*/\")/" | grep loc | sort | uniq >> __temp_loc; + grep -F "$F(\"" $LUAFILES | sed 's/")/")\n/g' | sed "s/.*$F(\"/loc(\"/;s/\").*/\")/" | grep loc | sort | uniq >> $TEMP_LOC; done # Update locale files @@ -44,7 +50,7 @@ for i in $LOCALEFILES; do echo $i; - cat __temp_loc | while read f + cat $TEMP_LOC | while read f do STR=$(echo "$f" | sed 's/loc("//;s/")\s*$//;s/"/\\"/g'); MAPS=$(grep -F -l -- "loc(\"${STR}\")" $LUAFILES | sed 's/.*\/\([^\/]*\)\/map.lua/\1/;s/.*Campaign\/\([^\/]*\)\//\1:/;s/.*\///;s/.lua//;s/ /_/g' | xargs | sed 's/ /, /g'); @@ -67,11 +73,11 @@ for i in $LOCALEFILES; do echo $i; - rm -f __temp_head __temp_tail __temp_lua; - cat $i | grep -Ev "}|{" | grep -Ev "^[[:space:]]*$" | sort | uniq > __temp_lua; - echo "locale = {" > __temp_head; - echo "}" > __temp_tail; - cat __temp_head __temp_lua __temp_tail > $i; + rm -f $TEMP_HEAD $TEMP_TAIL $TEMP_LUA; + cat $i | grep -Ev "}|{" | grep -Ev "^[[:space:]]*$" | sort | uniq > $TEMP_LUA; + echo "locale = {" > $TEMP_HEAD; + echo "}" > $TEMP_TAIL; + cat $TEMP_HEAD $TEMP_LUA $TEMP_TAIL > $i; done # Drop unused @@ -79,7 +85,7 @@ cat stub.lua | grep '"] =' | while read f; do PHRASE=$(echo "$f" | sed 's/[^[]*\["//;s/"] =.*//;s/"/\\"/g'); - CNT=$(grep -Frc "loc(\"$PHRASE\")" __temp_loc); + CNT=$(grep -Frc "loc(\"$PHRASE\")" $TEMP_LOC); if (($CNT==0)); then echo "|$PHRASE|"; @@ -89,6 +95,6 @@ done # Delete temporary files -rm __temp_head __temp_tail __temp_lua __temp_loc; +rm $TEMP_HEAD $TEMP_TAIL $TEMP_LUA $TEMP_LOC; echo "Done."